From a16ab58e6935aae89965ae1f4423b81b05216952 Mon Sep 17 00:00:00 2001 From: illright Date: Sun, 1 Sep 2024 11:01:08 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20feature-?= =?UTF-8?q?sliced/documentation@de323c404ecefda74973e3cf4d678bd17a6a3d82?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 6 +++--- .../css/{styles.dbc859ea.css => styles.62bbe059.css} | 2 +- .../{0499e362.31831b5b.js => 0499e362.e36e6c70.js} | 2 +- .../{066221cc.efc45cf9.js => 066221cc.adad240f.js} | 2 +- .../{0a4ee302.6bc626d3.js => 0a4ee302.da6323f2.js} | 2 +- .../{287b7fe4.c9c359f6.js => 287b7fe4.9be3e697.js} | 2 +- .../{2f764a0f.7107d4ce.js => 2f764a0f.ff983676.js} | 2 +- .../{3121f8ae.bef10e16.js => 3121f8ae.0c770ab3.js} | 2 +- .../{350d1c3d.f28a0d34.js => 350d1c3d.1b52f978.js} | 2 +- .../{370f8845.599794a8.js => 370f8845.84a08d17.js} | 2 +- .../{3d2652fb.0fb91ab9.js => 3d2652fb.ea72c24c.js} | 2 +- .../{3ef5053a.559147a5.js => 3ef5053a.89e5c3a1.js} | 4 ++-- ....LICENSE.txt => 3ef5053a.89e5c3a1.js.LICENSE.txt} | 0 .../{40babe1d.c722e92b.js => 40babe1d.0ed543da.js} | 2 +- .../{480f28a3.9652047b.js => 480f28a3.fca22ec1.js} | 2 +- .../{488b6464.2c486a6f.js => 488b6464.0b1cddbb.js} | 2 +- .../{49161156.202f5c6a.js => 49161156.d2e18d81.js} | 2 +- .../{5187bed2.d2e54483.js => 5187bed2.987c5673.js} | 2 +- .../{53f8e831.b297d480.js => 53f8e831.7e2b77d7.js} | 4 ++-- ....LICENSE.txt => 53f8e831.7e2b77d7.js.LICENSE.txt} | 0 .../{55b0769a.955dd4bc.js => 55b0769a.4a5410c0.js} | 2 +- .../{55fbebd6.c8ddca3f.js => 55fbebd6.9fa21d7b.js} | 2 +- .../{590d98cc.57e19dea.js => 590d98cc.6478daeb.js} | 2 +- .../{5bd61d3b.06eb4d24.js => 5bd61d3b.8693212c.js} | 2 +- .../{5f7e5f34.6ceafc46.js => 5f7e5f34.65cbf5b1.js} | 2 +- .../{6636c8dc.beec5a85.js => 6636c8dc.f1d8f342.js} | 2 +- .../{664a648d.62314dd0.js => 664a648d.4eb630f8.js} | 2 +- .../{66d3db7c.f7f4fe7e.js => 66d3db7c.53d59749.js} | 2 +- assets/js/7313bf7a.44e59992.js | 1 + assets/js/7313bf7a.8a5bc928.js | 1 - .../{7a790ed0.6ea8b1fb.js => 7a790ed0.4dd131cb.js} | 2 +- assets/js/84a0dbae.05b2e490.js | 1 + assets/js/84a0dbae.a6e930ad.js | 1 - .../{857ae1bf.60316621.js => 857ae1bf.5638fb96.js} | 2 +- .../{87e5c187.93a652c2.js => 87e5c187.91c3046e.js} | 2 +- .../{8b5a42c3.63ca8891.js => 8b5a42c3.54b98c84.js} | 2 +- .../{8b93e59a.ee32d1b3.js => 8b93e59a.47e98c10.js} | 2 +- .../{8c1e6152.e7dc9c01.js => 8c1e6152.6623592d.js} | 2 +- .../{8ce83ff6.8dca9b58.js => 8ce83ff6.898606d1.js} | 2 +- .../{9b83d7f4.aa77edec.js => 9b83d7f4.7e09052b.js} | 2 +- .../{9f1dcbb0.502096a4.js => 9f1dcbb0.72977448.js} | 2 +- .../{a1521a63.a6056e10.js => a1521a63.0a782cc4.js} | 2 +- .../{a386f730.a4f58ef6.js => a386f730.cd95977a.js} | 2 +- .../{a61c55ce.677ea67f.js => a61c55ce.fed39ff0.js} | 4 ++-- ....LICENSE.txt => a61c55ce.fed39ff0.js.LICENSE.txt} | 0 .../{acaf5b8a.c1c3a61d.js => acaf5b8a.da6ff71f.js} | 2 +- .../{ba8bb0f7.e69fd9e7.js => ba8bb0f7.f69968b5.js} | 2 +- .../{c0c6474c.d248371a.js => c0c6474c.b59e57b4.js} | 2 +- .../{c4d0faae.d8085c44.js => c4d0faae.3e09a97c.js} | 2 +- .../{c5666f39.fa602fc2.js => c5666f39.3f732c7d.js} | 4 ++-- ....LICENSE.txt => c5666f39.3f732c7d.js.LICENSE.txt} | 0 .../{cb388a7b.d3721731.js => cb388a7b.94f35e5a.js} | 2 +- .../{d13cbfb8.d512571d.js => d13cbfb8.8833ec54.js} | 4 ++-- ....LICENSE.txt => d13cbfb8.8833ec54.js.LICENSE.txt} | 0 .../{d7baea7e.b578db19.js => d7baea7e.dc54e595.js} | 4 ++-- ....LICENSE.txt => d7baea7e.dc54e595.js.LICENSE.txt} | 0 .../{d999437a.de8665c5.js => d999437a.4be2f052.js} | 2 +- .../{dfe5ecdf.f92118df.js => dfe5ecdf.f4ae4c5d.js} | 2 +- .../{e01c2047.dc31392f.js => e01c2047.48b69c8f.js} | 2 +- .../{e1003eab.3bac3067.js => e1003eab.c4f5899f.js} | 2 +- .../{e1c0d304.45a78896.js => e1c0d304.7f10ef2a.js} | 2 +- .../{e6bf8eb6.2dd87e08.js => e6bf8eb6.a4bf224f.js} | 2 +- .../{ed3dcfcb.ad8d7bc8.js => ed3dcfcb.b6679b4c.js} | 2 +- .../{f2567325.91151f00.js => f2567325.16c24276.js} | 2 +- .../{fe129f8e.903cf187.js => fe129f8e.4e93c212.js} | 2 +- assets/js/{main.820830c2.js => main.5a483e81.js} | 4 ++-- ...2.js.LICENSE.txt => main.5a483e81.js.LICENSE.txt} | 0 ...ime~main.7ac873cb.js => runtime~main.8a220d66.js} | 2 +- blog.html | 6 +++--- blog/archive.html | 6 +++--- blog/international-community.html | 6 +++--- blog/rebranding-stable.html | 6 +++--- blog/tags.html | 6 +++--- blog/tags/brand.html | 6 +++--- blog/tags/community.html | 6 +++--- blog/tags/discord.html | 6 +++--- blog/tags/promo.html | 6 +++--- community.html | 8 ++++---- community/team.html | 8 ++++---- docs.html | 8 ++++---- docs/about.html | 8 ++++---- docs/about/alternatives.html | 8 ++++---- docs/about/mission.html | 8 ++++---- docs/about/motivation.html | 8 ++++---- docs/about/promote/for-company.html | 8 ++++---- docs/about/promote/for-team.html | 8 ++++---- docs/about/promote/integration.html | 8 ++++---- docs/about/promote/partial-application.html | 8 ++++---- docs/about/understanding/abstractions.html | 8 ++++---- docs/about/understanding/architecture.html | 8 ++++---- docs/about/understanding/knowledge-types.html | 8 ++++---- docs/about/understanding/naming.html | 8 ++++---- docs/about/understanding/needs-driven.html | 8 ++++---- docs/about/understanding/signals.html | 8 ++++---- docs/branding.html | 8 ++++---- docs/get-started.html | 8 ++++---- docs/get-started/cheatsheet.html | 8 ++++---- docs/get-started/faq.html | 8 ++++---- docs/get-started/overview.html | 8 ++++---- docs/get-started/tutorial.html | 8 ++++---- docs/guides.html | 8 ++++---- docs/guides/examples.html | 8 ++++---- docs/guides/examples/auth.html | 8 ++++---- docs/guides/examples/autocompleted.html | 8 ++++---- docs/guides/examples/browser-api.html | 8 ++++---- docs/guides/examples/cms.html | 8 ++++---- docs/guides/examples/feedback.html | 8 ++++---- docs/guides/examples/i18n.html | 8 ++++---- docs/guides/examples/metric.html | 8 ++++---- docs/guides/examples/monorepo.html | 8 ++++---- docs/guides/examples/page-layout.html | 8 ++++---- docs/guides/examples/platforms.html | 8 ++++---- docs/guides/examples/ssr.html | 8 ++++---- docs/guides/examples/theme.html | 8 ++++---- docs/guides/examples/types.html | 8 ++++---- docs/guides/examples/white-labels.html | 8 ++++---- docs/guides/issues/cross-imports.html | 8 ++++---- docs/guides/issues/desegmented.html | 8 ++++---- docs/guides/issues/routes.html | 8 ++++---- docs/guides/migration/from-legacy.html | 8 ++++---- docs/guides/migration/from-v1.html | 8 ++++---- docs/guides/tech/with-nextjs.html | 12 ++++++------ docs/guides/tech/with-nuxtjs.html | 8 ++++---- docs/guides/tech/with-react-query.html | 8 ++++---- docs/guides/tech/with-sveltekit.html | 8 ++++---- docs/reference.html | 8 ++++---- docs/reference/isolation.html | 8 ++++---- docs/reference/isolation/coupling-cohesion.html | 8 ++++---- docs/reference/isolation/decouple-entities.html | 8 ++++---- docs/reference/layers.html | 8 ++++---- docs/reference/public-api.html | 8 ++++---- docs/reference/slices-segments.html | 8 ++++---- examples.html | 8 ++++---- index.html | 6 +++--- nav.html | 6 +++--- ru/404.html | 6 +++--- ru/assets/css/styles.6ce0bd34.css | 1 - ru/assets/css/styles.96186c51.css | 1 + .../{04b1b9d4.618a413b.js => 04b1b9d4.a0e895be.js} | 2 +- .../{07deeff8.df69c800.js => 07deeff8.4a19b5c8.js} | 4 ++-- ....LICENSE.txt => 07deeff8.4a19b5c8.js.LICENSE.txt} | 0 .../{1232fa31.a3287505.js => 1232fa31.e5f40e0d.js} | 4 ++-- ....LICENSE.txt => 1232fa31.e5f40e0d.js.LICENSE.txt} | 0 .../{17f650ce.97e3affc.js => 17f650ce.0fe53def.js} | 2 +- .../{1c0a16b8.16a8e8bc.js => 1c0a16b8.9b53eacd.js} | 2 +- .../{1d3222b5.eebe1029.js => 1d3222b5.0a178bcb.js} | 2 +- .../{20c5a0f6.6cecfefc.js => 20c5a0f6.c97559ab.js} | 2 +- .../{2bd07bfd.ac8e9115.js => 2bd07bfd.cae927c4.js} | 4 ++-- ....LICENSE.txt => 2bd07bfd.cae927c4.js.LICENSE.txt} | 0 .../{352bcbef.d900702e.js => 352bcbef.1cd9f8ef.js} | 2 +- .../{35c5367b.6bcd5c78.js => 35c5367b.80ad0691.js} | 2 +- .../{3b64669e.fc99d6bd.js => 3b64669e.f379b738.js} | 2 +- .../{44775544.dddabccf.js => 44775544.07602962.js} | 2 +- .../{457d5840.54a2ea4e.js => 457d5840.dc4620cd.js} | 2 +- .../{4eea1952.42c103cd.js => 4eea1952.32dbcc5e.js} | 2 +- .../{58b64b99.474141b1.js => 58b64b99.406fc451.js} | 2 +- .../{62f42e37.423b0a1e.js => 62f42e37.1541d050.js} | 2 +- .../{6545b372.c3543879.js => 6545b372.a1865b8b.js} | 4 ++-- ....LICENSE.txt => 6545b372.a1865b8b.js.LICENSE.txt} | 0 .../{670340e2.20478780.js => 670340e2.49aca3b2.js} | 2 +- .../{6becfc1a.d9c55bd5.js => 6becfc1a.51941d59.js} | 2 +- .../{6ee557b2.8e38f8ff.js => 6ee557b2.d8c541fd.js} | 2 +- .../{71d20f43.2dfb0cce.js => 71d20f43.56ffc283.js} | 2 +- ru/assets/js/7313bf7a.40baa790.js | 1 - ru/assets/js/7313bf7a.52ad6147.js | 1 + .../{7759802f.fc7ab386.js => 7759802f.8067671e.js} | 2 +- .../{7b31d677.5330d7f9.js => 7b31d677.a5f5c766.js} | 2 +- .../{808aa0e6.fc1c4183.js => 808aa0e6.25be2638.js} | 2 +- .../{81cb5b69.2a52b9c4.js => 81cb5b69.c0e344b0.js} | 2 +- .../{8edc10e1.261e78fc.js => 8edc10e1.84a1a4ef.js} | 2 +- .../{90c52043.54c07ae2.js => 90c52043.d37ad240.js} | 2 +- .../{9b6dbc63.c66209b1.js => 9b6dbc63.4b58bf5a.js} | 4 ++-- ....LICENSE.txt => 9b6dbc63.4b58bf5a.js.LICENSE.txt} | 0 .../{9fc8add1.03b568d8.js => 9fc8add1.5052e163.js} | 2 +- .../{a01ebdbc.3f36015d.js => a01ebdbc.be32486b.js} | 2 +- .../{a41378e3.6a747ee1.js => a41378e3.c47d28c4.js} | 2 +- .../{a61c55ce.dc939cfc.js => a61c55ce.d66fc4fe.js} | 4 ++-- ....LICENSE.txt => a61c55ce.d66fc4fe.js.LICENSE.txt} | 0 .../{a657d4fc.c47c3617.js => a657d4fc.a4761c26.js} | 2 +- .../{a6bb2b9f.d38b55c8.js => a6bb2b9f.1cd27b96.js} | 2 +- .../{a97f4ecc.8e1d8614.js => a97f4ecc.45255cd4.js} | 2 +- .../{b9d2a7aa.f86184ff.js => b9d2a7aa.d3907bd6.js} | 2 +- .../{bce03a1b.3020da50.js => bce03a1b.bc79b8b6.js} | 2 +- .../{c0c4bf5d.4ae21a07.js => c0c4bf5d.ef64fbb9.js} | 2 +- .../{cb36866c.8cc96df5.js => cb36866c.a196fe12.js} | 2 +- .../{ce6f052d.382b9c68.js => ce6f052d.3f1f6263.js} | 2 +- .../{cf699f5e.8b0e8987.js => cf699f5e.103eede8.js} | 2 +- .../{d178dcf5.7080b623.js => d178dcf5.a6eec967.js} | 2 +- .../{d1f19b62.8ae6e3f0.js => d1f19b62.a2d98b3c.js} | 2 +- .../{d595dc26.fb0b24ec.js => d595dc26.908272bd.js} | 2 +- .../{dd4fd790.704cf059.js => dd4fd790.8e17584e.js} | 2 +- .../{e38a3126.1a7e97e5.js => e38a3126.c679c46b.js} | 2 +- .../{e71e2184.36bd879f.js => e71e2184.cbebd32f.js} | 2 +- .../{e9dc891f.a4b31c94.js => e9dc891f.286c980e.js} | 2 +- .../{eb8bed87.3c51663f.js => eb8bed87.43e74968.js} | 2 +- .../{f22b339c.1e8e9a53.js => f22b339c.3ac87da3.js} | 2 +- .../{f39d466e.133819e7.js => f39d466e.13dcfa73.js} | 2 +- .../{fcc88823.8d92962d.js => fcc88823.bdb6e7c1.js} | 2 +- .../{fee408fa.7cf31506.js => fee408fa.230036f9.js} | 2 +- .../{ffe50de1.f46a487d.js => ffe50de1.c1543bc1.js} | 2 +- ru/assets/js/{main.97ccf9bb.js => main.6d858873.js} | 4 ++-- ...b.js.LICENSE.txt => main.6d858873.js.LICENSE.txt} | 0 ...ime~main.aa460cfc.js => runtime~main.a1357c2f.js} | 2 +- ru/blog.html | 6 +++--- ru/blog/archive.html | 6 +++--- ru/blog/international-community.html | 6 +++--- ru/blog/rebranding-stable.html | 6 +++--- ru/blog/tags.html | 6 +++--- ru/blog/tags/brand.html | 6 +++--- ru/blog/tags/community.html | 6 +++--- ru/blog/tags/discord.html | 6 +++--- ru/blog/tags/promo.html | 6 +++--- ru/community.html | 8 ++++---- ru/community/team.html | 8 ++++---- ru/docs.html | 8 ++++---- ru/docs/about.html | 8 ++++---- ru/docs/about/alternatives.html | 8 ++++---- ru/docs/about/mission.html | 8 ++++---- ru/docs/about/motivation.html | 8 ++++---- ru/docs/about/promote/for-company.html | 8 ++++---- ru/docs/about/promote/for-team.html | 8 ++++---- ru/docs/about/promote/integration.html | 8 ++++---- ru/docs/about/promote/partial-application.html | 8 ++++---- ru/docs/about/understanding/abstractions.html | 8 ++++---- ru/docs/about/understanding/architecture.html | 8 ++++---- ru/docs/about/understanding/knowledge-types.html | 8 ++++---- ru/docs/about/understanding/naming.html | 8 ++++---- ru/docs/about/understanding/needs-driven.html | 8 ++++---- ru/docs/about/understanding/signals.html | 8 ++++---- ru/docs/branding.html | 8 ++++---- ru/docs/get-started.html | 8 ++++---- ru/docs/get-started/cheatsheet.html | 8 ++++---- ru/docs/get-started/faq.html | 8 ++++---- ru/docs/get-started/overview.html | 8 ++++---- ru/docs/get-started/tutorial.html | 8 ++++---- ru/docs/guides.html | 8 ++++---- ru/docs/guides/examples.html | 8 ++++---- ru/docs/guides/examples/auth.html | 8 ++++---- ru/docs/guides/examples/autocompleted.html | 8 ++++---- ru/docs/guides/examples/browser-api.html | 8 ++++---- ru/docs/guides/examples/cms.html | 8 ++++---- ru/docs/guides/examples/feedback.html | 8 ++++---- ru/docs/guides/examples/i18n.html | 8 ++++---- ru/docs/guides/examples/metric.html | 8 ++++---- ru/docs/guides/examples/monorepo.html | 8 ++++---- ru/docs/guides/examples/page-layout.html | 8 ++++---- ru/docs/guides/examples/platforms.html | 8 ++++---- ru/docs/guides/examples/ssr.html | 8 ++++---- ru/docs/guides/examples/theme.html | 8 ++++---- ru/docs/guides/examples/types.html | 8 ++++---- ru/docs/guides/examples/white-labels.html | 8 ++++---- ru/docs/guides/issues/cross-imports.html | 8 ++++---- ru/docs/guides/issues/desegmented.html | 8 ++++---- ru/docs/guides/issues/routes.html | 8 ++++---- ru/docs/guides/migration/from-legacy.html | 8 ++++---- ru/docs/guides/migration/from-v1.html | 8 ++++---- ru/docs/guides/tech/with-nextjs.html | 8 ++++---- ru/docs/guides/tech/with-nuxtjs.html | 8 ++++---- ru/docs/guides/tech/with-react-query.html | 8 ++++---- ru/docs/guides/tech/with-sveltekit.html | 8 ++++---- ru/docs/reference.html | 8 ++++---- ru/docs/reference/isolation.html | 8 ++++---- ru/docs/reference/isolation/coupling-cohesion.html | 8 ++++---- ru/docs/reference/isolation/decouple-entities.html | 8 ++++---- ru/docs/reference/layers.html | 8 ++++---- ru/docs/reference/public-api.html | 8 ++++---- ru/docs/reference/slices-segments.html | 8 ++++---- ru/examples.html | 8 ++++---- ru/index.html | 6 +++--- ru/nav.html | 6 +++--- ru/search.html | 6 +++--- ru/versions.html | 6 +++--- search.html | 6 +++--- uz/404.html | 6 +++--- uz/assets/css/styles.3ea8e204.css | 1 + uz/assets/css/styles.bc769a01.css | 1 - .../{022a3ac7.8b5d82c3.js => 022a3ac7.e8428e11.js} | 4 ++-- ....LICENSE.txt => 022a3ac7.e8428e11.js.LICENSE.txt} | 0 .../{0499e362.6a2eb8fd.js => 0499e362.ceb4779e.js} | 2 +- .../{066221cc.e6dd80ce.js => 066221cc.8ba29b62.js} | 2 +- .../{0a4ee302.3ea12a23.js => 0a4ee302.616ba2d8.js} | 2 +- .../{287b7fe4.3f93216d.js => 287b7fe4.dd2b498a.js} | 2 +- .../{2f764a0f.f5769e9a.js => 2f764a0f.1d6d10ef.js} | 2 +- .../{3121f8ae.28c65631.js => 3121f8ae.9b5da07c.js} | 2 +- .../{350d1c3d.31c2e191.js => 350d1c3d.ab75f543.js} | 2 +- .../{370f8845.f1064b48.js => 370f8845.1f88a4a8.js} | 2 +- .../{3d2652fb.2ec373b8.js => 3d2652fb.713e8e73.js} | 2 +- .../{4044d4ea.1192ad96.js => 4044d4ea.70662582.js} | 2 +- .../{480f28a3.d5afb1f6.js => 480f28a3.675e434d.js} | 2 +- .../{488b6464.d9c096dc.js => 488b6464.b36ef461.js} | 2 +- .../{49161156.86297dd5.js => 49161156.8c4a8759.js} | 2 +- .../{5187bed2.9f406de3.js => 5187bed2.ac45971e.js} | 2 +- .../{53f8e831.36b3ed99.js => 53f8e831.feba2729.js} | 4 ++-- ....LICENSE.txt => 53f8e831.feba2729.js.LICENSE.txt} | 0 .../{55b0769a.dbf81d57.js => 55b0769a.239ff934.js} | 2 +- .../{590d98cc.9374ac76.js => 590d98cc.4f48dd38.js} | 2 +- .../{5bd61d3b.07d55342.js => 5bd61d3b.68cdd599.js} | 2 +- .../{5f7e5f34.1be7e8d1.js => 5f7e5f34.ba4770b4.js} | 2 +- .../{6636c8dc.7bddd9aa.js => 6636c8dc.29e4d378.js} | 2 +- .../{664a648d.4bb3f941.js => 664a648d.77803e5e.js} | 2 +- .../{66d3db7c.67f1f6e9.js => 66d3db7c.8bcede7c.js} | 2 +- uz/assets/js/7313bf7a.17f480c0.js | 1 + uz/assets/js/7313bf7a.87481362.js | 1 - .../{7a790ed0.45d0c615.js => 7a790ed0.bb5f80ec.js} | 2 +- uz/assets/js/84a0dbae.4b927a15.js | 1 - uz/assets/js/84a0dbae.53b39140.js | 1 + .../{857ae1bf.88253316.js => 857ae1bf.2694725e.js} | 2 +- .../{8651fb1e.d0e53b78.js => 8651fb1e.48afe223.js} | 2 +- .../{87e5c187.5abe695f.js => 87e5c187.30f2fe16.js} | 2 +- .../{8b5a42c3.d47b77fc.js => 8b5a42c3.e178fae0.js} | 2 +- .../{8b93e59a.ae375a6c.js => 8b93e59a.121c6875.js} | 2 +- .../{8c1e6152.8ad0f93f.js => 8c1e6152.921922f5.js} | 2 +- .../{8ce83ff6.c6cdc446.js => 8ce83ff6.5c596036.js} | 2 +- .../{9b83d7f4.edf33cb4.js => 9b83d7f4.dda43a48.js} | 2 +- .../{a1521a63.308e862a.js => a1521a63.d59a5fda.js} | 2 +- .../{a386f730.5a4e198f.js => a386f730.4bfa016a.js} | 2 +- .../{a61c55ce.32d8f7a1.js => a61c55ce.f35dcf2d.js} | 4 ++-- ....LICENSE.txt => a61c55ce.f35dcf2d.js.LICENSE.txt} | 0 .../{acaf5b8a.348d3c97.js => acaf5b8a.8ad4efea.js} | 2 +- .../{ba8bb0f7.da024e98.js => ba8bb0f7.c60f06c4.js} | 2 +- .../{c0c6474c.9261c10b.js => c0c6474c.4306c288.js} | 2 +- .../{c4d0faae.dc7cd46d.js => c4d0faae.6c8fba94.js} | 2 +- .../{c5666f39.177265a7.js => c5666f39.feb9da64.js} | 4 ++-- ....LICENSE.txt => c5666f39.feb9da64.js.LICENSE.txt} | 0 .../{cb388a7b.54035aed.js => cb388a7b.23157273.js} | 2 +- .../{d13cbfb8.b1c5b24d.js => d13cbfb8.26e4a7dd.js} | 4 ++-- ....LICENSE.txt => d13cbfb8.26e4a7dd.js.LICENSE.txt} | 0 .../{d7baea7e.6f5a9c6c.js => d7baea7e.d3d5ea54.js} | 4 ++-- ....LICENSE.txt => d7baea7e.d3d5ea54.js.LICENSE.txt} | 0 .../{d999437a.3a4a66c8.js => d999437a.c0f8af78.js} | 2 +- .../{dfe5ecdf.a3cf7dcd.js => dfe5ecdf.33dc49a1.js} | 2 +- .../{e01c2047.1dfaedb8.js => e01c2047.a182dc38.js} | 2 +- .../{e1003eab.ef62303c.js => e1003eab.f4f17e3a.js} | 2 +- .../{e1c0d304.bffa515e.js => e1c0d304.700d1940.js} | 2 +- .../{e3309638.2d2594fe.js => e3309638.ea89c422.js} | 2 +- .../{e6bf8eb6.b36fcbc0.js => e6bf8eb6.e3e0ce36.js} | 2 +- .../{ed3dcfcb.8c042652.js => ed3dcfcb.5b0cfe02.js} | 2 +- .../{f2567325.d9d52a0c.js => f2567325.67df2de7.js} | 2 +- .../{fe129f8e.f2d2d66c.js => fe129f8e.535edede.js} | 2 +- uz/assets/js/{main.80cc5d52.js => main.54ef0f0c.js} | 4 ++-- ...2.js.LICENSE.txt => main.54ef0f0c.js.LICENSE.txt} | 0 ...ime~main.0daa73a2.js => runtime~main.b168b9d9.js} | 2 +- uz/blog.html | 6 +++--- uz/blog/archive.html | 6 +++--- uz/blog/international-community.html | 6 +++--- uz/blog/rebranding-stable.html | 6 +++--- uz/blog/tags.html | 6 +++--- uz/blog/tags/brand.html | 6 +++--- uz/blog/tags/community.html | 6 +++--- uz/blog/tags/discord.html | 6 +++--- uz/blog/tags/promo.html | 6 +++--- uz/community.html | 8 ++++---- uz/community/team.html | 8 ++++---- uz/docs.html | 8 ++++---- uz/docs/about.html | 8 ++++---- uz/docs/about/alternatives.html | 8 ++++---- uz/docs/about/mission.html | 8 ++++---- uz/docs/about/motivation.html | 8 ++++---- uz/docs/about/promote/for-company.html | 8 ++++---- uz/docs/about/promote/for-team.html | 8 ++++---- uz/docs/about/promote/integration.html | 8 ++++---- uz/docs/about/promote/partial-application.html | 8 ++++---- uz/docs/about/understanding/abstractions.html | 8 ++++---- uz/docs/about/understanding/architecture.html | 8 ++++---- uz/docs/about/understanding/knowledge-types.html | 8 ++++---- uz/docs/about/understanding/naming.html | 8 ++++---- uz/docs/about/understanding/needs-driven.html | 8 ++++---- uz/docs/about/understanding/signals.html | 8 ++++---- uz/docs/branding.html | 8 ++++---- uz/docs/get-started.html | 8 ++++---- uz/docs/get-started/cheatsheet.html | 8 ++++---- uz/docs/get-started/faq.html | 8 ++++---- uz/docs/get-started/overview.html | 8 ++++---- uz/docs/get-started/tutorial.html | 8 ++++---- uz/docs/guides.html | 8 ++++---- uz/docs/guides/examples.html | 8 ++++---- uz/docs/guides/examples/auth.html | 8 ++++---- uz/docs/guides/examples/autocompleted.html | 8 ++++---- uz/docs/guides/examples/browser-api.html | 8 ++++---- uz/docs/guides/examples/cms.html | 8 ++++---- uz/docs/guides/examples/feedback.html | 8 ++++---- uz/docs/guides/examples/i18n.html | 8 ++++---- uz/docs/guides/examples/metric.html | 8 ++++---- uz/docs/guides/examples/monorepo.html | 8 ++++---- uz/docs/guides/examples/page-layout.html | 8 ++++---- uz/docs/guides/examples/platforms.html | 8 ++++---- uz/docs/guides/examples/ssr.html | 8 ++++---- uz/docs/guides/examples/theme.html | 8 ++++---- uz/docs/guides/examples/types.html | 8 ++++---- uz/docs/guides/examples/white-labels.html | 8 ++++---- uz/docs/guides/issues/cross-imports.html | 8 ++++---- uz/docs/guides/issues/desegmented.html | 8 ++++---- uz/docs/guides/issues/routes.html | 8 ++++---- uz/docs/guides/migration/from-legacy.html | 8 ++++---- uz/docs/guides/migration/from-v1.html | 8 ++++---- uz/docs/guides/tech/with-nextjs.html | 12 ++++++------ uz/docs/guides/tech/with-nuxtjs.html | 8 ++++---- uz/docs/guides/tech/with-react-query.html | 8 ++++---- uz/docs/guides/tech/with-sveltekit.html | 8 ++++---- uz/docs/reference.html | 8 ++++---- uz/docs/reference/isolation.html | 8 ++++---- uz/docs/reference/isolation/coupling-cohesion.html | 8 ++++---- uz/docs/reference/isolation/decouple-entities.html | 8 ++++---- uz/docs/reference/layers.html | 8 ++++---- uz/docs/reference/public-api.html | 8 ++++---- uz/docs/reference/slices-segments.html | 8 ++++---- uz/examples.html | 8 ++++---- uz/index.html | 6 +++--- uz/nav.html | 6 +++--- uz/search.html | 6 +++--- uz/versions.html | 6 +++--- versions.html | 6 +++--- 412 files changed, 997 insertions(+), 997 deletions(-) rename assets/css/{styles.dbc859ea.css => styles.62bbe059.css} (73%) rename assets/js/{0499e362.31831b5b.js => 0499e362.e36e6c70.js} (98%) rename assets/js/{066221cc.efc45cf9.js => 066221cc.adad240f.js} (99%) rename assets/js/{0a4ee302.6bc626d3.js => 0a4ee302.da6323f2.js} (98%) rename assets/js/{287b7fe4.c9c359f6.js => 287b7fe4.9be3e697.js} (99%) rename assets/js/{2f764a0f.7107d4ce.js => 2f764a0f.ff983676.js} (99%) rename assets/js/{3121f8ae.bef10e16.js => 3121f8ae.0c770ab3.js} (98%) rename assets/js/{350d1c3d.f28a0d34.js => 350d1c3d.1b52f978.js} (99%) rename assets/js/{370f8845.599794a8.js => 370f8845.84a08d17.js} (99%) rename assets/js/{3d2652fb.0fb91ab9.js => 3d2652fb.ea72c24c.js} (99%) rename assets/js/{3ef5053a.559147a5.js => 3ef5053a.89e5c3a1.js} (98%) rename assets/js/{3ef5053a.559147a5.js.LICENSE.txt => 3ef5053a.89e5c3a1.js.LICENSE.txt} (100%) rename assets/js/{40babe1d.c722e92b.js => 40babe1d.0ed543da.js} (99%) rename assets/js/{480f28a3.9652047b.js => 480f28a3.fca22ec1.js} (98%) rename assets/js/{488b6464.2c486a6f.js => 488b6464.0b1cddbb.js} (99%) rename assets/js/{49161156.202f5c6a.js => 49161156.d2e18d81.js} (98%) rename assets/js/{5187bed2.d2e54483.js => 5187bed2.987c5673.js} (99%) rename assets/js/{53f8e831.b297d480.js => 53f8e831.7e2b77d7.js} (97%) rename assets/js/{53f8e831.b297d480.js.LICENSE.txt => 53f8e831.7e2b77d7.js.LICENSE.txt} (100%) rename assets/js/{55b0769a.955dd4bc.js => 55b0769a.4a5410c0.js} (98%) rename assets/js/{55fbebd6.c8ddca3f.js => 55fbebd6.9fa21d7b.js} (99%) rename assets/js/{590d98cc.57e19dea.js => 590d98cc.6478daeb.js} (98%) rename assets/js/{5bd61d3b.06eb4d24.js => 5bd61d3b.8693212c.js} (98%) rename assets/js/{5f7e5f34.6ceafc46.js => 5f7e5f34.65cbf5b1.js} (99%) rename assets/js/{6636c8dc.beec5a85.js => 6636c8dc.f1d8f342.js} (97%) rename assets/js/{664a648d.62314dd0.js => 664a648d.4eb630f8.js} (98%) rename assets/js/{66d3db7c.f7f4fe7e.js => 66d3db7c.53d59749.js} (99%) create mode 100644 assets/js/7313bf7a.44e59992.js delete mode 100644 assets/js/7313bf7a.8a5bc928.js rename assets/js/{7a790ed0.6ea8b1fb.js => 7a790ed0.4dd131cb.js} (99%) create mode 100644 assets/js/84a0dbae.05b2e490.js delete mode 100644 assets/js/84a0dbae.a6e930ad.js rename assets/js/{857ae1bf.60316621.js => 857ae1bf.5638fb96.js} (99%) rename assets/js/{87e5c187.93a652c2.js => 87e5c187.91c3046e.js} (98%) rename assets/js/{8b5a42c3.63ca8891.js => 8b5a42c3.54b98c84.js} (98%) rename assets/js/{8b93e59a.ee32d1b3.js => 8b93e59a.47e98c10.js} (99%) rename assets/js/{8c1e6152.e7dc9c01.js => 8c1e6152.6623592d.js} (99%) rename assets/js/{8ce83ff6.8dca9b58.js => 8ce83ff6.898606d1.js} (98%) rename assets/js/{9b83d7f4.aa77edec.js => 9b83d7f4.7e09052b.js} (98%) rename assets/js/{9f1dcbb0.502096a4.js => 9f1dcbb0.72977448.js} (99%) rename assets/js/{a1521a63.a6056e10.js => a1521a63.0a782cc4.js} (98%) rename assets/js/{a386f730.a4f58ef6.js => a386f730.cd95977a.js} (99%) rename assets/js/{a61c55ce.677ea67f.js => a61c55ce.fed39ff0.js} (60%) rename assets/js/{a61c55ce.677ea67f.js.LICENSE.txt => a61c55ce.fed39ff0.js.LICENSE.txt} (100%) rename assets/js/{acaf5b8a.c1c3a61d.js => acaf5b8a.da6ff71f.js} (98%) rename assets/js/{ba8bb0f7.e69fd9e7.js => ba8bb0f7.f69968b5.js} (99%) rename assets/js/{c0c6474c.d248371a.js => c0c6474c.b59e57b4.js} (98%) rename assets/js/{c4d0faae.d8085c44.js => c4d0faae.3e09a97c.js} (98%) rename assets/js/{c5666f39.fa602fc2.js => c5666f39.3f732c7d.js} (98%) rename assets/js/{c5666f39.fa602fc2.js.LICENSE.txt => c5666f39.3f732c7d.js.LICENSE.txt} (100%) rename assets/js/{cb388a7b.d3721731.js => cb388a7b.94f35e5a.js} (99%) rename assets/js/{d13cbfb8.d512571d.js => d13cbfb8.8833ec54.js} (97%) rename assets/js/{d13cbfb8.d512571d.js.LICENSE.txt => d13cbfb8.8833ec54.js.LICENSE.txt} (100%) rename assets/js/{d7baea7e.b578db19.js => d7baea7e.dc54e595.js} (98%) rename assets/js/{d7baea7e.b578db19.js.LICENSE.txt => d7baea7e.dc54e595.js.LICENSE.txt} (100%) rename assets/js/{d999437a.de8665c5.js => d999437a.4be2f052.js} (98%) rename assets/js/{dfe5ecdf.f92118df.js => dfe5ecdf.f4ae4c5d.js} (98%) rename assets/js/{e01c2047.dc31392f.js => e01c2047.48b69c8f.js} (98%) rename assets/js/{e1003eab.3bac3067.js => e1003eab.c4f5899f.js} (97%) rename assets/js/{e1c0d304.45a78896.js => e1c0d304.7f10ef2a.js} (98%) rename assets/js/{e6bf8eb6.2dd87e08.js => e6bf8eb6.a4bf224f.js} (99%) rename assets/js/{ed3dcfcb.ad8d7bc8.js => ed3dcfcb.b6679b4c.js} (98%) rename assets/js/{f2567325.91151f00.js => f2567325.16c24276.js} (98%) rename assets/js/{fe129f8e.903cf187.js => fe129f8e.4e93c212.js} (98%) rename assets/js/{main.820830c2.js => main.5a483e81.js} (98%) rename assets/js/{main.820830c2.js.LICENSE.txt => main.5a483e81.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.7ac873cb.js => runtime~main.8a220d66.js} (51%) delete mode 100644 ru/assets/css/styles.6ce0bd34.css create mode 100644 ru/assets/css/styles.96186c51.css rename ru/assets/js/{04b1b9d4.618a413b.js => 04b1b9d4.a0e895be.js} (99%) rename ru/assets/js/{07deeff8.df69c800.js => 07deeff8.4a19b5c8.js} (98%) rename ru/assets/js/{07deeff8.df69c800.js.LICENSE.txt => 07deeff8.4a19b5c8.js.LICENSE.txt} (100%) rename ru/assets/js/{1232fa31.a3287505.js => 1232fa31.e5f40e0d.js} (97%) rename ru/assets/js/{1232fa31.a3287505.js.LICENSE.txt => 1232fa31.e5f40e0d.js.LICENSE.txt} (100%) rename ru/assets/js/{17f650ce.97e3affc.js => 17f650ce.0fe53def.js} (98%) rename ru/assets/js/{1c0a16b8.16a8e8bc.js => 1c0a16b8.9b53eacd.js} (98%) rename ru/assets/js/{1d3222b5.eebe1029.js => 1d3222b5.0a178bcb.js} (98%) rename ru/assets/js/{20c5a0f6.6cecfefc.js => 20c5a0f6.c97559ab.js} (98%) rename ru/assets/js/{2bd07bfd.ac8e9115.js => 2bd07bfd.cae927c4.js} (98%) rename ru/assets/js/{2bd07bfd.ac8e9115.js.LICENSE.txt => 2bd07bfd.cae927c4.js.LICENSE.txt} (100%) rename ru/assets/js/{352bcbef.d900702e.js => 352bcbef.1cd9f8ef.js} (99%) rename ru/assets/js/{35c5367b.6bcd5c78.js => 35c5367b.80ad0691.js} (99%) rename ru/assets/js/{3b64669e.fc99d6bd.js => 3b64669e.f379b738.js} (99%) rename ru/assets/js/{44775544.dddabccf.js => 44775544.07602962.js} (99%) rename ru/assets/js/{457d5840.54a2ea4e.js => 457d5840.dc4620cd.js} (99%) rename ru/assets/js/{4eea1952.42c103cd.js => 4eea1952.32dbcc5e.js} (98%) rename ru/assets/js/{58b64b99.474141b1.js => 58b64b99.406fc451.js} (99%) rename ru/assets/js/{62f42e37.423b0a1e.js => 62f42e37.1541d050.js} (99%) rename ru/assets/js/{6545b372.c3543879.js => 6545b372.a1865b8b.js} (98%) rename ru/assets/js/{6545b372.c3543879.js.LICENSE.txt => 6545b372.a1865b8b.js.LICENSE.txt} (100%) rename ru/assets/js/{670340e2.20478780.js => 670340e2.49aca3b2.js} (99%) rename ru/assets/js/{6becfc1a.d9c55bd5.js => 6becfc1a.51941d59.js} (98%) rename ru/assets/js/{6ee557b2.8e38f8ff.js => 6ee557b2.d8c541fd.js} (98%) rename ru/assets/js/{71d20f43.2dfb0cce.js => 71d20f43.56ffc283.js} (99%) delete mode 100644 ru/assets/js/7313bf7a.40baa790.js create mode 100644 ru/assets/js/7313bf7a.52ad6147.js rename ru/assets/js/{7759802f.fc7ab386.js => 7759802f.8067671e.js} (99%) rename ru/assets/js/{7b31d677.5330d7f9.js => 7b31d677.a5f5c766.js} (99%) rename ru/assets/js/{808aa0e6.fc1c4183.js => 808aa0e6.25be2638.js} (99%) rename ru/assets/js/{81cb5b69.2a52b9c4.js => 81cb5b69.c0e344b0.js} (99%) rename ru/assets/js/{8edc10e1.261e78fc.js => 8edc10e1.84a1a4ef.js} (98%) rename ru/assets/js/{90c52043.54c07ae2.js => 90c52043.d37ad240.js} (99%) rename ru/assets/js/{9b6dbc63.c66209b1.js => 9b6dbc63.4b58bf5a.js} (98%) rename ru/assets/js/{9b6dbc63.c66209b1.js.LICENSE.txt => 9b6dbc63.4b58bf5a.js.LICENSE.txt} (100%) rename ru/assets/js/{9fc8add1.03b568d8.js => 9fc8add1.5052e163.js} (99%) rename ru/assets/js/{a01ebdbc.3f36015d.js => a01ebdbc.be32486b.js} (99%) rename ru/assets/js/{a41378e3.6a747ee1.js => a41378e3.c47d28c4.js} (99%) rename ru/assets/js/{a61c55ce.dc939cfc.js => a61c55ce.d66fc4fe.js} (60%) rename ru/assets/js/{a61c55ce.dc939cfc.js.LICENSE.txt => a61c55ce.d66fc4fe.js.LICENSE.txt} (100%) rename ru/assets/js/{a657d4fc.c47c3617.js => a657d4fc.a4761c26.js} (98%) rename ru/assets/js/{a6bb2b9f.d38b55c8.js => a6bb2b9f.1cd27b96.js} (98%) rename ru/assets/js/{a97f4ecc.8e1d8614.js => a97f4ecc.45255cd4.js} (99%) rename ru/assets/js/{b9d2a7aa.f86184ff.js => b9d2a7aa.d3907bd6.js} (99%) rename ru/assets/js/{bce03a1b.3020da50.js => bce03a1b.bc79b8b6.js} (99%) rename ru/assets/js/{c0c4bf5d.4ae21a07.js => c0c4bf5d.ef64fbb9.js} (98%) rename ru/assets/js/{cb36866c.8cc96df5.js => cb36866c.a196fe12.js} (99%) rename ru/assets/js/{ce6f052d.382b9c68.js => ce6f052d.3f1f6263.js} (99%) rename ru/assets/js/{cf699f5e.8b0e8987.js => cf699f5e.103eede8.js} (99%) rename ru/assets/js/{d178dcf5.7080b623.js => d178dcf5.a6eec967.js} (98%) rename ru/assets/js/{d1f19b62.8ae6e3f0.js => d1f19b62.a2d98b3c.js} (98%) rename ru/assets/js/{d595dc26.fb0b24ec.js => d595dc26.908272bd.js} (99%) rename ru/assets/js/{dd4fd790.704cf059.js => dd4fd790.8e17584e.js} (98%) rename ru/assets/js/{e38a3126.1a7e97e5.js => e38a3126.c679c46b.js} (99%) rename ru/assets/js/{e71e2184.36bd879f.js => e71e2184.cbebd32f.js} (99%) rename ru/assets/js/{e9dc891f.a4b31c94.js => e9dc891f.286c980e.js} (98%) rename ru/assets/js/{eb8bed87.3c51663f.js => eb8bed87.43e74968.js} (98%) rename ru/assets/js/{f22b339c.1e8e9a53.js => f22b339c.3ac87da3.js} (99%) rename ru/assets/js/{f39d466e.133819e7.js => f39d466e.13dcfa73.js} (98%) rename ru/assets/js/{fcc88823.8d92962d.js => fcc88823.bdb6e7c1.js} (99%) rename ru/assets/js/{fee408fa.7cf31506.js => fee408fa.230036f9.js} (99%) rename ru/assets/js/{ffe50de1.f46a487d.js => ffe50de1.c1543bc1.js} (99%) rename ru/assets/js/{main.97ccf9bb.js => main.6d858873.js} (98%) rename ru/assets/js/{main.97ccf9bb.js.LICENSE.txt => main.6d858873.js.LICENSE.txt} (100%) rename ru/assets/js/{runtime~main.aa460cfc.js => runtime~main.a1357c2f.js} (80%) create mode 100644 uz/assets/css/styles.3ea8e204.css delete mode 100644 uz/assets/css/styles.bc769a01.css rename uz/assets/js/{022a3ac7.8b5d82c3.js => 022a3ac7.e8428e11.js} (98%) rename uz/assets/js/{022a3ac7.8b5d82c3.js.LICENSE.txt => 022a3ac7.e8428e11.js.LICENSE.txt} (100%) rename uz/assets/js/{0499e362.6a2eb8fd.js => 0499e362.ceb4779e.js} (98%) rename uz/assets/js/{066221cc.e6dd80ce.js => 066221cc.8ba29b62.js} (99%) rename uz/assets/js/{0a4ee302.3ea12a23.js => 0a4ee302.616ba2d8.js} (99%) rename uz/assets/js/{287b7fe4.3f93216d.js => 287b7fe4.dd2b498a.js} (99%) rename uz/assets/js/{2f764a0f.f5769e9a.js => 2f764a0f.1d6d10ef.js} (99%) rename uz/assets/js/{3121f8ae.28c65631.js => 3121f8ae.9b5da07c.js} (98%) rename uz/assets/js/{350d1c3d.31c2e191.js => 350d1c3d.ab75f543.js} (99%) rename uz/assets/js/{370f8845.f1064b48.js => 370f8845.1f88a4a8.js} (99%) rename uz/assets/js/{3d2652fb.2ec373b8.js => 3d2652fb.713e8e73.js} (99%) rename uz/assets/js/{4044d4ea.1192ad96.js => 4044d4ea.70662582.js} (99%) rename uz/assets/js/{480f28a3.d5afb1f6.js => 480f28a3.675e434d.js} (98%) rename uz/assets/js/{488b6464.d9c096dc.js => 488b6464.b36ef461.js} (99%) rename uz/assets/js/{49161156.86297dd5.js => 49161156.8c4a8759.js} (98%) rename uz/assets/js/{5187bed2.9f406de3.js => 5187bed2.ac45971e.js} (99%) rename uz/assets/js/{53f8e831.36b3ed99.js => 53f8e831.feba2729.js} (97%) rename uz/assets/js/{53f8e831.36b3ed99.js.LICENSE.txt => 53f8e831.feba2729.js.LICENSE.txt} (100%) rename uz/assets/js/{55b0769a.dbf81d57.js => 55b0769a.239ff934.js} (99%) rename uz/assets/js/{590d98cc.9374ac76.js => 590d98cc.4f48dd38.js} (98%) rename uz/assets/js/{5bd61d3b.07d55342.js => 5bd61d3b.68cdd599.js} (98%) rename uz/assets/js/{5f7e5f34.1be7e8d1.js => 5f7e5f34.ba4770b4.js} (99%) rename uz/assets/js/{6636c8dc.7bddd9aa.js => 6636c8dc.29e4d378.js} (97%) rename uz/assets/js/{664a648d.4bb3f941.js => 664a648d.77803e5e.js} (98%) rename uz/assets/js/{66d3db7c.67f1f6e9.js => 66d3db7c.8bcede7c.js} (99%) create mode 100644 uz/assets/js/7313bf7a.17f480c0.js delete mode 100644 uz/assets/js/7313bf7a.87481362.js rename uz/assets/js/{7a790ed0.45d0c615.js => 7a790ed0.bb5f80ec.js} (99%) delete mode 100644 uz/assets/js/84a0dbae.4b927a15.js create mode 100644 uz/assets/js/84a0dbae.53b39140.js rename uz/assets/js/{857ae1bf.88253316.js => 857ae1bf.2694725e.js} (99%) rename uz/assets/js/{8651fb1e.d0e53b78.js => 8651fb1e.48afe223.js} (99%) rename uz/assets/js/{87e5c187.5abe695f.js => 87e5c187.30f2fe16.js} (98%) rename uz/assets/js/{8b5a42c3.d47b77fc.js => 8b5a42c3.e178fae0.js} (98%) rename uz/assets/js/{8b93e59a.ae375a6c.js => 8b93e59a.121c6875.js} (99%) rename uz/assets/js/{8c1e6152.8ad0f93f.js => 8c1e6152.921922f5.js} (99%) rename uz/assets/js/{8ce83ff6.c6cdc446.js => 8ce83ff6.5c596036.js} (98%) rename uz/assets/js/{9b83d7f4.edf33cb4.js => 9b83d7f4.dda43a48.js} (98%) rename uz/assets/js/{a1521a63.308e862a.js => a1521a63.d59a5fda.js} (98%) rename uz/assets/js/{a386f730.5a4e198f.js => a386f730.4bfa016a.js} (99%) rename uz/assets/js/{a61c55ce.32d8f7a1.js => a61c55ce.f35dcf2d.js} (60%) rename uz/assets/js/{a61c55ce.32d8f7a1.js.LICENSE.txt => a61c55ce.f35dcf2d.js.LICENSE.txt} (100%) rename uz/assets/js/{acaf5b8a.348d3c97.js => acaf5b8a.8ad4efea.js} (98%) rename uz/assets/js/{ba8bb0f7.da024e98.js => ba8bb0f7.c60f06c4.js} (99%) rename uz/assets/js/{c0c6474c.9261c10b.js => c0c6474c.4306c288.js} (98%) rename uz/assets/js/{c4d0faae.dc7cd46d.js => c4d0faae.6c8fba94.js} (98%) rename uz/assets/js/{c5666f39.177265a7.js => c5666f39.feb9da64.js} (98%) rename uz/assets/js/{c5666f39.177265a7.js.LICENSE.txt => c5666f39.feb9da64.js.LICENSE.txt} (100%) rename uz/assets/js/{cb388a7b.54035aed.js => cb388a7b.23157273.js} (99%) rename uz/assets/js/{d13cbfb8.b1c5b24d.js => d13cbfb8.26e4a7dd.js} (97%) rename uz/assets/js/{d13cbfb8.b1c5b24d.js.LICENSE.txt => d13cbfb8.26e4a7dd.js.LICENSE.txt} (100%) rename uz/assets/js/{d7baea7e.6f5a9c6c.js => d7baea7e.d3d5ea54.js} (98%) rename uz/assets/js/{d7baea7e.6f5a9c6c.js.LICENSE.txt => d7baea7e.d3d5ea54.js.LICENSE.txt} (100%) rename uz/assets/js/{d999437a.3a4a66c8.js => d999437a.c0f8af78.js} (98%) rename uz/assets/js/{dfe5ecdf.a3cf7dcd.js => dfe5ecdf.33dc49a1.js} (98%) rename uz/assets/js/{e01c2047.1dfaedb8.js => e01c2047.a182dc38.js} (98%) rename uz/assets/js/{e1003eab.ef62303c.js => e1003eab.f4f17e3a.js} (97%) rename uz/assets/js/{e1c0d304.bffa515e.js => e1c0d304.700d1940.js} (98%) rename uz/assets/js/{e3309638.2d2594fe.js => e3309638.ea89c422.js} (99%) rename uz/assets/js/{e6bf8eb6.b36fcbc0.js => e6bf8eb6.e3e0ce36.js} (99%) rename uz/assets/js/{ed3dcfcb.8c042652.js => ed3dcfcb.5b0cfe02.js} (98%) rename uz/assets/js/{f2567325.d9d52a0c.js => f2567325.67df2de7.js} (98%) rename uz/assets/js/{fe129f8e.f2d2d66c.js => fe129f8e.535edede.js} (96%) rename uz/assets/js/{main.80cc5d52.js => main.54ef0f0c.js} (98%) rename uz/assets/js/{main.80cc5d52.js.LICENSE.txt => main.54ef0f0c.js.LICENSE.txt} (100%) rename uz/assets/js/{runtime~main.0daa73a2.js => runtime~main.b168b9d9.js} (50%) diff --git a/404.html b/404.html index 8b5f31e7aa..d66b752a5c 100644 --- a/404.html +++ b/404.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/css/styles.dbc859ea.css b/assets/css/styles.62bbe059.css similarity index 73% rename from assets/css/styles.dbc859ea.css rename to assets/css/styles.62bbe059.css index 3e5754366d..470d1f3fd1 100644 --- a/assets/css/styles.dbc859ea.css +++ b/assets/css/styles.62bbe059.css @@ -1 +1 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.avatar__photo,.card,.text--truncate,iframe{overflow:hidden}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_Gz6w,html{-webkit-tap-highlight-color:transparent}:root,[data-theme=dark]{--feedback-modal-content-text-color:var(--feedback-text-color)}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--violet,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ifm-scrollbar-thumb-background-color) #0000;scrollbar-width:thin}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_ycwR,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;letter-spacing:-.5px}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:unset}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_dvVY .wordWrapButtonIcon_pLsj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_u6UJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_SBe1:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.rootDisabled_SFUB{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_sh08 article>:first-child,.docItemContainer_sh08 header+*,.footer__item,.groupItemsRow_3wzs+.groupItemsRow_3wzs{margin-top:0}.admonitionContent_P6Fw>:last-child,.collapsibleContent_vIJ4 p:last-child,.details_gZPk>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_tOcz,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_hnh2{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_gZPk[data-collapsed=false].isBrowser_UQK3>summary:before,.details_gZPk[open]:not(.isBrowser_UQK3)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.item_zbMY,.miniTheme_ePfp .details_xxkR{filter:grayscale(1)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_Gf4s,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__logo img,.root_v5qN,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.description_y_AQ,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_LIwU>li)>.containsTaskList_LIwU{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.ext-link,.navbar__brand,a[download]{transition:.25s}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-background-color:#18191a;--ifm-background-surface-color:#242526;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-code-font-size:95%;--ifm-button-color:#fff;--ifm-color-primary:#2b74d4;--ifm-color-primary-dark:#2768bf;--ifm-color-primary-darker:#2563b4;--ifm-color-primary-darkest:#1e5194;--ifm-color-primary-light:#4082d8;--ifm-color-primary-lighter:#4b89da;--ifm-color-primary-lightest:#6b9ee1;--ifm-color-primary-grad1:#29bedc;--ifm-color-primary-grad2:#517aed;--ifm-color-primary-neutral:#4a7ec2c6;--ifm-heading-font-family:"Overpass Variable",var(--ifm-font-family-base,sans-serif);--ifm-color-violet:#5c21dd;--feedback-font-family:var(--ifm-font-family-base,sans-serif)!important;--feedback-modal-screnshot-z-index:201!important;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}html::-webkit-scrollbar{background-color:#0000;height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}html::-webkit-scrollbar-track{background-color:#0000;border-radius:10px}html::-webkit-scrollbar-thumb{background-color:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}html::-webkit-scrollbar-corner{background-color:#fff}.navbar__brand{margin-right:0;opacity:1}.navbar__brand:hover,a[download]:hover{opacity:.7}.ext-link{--ifm-navbar-item-padding-horizontal:0.5rem}.ext-link:hover{opacity:.6}.ext-link:before{content:"";display:flex;height:24px;width:24px}html img[alt*=w100],iframe{width:100%}.ext-link.github:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgLjI5N2MtNi42MyAwLTEyIDUuMzczLTEyIDEyIDAgNS4zMDMgMy40MzggOS44IDguMjA1IDExLjM4NS42LjExMy44Mi0uMjU4LjgyLS41NzcgMC0uMjg1LS4wMS0xLjA0LS4wMTUtMi4wNC0zLjMzOC43MjQtNC4wNDItMS42MS00LjA0Mi0xLjYxQzQuNDIyIDE4LjA3IDMuNjMzIDE3LjcgMy42MzMgMTcuN2MtMS4wODctLjc0NC4wODQtLjcyOS4wODQtLjcyOSAxLjIwNS4wODQgMS44MzggMS4yMzYgMS44MzggMS4yMzYgMS4wNyAxLjgzNSAyLjgwOSAxLjMwNSAzLjQ5NS45OTguMTA4LS43NzYuNDE3LTEuMzA1Ljc2LTEuNjA1LTIuNjY1LS4zLTUuNDY2LTEuMzMyLTUuNDY2LTUuOTMgMC0xLjMxLjQ2NS0yLjM4IDEuMjM1LTMuMjItLjEzNS0uMzAzLS41NC0xLjUyMy4xMDUtMy4xNzYgMCAwIDEuMDA1LS4zMjIgMy4zIDEuMjMuOTYtLjI2NyAxLjk4LS4zOTkgMy0uNDA1IDEuMDIuMDA2IDIuMDQuMTM4IDMgLjQwNSAyLjI4LTEuNTUyIDMuMjg1LTEuMjMgMy4yODUtMS4yMy42NDUgMS42NTMuMjQgMi44NzMuMTIgMy4xNzYuNzY1Ljg0IDEuMjMgMS45MSAxLjIzIDMuMjIgMCA0LjYxLTIuODA1IDUuNjI1LTUuNDc1IDUuOTIuNDIuMzYuODEgMS4wOTYuODEgMi4yMiAwIDEuNjA2LS4wMTUgMi44OTYtLjAxNSAzLjI4NiAwIC4zMTUuMjEuNjkuODI1LjU3QzIwLjU2NSAyMi4wOTIgMjQgMTcuNTkyIDI0IDEyLjI5N2MwLTYuNjI3LTUuMzczLTEyLTEyLTEyIi8+PC9zdmc+) no-repeat}.ext-link.discord:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik02NC4xIDE2LjlhNTguNiA1OC42IDAgMCAwLTE0LjctNC40bC0xLjggMy43YTU0IDU0IDAgMCAwLTE2LjIgMCAzNyAzNyAwIDAgMC0yLTMuOEE1OC40IDU4LjQgMCAwIDAgMTQuNyAxNyA2MCA2MCAwIDAgMCA0LjQgNTcuNmE1OC45IDU4LjkgMCAwIDAgMTggOC44IDQyIDQyIDAgMCAwIDMuNi01LjlsLS4xLS4zYy0yLS43LTMuOC0xLjYtNS42LTIuNmEuMi4yIDAgMCAxIDAtLjQgMzAgMzAgMCAwIDAgMS4zLS45IDQyIDQyIDAgMCAwIDM2IDBsMSAxYy4yIDAgLjIuMiAwIC4zLTEuNyAxLTMuNiAxLjktNS41IDIuNmE0NyA0NyAwIDAgMCAzLjggNi4zIDU4LjcgNTguNyAwIDAgMCAxNy44LTkuMUE1OS41IDU5LjUgMCAwIDAgNjQgMTYuOVpNMjcuNyA0OS4zYy0zLjUgMC02LjQtMy4yLTYuNC03LjEgMC00IDIuOS03LjIgNi40LTcuMiAzLjYgMCA2LjUgMy4zIDYuNCA3LjIgMCA0LTIuOCA3LjEtNi40IDcuMW0yMy42IDBjLTMuNSAwLTYuNC0zLjItNi40LTcuMSAwLTQgMi45LTcuMiA2LjQtNy4yIDMuNiAwIDYuNSAzLjMgNi40IDcuMiAwIDQtMi44IDcuMS02LjQgNy4xIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQgMTJoNzF2NTVINHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=) no-repeat}html[data-theme=dark] .ext-link:before{filter:invert(1)}.medium-zoom-image--opened,.medium-zoom-overlay{z-index:999}html[data-theme=dark] .badge--warning{--ifm-badge-background-color:var(--ifm-color-warning-dark)}.badge--violet{--ifm-badge-background-color:var(--ifm-color-violet)}html[data-theme=dark] img[alt*=themed]{filter:invert(1) hue-rotate(180deg)}html[data-theme=dark] img[alt*=themed--scheme]{filter:invert(.905) brightness(1.04) hue-rotate(180deg)}html img[alt*=bordered]{border:1px solid #d3d5d8;border-radius:16px}html img[alt*=bgLight]{background:#fff}:root[data-theme=dark] [src$="#light-mode-only"],:root[data-theme=light] [src$="#dark-mode-only"]{display:none}iframe{color-scheme:auto;background-color:#f0f2f5;border:0;border-radius:16px;height:700px}mark{background-color:var(--ifm-color-primary-neutral);border-radius:4px;color:#fff;padding:2px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.sidebar-item--wip,.subdetails_sVZK{opacity:.5}.summary{border-bottom:1px solid var(--ifm-color-gray-400);color:var(--ifm-color-gray-600);font-size:1.25rem;padding-bottom:2rem}.breadcrumbs__item:first-child,.breadcrumbs__item:nth-child(2):last-child{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-cyrillic-ext-wght-normal-47cdc5a08f97d9eee9e6a1dcad827e28.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-cyrillic-wght-normal-540925c6baf2b581ba6ae9834519c92c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-latin-ext-wght-normal-d2c614e4dd304045f372384b39f6fd66.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-latin-wght-normal-3eb401af5e376ff96c892a6984fe7983.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.backToTopButton_fdhR{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_fdhR:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_h6hY{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a,.sidebarItemLink_V9sV:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_yKzo a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_i5Mp,.navbarSearchContainer_TJSq:empty,.sidebarLogo_LuQ2,.themedComponent_mC5b,[data-theme=dark] .lightToggleIcon_EwAf,[data-theme=light] .darkToggleIcon_Ky7Z,html[data-announcement-bar-initially-dismissed=true] .announcementBar_kZ2O,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_cAcr a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.addMe_pbNn,.content_yKzo,.heroBanner_PbTQ,.ribbon_JKNF,.title_v0wz{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_E7Aa{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_E7Aa{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_E7Aa:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xNyM{line-height:0;padding:0}.content_yKzo{font-size:85%;padding:5px 0}.content_yKzo a{color:inherit}.announcementBar_kZ2O{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_er_t{flex:0 0 10px}.announcementBarClose_pt5G{align-self:stretch;flex:0 0 30px}.toggle_EF7V{height:2rem;width:2rem}.toggleButton_Gz6w{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Gz6w:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_jYpm{cursor:not-allowed}.darkNavbarColorModeToggle_QuGG:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_mNad,[data-theme=light] .themedComponent--light_idUe,html:not([data-theme]) .themedComponent--light_idUe{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_ABfr{display:none;margin:0}.iconExternalLink_UGhe{margin-left:.3rem}.docMainContainer_C15o,.docRoot_SrFj{display:flex;width:100%}.docsWrapper_WNrA{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_RnkU{cursor:pointer}.iconLanguage_HFDA{margin-right:5px;vertical-align:text-bottom}.navbarHideable_oLCi{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_7X6Q{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_PcpO{color:red;white-space:pre-wrap}.errorBoundaryFallback_C8pu{color:red;padding:.55rem}.footerLogoLink_EfD7{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_EfD7:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.root_GfON{border-radius:var(--ifm-alert-border-radius);box-shadow:0 2px 8px 0 #0000001a;color:var(--ifm-font-color-base);display:flex;padding:40px;transition:.25s}.root_GfON:hover{box-shadow:0 4px 8px 0 #0000001a;text-decoration:none}.root_GfON+.root_GfON{margin-top:10px}.rootDisabled_SFUB{opacity:.5}.details_xxkR{align-self:center;flex-grow:1}.detailsTags_uTQx{font-size:.8rem;opacity:.5}.icon_ciqP{align-self:center;font-size:2.5rem;padding-right:20px}.title_pSH5{font-size:1.25rem;font-weight:700}.description__Fep{margin-bottom:0;white-space:break-spaces}.miniTheme_ePfp{padding:20px 30px}.miniTheme_ePfp .title_pSH5{font-size:1rem}.item_zbMY:hover,.miniTheme_ePfp:hover .details_xxkR{filter:grayscale(0)}.primaryTheme_CilO{background-color:var(--ifm-color-primary);color:#fff}.primaryTheme_CilO:hover{box-shadow:0 2px 10px 0 var(--ifm-color-primary-neutral);color:#fff}html[data-theme=dark] .root_GfON.defaultTheme_j3I8,html[data-theme=dark] .root_GfON.miniTheme_ePfp{background:var(--ifm-color-gray-900)}.anchorWithStickyNavbar_YQWG{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Fpva{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_vfgx{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_e3IL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.heroBanner_PbTQ,.preview_MRaB{overflow:hidden;position:relative}.sidebarItemTitle_lhX6{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_RSHg,.sidebarItemList_YMDL{font-size:.9rem}.sidebarItem_viPW{margin-top:.7rem}.sidebarItemLink_V9sV{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_oAjZ{color:var(--ifm-color-primary)!important}.yearGroupHeading_XIYi{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_TRuD{margin:1rem .75rem .5rem}.searchQueryInput_kDxu,.searchVersionInput_JsRz{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_kDxu:focus,.searchVersionInput_JsRz:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_kDxu::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_BGlh{font-size:.9rem;font-weight:700}.algoliaLogo_Gqrd{max-width:150px}.algoliaLogoPathFill_WsEm{fill:var(--ifm-font-color-base)}.searchResultItem_w8JZ{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_GsPy{font-weight:400;margin-bottom:0}.searchResultItemPath_Qzlo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_USzY{font-style:italic;margin:.5rem 0 0}.loadingSpinner__kDN{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.group_tWrt,.loader_NJGB{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_PbTQ{background:linear-gradient(45deg,var(--ifm-color-primary-grad1),var(--ifm-color-primary-grad2));color:#fff;padding:10rem 0}.link_Ogy3{color:#fff;opacity:.7;transition:.25s}.link_Ogy3:hover{color:unset;opacity:.4;text-decoration:unset}.icon_zeNy{font-size:80px;margin:20px 0}.section_o6sW{align-items:center;display:flex;padding:2rem 0;width:100%}.sectionAlt_eaXm{background-color:var(--ifm-color-emphasis-600);color:var(--ifm-font-color-base-inverse)}.title_v0wz{margin-bottom:40px}.root_M0ZT{background:#fff;color:#1c1e21}.rootContainer_QdPn{overflow:hidden;padding:0 1rem;width:100%}.item_zbMY{align-items:center;display:flex;margin:0 20px;opacity:.8;transition:.25s}.item_zbMY:hover{opacity:1}.image_ylzW{height:50px}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5,.authorSocials_tYkH{height:var(--docusaurus-blog-social-icon-size)}.addMe_pbNn{font-size:12px;font-style:italic;padding-top:40px;width:100%}.scheme_O0RH{justify-content:center}.schemeImg_h_tq{padding-bottom:4rem;padding-top:1rem;width:80%}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5{width:var(--docusaurus-blog-social-icon-size)}[data-theme=dark] .githubSvg_niZ1,[data-theme=dark] .xSvg_KBot{fill:var(--light)}[data-theme=light] .githubSvg_niZ1,[data-theme=light] .xSvg_KBot{fill:var(--dark)}.authorSocials_tYkH{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_jJb5,.authorSocials_tYkH{line-height:0}.authorSocialLink_jJb5{margin-right:.4rem}.authorImage_LjvZ{--ifm-avatar-photo-size:3.6rem}.author-as-h1_usjc .authorImage_LjvZ{--ifm-avatar-photo-size:7rem}.author-as-h2_mLxf .authorImage_LjvZ{--ifm-avatar-photo-size:5.4rem}.authorDetails_nj65{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_XNff{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_usjc .authorName_XNff{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_mLxf .authorName_XNff{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_h5YR{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_usjc .authorTitle_h5YR{font-size:1.2rem;line-height:1.2rem}.author-as-h2_mLxf .authorTitle_h5YR{font-size:1rem;line-height:1rem}.authorBlogPostCount_zAzV{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_b7uU{max-width:inherit!important}.imageOnlyAuthorRow_JaX6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_GKUw{margin-left:.3rem;margin-right:.3rem}.preview_MRaB{max-height:175px}.ribbon_JKNF{background:var(--ifm-color-primary);border-bottom-left-radius:20px;border-top-left-radius:20px;color:#fff;min-width:50px;padding:4px 10px;position:absolute;right:0;top:20px;z-index:1}.title_xhac{font-weight:600}.labelNew_Jfmq{color:var(--ifm-color-primary);font-weight:700}.techList_Nt0m{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:700;gap:8px;margin-top:10px}.techListItem_MNXE{border:1px solid gray;border-radius:20px;color:gray;line-height:22px;padding:0 14px}.buttonGroup_rnIK button,.codeBlockContainer_hDnq{background:var(--prism-background-color);color:var(--prism-color)}.root_EnwK{margin-top:2rem;padding-bottom:12rem}.section_Jn7s{margin-top:4rem}.groupItems_NJ5Z{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem}.route_vdvl{font-size:.9rem;font-style:italic;opacity:.5}.codeBlockContainer_hDnq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_FNoi{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_XwMz{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_VtXq{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_XwMz+.codeBlockContent_FNoi .codeBlock_VtXq{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_JXl0{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FJLB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_rnIK{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_rnIK button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_rnIK button:focus-visible,.buttonGroup_rnIK button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_rnIK button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ZfIl{counter-increment:a;display:table-row}.codeLineNumber_SBe1{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_SBe1:before{content:counter(a);opacity:.4}.codeLineContent_Id3L{padding-right:var(--ifm-pre-padding)}.tag_r8jo{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_r8jo:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_HKUK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_YDza{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_YDza:after,.tagWithCount_YDza:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_YDza:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_YDza:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_YDza span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_AORk{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_AANs{opacity:1!important}.copyButtonIcons_GFne{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FWVX,.copyButtonSuccessIcon_Xlgb{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_Xlgb{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_AANs .copyButtonIcon_FWVX{opacity:0;transform:scale(.33)}.copyButtonCopied_AANs .copyButtonSuccessIcon_Xlgb{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_KwKQ{display:inline}.tag_qLVe{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_r24G{margin-right:.3em;vertical-align:sub}.lastUpdated_dDyc{font-size:smaller;font-style:italic;margin-top:.2rem}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--feedback-primary-color:#0070f4;--feedback-secondary-color:#f1f3f4;--feedback-light-color:#ccc;--feedback-dark-color:#191919;--feedback-text-color:#5f6368;--feedback-white-color:#fff;--feedback-highlight-color:#ffb422;--feedback-font-family:"Inter","Tahoma","sans-serif";--feedback-heading-font-size:16px;--feedback-text-font-size:14px;--feedback-button-border-radius:20px;--feedback-button-dark-bg-color:var(--feedback-primary-color);--feedback-button-dark-text-color:var(--feedback-white-color);--feedback-button-light-bg-color:var(--feedback-white-color);--feedback-button-light-text-color:var(--feedback-primary-color);--feedback-button-text-font-size:var(--feedback-text-font-size);--feedback-button-text-font-weight:600;--feedback-button-z-index:300;--feedback-modal-button-bg-color:var(--feedback-white-color);--feedback-modal-button-bg-color-active:var(--feedback-white-color);--feedback-modal-button-border-color:var(--feedback-light-color);--feedback-modal-button-border-color-active:var(--feedback-primary-color);--feedback-modal-button-border-radius:4px;--feedback-modal-button-font-size:var(--feedback-text-font-size);--feedback-modal-button-icon-color:var(--feedback-dark-color);--feedback-modal-button-icon-color-active:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-border-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-text-color:var(--feedback-white-color);--feedback-modal-button-submit-text-color-hover:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-dark-color);--feedback-modal-button-text-color-active:var(--feedback-primary-color);--feedback-modal-close-bg-color:var(--feedback-white-color);--feedback-modal-close-color:var(--feedback-dark-color);--feedback-modal-content-bg-color:var(--feedback-white-color);--feedback-modal-content-border-color:var(--feedback-light-color);--feedback-modal-content-border-radius:8px;--feedback-modal-content-font-family:var(--feedback-font-family);--feedback-modal-content-position-bottom:10px;--feedback-modal-content-position-left:10px;--feedback-modal-content-position-right:10px;--feedback-modal-content-position-top:10px;--feedback-modal-content-z-index:300;--feedback-modal-element-hover-border-color:var(--feedback-primary-color);--feedback-modal-element-selected-border-color:var(--feedback-primary-color);--feedback-modal-footer-link:var(--feedback-dark-color);--feedback-modal-header-font-family:var(--feedback-font-family);--feedback-modal-header-font-size:var(--feedback-heading-font-size);--feedback-modal-header-font-weight:500;--feedback-modal-header-text-color:var(--feedback-dark-color);--feedback-modal-input-bg-color:var(--feedback-secondary-color);--feedback-modal-input-border-color:#0000;--feedback-modal-input-border-color-focused:#0000;--feedback-modal-input-border-radius:4px;--feedback-modal-input-font-size:var(--feedback-text-font-size);--feedback-modal-input-text-color:var(--feedback-text-color);--feedback-modal-message-font-size:var(--feedback-text-font-size);--feedback-modal-modal-wrapper-z-index:300;--feedback-modal-rating-button-color:var(--feedback-text-color);--feedback-modal-rating-button-selected-color:var(--feedback-primary-color);--feedback-modal-rating-button-stars-selected-color:var(--feedback-highlight-color);--feedback-modal-screenshot-bg-color:#0006;--feedback-modal-screenshot-close-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-white-color);--feedback-modal-screenshot-header-text-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-z-index:250;--feedback-modal-screnshot-z-index:100}[data-theme=dark]{--feedback-text-color:#b0b8c4;--feedback-light-color:#363636;--feedback-modal-button-bg-color-active:#0000;--feedback-modal-button-icon-color:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-white-color);--feedback-modal-close-bg-color:#0000;--feedback-modal-close-color:var(--feedback-white-color);--feedback-modal-content-bg-color:var(--feedback-dark-color);--feedback-modal-footer-link:var(--feedback-white-color);--feedback-modal-header-text-color:var(--feedback-white-color);--feedback-modal-input-bg-color:var(--feedback-light-color);--feedback-modal-input-text-color:var(--feedback-white-color);--feedback-modal-rating-button-color:var(--feedback-white-color);--feedback-modal-screenshot-close-color:var(--feedback-white-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-text-color:var(--feedback-white-color)}.feedback-modal-screenshot-open{position:fixed;width:100%}.feedback-modal-screenshot-open--scroll{overflow-y:scroll}.tocCollapsibleButton_i8WS{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_i8WS:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MUXk:after,.tocCollapsibleExpanded_QMAw{transform:none}.tocCollapsible_hANv{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_cAcr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_cAcr ul li{margin:.4rem .8rem}.wordWrapButtonIcon_pLsj{height:1.2rem;width:1.2rem}.details_gZPk{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_gZPk>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_gZPk>summary::-webkit-details-marker{display:none}.details_gZPk>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_vIJ4{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_LfL0{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_LIwU{list-style:none}.img_p9GI{height:auto}.tableOfContents_glYQ{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_DSgh{margin-bottom:1em}.admonitionHeading_u6UJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_u6UJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_u6UJ code{text-transform:none}.admonitionIcon_FweZ{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_FweZ svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_nXDW{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_DLTP{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_ABfr,.expandButton_kkrS{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_pt5G,.announcementBarPlaceholder_er_t{flex-basis:50px}.collapseSidebarButton_ABfr{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_MWVn{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_k3WG,[dir=rtl] .collapseSidebarButtonIcon_MWVn{transform:rotate(0)}.collapseSidebarButton_ABfr:focus,.collapseSidebarButton_ABfr:hover,.expandButton_kkrS:focus,.expandButton_kkrS:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_pcGQ{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GbMa{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GbMa{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_RMUk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_DYiS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_PjtI{padding-top:0}.sidebarHidden_NT18{opacity:0;visibility:hidden}.sidebarLogo_LuQ2{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LuQ2 img{height:2rem;margin-right:.5rem}.expandButton_kkrS{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_k3WG{transform:rotate(180deg)}.docSidebarContainer_i5Mp{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_bjHG{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_SkvF{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_C15o{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_ITe4{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_s7zB{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_TJSq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_dDyc{text-align:right}.tocMobile_ZWDj{display:none}.docItemCol_LHis{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width <= 1180px){.navbar__brand{margin-right:.5rem}.navbar__brand .navbar__title{display:none}.navbar__item{white-space:nowrap}}@media (width <= 1080px){.navbar__item{padding:var(--ifm-navbar-item-padding-vertical) .25rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_jV7c,.footer__link-separator,.navbar__item,.sidebar_e3IL,.tableOfContents_glYQ{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_TJSq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_xH0m{padding:0 .3rem}}@media (width <= 996px){.navbar__brand .navbar__title{display:block}}@media only screen and (max-width:996px){.searchQueryColumn_yglK,.searchResultsColumn_BGlh{max-width:60%!important}.searchLogoColumn_UcFc,.searchVersionColumn_n7FP{max-width:40%!important}.searchLogoColumn_UcFc{padding-left:0!important}}@media screen and (width <= 966px){.heroBanner_PbTQ{padding:2rem}.schemeImg_h_tq{width:100%}}@media screen and (width <= 800px){.item_zbMY{margin:0 10px}.image_ylzW{height:20px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (width <= 600px){.groupItems_NJ5Z{grid-template-columns:1fr}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_hnh2{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_yglK{max-width:100%!important}.searchVersionColumn_n7FP{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media screen and (width <= 450px){.button-group{display:block}.button-group .button{border-radius:var(--ifm-button-border-radius)!important;margin:2px}}@media (hover:hover){.backToTopButton_fdhR:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-color-scheme:dark){:root[data-theme=auto] [src$="#light-mode-only"]{display:none}}@media (prefers-color-scheme:light){:root[data-theme=auto] [src$="#dark-mode-only"]{display:none}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_kZ2O,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ZWDj{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_JXl0{white-space:pre-wrap}} \ No newline at end of file +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.avatar__photo,.card,.text--truncate,iframe{overflow:hidden}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_Gz6w,html{-webkit-tap-highlight-color:transparent}:root,[data-theme=dark]{--feedback-modal-content-text-color:var(--feedback-text-color)}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--violet,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ifm-scrollbar-thumb-background-color) #0000;scrollbar-width:thin}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_ycwR,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;letter-spacing:-.5px}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:unset}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_dvVY .wordWrapButtonIcon_pLsj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_u6UJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_SBe1:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.rootDisabled_SFUB{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_sh08 article>:first-child,.docItemContainer_sh08 header+*,.footer__item,.groupItemsRow_3wzs+.groupItemsRow_3wzs{margin-top:0}.admonitionContent_P6Fw>:last-child,.collapsibleContent_vIJ4 p:last-child,.details_gZPk>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_tOcz,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_hnh2{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_gZPk[data-collapsed=false].isBrowser_UQK3>summary:before,.details_gZPk[open]:not(.isBrowser_UQK3)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.item_zbMY,.miniTheme_ePfp .details_xxkR{filter:grayscale(1)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_Gf4s,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__logo img,.root_v5qN,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.description_y_AQ,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_LIwU>li)>.containsTaskList_LIwU{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.ext-link,.navbar__brand,a[download]{transition:.25s}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-background-color:#18191a;--ifm-background-surface-color:#242526;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-code-font-size:95%;--ifm-button-color:#fff;--ifm-color-primary:#2b74d4;--ifm-color-primary-dark:#2768bf;--ifm-color-primary-darker:#2563b4;--ifm-color-primary-darkest:#1e5194;--ifm-color-primary-light:#4082d8;--ifm-color-primary-lighter:#4b89da;--ifm-color-primary-lightest:#6b9ee1;--ifm-color-primary-grad1:#29bedc;--ifm-color-primary-grad2:#517aed;--ifm-color-primary-neutral:#4a7ec2c6;--ifm-heading-font-family:"Overpass Variable",var(--ifm-font-family-base,sans-serif);--ifm-color-violet:#5c21dd;--feedback-font-family:var(--ifm-font-family-base,sans-serif)!important;--feedback-modal-screnshot-z-index:201!important;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}html::-webkit-scrollbar{background-color:#0000;height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}html::-webkit-scrollbar-track{background-color:#0000;border-radius:10px}html::-webkit-scrollbar-thumb{background-color:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}html::-webkit-scrollbar-corner{background-color:#fff}.navbar__brand{margin-right:0;opacity:1}.navbar__brand:hover,a[download]:hover{opacity:.7}.ext-link{--ifm-navbar-item-padding-horizontal:0.5rem}.ext-link:hover{opacity:.6}.ext-link:before{content:"";display:flex;height:24px;width:24px}html img[alt*=w100],iframe{width:100%}.ext-link.github:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgLjI5N2MtNi42MyAwLTEyIDUuMzczLTEyIDEyIDAgNS4zMDMgMy40MzggOS44IDguMjA1IDExLjM4NS42LjExMy44Mi0uMjU4LjgyLS41NzcgMC0uMjg1LS4wMS0xLjA0LS4wMTUtMi4wNC0zLjMzOC43MjQtNC4wNDItMS42MS00LjA0Mi0xLjYxQzQuNDIyIDE4LjA3IDMuNjMzIDE3LjcgMy42MzMgMTcuN2MtMS4wODctLjc0NC4wODQtLjcyOS4wODQtLjcyOSAxLjIwNS4wODQgMS44MzggMS4yMzYgMS44MzggMS4yMzYgMS4wNyAxLjgzNSAyLjgwOSAxLjMwNSAzLjQ5NS45OTguMTA4LS43NzYuNDE3LTEuMzA1Ljc2LTEuNjA1LTIuNjY1LS4zLTUuNDY2LTEuMzMyLTUuNDY2LTUuOTMgMC0xLjMxLjQ2NS0yLjM4IDEuMjM1LTMuMjItLjEzNS0uMzAzLS41NC0xLjUyMy4xMDUtMy4xNzYgMCAwIDEuMDA1LS4zMjIgMy4zIDEuMjMuOTYtLjI2NyAxLjk4LS4zOTkgMy0uNDA1IDEuMDIuMDA2IDIuMDQuMTM4IDMgLjQwNSAyLjI4LTEuNTUyIDMuMjg1LTEuMjMgMy4yODUtMS4yMy42NDUgMS42NTMuMjQgMi44NzMuMTIgMy4xNzYuNzY1Ljg0IDEuMjMgMS45MSAxLjIzIDMuMjIgMCA0LjYxLTIuODA1IDUuNjI1LTUuNDc1IDUuOTIuNDIuMzYuODEgMS4wOTYuODEgMi4yMiAwIDEuNjA2LS4wMTUgMi44OTYtLjAxNSAzLjI4NiAwIC4zMTUuMjEuNjkuODI1LjU3QzIwLjU2NSAyMi4wOTIgMjQgMTcuNTkyIDI0IDEyLjI5N2MwLTYuNjI3LTUuMzczLTEyLTEyLTEyIi8+PC9zdmc+) no-repeat}.ext-link.discord:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik02NC4xIDE2LjlhNTguNiA1OC42IDAgMCAwLTE0LjctNC40bC0xLjggMy43YTU0IDU0IDAgMCAwLTE2LjIgMCAzNyAzNyAwIDAgMC0yLTMuOEE1OC40IDU4LjQgMCAwIDAgMTQuNyAxNyA2MCA2MCAwIDAgMCA0LjQgNTcuNmE1OC45IDU4LjkgMCAwIDAgMTggOC44IDQyIDQyIDAgMCAwIDMuNi01LjlsLS4xLS4zYy0yLS43LTMuOC0xLjYtNS42LTIuNmEuMi4yIDAgMCAxIDAtLjQgMzAgMzAgMCAwIDAgMS4zLS45IDQyIDQyIDAgMCAwIDM2IDBsMSAxYy4yIDAgLjIuMiAwIC4zLTEuNyAxLTMuNiAxLjktNS41IDIuNmE0NyA0NyAwIDAgMCAzLjggNi4zIDU4LjcgNTguNyAwIDAgMCAxNy44LTkuMUE1OS41IDU5LjUgMCAwIDAgNjQgMTYuOVpNMjcuNyA0OS4zYy0zLjUgMC02LjQtMy4yLTYuNC03LjEgMC00IDIuOS03LjIgNi40LTcuMiAzLjYgMCA2LjUgMy4zIDYuNCA3LjIgMCA0LTIuOCA3LjEtNi40IDcuMW0yMy42IDBjLTMuNSAwLTYuNC0zLjItNi40LTcuMSAwLTQgMi45LTcuMiA2LjQtNy4yIDMuNiAwIDYuNSAzLjMgNi40IDcuMiAwIDQtMi44IDcuMS02LjQgNy4xIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQgMTJoNzF2NTVINHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=) no-repeat}html[data-theme=dark] .ext-link:before{filter:invert(1)}.medium-zoom-image--opened,.medium-zoom-overlay{z-index:999}html[data-theme=dark] .badge--warning{--ifm-badge-background-color:var(--ifm-color-warning-dark)}.badge--violet{--ifm-badge-background-color:var(--ifm-color-violet)}html[data-theme=dark] img[alt*=themed]{filter:invert(1) hue-rotate(180deg)}html[data-theme=dark] img[alt*=themed--scheme]{filter:invert(.905) brightness(1.04) hue-rotate(180deg)}html img[alt*=bordered]{border:1px solid #d3d5d8;border-radius:16px}html img[alt*=bgLight]{background:#fff}:root[data-theme=dark] [src$="#light-mode-only"],:root[data-theme=light] [src$="#dark-mode-only"]{display:none}iframe{color-scheme:auto;background-color:#f0f2f5;border:0;border-radius:16px;height:700px}mark{background-color:var(--ifm-color-primary-neutral);border-radius:4px;color:#fff;padding:2px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.sidebar-item--wip,.subdetails_sVZK{opacity:.5}.summary{border-bottom:1px solid var(--ifm-color-gray-400);color:var(--ifm-color-gray-600);font-size:1.25rem;padding-bottom:2rem}.breadcrumbs__item:first-child,.breadcrumbs__item:nth-child(2):last-child{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-cyrillic-ext-wght-normal-47cdc5a08f97d9eee9e6a1dcad827e28.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-cyrillic-wght-normal-540925c6baf2b581ba6ae9834519c92c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-latin-ext-wght-normal-d2c614e4dd304045f372384b39f6fd66.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/assets/fonts/overpass-latin-wght-normal-3eb401af5e376ff96c892a6984fe7983.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.backToTopButton_fdhR{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_fdhR:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_h6hY{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a,.sidebarItemLink_V9sV:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_yKzo a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_i5Mp,.navbarSearchContainer_TJSq:empty,.sidebarLogo_LuQ2,.themedComponent_mC5b,[data-theme=dark] .lightToggleIcon_EwAf,[data-theme=light] .darkToggleIcon_Ky7Z,html[data-announcement-bar-initially-dismissed=true] .announcementBar_kZ2O,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_cAcr a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.addMe_pbNn,.content_yKzo,.heroBanner_PbTQ,.ribbon_JKNF,.title_v0wz{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"� "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_E7Aa{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_E7Aa{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_E7Aa:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xNyM{line-height:0;padding:0}.content_yKzo{font-size:85%;padding:5px 0}.content_yKzo a{color:inherit}.announcementBar_kZ2O{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_er_t{flex:0 0 10px}.announcementBarClose_pt5G{align-self:stretch;flex:0 0 30px}.toggle_EF7V{height:2rem;width:2rem}.toggleButton_Gz6w{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Gz6w:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_jYpm{cursor:not-allowed}.darkNavbarColorModeToggle_QuGG:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_mNad,[data-theme=light] .themedComponent--light_idUe,html:not([data-theme]) .themedComponent--light_idUe{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_ABfr{display:none;margin:0}.iconExternalLink_UGhe{margin-left:.3rem}.docMainContainer_C15o,.docRoot_SrFj{display:flex;width:100%}.docsWrapper_WNrA{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_RnkU{cursor:pointer}.iconLanguage_HFDA{margin-right:5px;vertical-align:text-bottom}.navbarHideable_oLCi{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_7X6Q{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_PcpO{color:red;white-space:pre-wrap}.errorBoundaryFallback_C8pu{color:red;padding:.55rem}.footerLogoLink_EfD7{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_EfD7:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.root_GfON{border-radius:var(--ifm-alert-border-radius);box-shadow:0 2px 8px 0 #0000001a;color:var(--ifm-font-color-base);display:flex;padding:40px;transition:.25s}.root_GfON:hover{box-shadow:0 4px 8px 0 #0000001a;text-decoration:none}.root_GfON+.root_GfON{margin-top:10px}.rootDisabled_SFUB{opacity:.5}.details_xxkR{align-self:center;flex-grow:1}.detailsTags_uTQx{font-size:.8rem;opacity:.5}.icon_ciqP{align-self:center;font-size:2.5rem;padding-right:20px}.title_pSH5{font-size:1.25rem;font-weight:700}.description__Fep{margin-bottom:0;white-space:break-spaces}.miniTheme_ePfp{padding:20px 30px}.miniTheme_ePfp .title_pSH5{font-size:1rem}.item_zbMY:hover,.miniTheme_ePfp:hover .details_xxkR{filter:grayscale(0)}.primaryTheme_CilO{background-color:var(--ifm-color-primary);color:#fff}.primaryTheme_CilO:hover{box-shadow:0 2px 10px 0 var(--ifm-color-primary-neutral);color:#fff}html[data-theme=dark] .root_GfON.defaultTheme_j3I8,html[data-theme=dark] .root_GfON.miniTheme_ePfp{background:var(--ifm-color-gray-900)}.anchorWithStickyNavbar_YQWG{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Fpva{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_vfgx{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_e3IL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.heroBanner_PbTQ,.preview_MRaB{overflow:hidden;position:relative}.sidebarItemTitle_lhX6{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_RSHg,.sidebarItemList_YMDL{font-size:.9rem}.sidebarItem_viPW{margin-top:.7rem}.sidebarItemLink_V9sV{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_oAjZ{color:var(--ifm-color-primary)!important}.yearGroupHeading_XIYi{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_TRuD{margin:1rem .75rem .5rem}.searchQueryInput_kDxu,.searchVersionInput_JsRz{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_kDxu:focus,.searchVersionInput_JsRz:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_kDxu::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_BGlh{font-size:.9rem;font-weight:700}.algoliaLogo_Gqrd{max-width:150px}.algoliaLogoPathFill_WsEm{fill:var(--ifm-font-color-base)}.searchResultItem_w8JZ{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_GsPy{font-weight:400;margin-bottom:0}.searchResultItemPath_Qzlo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_USzY{font-style:italic;margin:.5rem 0 0}.loadingSpinner__kDN{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.group_tWrt,.loader_NJGB{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_PbTQ{background:linear-gradient(45deg,var(--ifm-color-primary-grad1),var(--ifm-color-primary-grad2));color:#fff;padding:10rem 0}.link_Ogy3{color:#fff;opacity:.7;transition:.25s}.link_Ogy3:hover{color:unset;opacity:.4;text-decoration:unset}.icon_zeNy{font-size:80px;margin:20px 0}.section_o6sW{align-items:center;display:flex;padding:2rem 0;width:100%}.sectionAlt_eaXm{background-color:var(--ifm-color-emphasis-600);color:var(--ifm-font-color-base-inverse)}.title_v0wz{margin-bottom:40px}.root_M0ZT{background:#fff;color:#1c1e21}.rootContainer_QdPn{overflow:hidden;padding:0 1rem;width:100%}.item_zbMY{align-items:center;display:flex;margin:0 20px;opacity:.8;transition:.25s}.item_zbMY:hover{opacity:1}.image_ylzW{height:50px}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5,.authorSocials_tYkH{height:var(--docusaurus-blog-social-icon-size)}.addMe_pbNn{font-size:12px;font-style:italic;padding-top:40px;width:100%}.scheme_O0RH{justify-content:center}.schemeImg_h_tq{padding-bottom:4rem;padding-top:1rem;width:80%}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5{width:var(--docusaurus-blog-social-icon-size)}[data-theme=dark] .githubSvg_niZ1,[data-theme=dark] .xSvg_KBot{fill:var(--light)}[data-theme=light] .githubSvg_niZ1,[data-theme=light] .xSvg_KBot{fill:var(--dark)}.authorSocials_tYkH{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_jJb5,.authorSocials_tYkH{line-height:0}.authorSocialLink_jJb5{margin-right:.4rem}.authorImage_LjvZ{--ifm-avatar-photo-size:3.6rem}.author-as-h1_usjc .authorImage_LjvZ{--ifm-avatar-photo-size:7rem}.author-as-h2_mLxf .authorImage_LjvZ{--ifm-avatar-photo-size:5.4rem}.authorDetails_nj65{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_XNff{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_usjc .authorName_XNff{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_mLxf .authorName_XNff{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_h5YR{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_usjc .authorTitle_h5YR{font-size:1.2rem;line-height:1.2rem}.author-as-h2_mLxf .authorTitle_h5YR{font-size:1rem;line-height:1rem}.authorBlogPostCount_zAzV{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_b7uU{max-width:inherit!important}.imageOnlyAuthorRow_JaX6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_GKUw{margin-left:.3rem;margin-right:.3rem}.preview_MRaB{max-height:175px}.ribbon_JKNF{background:var(--ifm-color-primary);border-bottom-left-radius:20px;border-top-left-radius:20px;color:#fff;min-width:50px;padding:4px 10px;position:absolute;right:0;top:20px;z-index:1}.title_xhac{font-weight:600}.labelNew_Jfmq{color:var(--ifm-color-primary);font-weight:700}.techList_Nt0m{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:700;gap:8px;margin-top:10px}.techListItem_MNXE{border:1px solid gray;border-radius:20px;color:gray;line-height:22px;padding:0 14px}.buttonGroup_rnIK button,.codeBlockContainer_hDnq{background:var(--prism-background-color);color:var(--prism-color)}.root_EnwK{margin-top:2rem;padding-bottom:12rem}.section_Jn7s{margin-top:4rem}.groupItems_NJ5Z{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem}.route_vdvl{font-size:.9rem;font-style:italic;opacity:.5}.codeBlockContainer_hDnq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_FNoi{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_XwMz{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_VtXq{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_XwMz+.codeBlockContent_FNoi .codeBlock_VtXq{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_JXl0{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FJLB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_rnIK{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_rnIK button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_rnIK button:focus-visible,.buttonGroup_rnIK button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_rnIK button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ZfIl{counter-increment:a;display:table-row}.codeLineNumber_SBe1{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_SBe1:before{content:counter(a);opacity:.4}.codeLineContent_Id3L{padding-right:var(--ifm-pre-padding)}.tag_r8jo{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_r8jo:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_HKUK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_YDza{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_YDza:after,.tagWithCount_YDza:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_YDza:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_YDza:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_YDza span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_AORk{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_AANs{opacity:1!important}.copyButtonIcons_GFne{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FWVX,.copyButtonSuccessIcon_Xlgb{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_Xlgb{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_AANs .copyButtonIcon_FWVX{opacity:0;transform:scale(.33)}.copyButtonCopied_AANs .copyButtonSuccessIcon_Xlgb{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_KwKQ{display:inline}.tag_qLVe{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_r24G{margin-right:.3em;vertical-align:sub}.lastUpdated_dDyc{font-size:smaller;font-style:italic;margin-top:.2rem}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--feedback-primary-color:#0070f4;--feedback-secondary-color:#f1f3f4;--feedback-light-color:#ccc;--feedback-dark-color:#191919;--feedback-text-color:#5f6368;--feedback-white-color:#fff;--feedback-highlight-color:#ffb422;--feedback-font-family:"Inter","Tahoma","sans-serif";--feedback-heading-font-size:16px;--feedback-text-font-size:14px;--feedback-button-border-radius:20px;--feedback-button-dark-bg-color:var(--feedback-primary-color);--feedback-button-dark-text-color:var(--feedback-white-color);--feedback-button-light-bg-color:var(--feedback-white-color);--feedback-button-light-text-color:var(--feedback-primary-color);--feedback-button-text-font-size:var(--feedback-text-font-size);--feedback-button-text-font-weight:600;--feedback-button-z-index:300;--feedback-modal-button-bg-color:var(--feedback-white-color);--feedback-modal-button-bg-color-active:var(--feedback-white-color);--feedback-modal-button-border-color:var(--feedback-light-color);--feedback-modal-button-border-color-active:var(--feedback-primary-color);--feedback-modal-button-border-radius:4px;--feedback-modal-button-font-size:var(--feedback-text-font-size);--feedback-modal-button-icon-color:var(--feedback-dark-color);--feedback-modal-button-icon-color-active:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-border-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-text-color:var(--feedback-white-color);--feedback-modal-button-submit-text-color-hover:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-dark-color);--feedback-modal-button-text-color-active:var(--feedback-primary-color);--feedback-modal-close-bg-color:var(--feedback-white-color);--feedback-modal-close-color:var(--feedback-dark-color);--feedback-modal-content-bg-color:var(--feedback-white-color);--feedback-modal-content-border-color:var(--feedback-light-color);--feedback-modal-content-border-radius:8px;--feedback-modal-content-font-family:var(--feedback-font-family);--feedback-modal-content-position-bottom:10px;--feedback-modal-content-position-left:10px;--feedback-modal-content-position-right:10px;--feedback-modal-content-position-top:10px;--feedback-modal-content-z-index:300;--feedback-modal-element-hover-border-color:var(--feedback-primary-color);--feedback-modal-element-selected-border-color:var(--feedback-primary-color);--feedback-modal-footer-link:var(--feedback-dark-color);--feedback-modal-header-font-family:var(--feedback-font-family);--feedback-modal-header-font-size:var(--feedback-heading-font-size);--feedback-modal-header-font-weight:500;--feedback-modal-header-text-color:var(--feedback-dark-color);--feedback-modal-input-bg-color:var(--feedback-secondary-color);--feedback-modal-input-border-color:#0000;--feedback-modal-input-border-color-focused:#0000;--feedback-modal-input-border-radius:4px;--feedback-modal-input-font-size:var(--feedback-text-font-size);--feedback-modal-input-text-color:var(--feedback-text-color);--feedback-modal-message-font-size:var(--feedback-text-font-size);--feedback-modal-modal-wrapper-z-index:300;--feedback-modal-rating-button-color:var(--feedback-text-color);--feedback-modal-rating-button-selected-color:var(--feedback-primary-color);--feedback-modal-rating-button-stars-selected-color:var(--feedback-highlight-color);--feedback-modal-screenshot-bg-color:#0006;--feedback-modal-screenshot-close-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-white-color);--feedback-modal-screenshot-header-text-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-z-index:250;--feedback-modal-screnshot-z-index:100}[data-theme=dark]{--feedback-text-color:#b0b8c4;--feedback-light-color:#363636;--feedback-modal-button-bg-color-active:#0000;--feedback-modal-button-icon-color:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-white-color);--feedback-modal-close-bg-color:#0000;--feedback-modal-close-color:var(--feedback-white-color);--feedback-modal-content-bg-color:var(--feedback-dark-color);--feedback-modal-footer-link:var(--feedback-white-color);--feedback-modal-header-text-color:var(--feedback-white-color);--feedback-modal-input-bg-color:var(--feedback-light-color);--feedback-modal-input-text-color:var(--feedback-white-color);--feedback-modal-rating-button-color:var(--feedback-white-color);--feedback-modal-screenshot-close-color:var(--feedback-white-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-text-color:var(--feedback-white-color)}.feedback-modal-screenshot-open{position:fixed;width:100%}.feedback-modal-screenshot-open--scroll{overflow-y:scroll}.tocCollapsibleButton_i8WS{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_i8WS:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MUXk:after,.tocCollapsibleExpanded_QMAw{transform:none}.tocCollapsible_hANv{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_cAcr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_cAcr ul li{margin:.4rem .8rem}.wordWrapButtonIcon_pLsj{height:1.2rem;width:1.2rem}.details_gZPk{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_gZPk>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_gZPk>summary::-webkit-details-marker{display:none}.details_gZPk>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_vIJ4{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_LfL0{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_LIwU{list-style:none}.img_p9GI{height:auto}.tableOfContents_glYQ{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_DSgh{margin-bottom:1em}.admonitionHeading_u6UJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_u6UJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_u6UJ code{text-transform:none}.admonitionIcon_FweZ{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_FweZ svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_nXDW{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_DLTP{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_ABfr,.expandButton_kkrS{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_pt5G,.announcementBarPlaceholder_er_t{flex-basis:50px}.collapseSidebarButton_ABfr{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_MWVn{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_k3WG,[dir=rtl] .collapseSidebarButtonIcon_MWVn{transform:rotate(0)}.collapseSidebarButton_ABfr:focus,.collapseSidebarButton_ABfr:hover,.expandButton_kkrS:focus,.expandButton_kkrS:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_pcGQ{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GbMa{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GbMa{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_RMUk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_DYiS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_PjtI{padding-top:0}.sidebarHidden_NT18{opacity:0;visibility:hidden}.sidebarLogo_LuQ2{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LuQ2 img{height:2rem;margin-right:.5rem}.expandButton_kkrS{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_k3WG{transform:rotate(180deg)}.docSidebarContainer_i5Mp{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_bjHG{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_SkvF{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_C15o{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_ITe4{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_s7zB{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_TJSq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_dDyc{text-align:right}.tocMobile_ZWDj{display:none}.docItemCol_LHis{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width <= 1180px){.navbar__brand{margin-right:.5rem}.navbar__brand .navbar__title{display:none}.navbar__item{white-space:nowrap}}@media (width <= 1080px){.navbar__item{padding:var(--ifm-navbar-item-padding-vertical) .25rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_jV7c,.footer__link-separator,.navbar__item,.sidebar_e3IL,.tableOfContents_glYQ{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_TJSq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_xH0m{padding:0 .3rem}}@media (width <= 996px){.navbar__brand .navbar__title{display:block}}@media only screen and (max-width:996px){.searchQueryColumn_yglK,.searchResultsColumn_BGlh{max-width:60%!important}.searchLogoColumn_UcFc,.searchVersionColumn_n7FP{max-width:40%!important}.searchLogoColumn_UcFc{padding-left:0!important}}@media screen and (width <= 966px){.heroBanner_PbTQ{padding:2rem}.schemeImg_h_tq{width:100%}}@media screen and (width <= 800px){.item_zbMY{margin:0 10px}.image_ylzW{height:20px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (width <= 600px){.groupItems_NJ5Z{grid-template-columns:1fr}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_hnh2{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_yglK{max-width:100%!important}.searchVersionColumn_n7FP{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media screen and (width <= 450px){.button-group{display:block}.button-group .button{border-radius:var(--ifm-button-border-radius)!important;margin:2px}}@media (hover:hover){.backToTopButton_fdhR:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-color-scheme:dark){:root[data-theme=auto] [src$="#light-mode-only"]{display:none}}@media (prefers-color-scheme:light){:root[data-theme=auto] [src$="#dark-mode-only"]{display:none}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_kZ2O,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ZWDj{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_JXl0{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/0499e362.31831b5b.js b/assets/js/0499e362.e36e6c70.js similarity index 98% rename from assets/js/0499e362.31831b5b.js rename to assets/js/0499e362.e36e6c70.js index 2507d8ec4f..f13ce86def 100644 --- a/assets/js/0499e362.31831b5b.js +++ b/assets/js/0499e362.e36e6c70.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[4005],{5556:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var i=s(6070),n=s(5710);const o={unlisted:!0},r="Decomposition cheatsheet",a={id:"get-started/cheatsheet",title:"Decomposition cheatsheet",description:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",sourceDirName:"get-started",slug:"/get-started/cheatsheet",permalink:"/docs/get-started/cheatsheet",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{unlisted:!0},sidebar:"getstartedSidebar"},c={},d=[{value:"Choosing a layer",id:"choosing-a-layer",level:2},{value:"Examples",id:"examples",level:2},{value:"Tweet",id:"tweet",level:3},{value:"GitHub",id:"github",level:3},{value:"See also",id:"see-also",level:2}];function l(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"decomposition-cheatsheet",children:"Decomposition cheatsheet"})}),"\n",(0,i.jsx)(t.p,{children:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow."}),"\n",(0,i.jsx)(t.h2,{id:"choosing-a-layer",children:"Choosing a layer"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(6701).A+"",children:"Download PDF"})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Definitions of all layers and self-check questions",src:s(6423).A+"",width:"1684",height:"1190"})}),"\n",(0,i.jsx)(t.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(t.h3,{id:"tweet",children:"Tweet"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-tweet-bordered-bgLight",src:s(9342).A+"",width:"1200",height:"2364"})}),"\n",(0,i.jsx)(t.h3,{id:"github",children:"GitHub"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-github-bordered",src:s(890).A+"",width:"2291",height:"1080"})}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4262",children:"(Thread) General logic for features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4210",children:"(Thread) Decomposition of swollen logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4088",children:"(Thread) About understanding the areas of responsibility during decomposition"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3828",children:"(Thread) Decomposition of the Product List widget"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.pluralsight.com/guides/how-to-organize-your-react-+-redux-codebase",children:"(Article) Different approaches to the decomposition of logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3776",children:"(Thread) About the difference between features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3248",children:"(Thread) About the difference between things and entities (2)"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3833",children:"(Thread) About the application of criteria for decomposition"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},6701:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/files/choosing-a-layer-en-12fdf3265c8fc4f6b58687352b81fce7.pdf"},6423:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/choosing-a-layer-en-5b67f20bb921ba17d78a56c0dc7654a9.jpg"},890:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-github-a0eeb839a4b5ef5c480a73726a4451b0.jpg"},9342:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-twitter-7b9a50f879d763c49305b3bf0751ee35.png"},5710:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>a});var i=s(758);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[4005],{5556:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var i=s(6070),n=s(5710);const o={unlisted:!0},r="Decomposition cheatsheet",a={id:"get-started/cheatsheet",title:"Decomposition cheatsheet",description:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",sourceDirName:"get-started",slug:"/get-started/cheatsheet",permalink:"/docs/get-started/cheatsheet",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{unlisted:!0},sidebar:"getstartedSidebar"},c={},d=[{value:"Choosing a layer",id:"choosing-a-layer",level:2},{value:"Examples",id:"examples",level:2},{value:"Tweet",id:"tweet",level:3},{value:"GitHub",id:"github",level:3},{value:"See also",id:"see-also",level:2}];function l(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"decomposition-cheatsheet",children:"Decomposition cheatsheet"})}),"\n",(0,i.jsx)(t.p,{children:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow."}),"\n",(0,i.jsx)(t.h2,{id:"choosing-a-layer",children:"Choosing a layer"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(6701).A+"",children:"Download PDF"})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Definitions of all layers and self-check questions",src:s(6423).A+"",width:"1684",height:"1190"})}),"\n",(0,i.jsx)(t.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(t.h3,{id:"tweet",children:"Tweet"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-tweet-bordered-bgLight",src:s(9342).A+"",width:"1200",height:"2364"})}),"\n",(0,i.jsx)(t.h3,{id:"github",children:"GitHub"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-github-bordered",src:s(890).A+"",width:"2291",height:"1080"})}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4262",children:"(Thread) General logic for features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4210",children:"(Thread) Decomposition of swollen logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4088",children:"(Thread) About understanding the areas of responsibility during decomposition"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3828",children:"(Thread) Decomposition of the Product List widget"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.pluralsight.com/guides/how-to-organize-your-react-+-redux-codebase",children:"(Article) Different approaches to the decomposition of logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3776",children:"(Thread) About the difference between features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3248",children:"(Thread) About the difference between things and entities (2)"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3833",children:"(Thread) About the application of criteria for decomposition"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},6701:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/files/choosing-a-layer-en-12fdf3265c8fc4f6b58687352b81fce7.pdf"},6423:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/choosing-a-layer-en-5b67f20bb921ba17d78a56c0dc7654a9.jpg"},890:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-github-a0eeb839a4b5ef5c480a73726a4451b0.jpg"},9342:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-twitter-7b9a50f879d763c49305b3bf0751ee35.png"},5710:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>a});var i=s(758);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/066221cc.efc45cf9.js b/assets/js/066221cc.adad240f.js similarity index 99% rename from assets/js/066221cc.efc45cf9.js rename to assets/js/066221cc.adad240f.js index fc8fca4b7b..2d828c09e4 100644 --- a/assets/js/066221cc.efc45cf9.js +++ b/assets/js/066221cc.adad240f.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[3120],{8715:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=s(6070),t=s(5710);const r={sidebar_position:1},o="Overview",a={id:"get-started/overview",title:"Overview",description:"Feature-Sliced Design (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",sourceDirName:"get-started",slug:"/get-started/overview",permalink:"/docs/get-started/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"getstartedSidebar",previous:{title:"\ud83d\ude80 Get Started",permalink:"/docs/get-started/"},next:{title:"Tutorial",permalink:"/docs/get-started/tutorial"}},l={},d=[{value:"Is it right for me?",id:"is-it-right-for-me",level:2},{value:"Basic example",id:"basic-example",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Layers",id:"layers",level:3},{value:"Slices",id:"slices",level:3},{value:"Segments",id:"segments",level:3},{value:"Advantages",id:"advantages",level:2},{value:"Incremental adoption",id:"incremental-adoption",level:2},{value:"Next steps",id:"next-steps",level:2}];function c(e){const n={a:"a",br:"br",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"overview",children:"Overview"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Feature-Sliced Design"})," (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements."]}),"\n",(0,i.jsxs)(n.p,{children:["Apart from a set of conventions, FSD is also a toolchain. We have a ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/steiger",children:"linter"})," to check your project's architecture, ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/awesome?tab=readme-ov-file#tools",children:"folder generators"})," through a CLI or IDEs, as well as a rich library of ",(0,i.jsx)(n.a,{href:"/examples",children:"examples"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"is-it-right-for-me",children:"Is it right for me?"}),"\n",(0,i.jsx)(n.p,{children:"FSD can be implemented in projects and teams of any size. It is right for your project if:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["You're doing ",(0,i.jsx)(n.strong,{children:"frontend"})," (UI on web, mobile, desktop, etc.)"]}),"\n",(0,i.jsxs)(n.li,{children:["You're building an ",(0,i.jsx)(n.strong,{children:"application"}),", not a library"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"And that's it! There are no restrictions on what programming language, UI framework, or state manager you use. You can also adopt FSD incrementally, use it in monorepos, and scale to great lengths by breaking your app into packages and implementing FSD individually within them."}),"\n",(0,i.jsxs)(n.p,{children:["If you already have an architecture and you're considering a switch to FSD, make sure that the current architecture is ",(0,i.jsx)(n.strong,{children:"causing trouble"})," in your team. For example, if your project has grown too large and inter-connected to efficiently implement new features, or if you're expecting a lot of new members to join the team. If the current architecture works, maybe it's not worth changing. But if you do decide to migrate, see the ",(0,i.jsx)(n.a,{href:"/docs/guides/migration/from-legacy",children:"Migration"})," section for guidance."]}),"\n",(0,i.jsx)(n.h2,{id:"basic-example",children:"Basic example"}),"\n",(0,i.jsx)(n.p,{children:"Here is a simple project that implements FSD:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 app"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 pages"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 shared"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["These top-level folders are called ",(0,i.jsx)(n.em,{children:"layers"}),". Let's look deeper:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 routes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 analytics"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 home"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 article-reader"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 settings"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"})," are called ",(0,i.jsx)(n.em,{children:"slices"}),". They divide the layer by domain (in this case, by pages)."]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),", ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),", and ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages/article-reader"})," are called ",(0,i.jsx)(n.em,{children:"segments"}),", and they divide slices (or layers) by technical purpose, i.e. what the code is for."]}),"\n",(0,i.jsx)(n.h2,{id:"concepts",children:"Concepts"}),"\n",(0,i.jsx)(n.p,{children:"Layers, slices, and segments form a hierarchy like this:"}),"\n",(0,i.jsxs)("figure",{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Hierarchy of FSD concepts, described below",src:s(1021).A+"",width:"1355",height:"754"})}),(0,i.jsxs)("figcaption",{style:{fontStyle:"italic",fontSize:"0.9em"},children:[(0,i.jsx)("p",{children:'Pictured above: three pillars, labeled left to right as "Layers", "Slices", and "Segments" respectively.'}),(0,i.jsx)("p",{children:'The "Layers" pillar contains seven divisions arranged top to bottom and labeled "app", "processes", "pages", "widgets", "features", "entities", and "shared". The "processes" division is crossed out. The "entities" division is connected to the second pillar "Slices" in a way that conveys that the second pillar is the content of "entities".'}),(0,i.jsx)("p",{children:'The "Slices" pillar contains three divisions arranged top to bottom and labeled "user", "post", and "comment". The "post" division is connected to the third pillar "Segments" in the same way such that it\'s the content of "post".'}),(0,i.jsx)("p",{children:'The "Segments" pillar contains three divisions, arranged top to bottom and labeled "ui", "model", and "api".'})]})]}),"\n",(0,i.jsx)(n.h3,{id:"layers",children:"Layers"}),"\n",(0,i.jsx)(n.p,{children:"Layers are standardized across all FSD projects. You don't have to use all of the layers, but their names are important. There are currently seven of them (from top to bottom):"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"App* \u2014 everything that makes the app run \u2014 routing, entrypoints, global styles, providers."}),"\n",(0,i.jsx)(n.li,{children:"Processes (deprecated) \u2014 complex inter-page scenarios."}),"\n",(0,i.jsx)(n.li,{children:"Pages \u2014 full pages or large parts of a page in nested routing."}),"\n",(0,i.jsx)(n.li,{children:"Widgets \u2014 large self-contained chunks of functionality or UI, usually delivering an entire use case."}),"\n",(0,i.jsxs)(n.li,{children:["Features \u2014 ",(0,i.jsx)(n.em,{children:"reused"})," implementations of entire product features, i.e. actions that bring business value to the user."]}),"\n",(0,i.jsxs)(n.li,{children:["Entities \u2014 business entities that the project works with, like ",(0,i.jsx)(n.code,{children:"user"})," or ",(0,i.jsx)(n.code,{children:"product"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Shared* \u2014 reusable functionality, especially when it's detached from the specifics of the project/business, though not necessarily."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.em,{children:"* \u2014 these layers, App and Shared, unlike the other layers, don't have slices, and are made up of segments directly."})}),"\n",(0,i.jsx)(n.p,{children:"The trick with layers is that modules on one layer can only know about and import from modules from the layers strictly below."}),"\n",(0,i.jsx)(n.h3,{id:"slices",children:"Slices"}),"\n",(0,i.jsx)(n.p,{children:"Next up are slices, which partition the code by business domain. You're free to choose any names for them, and create as many as you wish. Slices make your codebase easier to navigate by keeping logically related modules close together."}),"\n",(0,i.jsx)(n.p,{children:"Slices cannot use other slices on the same layer, and that helps with high cohesion and low coupling."}),"\n",(0,i.jsx)(n.h3,{id:"segments",children:"Segments"}),"\n",(0,i.jsx)(n.p,{children:"Slices, as well as layers App and Shared, consist of segments, and segments group your code by its purpose. Segment names are not constrained by the standard, but there are several conventional names for the most common purposes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ui"})," \u2014 everything related to UI display: UI components, date formatters, styles, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"api"})," \u2014 backend interactions: request functions, data types, mappers, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"model"})," \u2014 the data model: schemas, interfaces, stores, and business logic."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"lib"})," \u2014 library code that other modules on this slice need."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"config"})," \u2014 configuration files and feature flags."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Usually these segments are enough for most layers, you would only create your own segments in Shared or App, but this is not a rule."}),"\n",(0,i.jsx)(n.h2,{id:"advantages",children:"Advantages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Uniformity"}),(0,i.jsx)(n.br,{}),"\n","Since the structure is standardized, projects become more uniform, which makes onboarding new members easier for the team."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Stability in face of changes and refactoring"}),(0,i.jsx)(n.br,{}),"\n","A module on one layer cannot use other modules on the same layer, or the layers above.",(0,i.jsx)(n.br,{}),"\n","This allows you to make isolated modifications without unforeseen consequences to the rest of the app."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Controlled reuse of logic"}),(0,i.jsx)(n.br,{}),"\n","Depending on the layer, you can make code very reusable or very local.",(0,i.jsx)(n.br,{}),"\n","This keeps a balance between following the ",(0,i.jsx)(n.strong,{children:"DRY"})," principle and practicality."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Orientation to business and users needs"}),(0,i.jsx)(n.br,{}),"\n","The app is split into business domains and usage of the business language is encouraged in naming, so that you can do useful product work without fully understanding all other unrelated parts of the project."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"incremental-adoption",children:"Incremental adoption"}),"\n",(0,i.jsx)(n.p,{children:"If you have an existing codebase that you want to migrate to FSD, we suggest the following strategy. We found it useful in our own migration experience."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start by slowly shaping up the App and Shared layers module-by-module to create a foundation."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Distribute all of the existing UI across Widgets and Pages using broad strokes, even if they have dependencies that violate the rules of FSD."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start gradually resolving import violations and also extracting Entities and possibly even Features."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It's advised to refrain from adding new large entities while refactoring or refactoring only certain parts of the project."}),"\n",(0,i.jsx)(n.h2,{id:"next-steps",children:"Next steps"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Want to get a good grasp of how to think in FSD?"})," Check out the ",(0,i.jsx)(n.a,{href:"/docs/get-started/tutorial",children:"Tutorial"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Prefer to learn from examples?"})," We have a lot in the ",(0,i.jsx)(n.a,{href:"/examples",children:"Examples"})," section."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Have questions?"})," Drop by our ",(0,i.jsx)(n.a,{href:"https://t.me/feature_sliced",children:"Telegram chat"})," and get help from the community."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1021:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/visual_schema-e826067f573946613dcdc76e3f585082.jpg"},5710:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(758);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[3120],{8715:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=s(6070),t=s(5710);const r={sidebar_position:1},o="Overview",a={id:"get-started/overview",title:"Overview",description:"Feature-Sliced Design (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",sourceDirName:"get-started",slug:"/get-started/overview",permalink:"/docs/get-started/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"getstartedSidebar",previous:{title:"\ud83d\ude80 Get Started",permalink:"/docs/get-started/"},next:{title:"Tutorial",permalink:"/docs/get-started/tutorial"}},l={},d=[{value:"Is it right for me?",id:"is-it-right-for-me",level:2},{value:"Basic example",id:"basic-example",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Layers",id:"layers",level:3},{value:"Slices",id:"slices",level:3},{value:"Segments",id:"segments",level:3},{value:"Advantages",id:"advantages",level:2},{value:"Incremental adoption",id:"incremental-adoption",level:2},{value:"Next steps",id:"next-steps",level:2}];function c(e){const n={a:"a",br:"br",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"overview",children:"Overview"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Feature-Sliced Design"})," (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements."]}),"\n",(0,i.jsxs)(n.p,{children:["Apart from a set of conventions, FSD is also a toolchain. We have a ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/steiger",children:"linter"})," to check your project's architecture, ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/awesome?tab=readme-ov-file#tools",children:"folder generators"})," through a CLI or IDEs, as well as a rich library of ",(0,i.jsx)(n.a,{href:"/examples",children:"examples"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"is-it-right-for-me",children:"Is it right for me?"}),"\n",(0,i.jsx)(n.p,{children:"FSD can be implemented in projects and teams of any size. It is right for your project if:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["You're doing ",(0,i.jsx)(n.strong,{children:"frontend"})," (UI on web, mobile, desktop, etc.)"]}),"\n",(0,i.jsxs)(n.li,{children:["You're building an ",(0,i.jsx)(n.strong,{children:"application"}),", not a library"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"And that's it! There are no restrictions on what programming language, UI framework, or state manager you use. You can also adopt FSD incrementally, use it in monorepos, and scale to great lengths by breaking your app into packages and implementing FSD individually within them."}),"\n",(0,i.jsxs)(n.p,{children:["If you already have an architecture and you're considering a switch to FSD, make sure that the current architecture is ",(0,i.jsx)(n.strong,{children:"causing trouble"})," in your team. For example, if your project has grown too large and inter-connected to efficiently implement new features, or if you're expecting a lot of new members to join the team. If the current architecture works, maybe it's not worth changing. But if you do decide to migrate, see the ",(0,i.jsx)(n.a,{href:"/docs/guides/migration/from-legacy",children:"Migration"})," section for guidance."]}),"\n",(0,i.jsx)(n.h2,{id:"basic-example",children:"Basic example"}),"\n",(0,i.jsx)(n.p,{children:"Here is a simple project that implements FSD:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 app"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 pages"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 shared"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["These top-level folders are called ",(0,i.jsx)(n.em,{children:"layers"}),". Let's look deeper:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 routes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 analytics"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 home"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 article-reader"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 settings"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"})," are called ",(0,i.jsx)(n.em,{children:"slices"}),". They divide the layer by domain (in this case, by pages)."]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),", ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),", and ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages/article-reader"})," are called ",(0,i.jsx)(n.em,{children:"segments"}),", and they divide slices (or layers) by technical purpose, i.e. what the code is for."]}),"\n",(0,i.jsx)(n.h2,{id:"concepts",children:"Concepts"}),"\n",(0,i.jsx)(n.p,{children:"Layers, slices, and segments form a hierarchy like this:"}),"\n",(0,i.jsxs)("figure",{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Hierarchy of FSD concepts, described below",src:s(1021).A+"",width:"1355",height:"754"})}),(0,i.jsxs)("figcaption",{style:{fontStyle:"italic",fontSize:"0.9em"},children:[(0,i.jsx)("p",{children:'Pictured above: three pillars, labeled left to right as "Layers", "Slices", and "Segments" respectively.'}),(0,i.jsx)("p",{children:'The "Layers" pillar contains seven divisions arranged top to bottom and labeled "app", "processes", "pages", "widgets", "features", "entities", and "shared". The "processes" division is crossed out. The "entities" division is connected to the second pillar "Slices" in a way that conveys that the second pillar is the content of "entities".'}),(0,i.jsx)("p",{children:'The "Slices" pillar contains three divisions arranged top to bottom and labeled "user", "post", and "comment". The "post" division is connected to the third pillar "Segments" in the same way such that it\'s the content of "post".'}),(0,i.jsx)("p",{children:'The "Segments" pillar contains three divisions, arranged top to bottom and labeled "ui", "model", and "api".'})]})]}),"\n",(0,i.jsx)(n.h3,{id:"layers",children:"Layers"}),"\n",(0,i.jsx)(n.p,{children:"Layers are standardized across all FSD projects. You don't have to use all of the layers, but their names are important. There are currently seven of them (from top to bottom):"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"App* \u2014 everything that makes the app run \u2014 routing, entrypoints, global styles, providers."}),"\n",(0,i.jsx)(n.li,{children:"Processes (deprecated) \u2014 complex inter-page scenarios."}),"\n",(0,i.jsx)(n.li,{children:"Pages \u2014 full pages or large parts of a page in nested routing."}),"\n",(0,i.jsx)(n.li,{children:"Widgets \u2014 large self-contained chunks of functionality or UI, usually delivering an entire use case."}),"\n",(0,i.jsxs)(n.li,{children:["Features \u2014 ",(0,i.jsx)(n.em,{children:"reused"})," implementations of entire product features, i.e. actions that bring business value to the user."]}),"\n",(0,i.jsxs)(n.li,{children:["Entities \u2014 business entities that the project works with, like ",(0,i.jsx)(n.code,{children:"user"})," or ",(0,i.jsx)(n.code,{children:"product"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Shared* \u2014 reusable functionality, especially when it's detached from the specifics of the project/business, though not necessarily."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.em,{children:"* \u2014 these layers, App and Shared, unlike the other layers, don't have slices, and are made up of segments directly."})}),"\n",(0,i.jsx)(n.p,{children:"The trick with layers is that modules on one layer can only know about and import from modules from the layers strictly below."}),"\n",(0,i.jsx)(n.h3,{id:"slices",children:"Slices"}),"\n",(0,i.jsx)(n.p,{children:"Next up are slices, which partition the code by business domain. You're free to choose any names for them, and create as many as you wish. Slices make your codebase easier to navigate by keeping logically related modules close together."}),"\n",(0,i.jsx)(n.p,{children:"Slices cannot use other slices on the same layer, and that helps with high cohesion and low coupling."}),"\n",(0,i.jsx)(n.h3,{id:"segments",children:"Segments"}),"\n",(0,i.jsx)(n.p,{children:"Slices, as well as layers App and Shared, consist of segments, and segments group your code by its purpose. Segment names are not constrained by the standard, but there are several conventional names for the most common purposes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ui"})," \u2014 everything related to UI display: UI components, date formatters, styles, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"api"})," \u2014 backend interactions: request functions, data types, mappers, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"model"})," \u2014 the data model: schemas, interfaces, stores, and business logic."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"lib"})," \u2014 library code that other modules on this slice need."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"config"})," \u2014 configuration files and feature flags."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Usually these segments are enough for most layers, you would only create your own segments in Shared or App, but this is not a rule."}),"\n",(0,i.jsx)(n.h2,{id:"advantages",children:"Advantages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Uniformity"}),(0,i.jsx)(n.br,{}),"\n","Since the structure is standardized, projects become more uniform, which makes onboarding new members easier for the team."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Stability in face of changes and refactoring"}),(0,i.jsx)(n.br,{}),"\n","A module on one layer cannot use other modules on the same layer, or the layers above.",(0,i.jsx)(n.br,{}),"\n","This allows you to make isolated modifications without unforeseen consequences to the rest of the app."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Controlled reuse of logic"}),(0,i.jsx)(n.br,{}),"\n","Depending on the layer, you can make code very reusable or very local.",(0,i.jsx)(n.br,{}),"\n","This keeps a balance between following the ",(0,i.jsx)(n.strong,{children:"DRY"})," principle and practicality."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Orientation to business and users needs"}),(0,i.jsx)(n.br,{}),"\n","The app is split into business domains and usage of the business language is encouraged in naming, so that you can do useful product work without fully understanding all other unrelated parts of the project."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"incremental-adoption",children:"Incremental adoption"}),"\n",(0,i.jsx)(n.p,{children:"If you have an existing codebase that you want to migrate to FSD, we suggest the following strategy. We found it useful in our own migration experience."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start by slowly shaping up the App and Shared layers module-by-module to create a foundation."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Distribute all of the existing UI across Widgets and Pages using broad strokes, even if they have dependencies that violate the rules of FSD."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start gradually resolving import violations and also extracting Entities and possibly even Features."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It's advised to refrain from adding new large entities while refactoring or refactoring only certain parts of the project."}),"\n",(0,i.jsx)(n.h2,{id:"next-steps",children:"Next steps"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Want to get a good grasp of how to think in FSD?"})," Check out the ",(0,i.jsx)(n.a,{href:"/docs/get-started/tutorial",children:"Tutorial"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Prefer to learn from examples?"})," We have a lot in the ",(0,i.jsx)(n.a,{href:"/examples",children:"Examples"})," section."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Have questions?"})," Drop by our ",(0,i.jsx)(n.a,{href:"https://t.me/feature_sliced",children:"Telegram chat"})," and get help from the community."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1021:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/visual_schema-e826067f573946613dcdc76e3f585082.jpg"},5710:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(758);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0a4ee302.6bc626d3.js b/assets/js/0a4ee302.da6323f2.js similarity index 98% rename from assets/js/0a4ee302.6bc626d3.js rename to assets/js/0a4ee302.da6323f2.js index 1522995187..ad0904125e 100644 --- a/assets/js/0a4ee302.6bc626d3.js +++ b/assets/js/0a4ee302.da6323f2.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[5977],{2009:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=t(6070),i=t(5710);const o={sidebar_position:10},r="Usage with NuxtJS",c={id:"guides/tech/with-nuxtjs",title:"Usage with NuxtJS",description:"It is possible to implement FSD in a NuxtJS project, but conflicts arise due to the differences between NuxtJS project structure requirements and FSD principles:",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/guides/tech/with-nuxtjs.mdx",sourceDirName:"guides/tech",slug:"/guides/tech/with-nuxtjs",permalink:"/docs/guides/tech/with-nuxtjs",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/guides/tech/with-nuxtjs.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"guidesSidebar",previous:{title:"Usage with NextJS",permalink:"/docs/guides/tech/with-nextjs"},next:{title:"Usage with React Query",permalink:"/docs/guides/tech/with-react-query"}},a={},d=[{value:"Adding an alias for the src directory",id:"adding-an-alias-for-the-src-directory",level:2},{value:"Choose how to configure the router",id:"choose-how-to-configure-the-router",level:2},{value:"Routing using config",id:"routing-using-config",level:3},{value:"File Routing",id:"file-routing",level:3},{value:"What to do with layouts?",id:"what-to-do-with-layouts",level:2},{value:"See also",id:"see-also",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"usage-with-nuxtjs",children:"Usage with NuxtJS"})}),"\n",(0,s.jsx)(n.p,{children:"It is possible to implement FSD in a NuxtJS project, but conflicts arise due to the differences between NuxtJS project structure requirements and FSD principles:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Initially, NuxtJS offers a project file structure without a ",(0,s.jsx)(n.code,{children:"src"})," folder, i.e. in the root of the project."]}),"\n",(0,s.jsxs)(n.li,{children:["The file routing is in the ",(0,s.jsx)(n.code,{children:"pages"})," folder, while in FSD this folder is reserved for the flat slice structure."]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"adding-an-alias-for-the-src-directory",children:["Adding an alias for the ",(0,s.jsx)(n.code,{children:"src"})," directory"]}),"\n",(0,s.jsxs)(n.p,{children:["Add an ",(0,s.jsx)(n.code,{children:"alias"})," object to your config:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="nuxt.config.ts"',children:"export default defineNuxtConfig({\n devtools: { enabled: true }, // Not FSD related, enabled at project startup\n alias: {\n \"@\": '../src'\n },\n})\n"})}),"\n",(0,s.jsx)(n.h2,{id:"choose-how-to-configure-the-router",children:"Choose how to configure the router"}),"\n",(0,s.jsxs)(n.p,{children:["In NuxtJS, there are two ways to customize the routing - using a config and using a file structure.\nIn the case of file-based routing, you will create index.vue files in folders inside the app/routes directory, and in the case of configure, you will configure the routers in the ",(0,s.jsx)(n.code,{children:"router.options.ts"})," file."]}),"\n",(0,s.jsx)(n.h3,{id:"routing-using-config",children:"Routing using config"}),"\n",(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.code,{children:"app"})," layer, create a ",(0,s.jsx)(n.code,{children:"router.options.ts"})," file, and export a config object from it:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="app/router.options.ts"',children:"import type { RouterConfig } from '@nuxt/schema';\n\nexport default {\n routes: (_routes) => [],\n};\n\n"})}),"\n",(0,s.jsxs)(n.p,{children:["To add a ",(0,s.jsx)(n.code,{children:"Home"})," page to your project, you need to do the following steps:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add a page slice inside the ",(0,s.jsx)(n.code,{children:"pages"})," layer"]}),"\n",(0,s.jsxs)(n.li,{children:["Add the appropriate route to the ",(0,s.jsx)(n.code,{children:"app/router.config.ts"})," config"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["To create a page slice, let's use the ",(0,s.jsx)(n.a,{href:"https://github.com/feature-sliced/cli",children:"CLI"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"fsd pages home\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"home-page.vue"})," file inside the ui segment, access it using the Public API"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="src/pages/home/index.ts"',children:"export { default as HomePage } from './ui/home-page';\n"})}),"\n",(0,s.jsx)(n.p,{children:"Thus, the file structure will look like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"|\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 router.config.ts\n\u2502 \u251c\u2500\u2500 pages\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 ui\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 home-page.vue\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.ts\n"})}),"\n",(0,s.jsx)(n.p,{children:"Finally, let's add a root to the config:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="app/router.config.ts"',children:"import type { RouterConfig } from '@nuxt/schema'\n\nexport default {\n routes: (_routes) => [\n {\n name: 'home',\n path: '/',\n component: () => import('@/pages/home.vue').then(r => r.default || r)\n }\n ],\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"file-routing",children:"File Routing"}),"\n",(0,s.jsxs)(n.p,{children:["First of all, create a ",(0,s.jsx)(n.code,{children:"src"})," directory in the root of your project, and create app and pages layers inside this directory and a routes folder inside the app layer.\nThus, your file structure should look like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 routes\n\u2502 \u251c\u2500\u2500 pages # Pages folder, related to FSD\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In order for NuxtJS to use the routes folder inside the ",(0,s.jsx)(n.code,{children:"app"})," layer for file routing, you need to modify ",(0,s.jsx)(n.code,{children:"nuxt.config.ts"})," as follows:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="nuxt.config.ts"',children:"export default defineNuxtConfig({\n devtools: { enabled: true }, // Not FSD related, enabled at project startup\n alias: {\n \"@\": '../src'\n },\n dir: {\n pages: './src/app/routes'\n }\n})\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Now, you can create routes for pages within ",(0,s.jsx)(n.code,{children:"app"})," and connect pages from ",(0,s.jsx)(n.code,{children:"pages"})," to them."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, to add a ",(0,s.jsx)(n.code,{children:"Home"})," page to your project, you need to do the following steps:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add a page slice inside the ",(0,s.jsx)(n.code,{children:"pages"})," layer"]}),"\n",(0,s.jsxs)(n.li,{children:["Add the corresponding root inside the ",(0,s.jsx)(n.code,{children:"app"})," layer"]}),"\n",(0,s.jsx)(n.li,{children:"Align the page from the slice with the root"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["To create a page slice, let's use the ",(0,s.jsx)(n.a,{href:"https://github.com/feature-sliced/cli",children:"CLI"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"fsd pages home\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"home-page.vue"})," file inside the ui segment, access it using the Public API"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="src/pages/home/index.ts"',children:"export { default as HomePage } from './ui/home-page';\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Create a root for this page inside the ",(0,s.jsx)(n.code,{children:"app"})," layer:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 routes\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.vue\n\u2502 \u251c\u2500\u2500 pages\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 ui\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 home-page.vue\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.ts\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Add your page component inside the ",(0,s.jsx)(n.code,{children:"index.vue"})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-html",metastring:'title="src/app/routes/index.vue"',children:" - + + +
Skip to main content

🌎 FSD international community

· 2 min read
Anton Medvedev
FSD core-team member
post-cover
diff --git a/blog/archive.html b/blog/archive.html index 198ca5ee9d..a794a75b39 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/blog/international-community.html b/blog/international-community.html index e248c7d351..599a1b6596 100644 --- a/blog/international-community.html +++ b/blog/international-community.html @@ -8,9 +8,9 @@ - - - + + +

🌎 FSD international community

· 2 min read
Anton Medvedev
FSD core-team member
post-cover
diff --git a/blog/rebranding-stable.html b/blog/rebranding-stable.html index 22cc58bd9a..0522be7cb4 100644 --- a/blog/rebranding-stable.html +++ b/blog/rebranding-stable.html @@ -8,9 +8,9 @@ - - - + + +

💥 FSD rebranding!

· 2 min read
Ilya Azin
FSD core-team member
logo-primary
diff --git a/blog/tags.html b/blog/tags.html index fa62eb0c5b..cbf677e3fd 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/blog/tags/brand.html b/blog/tags/brand.html index 868ec378db..e8c8270688 100644 --- a/blog/tags/brand.html +++ b/blog/tags/brand.html @@ -8,9 +8,9 @@ - - - + + +

One post tagged with "brand"

View All Tags

💥 FSD rebranding!

· 2 min read
Ilya Azin
FSD core-team member
logo-primary
diff --git a/blog/tags/community.html b/blog/tags/community.html index 9ddba6e01b..e248bd8cc6 100644 --- a/blog/tags/community.html +++ b/blog/tags/community.html @@ -8,9 +8,9 @@ - - - + + +

One post tagged with "community"

View All Tags

🌎 FSD international community

· 2 min read
Anton Medvedev
FSD core-team member
post-cover
diff --git a/blog/tags/discord.html b/blog/tags/discord.html index 32bd239c90..abe9d6c593 100644 --- a/blog/tags/discord.html +++ b/blog/tags/discord.html @@ -8,9 +8,9 @@ - - - + + +

One post tagged with "discord"

View All Tags

🌎 FSD international community

· 2 min read
Anton Medvedev
FSD core-team member
post-cover
diff --git a/blog/tags/promo.html b/blog/tags/promo.html index 7265e1e9bb..52e61911ae 100644 --- a/blog/tags/promo.html +++ b/blog/tags/promo.html @@ -8,9 +8,9 @@ - - - + + +

2 posts tagged with "promo"

View All Tags

🌎 FSD international community

· 2 min read
Anton Medvedev
FSD core-team member
post-cover
diff --git a/community.html b/community.html index c618a348f3..862de86e3e 100644 --- a/community.html +++ b/community.html @@ -8,9 +8,9 @@ - - - + + + +
Contributing

HowTo, Workflow, Support

\ No newline at end of file diff --git a/community/team.html b/community/team.html index d6ba4792ca..4c0e2e04c6 100644 --- a/community/team.html +++ b/community/team.html @@ -8,9 +8,9 @@ - - - + + + +

Companies

\ No newline at end of file diff --git a/docs.html b/docs.html index ca4ed80d92..47203186cb 100644 --- a/docs.html +++ b/docs.html @@ -8,9 +8,9 @@ - - - + + + +
🛠 Examples

Projects built with Feature-Sliced Design

\ No newline at end of file diff --git a/docs/about.html b/docs/about.html index e347322049..dd7baa2a66 100644 --- a/docs/about.html +++ b/docs/about.html @@ -8,9 +8,9 @@ - - - + + + +
Promote

About promotion and integration FSD at companies

Integration • Promoting in team • Promoting in company
\ No newline at end of file diff --git a/docs/about/alternatives.html b/docs/about/alternatives.html index bc8b49a68c..7ab036a808 100644 --- a/docs/about/alternatives.html +++ b/docs/about/alternatives.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/mission.html b/docs/about/mission.html index 2a2077d307..f0f68a8447 100644 --- a/docs/about/mission.html +++ b/docs/about/mission.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/motivation.html b/docs/about/motivation.html index 2b373e5677..ac5e2c1cdb 100644 --- a/docs/about/motivation.html +++ b/docs/about/motivation.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/promote/for-company.html b/docs/about/promote/for-company.html index e7dbd07a31..8105484313 100644 --- a/docs/about/promote/for-company.html +++ b/docs/about/promote/for-company.html @@ -8,9 +8,9 @@ - - - + + + +

How to prepare and justify a plan to move to the methodology?

\ No newline at end of file diff --git a/docs/about/promote/for-team.html b/docs/about/promote/for-team.html index 0abd6368a4..3dabfe115d 100644 --- a/docs/about/promote/for-team.html +++ b/docs/about/promote/for-team.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/promote/integration.html b/docs/about/promote/integration.html index da467ba56c..0f7356b8cc 100644 --- a/docs/about/promote/integration.html +++ b/docs/about/promote/integration.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/promote/partial-application.html b/docs/about/promote/partial-application.html index 285d97559b..4970e6bffa 100644 --- a/docs/about/promote/partial-application.html +++ b/docs/about/promote/partial-application.html @@ -8,15 +8,15 @@ - - - + + +
Skip to main content
+ \ No newline at end of file diff --git a/docs/about/understanding/abstractions.html b/docs/about/understanding/abstractions.html index 4f74bb15d0..bf14380023 100644 --- a/docs/about/understanding/abstractions.html +++ b/docs/about/understanding/abstractions.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/understanding/architecture.html b/docs/about/understanding/architecture.html index 29456e7996..02a174118b 100644 --- a/docs/about/understanding/architecture.html +++ b/docs/about/understanding/architecture.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/understanding/knowledge-types.html b/docs/about/understanding/knowledge-types.html index 482b421d18..c4c2b1114b 100644 --- a/docs/about/understanding/knowledge-types.html +++ b/docs/about/understanding/knowledge-types.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/understanding/naming.html b/docs/about/understanding/naming.html index a8c3ecf1f0..20215a6b59 100644 --- a/docs/about/understanding/naming.html +++ b/docs/about/understanding/naming.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/understanding/needs-driven.html b/docs/about/understanding/needs-driven.html index 1c0ca727ba..2e4fee710c 100644 --- a/docs/about/understanding/needs-driven.html +++ b/docs/about/understanding/needs-driven.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/about/understanding/signals.html b/docs/about/understanding/signals.html index 09bc66fc57..5716f580ea 100644 --- a/docs/about/understanding/signals.html +++ b/docs/about/understanding/signals.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/branding.html b/docs/branding.html index cca3a91d17..1152506d08 100644 --- a/docs/branding.html +++ b/docs/branding.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/get-started.html b/docs/get-started.html index 2ac7f4bb7e..e39caead03 100644 --- a/docs/get-started.html +++ b/docs/get-started.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/get-started/cheatsheet.html b/docs/get-started/cheatsheet.html index d80a935173..c055093e4c 100644 --- a/docs/get-started/cheatsheet.html +++ b/docs/get-started/cheatsheet.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/get-started/faq.html b/docs/get-started/faq.html index f738ce8d74..2849f28463 100644 --- a/docs/get-started/faq.html +++ b/docs/get-started/faq.html @@ -8,9 +8,9 @@ - - - + + + +

Answered here

\ No newline at end of file diff --git a/docs/get-started/overview.html b/docs/get-started/overview.html index 69630da65d..c6f4758b7d 100644 --- a/docs/get-started/overview.html +++ b/docs/get-started/overview.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/get-started/tutorial.html b/docs/get-started/tutorial.html index 11bdef6c5b..cf9fc672a3 100644 --- a/docs/get-started/tutorial.html +++ b/docs/get-started/tutorial.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Tutorial

@@ -272,6 +272,6 @@

Article edito
app/routes/editor._index.tsx, app/routes/editor.$slug.tsx (same content)
import { ArticleEditPage } from "pages/article-edit";

export { loader, action } from "pages/article-edit";

export default ArticleEditPage;

We’re done now! Log in and try creating a new article. Or “forget” to write the article and see the validation kick in.

The Conduit article editor, with the title field saying “New article” and the rest of the fields empty. Above the form there are two errors: “Describe what this article is about” and “Write the article itself”.

The Conduit article editor, with the title field saying “New article” and the rest of the fields empty. Above the form there are two errors: “Describe what this article is about” and “Write the article itself”.
-

The profile and settings pages are very similar to the article reader and editor, they are left as an exercise for the reader, that’s you :)

+

The profile and settings pages are very similar to the article reader and editor, they are left as an exercise for the reader, that’s you :)

\ No newline at end of file diff --git a/docs/guides.html b/docs/guides.html index 21f269e4e1..a9a96507a8 100644 --- a/docs/guides.html +++ b/docs/guides.html @@ -8,9 +8,9 @@ - - - + + + +
Code Issues (Smells)

General architecture issues for legacy code

Desegmented • Routing • Cross-imports
\ No newline at end of file diff --git a/docs/guides/examples.html b/docs/guides/examples.html index a32a2b6ff7..26d542c2a5 100644 --- a/docs/guides/examples.html +++ b/docs/guides/examples.html @@ -8,9 +8,9 @@ - - - + + + +
Page layouts

Main cases with layouts

Where to store them • Using widgets in layouts
\ No newline at end of file diff --git a/docs/guides/examples/auth.html b/docs/guides/examples/auth.html index 55d9b4770b..d13fb86332 100644 --- a/docs/guides/examples/auth.html +++ b/docs/guides/examples/auth.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Authentication

@@ -164,6 +164,6 @@

Automatic logout

-

Don't forget to build failsafes for when a request to log out fails, or a request to refresh a login token fails. In both of these cases, you should clear the token store. If you keep your token in Entities, this code can be placed in the model segment as it is pure business logic. If you keep your token in Shared, placing this logic in shared/api might bloat the segment and dilute its purpose. If you're noticing that your API segment contains two several unrelated things, consider splitting out the token management logic into another segment, for example, shared/auth.

+

Don't forget to build failsafes for when a request to log out fails, or a request to refresh a login token fails. In both of these cases, you should clear the token store. If you keep your token in Entities, this code can be placed in the model segment as it is pure business logic. If you keep your token in Shared, placing this logic in shared/api might bloat the segment and dilute its purpose. If you're noticing that your API segment contains two several unrelated things, consider splitting out the token management logic into another segment, for example, shared/auth.

\ No newline at end of file diff --git a/docs/guides/examples/autocompleted.html b/docs/guides/examples/autocompleted.html index da4e7f3759..d9269f7372 100644 --- a/docs/guides/examples/autocompleted.html +++ b/docs/guides/examples/autocompleted.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/examples/browser-api.html b/docs/guides/examples/browser-api.html index fb93b6e4ad..c223a4f943 100644 --- a/docs/guides/examples/browser-api.html +++ b/docs/guides/examples/browser-api.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Browser API

@@ -18,6 +18,6 @@

About working with the Browser API: localStorage, audio Api, bluetooth API, etc.

You can ask about the idea in more detail @alex_novi

-
+ \ No newline at end of file diff --git a/docs/guides/examples/cms.html b/docs/guides/examples/cms.html index 1c3bd8ba55..1cb949973c 100644 --- a/docs/guides/examples/cms.html +++ b/docs/guides/examples/cms.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/examples/feedback.html b/docs/guides/examples/feedback.html index d7eca3e9bb..a4cdd8c0d1 100644 --- a/docs/guides/examples/feedback.html +++ b/docs/guides/examples/feedback.html @@ -8,15 +8,15 @@ - - - + + +
Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
+ \ No newline at end of file diff --git a/docs/guides/examples/i18n.html b/docs/guides/examples/i18n.html index 82be0d5979..6aaec947bc 100644 --- a/docs/guides/examples/i18n.html +++ b/docs/guides/examples/i18n.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/examples/metric.html b/docs/guides/examples/metric.html index f077050db1..22d3980437 100644 --- a/docs/guides/examples/metric.html +++ b/docs/guides/examples/metric.html @@ -8,15 +8,15 @@ - - - + + +
Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
+ \ No newline at end of file diff --git a/docs/guides/examples/monorepo.html b/docs/guides/examples/monorepo.html index 6a5b323913..c1ae632152 100644 --- a/docs/guides/examples/monorepo.html +++ b/docs/guides/examples/monorepo.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/examples/page-layout.html b/docs/guides/examples/page-layout.html index a24db7aa84..ce341928ed 100644 --- a/docs/guides/examples/page-layout.html +++ b/docs/guides/examples/page-layout.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/examples/platforms.html b/docs/guides/examples/platforms.html index 5a281f339d..29bfecf9d9 100644 --- a/docs/guides/examples/platforms.html +++ b/docs/guides/examples/platforms.html @@ -8,15 +8,15 @@ - - - + + +
Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
+ \ No newline at end of file diff --git a/docs/guides/examples/ssr.html b/docs/guides/examples/ssr.html index a92929649a..e15c37ed1a 100644 --- a/docs/guides/examples/ssr.html +++ b/docs/guides/examples/ssr.html @@ -8,15 +8,15 @@ - - - + + +
Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
+ \ No newline at end of file diff --git a/docs/guides/examples/theme.html b/docs/guides/examples/theme.html index 726e3be40e..e39374cea3 100644 --- a/docs/guides/examples/theme.html +++ b/docs/guides/examples/theme.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/examples/types.html b/docs/guides/examples/types.html index eda9a3a9ab..b4fa081a5d 100644 --- a/docs/guides/examples/types.html +++ b/docs/guides/examples/types.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Types

@@ -142,6 +142,6 @@

shared/lib/untyped-packages/use-react-screenshot.d.ts
// This library doesn't have typings, and we didn't want to bother writing our own.
declare module "use-react-screenshot";

Auto-generation of types

-

It's common to generate types from external sources, for example, generating backend types from an OpenAPI schema. In this case, create a dedicated place in your codebase for these types, like shared/api/openapi. Ideally, you should also include a README in that folder that describes what these files are, how to regenerate them, etc.

+

It's common to generate types from external sources, for example, generating backend types from an OpenAPI schema. In this case, create a dedicated place in your codebase for these types, like shared/api/openapi. Ideally, you should also include a README in that folder that describes what these files are, how to regenerate them, etc.

\ No newline at end of file diff --git a/docs/guides/examples/white-labels.html b/docs/guides/examples/white-labels.html index ed1f686334..e008511101 100644 --- a/docs/guides/examples/white-labels.html +++ b/docs/guides/examples/white-labels.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/issues/cross-imports.html b/docs/guides/issues/cross-imports.html index 31c0901460..2b46b8f6da 100644 --- a/docs/guides/issues/cross-imports.html +++ b/docs/guides/issues/cross-imports.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/issues/desegmented.html b/docs/guides/issues/desegmented.html index c0ea2670c0..e96bf4e0f5 100644 --- a/docs/guides/issues/desegmented.html +++ b/docs/guides/issues/desegmented.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/issues/routes.html b/docs/guides/issues/routes.html index 9fe5e3e44d..c09a8dabdb 100644 --- a/docs/guides/issues/routes.html +++ b/docs/guides/issues/routes.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/migration/from-legacy.html b/docs/guides/migration/from-legacy.html index 34548162be..c4ae0046ba 100644 --- a/docs/guides/migration/from-legacy.html +++ b/docs/guides/migration/from-legacy.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/migration/from-v1.html b/docs/guides/migration/from-v1.html index 233dbdf2b6..19fc3592dc 100644 --- a/docs/guides/migration/from-v1.html +++ b/docs/guides/migration/from-v1.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/tech/with-nextjs.html b/docs/guides/tech/with-nextjs.html index c2c2114ebe..fd0c160447 100644 --- a/docs/guides/tech/with-nextjs.html +++ b/docs/guides/tech/with-nextjs.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Usage with NextJS

@@ -27,8 +27,8 @@

├── pages              # NextJS pages folder
├── src
│ ├── app
│ ├── entities
│ ├── features
│ ├── pages # FSD pages folder
│ ├── shared
│ ├── widgets

Renaming the pages layer within the FSD structure

-

Another way to solve the problem is to rename the app layer in the FSD structure to avoid conflicts with the NextJS pages folder. -You can rename the app layer in FSD to views. +

Another way to solve the problem is to rename the pages layer in the FSD structure to avoid conflicts with the NextJS pages folder. +You can rename the pages layer in FSD to views. In that way, the structure of the project in the src folder is preserved without contradiction with the requirements of NextJS.

├── app
├── entities
├── features
├── pages # NextJS pages folder
├── views # Renamed FSD pages folder
├── shared
├── widgets

Keep in mind that it's highly recommended to document this rename prominently in your project's README or internal documentation. This rename is a part of your "project knowledge".

@@ -52,6 +52,6 @@

Dealing with App

See also

+ \ No newline at end of file diff --git a/docs/guides/tech/with-nuxtjs.html b/docs/guides/tech/with-nuxtjs.html index d6a18fae26..b639f34afa 100644 --- a/docs/guides/tech/with-nuxtjs.html +++ b/docs/guides/tech/with-nuxtjs.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/tech/with-react-query.html b/docs/guides/tech/with-react-query.html index fb5fbb57b4..ff67a714c7 100644 --- a/docs/guides/tech/with-react-query.html +++ b/docs/guides/tech/with-react-query.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/guides/tech/with-sveltekit.html b/docs/guides/tech/with-sveltekit.html index d17c118083..45b238f5da 100644 --- a/docs/guides/tech/with-sveltekit.html +++ b/docs/guides/tech/with-sveltekit.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/reference.html b/docs/reference.html index 9561367ee4..5b9b6c4b72 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -8,9 +8,9 @@ - - - + + + +
Public API

Practices for designing scalable and easy-to-integrate modules

\ No newline at end of file diff --git a/docs/reference/isolation.html b/docs/reference/isolation.html index d4ce98a11b..66bdd0a34d 100644 --- a/docs/reference/isolation.html +++ b/docs/reference/isolation.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/reference/isolation/coupling-cohesion.html b/docs/reference/isolation/coupling-cohesion.html index 3ca1f034d0..3b2559593c 100644 --- a/docs/reference/isolation/coupling-cohesion.html +++ b/docs/reference/isolation/coupling-cohesion.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/reference/isolation/decouple-entities.html b/docs/reference/isolation/decouple-entities.html index e5f1a0434b..9f66017055 100644 --- a/docs/reference/isolation/decouple-entities.html +++ b/docs/reference/isolation/decouple-entities.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/reference/layers.html b/docs/reference/layers.html index b59350d2bb..e0a6038f22 100644 --- a/docs/reference/layers.html +++ b/docs/reference/layers.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/reference/public-api.html b/docs/reference/public-api.html index b7a718aab0..a4710e84ee 100644 --- a/docs/reference/public-api.html +++ b/docs/reference/public-api.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/docs/reference/slices-segments.html b/docs/reference/slices-segments.html index 004e05d9c8..c6adb8d1e5 100644 --- a/docs/reference/slices-segments.html +++ b/docs/reference/slices-segments.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Slices and segments

@@ -38,6 +38,6 @@

SegmentsExamples

-
Layeruimodellibapi
SharedUI kitUsually not usedUtility modules of several related files.
If you need to use individual helpers, consider using utility libraries such as lodash-es.
Rudimentary API client with additional features like authentication or caching.
EntitiesSkeleton of a business entity with slots for interactive elementsData storage of instances of this entity as well as functions for manipulating that data.
This segment is most fit for storing server-side data. If you use TanStack Query or other methods of implicit storage, you may choose to omit this segment.
Functions for manipulating instances of this entity that aren't related to storageAPI methods using the API client from Shared for easy communication with the backend
FeaturesInteractive elements that enable users to use this featureBusiness logic and infrastructure data storage, if needed (e.g., current app theme). This is the code that actually produces value for the user.Infrastructural code that helps to concisely describe the business logic in the model segmentAPI methods that represent this feature on the backend.
May compose API methods from Entities.
WidgetsComposition of Entities and Features into self-contained UI blocks.
Can also contain error boundaries and loading states.
Infrastructure data storage, if neededNon-business interactions (e.g., gestures) and other necessary code for the block to function on a pageUsually not used, but can contain data loaders in nested routing contexts (e.g., Remix)
PagesComposition of Entities, Features and Widgets into complete pages.
Can also contain error boundaries and loading states.
Usually not usedNon-business interactions (e.g., gestures) and other necessary code for the page to deliver a complete user experienceData loaders for SSR-oriented frameworks
+
Layeruimodellibapi
SharedUI kitUsually not usedUtility modules of several related files.
If you need to use individual helpers, consider using utility libraries such as lodash-es.
Rudimentary API client with additional features like authentication or caching.
EntitiesSkeleton of a business entity with slots for interactive elementsData storage of instances of this entity as well as functions for manipulating that data.
This segment is most fit for storing server-side data. If you use TanStack Query or other methods of implicit storage, you may choose to omit this segment.
Functions for manipulating instances of this entity that aren't related to storageAPI methods using the API client from Shared for easy communication with the backend
FeaturesInteractive elements that enable users to use this featureBusiness logic and infrastructure data storage, if needed (e.g., current app theme). This is the code that actually produces value for the user.Infrastructural code that helps to concisely describe the business logic in the model segmentAPI methods that represent this feature on the backend.
May compose API methods from Entities.
WidgetsComposition of Entities and Features into self-contained UI blocks.
Can also contain error boundaries and loading states.
Infrastructure data storage, if neededNon-business interactions (e.g., gestures) and other necessary code for the block to function on a pageUsually not used, but can contain data loaders in nested routing contexts (e.g., Remix)
PagesComposition of Entities, Features and Widgets into complete pages.
Can also contain error boundaries and loading states.
Usually not usedNon-business interactions (e.g., gestures) and other necessary code for the page to deliver a complete user experienceData loaders for SSR-oriented frameworks
\ No newline at end of file diff --git a/examples.html b/examples.html index e1bee9b2b4..b0781e5ff3 100644 --- a/examples.html +++ b/examples.html @@ -8,11 +8,11 @@ - - - + + + -
Skip to main content

Examples

List of websites people are building with Feature-Sliced Design

v2
NEW: Tiny Bunny Mini Game

Mini-game "21 points" in the universe of the visual novel "Tiny Bunny".

reactredux-toolkittypescript
v2
Roke.to Business

Business branch of Roketo, a crypto streaming service which allows paying people by the second

reacteffectortailwindcssturbo
v2
Roke.to dApp

A crypto streaming service which allows paying people by the second

reacteffectortailwindcss
v2
IT bookstore

Catalog for viewing and searching information technology books

reactredux toolkittypescriptreact routervitescss
v2
Moke Smoke (React Native example)

An application that helps you quit smoking, published in the App Store and Google. Developed with React Native

reactrtkpersisttypescriptfirebase
v2
Moonlogs (Effector + Forest example)

Moonlogs is a business-event logging tool with a built-in user-friendly web interface for easy access to events

foresteffectortailwindtypescriptgo
v2
Posts (React Query example)

Example of using FSD with React Query (Mutation, Query, Pagination)

reactreact-querytypescriptmaterial ui
v2
FalkChat

FalkChat is your go-to destination for seamless and engaging online conversations.

reactnextprettierclerktypescripttailwindshadcn/uizustand
v2
Polka

The application is a bookshelf where you can add your favorite books. The application works with the Google Books API.

vue3piniatypescriptvue-routereslintprettiervitevuetify
v2
Fake Cyber Web Store

Example web store on Vue3

vue3piniatypescriptfirebasevue-routereslintprettiervite
v2
VK Audiopad

Chrome extension for VK Music

reactvkuitypescript
v2
Сryptolight

Cryptocurrency review site based on Feature-Sliced Design (Architectural methodology for frontend projects).

reacteffectornextuitypescriptvite
v2
Money Flow

A mobile application for tracking your expenses and incomes.

capacitorjsreactreact-routerzustandvitetypescriptmobileandroidios
v2
E-Commerce

This project is an online store built using React. It provides the ability to view the product catalog and product pages

reactmobxwebpacktypescriptssr
v2
Todo app (Vue 3 + Pinia)

QuickStart todo-app example for Vue developers with pinia store

vue 3piniavitetypescript
v2
Conduit

A social blogging site powered by Feature-Sliced Design architectural methodology.

reactreact-routerreact-queryzustandvitetypescript
v2
Kinomore (React+Effector)

Large project on the effector/fsd stack

reacteffectortypescriptnextjsreact-testing-library
v2
Sudoku (React+Effector)

A simple crossword of numbers on effector / fsd

reacteffectortypescriptvitetailwindatomic-router
v2
Nukeapp (React+ReduxToolkit)

Shopping app build on React/ReduxToolkit stack

reactredux-toolkittypescriptvite
v2
Simple Greenhouse App (React+MobX)

Simple demonstration of how FSD can be implemented with TypeScript, React.js, MobX and Firebase

reactmobxtypescriptfirebasemuivite
v2
Todo App (ReactNative+Redux)

QuickStart todo-app example for ReactNative(Expo) developers

react-nativeexporedux
v2
Rastrr

A simple and free graphic editor for novice artists

svelte
v2
Draw, I'll Help

A drawing app with shape correction powered by ML

svelte
v2
Cast

A podcast listening PWA with automated quality assurance

svelte
v2
Loripsum generator

Simple fish text generator

reacteffector
v2
Projentry (demo)

Assistant for your projects

reactantd
v2
Todo App (Angular 13)

QuickStart todo-app example for Angular developers

angularrxjs
v2
Todo App (Vue 3)

QuickStart todo-app example for Vue developers

vuevuexantd
v2
Todo App (React+Redux)

QuickStart todo-app example for React developers (Redux version)

reactreduxantd
v2
Todo App (React+Effector)

QuickStart todo-app example for React developers (Effector version)

reacteffectorantd
v2
Github Client

React & GraphQL powered github web-client

reactgraphqlantd
v2
Cardbox

The best solutions from developers in one place

reacteffector
+
Skip to main content

Examples

List of websites people are building with Feature-Sliced Design

v2
Tiny Bunny Mini Game

Mini-game "21 points" in the universe of the visual novel "Tiny Bunny".

reactredux-toolkittypescript
v2
Roke.to Business

Business branch of Roketo, a crypto streaming service which allows paying people by the second

reacteffectortailwindcssturbo
v2
Roke.to dApp

A crypto streaming service which allows paying people by the second

reacteffectortailwindcss
v2
IT bookstore

Catalog for viewing and searching information technology books

reactredux toolkittypescriptreact routervitescss
v2
Moke Smoke (React Native example)

An application that helps you quit smoking, published in the App Store and Google. Developed with React Native

reactrtkpersisttypescriptfirebase
v2
Moonlogs (Effector + Forest example)

Moonlogs is a business-event logging tool with a built-in user-friendly web interface for easy access to events

foresteffectortailwindtypescriptgo
v2
Posts (React Query example)

Example of using FSD with React Query (Mutation, Query, Pagination)

reactreact-querytypescriptmaterial ui
v2
FalkChat

FalkChat is your go-to destination for seamless and engaging online conversations.

reactnextprettierclerktypescripttailwindshadcn/uizustand
v2
Polka

The application is a bookshelf where you can add your favorite books. The application works with the Google Books API.

vue3piniatypescriptvue-routereslintprettiervitevuetify
v2
Fake Cyber Web Store

Example web store on Vue3

vue3piniatypescriptfirebasevue-routereslintprettiervite
v2
VK Audiopad

Chrome extension for VK Music

reactvkuitypescript
v2
Сryptolight

Cryptocurrency review site based on Feature-Sliced Design (Architectural methodology for frontend projects).

reacteffectornextuitypescriptvite
v2
Money Flow

A mobile application for tracking your expenses and incomes.

capacitorjsreactreact-routerzustandvitetypescriptmobileandroidios
v2
E-Commerce

This project is an online store built using React. It provides the ability to view the product catalog and product pages

reactmobxwebpacktypescriptssr
v2
Todo app (Vue 3 + Pinia)

QuickStart todo-app example for Vue developers with pinia store

vue 3piniavitetypescript
v2
Conduit

A social blogging site powered by Feature-Sliced Design architectural methodology.

reactreact-routerreact-queryzustandvitetypescript
v2
Kinomore (React+Effector)

Large project on the effector/fsd stack

reacteffectortypescriptnextjsreact-testing-library
v2
Sudoku (React+Effector)

A simple crossword of numbers on effector / fsd

reacteffectortypescriptvitetailwindatomic-router
v2
Nukeapp (React+ReduxToolkit)

Shopping app build on React/ReduxToolkit stack

reactredux-toolkittypescriptvite
v2
Simple Greenhouse App (React+MobX)

Simple demonstration of how FSD can be implemented with TypeScript, React.js, MobX and Firebase

reactmobxtypescriptfirebasemuivite
v2
Todo App (ReactNative+Redux)

QuickStart todo-app example for ReactNative(Expo) developers

react-nativeexporedux
v2
Rastrr

A simple and free graphic editor for novice artists

svelte
v2
Draw, I'll Help

A drawing app with shape correction powered by ML

svelte
v2
Cast

A podcast listening PWA with automated quality assurance

svelte
v2
Loripsum generator

Simple fish text generator

reacteffector
v2
Projentry (demo)

Assistant for your projects

reactantd
v2
Todo App (Angular 13)

QuickStart todo-app example for Angular developers

angularrxjs
v2
Todo App (Vue 3)

QuickStart todo-app example for Vue developers

vuevuexantd
v2
Todo App (React+Redux)

QuickStart todo-app example for React developers (Redux version)

reactreduxantd
v2
Todo App (React+Effector)

QuickStart todo-app example for React developers (Effector version)

reacteffectorantd
v2
Github Client

React & GraphQL powered github web-client

reactgraphqlantd
v2
Cardbox

The best solutions from developers in one place

reacteffector
\ No newline at end of file diff --git a/index.html b/index.html index 30495afccb..16c189c5cf 100644 --- a/index.html +++ b/index.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

Feature-Sliced Design

Architectural methodology for frontend projects

Features

Explicit business logic

Easily discoverable architecture thanks to domain scopes

Adaptability

Architecture components can be flexibly replaced and added for new requirements

Tech debt & Refactoring

Each module can be independently modified / rewritten without side effects

Explicit code reuse

A balance is maintained between DRY and local customization

Concepts

Public API

Each module must have a declaration of its public API at the top level

Isolation

The module should not depend directly on other modules of the same layer or overlying layers

Needs Driven

Orientation to business and user needs

Scheme

Companies using FSD

FSD is used in your company? Tell us
diff --git a/nav.html b/nav.html index 876eae738e..0c1584a167 100644 --- a/nav.html +++ b/nav.html @@ -8,9 +8,9 @@ - - - + + +
Skip to main content

🧭 Navigation

Legacy routes

After the restructuring of the documentation, some routes were changed. Below you can find the page you may have been looking for.

But there are redirects from old links for compatibility

🚀 Get Started

⚡️ Simplified and merged

Tutorial

old: /docs/get-started/quick-start
new: /docs/get-started/tutorial

Basics

old: /docs/get-started/basics
new: /docs/get-started/overview

Decompose Cheatsheet

old: /docs/get-started/tutorial/decompose; diff --git a/ru/404.html b/ru/404.html index 714e16eff0..eca3facf8c 100644 --- a/ru/404.html +++ b/ru/404.html @@ -8,9 +8,9 @@ - - - + + +

Страница не найдена

К сожалению, мы не смогли найти запрашиваемую вами страницу.

Пожалуйста, обратитесь к владельцу сайта, с которого вы перешли на эту ссылку, чтобы сообщить ему ссылка не работает.

diff --git a/ru/assets/css/styles.6ce0bd34.css b/ru/assets/css/styles.6ce0bd34.css deleted file mode 100644 index d61aa1f17b..0000000000 --- a/ru/assets/css/styles.6ce0bd34.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.avatar__photo,.card,.text--truncate,iframe{overflow:hidden}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_Gz6w,html{-webkit-tap-highlight-color:transparent}:root,[data-theme=dark]{--feedback-modal-content-text-color:var(--feedback-text-color)}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--violet,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ifm-scrollbar-thumb-background-color) #0000;scrollbar-width:thin}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_ycwR,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;letter-spacing:-.5px}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:unset}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_dvVY .wordWrapButtonIcon_pLsj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_u6UJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_SBe1:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.rootDisabled_SFUB{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_sh08 article>:first-child,.docItemContainer_sh08 header+*,.footer__item,.groupItemsRow_3wzs+.groupItemsRow_3wzs{margin-top:0}.admonitionContent_P6Fw>:last-child,.collapsibleContent_vIJ4 p:last-child,.details_gZPk>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_tOcz,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_hnh2{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_gZPk[data-collapsed=false].isBrowser_UQK3>summary:before,.details_gZPk[open]:not(.isBrowser_UQK3)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.item_zbMY,.miniTheme_ePfp .details_xxkR{filter:grayscale(1)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_Gf4s,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__logo img,.root_v5qN,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.description_y_AQ,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_LIwU>li)>.containsTaskList_LIwU{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.ext-link,.navbar__brand,a[download]{transition:.25s}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-background-color:#18191a;--ifm-background-surface-color:#242526;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-code-font-size:95%;--ifm-button-color:#fff;--ifm-color-primary:#2b74d4;--ifm-color-primary-dark:#2768bf;--ifm-color-primary-darker:#2563b4;--ifm-color-primary-darkest:#1e5194;--ifm-color-primary-light:#4082d8;--ifm-color-primary-lighter:#4b89da;--ifm-color-primary-lightest:#6b9ee1;--ifm-color-primary-grad1:#29bedc;--ifm-color-primary-grad2:#517aed;--ifm-color-primary-neutral:#4a7ec2c6;--ifm-heading-font-family:"Overpass Variable",var(--ifm-font-family-base,sans-serif);--ifm-color-violet:#5c21dd;--feedback-font-family:var(--ifm-font-family-base,sans-serif)!important;--feedback-modal-screnshot-z-index:201!important;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}html::-webkit-scrollbar{background-color:#0000;height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}html::-webkit-scrollbar-track{background-color:#0000;border-radius:10px}html::-webkit-scrollbar-thumb{background-color:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}html::-webkit-scrollbar-corner{background-color:#fff}.navbar__brand{margin-right:0;opacity:1}.navbar__brand:hover,a[download]:hover{opacity:.7}.ext-link{--ifm-navbar-item-padding-horizontal:0.5rem}.ext-link:hover{opacity:.6}.ext-link:before{content:"";display:flex;height:24px;width:24px}html img[alt*=w100],iframe{width:100%}.ext-link.github:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgLjI5N2MtNi42MyAwLTEyIDUuMzczLTEyIDEyIDAgNS4zMDMgMy40MzggOS44IDguMjA1IDExLjM4NS42LjExMy44Mi0uMjU4LjgyLS41NzcgMC0uMjg1LS4wMS0xLjA0LS4wMTUtMi4wNC0zLjMzOC43MjQtNC4wNDItMS42MS00LjA0Mi0xLjYxQzQuNDIyIDE4LjA3IDMuNjMzIDE3LjcgMy42MzMgMTcuN2MtMS4wODctLjc0NC4wODQtLjcyOS4wODQtLjcyOSAxLjIwNS4wODQgMS44MzggMS4yMzYgMS44MzggMS4yMzYgMS4wNyAxLjgzNSAyLjgwOSAxLjMwNSAzLjQ5NS45OTguMTA4LS43NzYuNDE3LTEuMzA1Ljc2LTEuNjA1LTIuNjY1LS4zLTUuNDY2LTEuMzMyLTUuNDY2LTUuOTMgMC0xLjMxLjQ2NS0yLjM4IDEuMjM1LTMuMjItLjEzNS0uMzAzLS41NC0xLjUyMy4xMDUtMy4xNzYgMCAwIDEuMDA1LS4zMjIgMy4zIDEuMjMuOTYtLjI2NyAxLjk4LS4zOTkgMy0uNDA1IDEuMDIuMDA2IDIuMDQuMTM4IDMgLjQwNSAyLjI4LTEuNTUyIDMuMjg1LTEuMjMgMy4yODUtMS4yMy42NDUgMS42NTMuMjQgMi44NzMuMTIgMy4xNzYuNzY1Ljg0IDEuMjMgMS45MSAxLjIzIDMuMjIgMCA0LjYxLTIuODA1IDUuNjI1LTUuNDc1IDUuOTIuNDIuMzYuODEgMS4wOTYuODEgMi4yMiAwIDEuNjA2LS4wMTUgMi44OTYtLjAxNSAzLjI4NiAwIC4zMTUuMjEuNjkuODI1LjU3QzIwLjU2NSAyMi4wOTIgMjQgMTcuNTkyIDI0IDEyLjI5N2MwLTYuNjI3LTUuMzczLTEyLTEyLTEyIi8+PC9zdmc+) no-repeat}.ext-link.discord:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik02NC4xIDE2LjlhNTguNiA1OC42IDAgMCAwLTE0LjctNC40bC0xLjggMy43YTU0IDU0IDAgMCAwLTE2LjIgMCAzNyAzNyAwIDAgMC0yLTMuOEE1OC40IDU4LjQgMCAwIDAgMTQuNyAxNyA2MCA2MCAwIDAgMCA0LjQgNTcuNmE1OC45IDU4LjkgMCAwIDAgMTggOC44IDQyIDQyIDAgMCAwIDMuNi01LjlsLS4xLS4zYy0yLS43LTMuOC0xLjYtNS42LTIuNmEuMi4yIDAgMCAxIDAtLjQgMzAgMzAgMCAwIDAgMS4zLS45IDQyIDQyIDAgMCAwIDM2IDBsMSAxYy4yIDAgLjIuMiAwIC4zLTEuNyAxLTMuNiAxLjktNS41IDIuNmE0NyA0NyAwIDAgMCAzLjggNi4zIDU4LjcgNTguNyAwIDAgMCAxNy44LTkuMUE1OS41IDU5LjUgMCAwIDAgNjQgMTYuOVpNMjcuNyA0OS4zYy0zLjUgMC02LjQtMy4yLTYuNC03LjEgMC00IDIuOS03LjIgNi40LTcuMiAzLjYgMCA2LjUgMy4zIDYuNCA3LjIgMCA0LTIuOCA3LjEtNi40IDcuMW0yMy42IDBjLTMuNSAwLTYuNC0zLjItNi40LTcuMSAwLTQgMi45LTcuMiA2LjQtNy4yIDMuNiAwIDYuNSAzLjMgNi40IDcuMiAwIDQtMi44IDcuMS02LjQgNy4xIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQgMTJoNzF2NTVINHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=) no-repeat}html[data-theme=dark] .ext-link:before{filter:invert(1)}.medium-zoom-image--opened,.medium-zoom-overlay{z-index:999}html[data-theme=dark] .badge--warning{--ifm-badge-background-color:var(--ifm-color-warning-dark)}.badge--violet{--ifm-badge-background-color:var(--ifm-color-violet)}html[data-theme=dark] img[alt*=themed]{filter:invert(1) hue-rotate(180deg)}html[data-theme=dark] img[alt*=themed--scheme]{filter:invert(.905) brightness(1.04) hue-rotate(180deg)}html img[alt*=bordered]{border:1px solid #d3d5d8;border-radius:16px}html img[alt*=bgLight]{background:#fff}:root[data-theme=dark] [src$="#light-mode-only"],:root[data-theme=light] [src$="#dark-mode-only"]{display:none}iframe{color-scheme:auto;background-color:#f0f2f5;border:0;border-radius:16px;height:700px}mark{background-color:var(--ifm-color-primary-neutral);border-radius:4px;color:#fff;padding:2px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.sidebar-item--wip,.subdetails_sVZK{opacity:.5}.summary{border-bottom:1px solid var(--ifm-color-gray-400);color:var(--ifm-color-gray-600);font-size:1.25rem;padding-bottom:2rem}.breadcrumbs__item:first-child,.breadcrumbs__item:nth-child(2):last-child{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-cyrillic-ext-wght-normal-47cdc5a08f97d9eee9e6a1dcad827e28.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-cyrillic-wght-normal-540925c6baf2b581ba6ae9834519c92c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-latin-ext-wght-normal-d2c614e4dd304045f372384b39f6fd66.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-latin-wght-normal-3eb401af5e376ff96c892a6984fe7983.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.backToTopButton_fdhR{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_fdhR:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_h6hY{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a,.sidebarItemLink_V9sV:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_yKzo a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_i5Mp,.navbarSearchContainer_TJSq:empty,.sidebarLogo_LuQ2,.themedComponent_mC5b,[data-theme=dark] .lightToggleIcon_EwAf,[data-theme=light] .darkToggleIcon_Ky7Z,html[data-announcement-bar-initially-dismissed=true] .announcementBar_kZ2O,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_cAcr a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.addMe_pbNn,.content_yKzo,.heroBanner_PbTQ,.ribbon_JKNF,.title_v0wz{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_E7Aa{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_E7Aa{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_E7Aa:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xNyM{line-height:0;padding:0}.content_yKzo{font-size:85%;padding:5px 0}.content_yKzo a{color:inherit}.announcementBar_kZ2O{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_er_t{flex:0 0 10px}.announcementBarClose_pt5G{align-self:stretch;flex:0 0 30px}.toggle_EF7V{height:2rem;width:2rem}.toggleButton_Gz6w{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Gz6w:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_jYpm{cursor:not-allowed}.darkNavbarColorModeToggle_QuGG:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_mNad,[data-theme=light] .themedComponent--light_idUe,html:not([data-theme]) .themedComponent--light_idUe{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_ABfr{display:none;margin:0}.iconExternalLink_UGhe{margin-left:.3rem}.docMainContainer_C15o,.docRoot_SrFj{display:flex;width:100%}.docsWrapper_WNrA{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_RnkU{cursor:pointer}.iconLanguage_HFDA{margin-right:5px;vertical-align:text-bottom}.navbarHideable_oLCi{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_7X6Q{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_PcpO{color:red;white-space:pre-wrap}.errorBoundaryFallback_C8pu{color:red;padding:.55rem}.footerLogoLink_EfD7{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_EfD7:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.root_GfON{border-radius:var(--ifm-alert-border-radius);box-shadow:0 2px 8px 0 #0000001a;color:var(--ifm-font-color-base);display:flex;padding:40px;transition:.25s}.root_GfON:hover{box-shadow:0 4px 8px 0 #0000001a;text-decoration:none}.root_GfON+.root_GfON{margin-top:10px}.rootDisabled_SFUB{opacity:.5}.details_xxkR{align-self:center;flex-grow:1}.detailsTags_uTQx{font-size:.8rem;opacity:.5}.icon_ciqP{align-self:center;font-size:2.5rem;padding-right:20px}.title_pSH5{font-size:1.25rem;font-weight:700}.description__Fep{margin-bottom:0;white-space:break-spaces}.miniTheme_ePfp{padding:20px 30px}.miniTheme_ePfp .title_pSH5{font-size:1rem}.item_zbMY:hover,.miniTheme_ePfp:hover .details_xxkR{filter:grayscale(0)}.primaryTheme_CilO{background-color:var(--ifm-color-primary);color:#fff}.primaryTheme_CilO:hover{box-shadow:0 2px 10px 0 var(--ifm-color-primary-neutral);color:#fff}html[data-theme=dark] .root_GfON.defaultTheme_j3I8,html[data-theme=dark] .root_GfON.miniTheme_ePfp{background:var(--ifm-color-gray-900)}.anchorWithStickyNavbar_YQWG{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Fpva{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_vfgx{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_e3IL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.heroBanner_PbTQ,.preview_MRaB{overflow:hidden;position:relative}.sidebarItemTitle_lhX6{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_RSHg,.sidebarItemList_YMDL{font-size:.9rem}.sidebarItem_viPW{margin-top:.7rem}.sidebarItemLink_V9sV{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_oAjZ{color:var(--ifm-color-primary)!important}.yearGroupHeading_XIYi{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_TRuD{margin:1rem .75rem .5rem}.searchQueryInput_kDxu,.searchVersionInput_JsRz{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_kDxu:focus,.searchVersionInput_JsRz:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_kDxu::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_BGlh{font-size:.9rem;font-weight:700}.algoliaLogo_Gqrd{max-width:150px}.algoliaLogoPathFill_WsEm{fill:var(--ifm-font-color-base)}.searchResultItem_w8JZ{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_GsPy{font-weight:400;margin-bottom:0}.searchResultItemPath_Qzlo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_USzY{font-style:italic;margin:.5rem 0 0}.loadingSpinner__kDN{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.group_tWrt,.loader_NJGB{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_PbTQ{background:linear-gradient(45deg,var(--ifm-color-primary-grad1),var(--ifm-color-primary-grad2));color:#fff;padding:10rem 0}.link_Ogy3{color:#fff;opacity:.7;transition:.25s}.link_Ogy3:hover{color:unset;opacity:.4;text-decoration:unset}.icon_zeNy{font-size:80px;margin:20px 0}.section_o6sW{align-items:center;display:flex;padding:2rem 0;width:100%}.sectionAlt_eaXm{background-color:var(--ifm-color-emphasis-600);color:var(--ifm-font-color-base-inverse)}.title_v0wz{margin-bottom:40px}.root_M0ZT{background:#fff;color:#1c1e21}.rootContainer_QdPn{overflow:hidden;padding:0 1rem;width:100%}.item_zbMY{align-items:center;display:flex;margin:0 20px;opacity:.8;transition:.25s}.item_zbMY:hover{opacity:1}.image_ylzW{height:50px}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5,.authorSocials_tYkH{height:var(--docusaurus-blog-social-icon-size)}.addMe_pbNn{font-size:12px;font-style:italic;padding-top:40px;width:100%}.scheme_O0RH{justify-content:center}.schemeImg_h_tq{padding-bottom:4rem;padding-top:1rem;width:80%}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5{width:var(--docusaurus-blog-social-icon-size)}[data-theme=dark] .githubSvg_niZ1,[data-theme=dark] .xSvg_KBot{fill:var(--light)}[data-theme=light] .githubSvg_niZ1,[data-theme=light] .xSvg_KBot{fill:var(--dark)}.authorSocials_tYkH{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_jJb5,.authorSocials_tYkH{line-height:0}.authorSocialLink_jJb5{margin-right:.4rem}.authorImage_LjvZ{--ifm-avatar-photo-size:3.6rem}.author-as-h1_usjc .authorImage_LjvZ{--ifm-avatar-photo-size:7rem}.author-as-h2_mLxf .authorImage_LjvZ{--ifm-avatar-photo-size:5.4rem}.authorDetails_nj65{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_XNff{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_usjc .authorName_XNff{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_mLxf .authorName_XNff{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_h5YR{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_usjc .authorTitle_h5YR{font-size:1.2rem;line-height:1.2rem}.author-as-h2_mLxf .authorTitle_h5YR{font-size:1rem;line-height:1rem}.authorBlogPostCount_zAzV{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_b7uU{max-width:inherit!important}.imageOnlyAuthorRow_JaX6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_GKUw{margin-left:.3rem;margin-right:.3rem}.preview_MRaB{max-height:175px}.ribbon_JKNF{background:var(--ifm-color-primary);border-bottom-left-radius:20px;border-top-left-radius:20px;color:#fff;min-width:50px;padding:4px 10px;position:absolute;right:0;top:20px;z-index:1}.title_xhac{font-weight:600}.labelNew_Jfmq{color:var(--ifm-color-primary);font-weight:700}.techList_Nt0m{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:700;gap:8px;margin-top:10px}.techListItem_MNXE{border:1px solid gray;border-radius:20px;color:gray;line-height:22px;padding:0 14px}.buttonGroup_rnIK button,.codeBlockContainer_hDnq{background:var(--prism-background-color);color:var(--prism-color)}.root_EnwK{margin-top:2rem;padding-bottom:12rem}.section_Jn7s{margin-top:4rem}.groupItems_NJ5Z{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem}.route_vdvl{font-size:.9rem;font-style:italic;opacity:.5}.codeBlockContainer_hDnq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_FNoi{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_XwMz{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_VtXq{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_XwMz+.codeBlockContent_FNoi .codeBlock_VtXq{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_JXl0{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FJLB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_rnIK{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_rnIK button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_rnIK button:focus-visible,.buttonGroup_rnIK button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_rnIK button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ZfIl{counter-increment:a;display:table-row}.codeLineNumber_SBe1{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_SBe1:before{content:counter(a);opacity:.4}.codeLineContent_Id3L{padding-right:var(--ifm-pre-padding)}.tag_r8jo{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_r8jo:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_HKUK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_YDza{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_YDza:after,.tagWithCount_YDza:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_YDza:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_YDza:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_YDza span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_AORk{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_AANs{opacity:1!important}.copyButtonIcons_GFne{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FWVX,.copyButtonSuccessIcon_Xlgb{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_Xlgb{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_AANs .copyButtonIcon_FWVX{opacity:0;transform:scale(.33)}.copyButtonCopied_AANs .copyButtonSuccessIcon_Xlgb{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_KwKQ{display:inline}.tag_qLVe{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_r24G{margin-right:.3em;vertical-align:sub}.lastUpdated_dDyc{font-size:smaller;font-style:italic;margin-top:.2rem}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--feedback-primary-color:#0070f4;--feedback-secondary-color:#f1f3f4;--feedback-light-color:#ccc;--feedback-dark-color:#191919;--feedback-text-color:#5f6368;--feedback-white-color:#fff;--feedback-highlight-color:#ffb422;--feedback-font-family:"Inter","Tahoma","sans-serif";--feedback-heading-font-size:16px;--feedback-text-font-size:14px;--feedback-button-border-radius:20px;--feedback-button-dark-bg-color:var(--feedback-primary-color);--feedback-button-dark-text-color:var(--feedback-white-color);--feedback-button-light-bg-color:var(--feedback-white-color);--feedback-button-light-text-color:var(--feedback-primary-color);--feedback-button-text-font-size:var(--feedback-text-font-size);--feedback-button-text-font-weight:600;--feedback-button-z-index:300;--feedback-modal-button-bg-color:var(--feedback-white-color);--feedback-modal-button-bg-color-active:var(--feedback-white-color);--feedback-modal-button-border-color:var(--feedback-light-color);--feedback-modal-button-border-color-active:var(--feedback-primary-color);--feedback-modal-button-border-radius:4px;--feedback-modal-button-font-size:var(--feedback-text-font-size);--feedback-modal-button-icon-color:var(--feedback-dark-color);--feedback-modal-button-icon-color-active:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-border-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-text-color:var(--feedback-white-color);--feedback-modal-button-submit-text-color-hover:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-dark-color);--feedback-modal-button-text-color-active:var(--feedback-primary-color);--feedback-modal-close-bg-color:var(--feedback-white-color);--feedback-modal-close-color:var(--feedback-dark-color);--feedback-modal-content-bg-color:var(--feedback-white-color);--feedback-modal-content-border-color:var(--feedback-light-color);--feedback-modal-content-border-radius:8px;--feedback-modal-content-font-family:var(--feedback-font-family);--feedback-modal-content-position-bottom:10px;--feedback-modal-content-position-left:10px;--feedback-modal-content-position-right:10px;--feedback-modal-content-position-top:10px;--feedback-modal-content-z-index:300;--feedback-modal-element-hover-border-color:var(--feedback-primary-color);--feedback-modal-element-selected-border-color:var(--feedback-primary-color);--feedback-modal-footer-link:var(--feedback-dark-color);--feedback-modal-header-font-family:var(--feedback-font-family);--feedback-modal-header-font-size:var(--feedback-heading-font-size);--feedback-modal-header-font-weight:500;--feedback-modal-header-text-color:var(--feedback-dark-color);--feedback-modal-input-bg-color:var(--feedback-secondary-color);--feedback-modal-input-border-color:#0000;--feedback-modal-input-border-color-focused:#0000;--feedback-modal-input-border-radius:4px;--feedback-modal-input-font-size:var(--feedback-text-font-size);--feedback-modal-input-text-color:var(--feedback-text-color);--feedback-modal-message-font-size:var(--feedback-text-font-size);--feedback-modal-modal-wrapper-z-index:300;--feedback-modal-rating-button-color:var(--feedback-text-color);--feedback-modal-rating-button-selected-color:var(--feedback-primary-color);--feedback-modal-rating-button-stars-selected-color:var(--feedback-highlight-color);--feedback-modal-screenshot-bg-color:#0006;--feedback-modal-screenshot-close-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-white-color);--feedback-modal-screenshot-header-text-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-z-index:250;--feedback-modal-screnshot-z-index:100}[data-theme=dark]{--feedback-text-color:#b0b8c4;--feedback-light-color:#363636;--feedback-modal-button-bg-color-active:#0000;--feedback-modal-button-icon-color:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-white-color);--feedback-modal-close-bg-color:#0000;--feedback-modal-close-color:var(--feedback-white-color);--feedback-modal-content-bg-color:var(--feedback-dark-color);--feedback-modal-footer-link:var(--feedback-white-color);--feedback-modal-header-text-color:var(--feedback-white-color);--feedback-modal-input-bg-color:var(--feedback-light-color);--feedback-modal-input-text-color:var(--feedback-white-color);--feedback-modal-rating-button-color:var(--feedback-white-color);--feedback-modal-screenshot-close-color:var(--feedback-white-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-text-color:var(--feedback-white-color)}.feedback-modal-screenshot-open{position:fixed;width:100%}.feedback-modal-screenshot-open--scroll{overflow-y:scroll}.tocCollapsibleButton_i8WS{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_i8WS:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MUXk:after,.tocCollapsibleExpanded_QMAw{transform:none}.tocCollapsible_hANv{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_cAcr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_cAcr ul li{margin:.4rem .8rem}.wordWrapButtonIcon_pLsj{height:1.2rem;width:1.2rem}.details_gZPk{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_gZPk>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_gZPk>summary::-webkit-details-marker{display:none}.details_gZPk>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_vIJ4{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_LfL0{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_LIwU{list-style:none}.img_p9GI{height:auto}.tableOfContents_glYQ{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_DSgh{margin-bottom:1em}.admonitionHeading_u6UJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_u6UJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_u6UJ code{text-transform:none}.admonitionIcon_FweZ{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_FweZ svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_nXDW{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_DLTP{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_ABfr,.expandButton_kkrS{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_pt5G,.announcementBarPlaceholder_er_t{flex-basis:50px}.collapseSidebarButton_ABfr{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_MWVn{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_k3WG,[dir=rtl] .collapseSidebarButtonIcon_MWVn{transform:rotate(0)}.collapseSidebarButton_ABfr:focus,.collapseSidebarButton_ABfr:hover,.expandButton_kkrS:focus,.expandButton_kkrS:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_pcGQ{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GbMa{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GbMa{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_RMUk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_DYiS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_PjtI{padding-top:0}.sidebarHidden_NT18{opacity:0;visibility:hidden}.sidebarLogo_LuQ2{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LuQ2 img{height:2rem;margin-right:.5rem}.expandButton_kkrS{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_k3WG{transform:rotate(180deg)}.docSidebarContainer_i5Mp{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_bjHG{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_SkvF{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_C15o{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_ITe4{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_s7zB{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_TJSq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_dDyc{text-align:right}.tocMobile_ZWDj{display:none}.docItemCol_LHis{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width <= 1180px){.navbar__brand{margin-right:.5rem}.navbar__brand .navbar__title{display:none}.navbar__item{white-space:nowrap}}@media (width <= 1080px){.navbar__item{padding:var(--ifm-navbar-item-padding-vertical) .25rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_jV7c,.footer__link-separator,.navbar__item,.sidebar_e3IL,.tableOfContents_glYQ{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_TJSq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_xH0m{padding:0 .3rem}}@media (width <= 996px){.navbar__brand .navbar__title{display:block}}@media only screen and (max-width:996px){.searchQueryColumn_yglK,.searchResultsColumn_BGlh{max-width:60%!important}.searchLogoColumn_UcFc,.searchVersionColumn_n7FP{max-width:40%!important}.searchLogoColumn_UcFc{padding-left:0!important}}@media screen and (width <= 966px){.heroBanner_PbTQ{padding:2rem}.schemeImg_h_tq{width:100%}}@media screen and (width <= 800px){.item_zbMY{margin:0 10px}.image_ylzW{height:20px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (width <= 600px){.groupItems_NJ5Z{grid-template-columns:1fr}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_hnh2{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_yglK{max-width:100%!important}.searchVersionColumn_n7FP{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media screen and (width <= 450px){.button-group{display:block}.button-group .button{border-radius:var(--ifm-button-border-radius)!important;margin:2px}}@media (hover:hover){.backToTopButton_fdhR:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-color-scheme:dark){:root[data-theme=auto] [src$="#light-mode-only"]{display:none}}@media (prefers-color-scheme:light){:root[data-theme=auto] [src$="#dark-mode-only"]{display:none}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_kZ2O,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ZWDj{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_JXl0{white-space:pre-wrap}} \ No newline at end of file diff --git a/ru/assets/css/styles.96186c51.css b/ru/assets/css/styles.96186c51.css new file mode 100644 index 0000000000..601a365250 --- /dev/null +++ b/ru/assets/css/styles.96186c51.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.avatar__photo,.card,.text--truncate,iframe{overflow:hidden}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_Gz6w,html{-webkit-tap-highlight-color:transparent}:root,[data-theme=dark]{--feedback-modal-content-text-color:var(--feedback-text-color)}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--violet,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ifm-scrollbar-thumb-background-color) #0000;scrollbar-width:thin}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_ycwR,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;letter-spacing:-.5px}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:unset}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_dvVY .wordWrapButtonIcon_pLsj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_u6UJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_SBe1:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.rootDisabled_SFUB{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_sh08 article>:first-child,.docItemContainer_sh08 header+*,.footer__item,.groupItemsRow_3wzs+.groupItemsRow_3wzs{margin-top:0}.admonitionContent_P6Fw>:last-child,.collapsibleContent_vIJ4 p:last-child,.details_gZPk>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_tOcz,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_hnh2{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_gZPk[data-collapsed=false].isBrowser_UQK3>summary:before,.details_gZPk[open]:not(.isBrowser_UQK3)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.item_zbMY,.miniTheme_ePfp .details_xxkR{filter:grayscale(1)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_Gf4s,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__logo img,.root_v5qN,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.description_y_AQ,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"� "}.pagination-nav__link--next .pagination-nav__label:after{content:" �"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_LIwU>li)>.containsTaskList_LIwU{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.ext-link,.navbar__brand,a[download]{transition:.25s}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-background-color:#18191a;--ifm-background-surface-color:#242526;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-code-font-size:95%;--ifm-button-color:#fff;--ifm-color-primary:#2b74d4;--ifm-color-primary-dark:#2768bf;--ifm-color-primary-darker:#2563b4;--ifm-color-primary-darkest:#1e5194;--ifm-color-primary-light:#4082d8;--ifm-color-primary-lighter:#4b89da;--ifm-color-primary-lightest:#6b9ee1;--ifm-color-primary-grad1:#29bedc;--ifm-color-primary-grad2:#517aed;--ifm-color-primary-neutral:#4a7ec2c6;--ifm-heading-font-family:"Overpass Variable",var(--ifm-font-family-base,sans-serif);--ifm-color-violet:#5c21dd;--feedback-font-family:var(--ifm-font-family-base,sans-serif)!important;--feedback-modal-screnshot-z-index:201!important;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}html::-webkit-scrollbar{background-color:#0000;height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}html::-webkit-scrollbar-track{background-color:#0000;border-radius:10px}html::-webkit-scrollbar-thumb{background-color:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}html::-webkit-scrollbar-corner{background-color:#fff}.navbar__brand{margin-right:0;opacity:1}.navbar__brand:hover,a[download]:hover{opacity:.7}.ext-link{--ifm-navbar-item-padding-horizontal:0.5rem}.ext-link:hover{opacity:.6}.ext-link:before{content:"";display:flex;height:24px;width:24px}html img[alt*=w100],iframe{width:100%}.ext-link.github:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgLjI5N2MtNi42MyAwLTEyIDUuMzczLTEyIDEyIDAgNS4zMDMgMy40MzggOS44IDguMjA1IDExLjM4NS42LjExMy44Mi0uMjU4LjgyLS41NzcgMC0uMjg1LS4wMS0xLjA0LS4wMTUtMi4wNC0zLjMzOC43MjQtNC4wNDItMS42MS00LjA0Mi0xLjYxQzQuNDIyIDE4LjA3IDMuNjMzIDE3LjcgMy42MzMgMTcuN2MtMS4wODctLjc0NC4wODQtLjcyOS4wODQtLjcyOSAxLjIwNS4wODQgMS44MzggMS4yMzYgMS44MzggMS4yMzYgMS4wNyAxLjgzNSAyLjgwOSAxLjMwNSAzLjQ5NS45OTguMTA4LS43NzYuNDE3LTEuMzA1Ljc2LTEuNjA1LTIuNjY1LS4zLTUuNDY2LTEuMzMyLTUuNDY2LTUuOTMgMC0xLjMxLjQ2NS0yLjM4IDEuMjM1LTMuMjItLjEzNS0uMzAzLS41NC0xLjUyMy4xMDUtMy4xNzYgMCAwIDEuMDA1LS4zMjIgMy4zIDEuMjMuOTYtLjI2NyAxLjk4LS4zOTkgMy0uNDA1IDEuMDIuMDA2IDIuMDQuMTM4IDMgLjQwNSAyLjI4LTEuNTUyIDMuMjg1LTEuMjMgMy4yODUtMS4yMy42NDUgMS42NTMuMjQgMi44NzMuMTIgMy4xNzYuNzY1Ljg0IDEuMjMgMS45MSAxLjIzIDMuMjIgMCA0LjYxLTIuODA1IDUuNjI1LTUuNDc1IDUuOTIuNDIuMzYuODEgMS4wOTYuODEgMi4yMiAwIDEuNjA2LS4wMTUgMi44OTYtLjAxNSAzLjI4NiAwIC4zMTUuMjEuNjkuODI1LjU3QzIwLjU2NSAyMi4wOTIgMjQgMTcuNTkyIDI0IDEyLjI5N2MwLTYuNjI3LTUuMzczLTEyLTEyLTEyIi8+PC9zdmc+) no-repeat}.ext-link.discord:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik02NC4xIDE2LjlhNTguNiA1OC42IDAgMCAwLTE0LjctNC40bC0xLjggMy43YTU0IDU0IDAgMCAwLTE2LjIgMCAzNyAzNyAwIDAgMC0yLTMuOEE1OC40IDU4LjQgMCAwIDAgMTQuNyAxNyA2MCA2MCAwIDAgMCA0LjQgNTcuNmE1OC45IDU4LjkgMCAwIDAgMTggOC44IDQyIDQyIDAgMCAwIDMuNi01LjlsLS4xLS4zYy0yLS43LTMuOC0xLjYtNS42LTIuNmEuMi4yIDAgMCAxIDAtLjQgMzAgMzAgMCAwIDAgMS4zLS45IDQyIDQyIDAgMCAwIDM2IDBsMSAxYy4yIDAgLjIuMiAwIC4zLTEuNyAxLTMuNiAxLjktNS41IDIuNmE0NyA0NyAwIDAgMCAzLjggNi4zIDU4LjcgNTguNyAwIDAgMCAxNy44LTkuMUE1OS41IDU5LjUgMCAwIDAgNjQgMTYuOVpNMjcuNyA0OS4zYy0zLjUgMC02LjQtMy4yLTYuNC03LjEgMC00IDIuOS03LjIgNi40LTcuMiAzLjYgMCA2LjUgMy4zIDYuNCA3LjIgMCA0LTIuOCA3LjEtNi40IDcuMW0yMy42IDBjLTMuNSAwLTYuNC0zLjItNi40LTcuMSAwLTQgMi45LTcuMiA2LjQtNy4yIDMuNiAwIDYuNSAzLjMgNi40IDcuMiAwIDQtMi44IDcuMS02LjQgNy4xIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQgMTJoNzF2NTVINHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=) no-repeat}html[data-theme=dark] .ext-link:before{filter:invert(1)}.medium-zoom-image--opened,.medium-zoom-overlay{z-index:999}html[data-theme=dark] .badge--warning{--ifm-badge-background-color:var(--ifm-color-warning-dark)}.badge--violet{--ifm-badge-background-color:var(--ifm-color-violet)}html[data-theme=dark] img[alt*=themed]{filter:invert(1) hue-rotate(180deg)}html[data-theme=dark] img[alt*=themed--scheme]{filter:invert(.905) brightness(1.04) hue-rotate(180deg)}html img[alt*=bordered]{border:1px solid #d3d5d8;border-radius:16px}html img[alt*=bgLight]{background:#fff}:root[data-theme=dark] [src$="#light-mode-only"],:root[data-theme=light] [src$="#dark-mode-only"]{display:none}iframe{color-scheme:auto;background-color:#f0f2f5;border:0;border-radius:16px;height:700px}mark{background-color:var(--ifm-color-primary-neutral);border-radius:4px;color:#fff;padding:2px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.sidebar-item--wip,.subdetails_sVZK{opacity:.5}.summary{border-bottom:1px solid var(--ifm-color-gray-400);color:var(--ifm-color-gray-600);font-size:1.25rem;padding-bottom:2rem}.breadcrumbs__item:first-child,.breadcrumbs__item:nth-child(2):last-child{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-cyrillic-ext-wght-normal-47cdc5a08f97d9eee9e6a1dcad827e28.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-cyrillic-wght-normal-540925c6baf2b581ba6ae9834519c92c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-latin-ext-wght-normal-d2c614e4dd304045f372384b39f6fd66.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/ru/assets/fonts/overpass-latin-wght-normal-3eb401af5e376ff96c892a6984fe7983.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.backToTopButton_fdhR{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_fdhR:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_h6hY{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a,.sidebarItemLink_V9sV:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_yKzo a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_i5Mp,.navbarSearchContainer_TJSq:empty,.sidebarLogo_LuQ2,.themedComponent_mC5b,[data-theme=dark] .lightToggleIcon_EwAf,[data-theme=light] .darkToggleIcon_Ky7Z,html[data-announcement-bar-initially-dismissed=true] .announcementBar_kZ2O,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_cAcr a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.addMe_pbNn,.content_yKzo,.heroBanner_PbTQ,.ribbon_JKNF,.title_v0wz{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"� "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_E7Aa{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_E7Aa{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_E7Aa:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xNyM{line-height:0;padding:0}.content_yKzo{font-size:85%;padding:5px 0}.content_yKzo a{color:inherit}.announcementBar_kZ2O{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_er_t{flex:0 0 10px}.announcementBarClose_pt5G{align-self:stretch;flex:0 0 30px}.toggle_EF7V{height:2rem;width:2rem}.toggleButton_Gz6w{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Gz6w:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_jYpm{cursor:not-allowed}.darkNavbarColorModeToggle_QuGG:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_mNad,[data-theme=light] .themedComponent--light_idUe,html:not([data-theme]) .themedComponent--light_idUe{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_ABfr{display:none;margin:0}.iconExternalLink_UGhe{margin-left:.3rem}.docMainContainer_C15o,.docRoot_SrFj{display:flex;width:100%}.docsWrapper_WNrA{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_RnkU{cursor:pointer}.iconLanguage_HFDA{margin-right:5px;vertical-align:text-bottom}.navbarHideable_oLCi{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_7X6Q{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_PcpO{color:red;white-space:pre-wrap}.errorBoundaryFallback_C8pu{color:red;padding:.55rem}.footerLogoLink_EfD7{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_EfD7:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.root_GfON{border-radius:var(--ifm-alert-border-radius);box-shadow:0 2px 8px 0 #0000001a;color:var(--ifm-font-color-base);display:flex;padding:40px;transition:.25s}.root_GfON:hover{box-shadow:0 4px 8px 0 #0000001a;text-decoration:none}.root_GfON+.root_GfON{margin-top:10px}.rootDisabled_SFUB{opacity:.5}.details_xxkR{align-self:center;flex-grow:1}.detailsTags_uTQx{font-size:.8rem;opacity:.5}.icon_ciqP{align-self:center;font-size:2.5rem;padding-right:20px}.title_pSH5{font-size:1.25rem;font-weight:700}.description__Fep{margin-bottom:0;white-space:break-spaces}.miniTheme_ePfp{padding:20px 30px}.miniTheme_ePfp .title_pSH5{font-size:1rem}.item_zbMY:hover,.miniTheme_ePfp:hover .details_xxkR{filter:grayscale(0)}.primaryTheme_CilO{background-color:var(--ifm-color-primary);color:#fff}.primaryTheme_CilO:hover{box-shadow:0 2px 10px 0 var(--ifm-color-primary-neutral);color:#fff}html[data-theme=dark] .root_GfON.defaultTheme_j3I8,html[data-theme=dark] .root_GfON.miniTheme_ePfp{background:var(--ifm-color-gray-900)}.anchorWithStickyNavbar_YQWG{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Fpva{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_vfgx{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_e3IL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.heroBanner_PbTQ,.preview_MRaB{overflow:hidden;position:relative}.sidebarItemTitle_lhX6{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_RSHg,.sidebarItemList_YMDL{font-size:.9rem}.sidebarItem_viPW{margin-top:.7rem}.sidebarItemLink_V9sV{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_oAjZ{color:var(--ifm-color-primary)!important}.yearGroupHeading_XIYi{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_TRuD{margin:1rem .75rem .5rem}.searchQueryInput_kDxu,.searchVersionInput_JsRz{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_kDxu:focus,.searchVersionInput_JsRz:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_kDxu::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_BGlh{font-size:.9rem;font-weight:700}.algoliaLogo_Gqrd{max-width:150px}.algoliaLogoPathFill_WsEm{fill:var(--ifm-font-color-base)}.searchResultItem_w8JZ{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_GsPy{font-weight:400;margin-bottom:0}.searchResultItemPath_Qzlo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_USzY{font-style:italic;margin:.5rem 0 0}.loadingSpinner__kDN{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.group_tWrt,.loader_NJGB{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_PbTQ{background:linear-gradient(45deg,var(--ifm-color-primary-grad1),var(--ifm-color-primary-grad2));color:#fff;padding:10rem 0}.link_Ogy3{color:#fff;opacity:.7;transition:.25s}.link_Ogy3:hover{color:unset;opacity:.4;text-decoration:unset}.icon_zeNy{font-size:80px;margin:20px 0}.section_o6sW{align-items:center;display:flex;padding:2rem 0;width:100%}.sectionAlt_eaXm{background-color:var(--ifm-color-emphasis-600);color:var(--ifm-font-color-base-inverse)}.title_v0wz{margin-bottom:40px}.root_M0ZT{background:#fff;color:#1c1e21}.rootContainer_QdPn{overflow:hidden;padding:0 1rem;width:100%}.item_zbMY{align-items:center;display:flex;margin:0 20px;opacity:.8;transition:.25s}.item_zbMY:hover{opacity:1}.image_ylzW{height:50px}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5,.authorSocials_tYkH{height:var(--docusaurus-blog-social-icon-size)}.addMe_pbNn{font-size:12px;font-style:italic;padding-top:40px;width:100%}.scheme_O0RH{justify-content:center}.schemeImg_h_tq{padding-bottom:4rem;padding-top:1rem;width:80%}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5{width:var(--docusaurus-blog-social-icon-size)}[data-theme=dark] .githubSvg_niZ1,[data-theme=dark] .xSvg_KBot{fill:var(--light)}[data-theme=light] .githubSvg_niZ1,[data-theme=light] .xSvg_KBot{fill:var(--dark)}.authorSocials_tYkH{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_jJb5,.authorSocials_tYkH{line-height:0}.authorSocialLink_jJb5{margin-right:.4rem}.authorImage_LjvZ{--ifm-avatar-photo-size:3.6rem}.author-as-h1_usjc .authorImage_LjvZ{--ifm-avatar-photo-size:7rem}.author-as-h2_mLxf .authorImage_LjvZ{--ifm-avatar-photo-size:5.4rem}.authorDetails_nj65{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_XNff{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_usjc .authorName_XNff{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_mLxf .authorName_XNff{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_h5YR{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_usjc .authorTitle_h5YR{font-size:1.2rem;line-height:1.2rem}.author-as-h2_mLxf .authorTitle_h5YR{font-size:1rem;line-height:1rem}.authorBlogPostCount_zAzV{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_b7uU{max-width:inherit!important}.imageOnlyAuthorRow_JaX6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_GKUw{margin-left:.3rem;margin-right:.3rem}.preview_MRaB{max-height:175px}.ribbon_JKNF{background:var(--ifm-color-primary);border-bottom-left-radius:20px;border-top-left-radius:20px;color:#fff;min-width:50px;padding:4px 10px;position:absolute;right:0;top:20px;z-index:1}.title_xhac{font-weight:600}.labelNew_Jfmq{color:var(--ifm-color-primary);font-weight:700}.techList_Nt0m{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:700;gap:8px;margin-top:10px}.techListItem_MNXE{border:1px solid gray;border-radius:20px;color:gray;line-height:22px;padding:0 14px}.buttonGroup_rnIK button,.codeBlockContainer_hDnq{background:var(--prism-background-color);color:var(--prism-color)}.root_EnwK{margin-top:2rem;padding-bottom:12rem}.section_Jn7s{margin-top:4rem}.groupItems_NJ5Z{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem}.route_vdvl{font-size:.9rem;font-style:italic;opacity:.5}.codeBlockContainer_hDnq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_FNoi{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_XwMz{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_VtXq{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_XwMz+.codeBlockContent_FNoi .codeBlock_VtXq{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_JXl0{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FJLB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_rnIK{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_rnIK button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_rnIK button:focus-visible,.buttonGroup_rnIK button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_rnIK button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ZfIl{counter-increment:a;display:table-row}.codeLineNumber_SBe1{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_SBe1:before{content:counter(a);opacity:.4}.codeLineContent_Id3L{padding-right:var(--ifm-pre-padding)}.tag_r8jo{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_r8jo:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_HKUK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_YDza{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_YDza:after,.tagWithCount_YDza:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_YDza:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_YDza:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_YDza span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_AORk{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_AANs{opacity:1!important}.copyButtonIcons_GFne{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FWVX,.copyButtonSuccessIcon_Xlgb{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_Xlgb{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_AANs .copyButtonIcon_FWVX{opacity:0;transform:scale(.33)}.copyButtonCopied_AANs .copyButtonSuccessIcon_Xlgb{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_KwKQ{display:inline}.tag_qLVe{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_r24G{margin-right:.3em;vertical-align:sub}.lastUpdated_dDyc{font-size:smaller;font-style:italic;margin-top:.2rem}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--feedback-primary-color:#0070f4;--feedback-secondary-color:#f1f3f4;--feedback-light-color:#ccc;--feedback-dark-color:#191919;--feedback-text-color:#5f6368;--feedback-white-color:#fff;--feedback-highlight-color:#ffb422;--feedback-font-family:"Inter","Tahoma","sans-serif";--feedback-heading-font-size:16px;--feedback-text-font-size:14px;--feedback-button-border-radius:20px;--feedback-button-dark-bg-color:var(--feedback-primary-color);--feedback-button-dark-text-color:var(--feedback-white-color);--feedback-button-light-bg-color:var(--feedback-white-color);--feedback-button-light-text-color:var(--feedback-primary-color);--feedback-button-text-font-size:var(--feedback-text-font-size);--feedback-button-text-font-weight:600;--feedback-button-z-index:300;--feedback-modal-button-bg-color:var(--feedback-white-color);--feedback-modal-button-bg-color-active:var(--feedback-white-color);--feedback-modal-button-border-color:var(--feedback-light-color);--feedback-modal-button-border-color-active:var(--feedback-primary-color);--feedback-modal-button-border-radius:4px;--feedback-modal-button-font-size:var(--feedback-text-font-size);--feedback-modal-button-icon-color:var(--feedback-dark-color);--feedback-modal-button-icon-color-active:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-border-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-text-color:var(--feedback-white-color);--feedback-modal-button-submit-text-color-hover:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-dark-color);--feedback-modal-button-text-color-active:var(--feedback-primary-color);--feedback-modal-close-bg-color:var(--feedback-white-color);--feedback-modal-close-color:var(--feedback-dark-color);--feedback-modal-content-bg-color:var(--feedback-white-color);--feedback-modal-content-border-color:var(--feedback-light-color);--feedback-modal-content-border-radius:8px;--feedback-modal-content-font-family:var(--feedback-font-family);--feedback-modal-content-position-bottom:10px;--feedback-modal-content-position-left:10px;--feedback-modal-content-position-right:10px;--feedback-modal-content-position-top:10px;--feedback-modal-content-z-index:300;--feedback-modal-element-hover-border-color:var(--feedback-primary-color);--feedback-modal-element-selected-border-color:var(--feedback-primary-color);--feedback-modal-footer-link:var(--feedback-dark-color);--feedback-modal-header-font-family:var(--feedback-font-family);--feedback-modal-header-font-size:var(--feedback-heading-font-size);--feedback-modal-header-font-weight:500;--feedback-modal-header-text-color:var(--feedback-dark-color);--feedback-modal-input-bg-color:var(--feedback-secondary-color);--feedback-modal-input-border-color:#0000;--feedback-modal-input-border-color-focused:#0000;--feedback-modal-input-border-radius:4px;--feedback-modal-input-font-size:var(--feedback-text-font-size);--feedback-modal-input-text-color:var(--feedback-text-color);--feedback-modal-message-font-size:var(--feedback-text-font-size);--feedback-modal-modal-wrapper-z-index:300;--feedback-modal-rating-button-color:var(--feedback-text-color);--feedback-modal-rating-button-selected-color:var(--feedback-primary-color);--feedback-modal-rating-button-stars-selected-color:var(--feedback-highlight-color);--feedback-modal-screenshot-bg-color:#0006;--feedback-modal-screenshot-close-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-white-color);--feedback-modal-screenshot-header-text-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-z-index:250;--feedback-modal-screnshot-z-index:100}[data-theme=dark]{--feedback-text-color:#b0b8c4;--feedback-light-color:#363636;--feedback-modal-button-bg-color-active:#0000;--feedback-modal-button-icon-color:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-white-color);--feedback-modal-close-bg-color:#0000;--feedback-modal-close-color:var(--feedback-white-color);--feedback-modal-content-bg-color:var(--feedback-dark-color);--feedback-modal-footer-link:var(--feedback-white-color);--feedback-modal-header-text-color:var(--feedback-white-color);--feedback-modal-input-bg-color:var(--feedback-light-color);--feedback-modal-input-text-color:var(--feedback-white-color);--feedback-modal-rating-button-color:var(--feedback-white-color);--feedback-modal-screenshot-close-color:var(--feedback-white-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-text-color:var(--feedback-white-color)}.feedback-modal-screenshot-open{position:fixed;width:100%}.feedback-modal-screenshot-open--scroll{overflow-y:scroll}.tocCollapsibleButton_i8WS{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_i8WS:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MUXk:after,.tocCollapsibleExpanded_QMAw{transform:none}.tocCollapsible_hANv{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_cAcr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_cAcr ul li{margin:.4rem .8rem}.wordWrapButtonIcon_pLsj{height:1.2rem;width:1.2rem}.details_gZPk{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_gZPk>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_gZPk>summary::-webkit-details-marker{display:none}.details_gZPk>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_vIJ4{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_LfL0{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_LIwU{list-style:none}.img_p9GI{height:auto}.tableOfContents_glYQ{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_DSgh{margin-bottom:1em}.admonitionHeading_u6UJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_u6UJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_u6UJ code{text-transform:none}.admonitionIcon_FweZ{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_FweZ svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_nXDW{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_DLTP{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_ABfr,.expandButton_kkrS{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_pt5G,.announcementBarPlaceholder_er_t{flex-basis:50px}.collapseSidebarButton_ABfr{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_MWVn{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_k3WG,[dir=rtl] .collapseSidebarButtonIcon_MWVn{transform:rotate(0)}.collapseSidebarButton_ABfr:focus,.collapseSidebarButton_ABfr:hover,.expandButton_kkrS:focus,.expandButton_kkrS:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_pcGQ{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GbMa{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GbMa{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_RMUk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_DYiS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_PjtI{padding-top:0}.sidebarHidden_NT18{opacity:0;visibility:hidden}.sidebarLogo_LuQ2{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LuQ2 img{height:2rem;margin-right:.5rem}.expandButton_kkrS{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_k3WG{transform:rotate(180deg)}.docSidebarContainer_i5Mp{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_bjHG{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_SkvF{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_C15o{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_ITe4{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_s7zB{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_TJSq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_dDyc{text-align:right}.tocMobile_ZWDj{display:none}.docItemCol_LHis{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width <= 1180px){.navbar__brand{margin-right:.5rem}.navbar__brand .navbar__title{display:none}.navbar__item{white-space:nowrap}}@media (width <= 1080px){.navbar__item{padding:var(--ifm-navbar-item-padding-vertical) .25rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_jV7c,.footer__link-separator,.navbar__item,.sidebar_e3IL,.tableOfContents_glYQ{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_TJSq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_xH0m{padding:0 .3rem}}@media (width <= 996px){.navbar__brand .navbar__title{display:block}}@media only screen and (max-width:996px){.searchQueryColumn_yglK,.searchResultsColumn_BGlh{max-width:60%!important}.searchLogoColumn_UcFc,.searchVersionColumn_n7FP{max-width:40%!important}.searchLogoColumn_UcFc{padding-left:0!important}}@media screen and (width <= 966px){.heroBanner_PbTQ{padding:2rem}.schemeImg_h_tq{width:100%}}@media screen and (width <= 800px){.item_zbMY{margin:0 10px}.image_ylzW{height:20px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (width <= 600px){.groupItems_NJ5Z{grid-template-columns:1fr}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_hnh2{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_yglK{max-width:100%!important}.searchVersionColumn_n7FP{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media screen and (width <= 450px){.button-group{display:block}.button-group .button{border-radius:var(--ifm-button-border-radius)!important;margin:2px}}@media (hover:hover){.backToTopButton_fdhR:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-color-scheme:dark){:root[data-theme=auto] [src$="#light-mode-only"]{display:none}}@media (prefers-color-scheme:light){:root[data-theme=auto] [src$="#dark-mode-only"]{display:none}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_kZ2O,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ZWDj{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_JXl0{white-space:pre-wrap}} \ No newline at end of file diff --git a/ru/assets/js/04b1b9d4.618a413b.js b/ru/assets/js/04b1b9d4.a0e895be.js similarity index 99% rename from ru/assets/js/04b1b9d4.618a413b.js rename to ru/assets/js/04b1b9d4.a0e895be.js index c10582a93a..002c29fde0 100644 --- a/ru/assets/js/04b1b9d4.618a413b.js +++ b/ru/assets/js/04b1b9d4.a0e895be.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[5263],{4284:(e,s,i)=>{i.d(s,{Ay:()=>l,RM:()=>c});var t=i(6070),n=i(5710),r=(i(758),i(8886)),d=i(316);const a=e=>{let{ticket:s}=e;const i=`https://github.com/feature-sliced/documentation/issues/${s}`;return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{children:(0,d.T)({id:"shared.wip.title"})}),(0,t.jsx)("p",{children:(0,d.T)({id:"shared.wip.subtitle"})}),(0,t.jsxs)("ul",{children:[(0,t.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.feedback.base"}),(0,t.jsx)(r.A,{to:i,children:(0,d.T)({id:"shared.wip.var.feedback.link"})})]}),(0,t.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.material.base"}),(0,t.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,d.T)({id:"shared.wip.var.material.link"})})]}),(0,t.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.contribute.base"}),(0,t.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,d.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,t.jsx)("br",{}),(0,t.jsx)("p",{children:(0,t.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},c=[];function o(e){const s={admonition:"admonition",...(0,n.R)(),...e.components};return(0,t.jsx)(s.admonition,{title:"WIP",type:"caution",children:(0,t.jsx)(a,{ticket:e.ticket})})}function l(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},2144:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>c,toc:()=>l});var t=i(6070),n=i(5710),r=i(4284);const d={sidebar_position:3,sidebar_class_name:"sidebar-item--wip"},a="\u0420\u043e\u0443\u0442\u0438\u043d\u0433",c={id:"guides/issues/routes",title:"\u0420\u043e\u0443\u0442\u0438\u043d\u0433",description:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/issues/routes.mdx",sourceDirName:"guides/issues",slug:"/guides/issues/routes",permalink:"/ru/docs/guides/issues/routes",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/issues/routes.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_class_name:"sidebar-item--wip"},sidebar:"guidesSidebar",previous:{title:"\u0414\u0435\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f",permalink:"/ru/docs/guides/issues/desegmented"},next:{title:"\u041a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b",permalink:"/ru/docs/guides/issues/cross-imports"}},o={},l=[...r.RM,{value:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f",id:"situation",level:2},{value:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430",id:"problem",level:2},{value:"\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c",id:"if-you-ignore-it",level:2},{value:"\u0420\u0435\u0448\u0435\u043d\u0438\u0435",id:"solution",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function u(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"\u0440\u043e\u0443\u0442\u0438\u043d\u0433",children:"\u0420\u043e\u0443\u0442\u0438\u043d\u0433"})}),"\n",(0,t.jsx)(r.Ay,{ticket:"169"}),"\n",(0,t.jsx)(s.h2,{id:"situation",children:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f"}),"\n",(0,t.jsx)(s.p,{children:"\u0423\u0440\u043b\u044b \u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c \u0445\u0430\u0440\u0434\u043a\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0441\u043b\u043e\u044f\u0445 \u043d\u0438\u0436\u0435 pages"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-tsx",metastring:'title="entities/post/card"',children:"\n\n \n ...\n\n"})}),"\n",(0,t.jsx)(s.h2,{id:"problem",children:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430"}),"\n",(0,t.jsx)(s.p,{children:"\u0423\u0440\u043b\u044b \u043d\u0435 \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0441\u043b\u043e\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0433\u0434\u0435 \u0438\u043c \u0438 \u043c\u0435\u0441\u0442\u043e \u043f\u043e \u0441\u043a\u043e\u0443\u043f\u0443 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438"}),"\n",(0,t.jsx)(s.h2,{id:"if-you-ignore-it",children:"\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c"}),"\n",(0,t.jsx)(s.p,{children:"\u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0443\u0440\u043b\u043e\u0432, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435, \u0447\u0442\u043e \u044d\u0442\u0438 \u0443\u0440\u043b\u044b (\u0438 \u043b\u043e\u0433\u0438\u043a\u0430 \u0443\u0440\u043b\u043e\u0432/\u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0432) \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u043e\u044f\u0445 \u043a\u0440\u043e\u043c\u0435 pages"}),"\n",(0,t.jsx)(s.p,{children:"\u0410 \u0442\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0442\u043e\u0432\u0430\u0440\u0430 \u0431\u0435\u0440\u0435\u0442 \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443"}),"\n",(0,t.jsx)(s.h2,{id:"solution",children:"\u0420\u0435\u0448\u0435\u043d\u0438\u0435"}),"\n",(0,t.jsx)(s.p,{children:"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0443\u0440\u043b\u0430\u043c\u0438/\u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u0430\u043c\u0438 \u043e\u0442 \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438 \u0432\u044b\u0448\u0435"}),"\n",(0,t.jsx)(s.p,{children:"\u0412 \u0441\u043b\u043e\u0438 \u043d\u0438\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e/\u043f\u0440\u043e\u043f\u0441\u044b/\u0444\u0430\u0431\u0440\u0438\u043a\u0438"}),"\n",(0,t.jsx)(s.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://t.me/feature_sliced/4389",children:'(\u0422\u0440\u0435\u0434) \u0427\u0442\u043e \u0435\u0441\u043b\u0438 "\u0437\u0430\u0448\u0438\u0432\u0430\u0442\u044c" \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0432 entities/features/widgets'})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://t.me/feature_sliced/3756",children:"(\u0422\u0440\u0435\u0434) \u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0430\u0437\u043c\u0430\u0437\u044b\u0432\u0430\u0435 \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0443\u0442\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 pages"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},5710:(e,s,i)=>{i.d(s,{R:()=>d,x:()=>a});var t=i(758);const n={},r=t.createContext(n);function d(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[5263],{4284:(e,s,i)=>{i.d(s,{Ay:()=>l,RM:()=>c});var t=i(6070),n=i(5710),r=(i(758),i(8886)),d=i(316);const a=e=>{let{ticket:s}=e;const i=`https://github.com/feature-sliced/documentation/issues/${s}`;return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{children:(0,d.T)({id:"shared.wip.title"})}),(0,t.jsx)("p",{children:(0,d.T)({id:"shared.wip.subtitle"})}),(0,t.jsxs)("ul",{children:[(0,t.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.feedback.base"}),(0,t.jsx)(r.A,{to:i,children:(0,d.T)({id:"shared.wip.var.feedback.link"})})]}),(0,t.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.material.base"}),(0,t.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,d.T)({id:"shared.wip.var.material.link"})})]}),(0,t.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.contribute.base"}),(0,t.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,d.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,t.jsx)("br",{}),(0,t.jsx)("p",{children:(0,t.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},c=[];function o(e){const s={admonition:"admonition",...(0,n.R)(),...e.components};return(0,t.jsx)(s.admonition,{title:"WIP",type:"caution",children:(0,t.jsx)(a,{ticket:e.ticket})})}function l(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},2144:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>c,toc:()=>l});var t=i(6070),n=i(5710),r=i(4284);const d={sidebar_position:3,sidebar_class_name:"sidebar-item--wip"},a="\u0420\u043e\u0443\u0442\u0438\u043d\u0433",c={id:"guides/issues/routes",title:"\u0420\u043e\u0443\u0442\u0438\u043d\u0433",description:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/issues/routes.mdx",sourceDirName:"guides/issues",slug:"/guides/issues/routes",permalink:"/ru/docs/guides/issues/routes",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/issues/routes.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_class_name:"sidebar-item--wip"},sidebar:"guidesSidebar",previous:{title:"\u0414\u0435\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f",permalink:"/ru/docs/guides/issues/desegmented"},next:{title:"\u041a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b",permalink:"/ru/docs/guides/issues/cross-imports"}},o={},l=[...r.RM,{value:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f",id:"situation",level:2},{value:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430",id:"problem",level:2},{value:"\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c",id:"if-you-ignore-it",level:2},{value:"\u0420\u0435\u0448\u0435\u043d\u0438\u0435",id:"solution",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function u(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"\u0440\u043e\u0443\u0442\u0438\u043d\u0433",children:"\u0420\u043e\u0443\u0442\u0438\u043d\u0433"})}),"\n",(0,t.jsx)(r.Ay,{ticket:"169"}),"\n",(0,t.jsx)(s.h2,{id:"situation",children:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f"}),"\n",(0,t.jsx)(s.p,{children:"\u0423\u0440\u043b\u044b \u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c \u0445\u0430\u0440\u0434\u043a\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0441\u043b\u043e\u044f\u0445 \u043d\u0438\u0436\u0435 pages"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-tsx",metastring:'title="entities/post/card"',children:"\n\n \n ...\n\n"})}),"\n",(0,t.jsx)(s.h2,{id:"problem",children:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430"}),"\n",(0,t.jsx)(s.p,{children:"\u0423\u0440\u043b\u044b \u043d\u0435 \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0441\u043b\u043e\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0433\u0434\u0435 \u0438\u043c \u0438 \u043c\u0435\u0441\u0442\u043e \u043f\u043e \u0441\u043a\u043e\u0443\u043f\u0443 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438"}),"\n",(0,t.jsx)(s.h2,{id:"if-you-ignore-it",children:"\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c"}),"\n",(0,t.jsx)(s.p,{children:"\u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0443\u0440\u043b\u043e\u0432, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435, \u0447\u0442\u043e \u044d\u0442\u0438 \u0443\u0440\u043b\u044b (\u0438 \u043b\u043e\u0433\u0438\u043a\u0430 \u0443\u0440\u043b\u043e\u0432/\u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0432) \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u043e\u044f\u0445 \u043a\u0440\u043e\u043c\u0435 pages"}),"\n",(0,t.jsx)(s.p,{children:"\u0410 \u0442\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0442\u043e\u0432\u0430\u0440\u0430 \u0431\u0435\u0440\u0435\u0442 \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443"}),"\n",(0,t.jsx)(s.h2,{id:"solution",children:"\u0420\u0435\u0448\u0435\u043d\u0438\u0435"}),"\n",(0,t.jsx)(s.p,{children:"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0443\u0440\u043b\u0430\u043c\u0438/\u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u0430\u043c\u0438 \u043e\u0442 \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438 \u0432\u044b\u0448\u0435"}),"\n",(0,t.jsx)(s.p,{children:"\u0412 \u0441\u043b\u043e\u0438 \u043d\u0438\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e/\u043f\u0440\u043e\u043f\u0441\u044b/\u0444\u0430\u0431\u0440\u0438\u043a\u0438"}),"\n",(0,t.jsx)(s.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://t.me/feature_sliced/4389",children:'(\u0422\u0440\u0435\u0434) \u0427\u0442\u043e \u0435\u0441\u043b\u0438 "\u0437\u0430\u0448\u0438\u0432\u0430\u0442\u044c" \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0432 entities/features/widgets'})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://t.me/feature_sliced/3756",children:"(\u0422\u0440\u0435\u0434) \u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0430\u0437\u043c\u0430\u0437\u044b\u0432\u0430\u0435 \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0443\u0442\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 pages"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},5710:(e,s,i)=>{i.d(s,{R:()=>d,x:()=>a});var t=i(758);const n={},r=t.createContext(n);function d(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/07deeff8.df69c800.js b/ru/assets/js/07deeff8.4a19b5c8.js similarity index 98% rename from ru/assets/js/07deeff8.df69c800.js rename to ru/assets/js/07deeff8.4a19b5c8.js index 6c16e87d08..b610a9ca49 100644 --- a/ru/assets/js/07deeff8.df69c800.js +++ b/ru/assets/js/07deeff8.4a19b5c8.js @@ -1,2 +1,2 @@ -/*! For license information please see 07deeff8.df69c800.js.LICENSE.txt */ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[230],{7327:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>i});var s=n(6070),c=n(5710),a=n(8173);const i=[];function r(e){return(0,s.jsx)(a.A,{...e})}function o(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(r,{...e})}):r(e)}},45:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>C,contentTitle:()=>b,default:()=>w,frontMatter:()=>A,metadata:()=>R,toc:()=>M});var s=n(6070),c=n(5710),a=n(7327),i=n(991),r=n(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z"}}]},name:"tool",theme:"outlined"};var d=n(5624),l=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:o}))};const u=r.forwardRef(l);const h={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"};var m=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:h}))};const p=r.forwardRef(m);const f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M841 370c3-3.3 2.7-8.3-.6-11.3a8.24 8.24 0 00-5.3-2.1h-72.6c-2.4 0-4.6 1-6.1 2.8L633.5 504.6a7.96 7.96 0 01-13.4-1.9l-63.5-141.3a7.9 7.9 0 00-7.3-4.7H380.7l.9-4.7 8-42.3c10.5-55.4 38-81.4 85.8-81.4 18.6 0 35.5 1.7 48.8 4.7l14.1-66.8c-22.6-4.7-35.2-6.1-54.9-6.1-103.3 0-156.4 44.3-175.9 147.3l-9.4 49.4h-97.6c-3.8 0-7.1 2.7-7.8 6.4L181.9 415a8.07 8.07 0 007.8 9.7H284l-89 429.9a8.07 8.07 0 007.8 9.7H269c3.8 0 7.1-2.7 7.8-6.4l89.7-433.1h135.8l68.2 139.1c1.4 2.9 1 6.4-1.2 8.8l-180.6 203c-2.9 3.3-2.6 8.4.7 11.3 1.5 1.3 3.4 2 5.3 2h72.7c2.4 0 4.6-1 6.1-2.8l123.7-146.7c2.8-3.4 7.9-3.8 11.3-1 .9.8 1.6 1.7 2.1 2.8L676.4 784c1.3 2.8 4.1 4.7 7.3 4.7h64.6a8.02 8.02 0 007.2-11.5l-95.2-198.9c-1.4-2.9-.9-6.4 1.3-8.8L841 370z"}}]},name:"function",theme:"outlined"};var g=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:f}))};const x=r.forwardRef(g);const v={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M304 280h56c4.4 0 8-3.6 8-8 0-28.3 5.9-53.2 17.1-73.5 10.6-19.4 26-34.8 45.4-45.4C450.9 142 475.7 136 504 136h16c28.3 0 53.2 5.9 73.5 17.1 19.4 10.6 34.8 26 45.4 45.4C650 218.9 656 243.7 656 272c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 00-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 00-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 01-63 63H232a63 63 0 01-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0022.7 49c24.3 41.5 59 76.2 100.5 100.5S460.5 960 512 960s99.8-13.9 141.3-38.2a281.38 281.38 0 00123.2-149.5A120 120 0 01836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM716 680c0 36.8-9.7 72-27.8 102.9-17.7 30.3-43 55.6-73.3 73.3C584 874.3 548.8 884 512 884s-72-9.7-102.9-27.8c-30.3-17.7-55.6-43-73.3-73.3A202.75 202.75 0 01308 680V412h408v268z"}}]},name:"bug",theme:"outlined"};var j=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:v}))};const _=r.forwardRef(j),A={hide_table_of_contents:!0,pagination_prev:"get-started/index"},b="\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b",R={id:"guides/index",title:"\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b",description:"PRACTICE-ORIENTED",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/index.mdx",sourceDirName:"guides",slug:"/guides/",permalink:"/ru/docs/guides/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/index.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{hide_table_of_contents:!0,pagination_prev:"get-started/index"},sidebar:"guidesSidebar",previous:{title:"\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442",permalink:"/ru/docs/get-started/"},next:{title:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",permalink:"/ru/docs/guides/examples/"}},C={},M=[{value:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435",id:"main",level:2},...a.RM,...a.RM,...a.RM,...a.RM];function T(e){const t={h1:"h1",h2:"h2",header:"header",p:"p",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-\u0433\u0430\u0439\u0434\u044b",children:"\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b"})}),"\n",(0,s.jsx)("span",{class:"badge badge--primary margin-bottom--md",children:"PRACTICE-ORIENTED"}),"\n",(0,s.jsx)("p",{class:"summary",children:(0,s.jsx)(t.p,{children:'\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0433\u0430\u0439\u0434\u044b \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e Feature-Sliced Design. \u0412 \u044d\u0442\u043e\u043c \u0436\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0433\u0430\u0439\u0434\u044b \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u0445\u0435\u043d\u0434\u0431\u0443\u043a \u043f\u0430\u0433\u0443\u0431\u043d\u044b\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a. \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043f\u044b\u0442\u0430\u0435\u0442\u0435\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0438\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044e "\u0432 \u0431\u043e\u044e"'})}),"\n",(0,s.jsx)(t.h2,{id:"main",children:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435"}),"\n","\n",(0,s.jsx)(a.Ay,{title:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",description:"\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",to:"/docs/guides/examples",Icon:u,tags:["\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f","\u0422\u0438\u043f\u044b","\u041b\u0435\u0439\u0430\u0443\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b"]}),"\n",(0,s.jsx)(a.Ay,{title:"\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f",description:"\u0413\u0430\u0439\u0434\u044b \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u043b\u0435\u0433\u0430\u0441\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432",to:"/docs/guides/migration/from-v1",Icon:p,tags:["\u041b\u0435\u0433\u0430\u0441\u0438","FSv1"]}),"\n",(0,s.jsx)(a.Ay,{title:"\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438",description:"\u041e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 \u0433\u0430\u0439\u0434\u044b \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e",to:"/docs/guides/tech/with-nextjs",Icon:x}),"\n",(0,s.jsx)(a.Ay,{title:"Code Issues (Smells)",description:"\u041e\u0431\u0449\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u0435",to:"/docs/guides/issues/desegmented",Icon:_,tags:["\u0414\u0435\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f","\u0420\u043e\u0443\u0442\u0438\u043d\u0433","\u041a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b"]})]})}function w(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(T,{...e})}):T(e)}},8173:(e,t,n)=>{n.d(t,{Y:()=>r,A:()=>d});n(758);var s=n(3526),c=n(8886);const a={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var i=n(6070);const r=e=>{const{title:t,description:n,to:r,Icon:d,tags:l,className:u,disabled:h,theme:m="default"}=e;return(0,i.jsxs)(c.A,{className:(0,s.A)(a.root,u,h&&a.rootDisabled,a[`${m}Theme`]),to:r,children:[(0,i.jsx)(o,{Icon:d}),(0,i.jsxs)("div",{className:a.details,children:[(0,i.jsxs)("div",{className:a.detailsMain,children:[(0,i.jsx)("span",{className:a.title,children:t}),(0,i.jsx)("p",{className:a.description,children:n})]}),l&&(0,i.jsx)("div",{className:a.detailsTags,children:l.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,i.jsx)("span",{className:a.icon,children:t}):(0,i.jsx)(t,{className:a.icon}):null},d=r},5710:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var s=n(758);const c={},a=s.createContext(c);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +/*! For license information please see 07deeff8.4a19b5c8.js.LICENSE.txt */ +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[230],{7327:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>i});var s=n(6070),c=n(5710),a=n(8173);const i=[];function r(e){return(0,s.jsx)(a.A,{...e})}function o(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(r,{...e})}):r(e)}},45:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>C,contentTitle:()=>b,default:()=>w,frontMatter:()=>A,metadata:()=>R,toc:()=>M});var s=n(6070),c=n(5710),a=n(7327),i=n(991),r=n(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z"}}]},name:"tool",theme:"outlined"};var d=n(5624),l=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:o}))};const u=r.forwardRef(l);const h={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"};var m=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:h}))};const p=r.forwardRef(m);const f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M841 370c3-3.3 2.7-8.3-.6-11.3a8.24 8.24 0 00-5.3-2.1h-72.6c-2.4 0-4.6 1-6.1 2.8L633.5 504.6a7.96 7.96 0 01-13.4-1.9l-63.5-141.3a7.9 7.9 0 00-7.3-4.7H380.7l.9-4.7 8-42.3c10.5-55.4 38-81.4 85.8-81.4 18.6 0 35.5 1.7 48.8 4.7l14.1-66.8c-22.6-4.7-35.2-6.1-54.9-6.1-103.3 0-156.4 44.3-175.9 147.3l-9.4 49.4h-97.6c-3.8 0-7.1 2.7-7.8 6.4L181.9 415a8.07 8.07 0 007.8 9.7H284l-89 429.9a8.07 8.07 0 007.8 9.7H269c3.8 0 7.1-2.7 7.8-6.4l89.7-433.1h135.8l68.2 139.1c1.4 2.9 1 6.4-1.2 8.8l-180.6 203c-2.9 3.3-2.6 8.4.7 11.3 1.5 1.3 3.4 2 5.3 2h72.7c2.4 0 4.6-1 6.1-2.8l123.7-146.7c2.8-3.4 7.9-3.8 11.3-1 .9.8 1.6 1.7 2.1 2.8L676.4 784c1.3 2.8 4.1 4.7 7.3 4.7h64.6a8.02 8.02 0 007.2-11.5l-95.2-198.9c-1.4-2.9-.9-6.4 1.3-8.8L841 370z"}}]},name:"function",theme:"outlined"};var g=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:f}))};const x=r.forwardRef(g);const v={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M304 280h56c4.4 0 8-3.6 8-8 0-28.3 5.9-53.2 17.1-73.5 10.6-19.4 26-34.8 45.4-45.4C450.9 142 475.7 136 504 136h16c28.3 0 53.2 5.9 73.5 17.1 19.4 10.6 34.8 26 45.4 45.4C650 218.9 656 243.7 656 272c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 00-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 00-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 01-63 63H232a63 63 0 01-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0022.7 49c24.3 41.5 59 76.2 100.5 100.5S460.5 960 512 960s99.8-13.9 141.3-38.2a281.38 281.38 0 00123.2-149.5A120 120 0 01836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM716 680c0 36.8-9.7 72-27.8 102.9-17.7 30.3-43 55.6-73.3 73.3C584 874.3 548.8 884 512 884s-72-9.7-102.9-27.8c-30.3-17.7-55.6-43-73.3-73.3A202.75 202.75 0 01308 680V412h408v268z"}}]},name:"bug",theme:"outlined"};var j=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:v}))};const _=r.forwardRef(j),A={hide_table_of_contents:!0,pagination_prev:"get-started/index"},b="\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b",R={id:"guides/index",title:"\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b",description:"PRACTICE-ORIENTED",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/index.mdx",sourceDirName:"guides",slug:"/guides/",permalink:"/ru/docs/guides/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/index.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{hide_table_of_contents:!0,pagination_prev:"get-started/index"},sidebar:"guidesSidebar",previous:{title:"\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442",permalink:"/ru/docs/get-started/"},next:{title:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",permalink:"/ru/docs/guides/examples/"}},C={},M=[{value:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435",id:"main",level:2},...a.RM,...a.RM,...a.RM,...a.RM];function T(e){const t={h1:"h1",h2:"h2",header:"header",p:"p",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-\u0433\u0430\u0439\u0434\u044b",children:"\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b"})}),"\n",(0,s.jsx)("span",{class:"badge badge--primary margin-bottom--md",children:"PRACTICE-ORIENTED"}),"\n",(0,s.jsx)("p",{class:"summary",children:(0,s.jsx)(t.p,{children:'\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0433\u0430\u0439\u0434\u044b \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e Feature-Sliced Design. \u0412 \u044d\u0442\u043e\u043c \u0436\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0433\u0430\u0439\u0434\u044b \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u0445\u0435\u043d\u0434\u0431\u0443\u043a \u043f\u0430\u0433\u0443\u0431\u043d\u044b\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a. \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043f\u044b\u0442\u0430\u0435\u0442\u0435\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0438\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044e "\u0432 \u0431\u043e\u044e"'})}),"\n",(0,s.jsx)(t.h2,{id:"main",children:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435"}),"\n","\n",(0,s.jsx)(a.Ay,{title:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",description:"\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",to:"/docs/guides/examples",Icon:u,tags:["\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f","\u0422\u0438\u043f\u044b","\u041b\u0435\u0439\u0430\u0443\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b"]}),"\n",(0,s.jsx)(a.Ay,{title:"\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f",description:"\u0413\u0430\u0439\u0434\u044b \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u043b\u0435\u0433\u0430\u0441\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432",to:"/docs/guides/migration/from-v1",Icon:p,tags:["\u041b\u0435\u0433\u0430\u0441\u0438","FSv1"]}),"\n",(0,s.jsx)(a.Ay,{title:"\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438",description:"\u041e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 \u0433\u0430\u0439\u0434\u044b \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e",to:"/docs/guides/tech/with-nextjs",Icon:x}),"\n",(0,s.jsx)(a.Ay,{title:"Code Issues (Smells)",description:"\u041e\u0431\u0449\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u0435",to:"/docs/guides/issues/desegmented",Icon:_,tags:["\u0414\u0435\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f","\u0420\u043e\u0443\u0442\u0438\u043d\u0433","\u041a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b"]})]})}function w(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(T,{...e})}):T(e)}},8173:(e,t,n)=>{n.d(t,{Y:()=>r,A:()=>d});n(758);var s=n(3526),c=n(8886);const a={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var i=n(6070);const r=e=>{const{title:t,description:n,to:r,Icon:d,tags:l,className:u,disabled:h,theme:m="default"}=e;return(0,i.jsxs)(c.A,{className:(0,s.A)(a.root,u,h&&a.rootDisabled,a[`${m}Theme`]),to:r,children:[(0,i.jsx)(o,{Icon:d}),(0,i.jsxs)("div",{className:a.details,children:[(0,i.jsxs)("div",{className:a.detailsMain,children:[(0,i.jsx)("span",{className:a.title,children:t}),(0,i.jsx)("p",{className:a.description,children:n})]}),l&&(0,i.jsx)("div",{className:a.detailsTags,children:l.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,i.jsx)("span",{className:a.icon,children:t}):(0,i.jsx)(t,{className:a.icon}):null},d=r},5710:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var s=n(758);const c={},a=s.createContext(c);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/07deeff8.df69c800.js.LICENSE.txt b/ru/assets/js/07deeff8.4a19b5c8.js.LICENSE.txt similarity index 100% rename from ru/assets/js/07deeff8.df69c800.js.LICENSE.txt rename to ru/assets/js/07deeff8.4a19b5c8.js.LICENSE.txt diff --git a/ru/assets/js/1232fa31.a3287505.js b/ru/assets/js/1232fa31.e5f40e0d.js similarity index 97% rename from ru/assets/js/1232fa31.a3287505.js rename to ru/assets/js/1232fa31.e5f40e0d.js index 45ab481899..a45ea082ad 100644 --- a/ru/assets/js/1232fa31.a3287505.js +++ b/ru/assets/js/1232fa31.e5f40e0d.js @@ -1,2 +1,2 @@ -/*! For license information please see 1232fa31.a3287505.js.LICENSE.txt */ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[2338],{7327:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>c});var s=n(6070),r=n(5710),a=n(8173);const c=[];function i(e){return(0,s.jsx)(a.A,{...e})}function o(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},3603:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>M,contentTitle:()=>_,default:()=>z,frontMatter:()=>v,metadata:()=>j,toc:()=>A});var s=n(6070),r=n(5710),a=n(7327),c=n(991),i=n(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z"}}]},name:"rocket",theme:"outlined"};var d=n(5624),l=function(e,t){return i.createElement(d.A,(0,c.A)({},e,{ref:t,icon:o}))};const u=i.forwardRef(l);const m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M442.3 677.6l199.4-156.7a11.3 11.3 0 000-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"play-square",theme:"outlined"};var p=function(e,t){return i.createElement(d.A,(0,c.A)({},e,{ref:t,icon:m}))};const h=i.forwardRef(p);const f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"};var x=function(e,t){return i.createElement(d.A,(0,c.A)({},e,{ref:t,icon:f}))};const g=i.forwardRef(x),v={hide_table_of_contents:!0,pagination_prev:"intro"},_="\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442",j={id:"get-started/index",title:"\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442",description:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c! \u042d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u0435\u0433\u043b\u043e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c Feature-Sliced Design \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043f\u043e\u0439\u043c\u0435\u0442\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f.",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.mdx",sourceDirName:"get-started",slug:"/get-started/",permalink:"/ru/docs/get-started/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{hide_table_of_contents:!0,pagination_prev:"intro"},sidebar:"getstartedSidebar",previous:{title:"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f",permalink:"/ru/docs/"},next:{title:"\u041e\u0431\u0437\u043e\u0440",permalink:"/ru/docs/get-started/overview"}},M={},A=[...a.RM,...a.RM,...a.RM];function b(e){const t={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-\u0431\u044b\u0441\u0442\u0440\u044b\u0439-\u0441\u0442\u0430\u0440\u0442",children:"\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442"})}),"\n",(0,s.jsx)("p",{class:"summary",children:(0,s.jsx)(t.p,{children:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c! \u042d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u0435\u0433\u043b\u043e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c Feature-Sliced Design \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043f\u043e\u0439\u043c\u0435\u0442\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f."})}),"\n",(0,s.jsx)(a.Ay,{title:"\u041e\u0431\u0437\u043e\u0440",description:"\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438, \u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f",to:"/docs/get-started/overview",Icon:u}),"\n",(0,s.jsx)(a.Ay,{title:"\u0422\u0443\u0442\u043e\u0440\u0438\u0430\u043b",description:"\u0412\u0432\u043e\u0434\u043d\u044b\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",to:"/docs/get-started/tutorial",Icon:h}),"\n",(0,s.jsx)(a.Ay,{title:"FAQ",description:"\u0427\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b",to:"/docs/get-started/faq",Icon:g}),"\n"]})}function z(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(b,{...e})}):b(e)}},8173:(e,t,n)=>{n.d(t,{Y:()=>i,A:()=>d});n(758);var s=n(3526),r=n(8886);const a={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var c=n(6070);const i=e=>{const{title:t,description:n,to:i,Icon:d,tags:l,className:u,disabled:m,theme:p="default"}=e;return(0,c.jsxs)(r.A,{className:(0,s.A)(a.root,u,m&&a.rootDisabled,a[`${p}Theme`]),to:i,children:[(0,c.jsx)(o,{Icon:d}),(0,c.jsxs)("div",{className:a.details,children:[(0,c.jsxs)("div",{className:a.detailsMain,children:[(0,c.jsx)("span",{className:a.title,children:t}),(0,c.jsx)("p",{className:a.description,children:n})]}),l&&(0,c.jsx)("div",{className:a.detailsTags,children:l.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,c.jsx)("span",{className:a.icon,children:t}):(0,c.jsx)(t,{className:a.icon}):null},d=i},5710:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var s=n(758);const r={},a=s.createContext(r);function c(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +/*! For license information please see 1232fa31.e5f40e0d.js.LICENSE.txt */ +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[2338],{7327:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>c});var s=n(6070),r=n(5710),a=n(8173);const c=[];function i(e){return(0,s.jsx)(a.A,{...e})}function o(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},3603:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>M,contentTitle:()=>_,default:()=>z,frontMatter:()=>v,metadata:()=>j,toc:()=>A});var s=n(6070),r=n(5710),a=n(7327),c=n(991),i=n(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z"}}]},name:"rocket",theme:"outlined"};var d=n(5624),l=function(e,t){return i.createElement(d.A,(0,c.A)({},e,{ref:t,icon:o}))};const u=i.forwardRef(l);const m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M442.3 677.6l199.4-156.7a11.3 11.3 0 000-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"play-square",theme:"outlined"};var p=function(e,t){return i.createElement(d.A,(0,c.A)({},e,{ref:t,icon:m}))};const h=i.forwardRef(p);const f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"};var x=function(e,t){return i.createElement(d.A,(0,c.A)({},e,{ref:t,icon:f}))};const g=i.forwardRef(x),v={hide_table_of_contents:!0,pagination_prev:"intro"},_="\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442",j={id:"get-started/index",title:"\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442",description:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c! \u042d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u0435\u0433\u043b\u043e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c Feature-Sliced Design \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043f\u043e\u0439\u043c\u0435\u0442\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f.",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.mdx",sourceDirName:"get-started",slug:"/get-started/",permalink:"/ru/docs/get-started/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{hide_table_of_contents:!0,pagination_prev:"intro"},sidebar:"getstartedSidebar",previous:{title:"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f",permalink:"/ru/docs/"},next:{title:"\u041e\u0431\u0437\u043e\u0440",permalink:"/ru/docs/get-started/overview"}},M={},A=[...a.RM,...a.RM,...a.RM];function b(e){const t={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-\u0431\u044b\u0441\u0442\u0440\u044b\u0439-\u0441\u0442\u0430\u0440\u0442",children:"\ud83d\ude80 \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442"})}),"\n",(0,s.jsx)("p",{class:"summary",children:(0,s.jsx)(t.p,{children:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c! \u042d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u0435\u0433\u043b\u043e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c Feature-Sliced Design \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043f\u043e\u0439\u043c\u0435\u0442\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f."})}),"\n",(0,s.jsx)(a.Ay,{title:"\u041e\u0431\u0437\u043e\u0440",description:"\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438, \u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f",to:"/docs/get-started/overview",Icon:u}),"\n",(0,s.jsx)(a.Ay,{title:"\u0422\u0443\u0442\u043e\u0440\u0438\u0430\u043b",description:"\u0412\u0432\u043e\u0434\u043d\u044b\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",to:"/docs/get-started/tutorial",Icon:h}),"\n",(0,s.jsx)(a.Ay,{title:"FAQ",description:"\u0427\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b",to:"/docs/get-started/faq",Icon:g}),"\n"]})}function z(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(b,{...e})}):b(e)}},8173:(e,t,n)=>{n.d(t,{Y:()=>i,A:()=>d});n(758);var s=n(3526),r=n(8886);const a={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var c=n(6070);const i=e=>{const{title:t,description:n,to:i,Icon:d,tags:l,className:u,disabled:m,theme:p="default"}=e;return(0,c.jsxs)(r.A,{className:(0,s.A)(a.root,u,m&&a.rootDisabled,a[`${p}Theme`]),to:i,children:[(0,c.jsx)(o,{Icon:d}),(0,c.jsxs)("div",{className:a.details,children:[(0,c.jsxs)("div",{className:a.detailsMain,children:[(0,c.jsx)("span",{className:a.title,children:t}),(0,c.jsx)("p",{className:a.description,children:n})]}),l&&(0,c.jsx)("div",{className:a.detailsTags,children:l.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,c.jsx)("span",{className:a.icon,children:t}):(0,c.jsx)(t,{className:a.icon}):null},d=i},5710:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var s=n(758);const r={},a=s.createContext(r);function c(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/1232fa31.a3287505.js.LICENSE.txt b/ru/assets/js/1232fa31.e5f40e0d.js.LICENSE.txt similarity index 100% rename from ru/assets/js/1232fa31.a3287505.js.LICENSE.txt rename to ru/assets/js/1232fa31.e5f40e0d.js.LICENSE.txt diff --git a/ru/assets/js/17f650ce.97e3affc.js b/ru/assets/js/17f650ce.0fe53def.js similarity index 98% rename from ru/assets/js/17f650ce.97e3affc.js rename to ru/assets/js/17f650ce.0fe53def.js index 5b5733fb21..1c4b61b63a 100644 --- a/ru/assets/js/17f650ce.97e3affc.js +++ b/ru/assets/js/17f650ce.0fe53def.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6008],{4284:(e,t,s)=>{s.d(t,{Ay:()=>u,RM:()=>d});var n=s(6070),i=s(5710),r=(s(758),s(8886)),o=s(316);const c=e=>{let{ticket:t}=e;const s=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:(0,o.T)({id:"shared.wip.title"})}),(0,n.jsx)("p",{children:(0,o.T)({id:"shared.wip.subtitle"})}),(0,n.jsxs)("ul",{children:[(0,n.jsxs)("li",{children:[(0,o.T)({id:"shared.wip.var.feedback.base"}),(0,n.jsx)(r.A,{to:s,children:(0,o.T)({id:"shared.wip.var.feedback.link"})})]}),(0,n.jsxs)("li",{children:[(0,o.T)({id:"shared.wip.var.material.base"}),(0,n.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,o.T)({id:"shared.wip.var.material.link"})})]}),(0,n.jsxs)("li",{children:[(0,o.T)({id:"shared.wip.var.contribute.base"}),(0,n.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,o.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,n.jsx)("br",{}),(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},d=[];function a(e){const t={admonition:"admonition",...(0,i.R)(),...e.components};return(0,n.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,n.jsx)(c,{ticket:e.ticket})})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},9593:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>u});var n=s(6070),i=s(5710),r=s(4284);const o={sidebar_class_name:"sidebar-item--wip",unlisted:!0},c="Desktop/Touch \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b",d={id:"guides/examples/platforms",title:"Desktop/Touch \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b",description:"\u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f desktop/touch",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/platforms.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/platforms",permalink:"/ru/docs/guides/examples/platforms",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/platforms.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{sidebar_class_name:"sidebar-item--wip",unlisted:!0},sidebar:"guidesSidebar"},a={},u=[...r.RM];function l(e){const t={blockquote:"blockquote",h1:"h1",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"desktoptouch-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b",children:"Desktop/Touch \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b"})}),"\n",(0,n.jsx)(r.Ay,{ticket:"198"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f desktop/touch"}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5710:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>c});var n=s(758);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6008],{4284:(e,t,s)=>{s.d(t,{Ay:()=>u,RM:()=>d});var n=s(6070),i=s(5710),r=(s(758),s(8886)),o=s(316);const c=e=>{let{ticket:t}=e;const s=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:(0,o.T)({id:"shared.wip.title"})}),(0,n.jsx)("p",{children:(0,o.T)({id:"shared.wip.subtitle"})}),(0,n.jsxs)("ul",{children:[(0,n.jsxs)("li",{children:[(0,o.T)({id:"shared.wip.var.feedback.base"}),(0,n.jsx)(r.A,{to:s,children:(0,o.T)({id:"shared.wip.var.feedback.link"})})]}),(0,n.jsxs)("li",{children:[(0,o.T)({id:"shared.wip.var.material.base"}),(0,n.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,o.T)({id:"shared.wip.var.material.link"})})]}),(0,n.jsxs)("li",{children:[(0,o.T)({id:"shared.wip.var.contribute.base"}),(0,n.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,o.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,n.jsx)("br",{}),(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},d=[];function a(e){const t={admonition:"admonition",...(0,i.R)(),...e.components};return(0,n.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,n.jsx)(c,{ticket:e.ticket})})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},9593:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>u});var n=s(6070),i=s(5710),r=s(4284);const o={sidebar_class_name:"sidebar-item--wip",unlisted:!0},c="Desktop/Touch \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b",d={id:"guides/examples/platforms",title:"Desktop/Touch \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b",description:"\u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f desktop/touch",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/platforms.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/platforms",permalink:"/ru/docs/guides/examples/platforms",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/platforms.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{sidebar_class_name:"sidebar-item--wip",unlisted:!0},sidebar:"guidesSidebar"},a={},u=[...r.RM];function l(e){const t={blockquote:"blockquote",h1:"h1",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"desktoptouch-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b",children:"Desktop/Touch \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b"})}),"\n",(0,n.jsx)(r.Ay,{ticket:"198"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f desktop/touch"}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5710:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>c});var n=s(758);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/1c0a16b8.16a8e8bc.js b/ru/assets/js/1c0a16b8.9b53eacd.js similarity index 98% rename from ru/assets/js/1c0a16b8.16a8e8bc.js rename to ru/assets/js/1c0a16b8.9b53eacd.js index a78c1155de..6e1d09abc6 100644 --- a/ru/assets/js/1c0a16b8.16a8e8bc.js +++ b/ru/assets/js/1c0a16b8.9b53eacd.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6877],{6030:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=n(6070),o=n(5710);const i={sidebar_position:1},s="\u0410\u0441\u043f\u0435\u043a\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438",a={id:"about/promote/integration",title:"\u0410\u0441\u043f\u0435\u043a\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438",description:"\u0427\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435?",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/about/promote/integration.mdx",sourceDirName:"about/promote",slug:"/about/promote/integration",permalink:"/ru/docs/about/promote/integration",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/about/promote/integration.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"aboutSidebar",previous:{title:"\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438",permalink:"/ru/docs/about/understanding/abstractions"},next:{title:"\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435",permalink:"/ru/docs/about/promote/partial-application"}},c={},l=[{value:"\u0427\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435?",id:"summary",level:2},{value:"\u0422\u0430\u043a\u0436\u0435",id:"also",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"\u0430\u0441\u043f\u0435\u043a\u0442\u044b-\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438",children:"\u0410\u0441\u043f\u0435\u043a\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438"})}),"\n",(0,r.jsx)(t.h2,{id:"summary",children:"\u0427\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435?"}),"\n",(0,r.jsx)(t.p,{children:"\u0421\u043c. \u043f\u0435\u0440\u0432\u044b\u0435 5 \u043c\u0438\u043d\u0443\u0442:"}),"\n",(0,r.jsx)("iframe",{className:"youtube",src:"https://www.youtube.com/embed/TFA6zRO_Cl0?start=2110",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0}),"\n",(0,r.jsx)(t.h2,{id:"also",children:"\u0422\u0430\u043a\u0436\u0435"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/get-started/overview#advantages",children:"Overview"})}),"\n",(0,r.jsx)(t.li,{children:"CodeReview"}),"\n",(0,r.jsx)(t.li,{children:"Onboarding"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438:"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"\u041c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c"}),"\n",(0,r.jsx)(t.li,{children:"\u0412\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0434\u0430"}),"\n",(0,r.jsx)(t.li,{children:'"Layers hell"'}),"\n",(0,r.jsx)(t.li,{children:"\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b feature-based \u043f\u043e\u0434\u0445\u043e\u0434\u0430"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5710:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var r=n(758);const o={},i=r.createContext(o);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6877],{6030:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=n(6070),o=n(5710);const i={sidebar_position:1},s="\u0410\u0441\u043f\u0435\u043a\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438",a={id:"about/promote/integration",title:"\u0410\u0441\u043f\u0435\u043a\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438",description:"\u0427\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435?",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/about/promote/integration.mdx",sourceDirName:"about/promote",slug:"/about/promote/integration",permalink:"/ru/docs/about/promote/integration",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/about/promote/integration.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"aboutSidebar",previous:{title:"\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438",permalink:"/ru/docs/about/understanding/abstractions"},next:{title:"\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435",permalink:"/ru/docs/about/promote/partial-application"}},c={},l=[{value:"\u0427\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435?",id:"summary",level:2},{value:"\u0422\u0430\u043a\u0436\u0435",id:"also",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"\u0430\u0441\u043f\u0435\u043a\u0442\u044b-\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438",children:"\u0410\u0441\u043f\u0435\u043a\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438"})}),"\n",(0,r.jsx)(t.h2,{id:"summary",children:"\u0427\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435?"}),"\n",(0,r.jsx)(t.p,{children:"\u0421\u043c. \u043f\u0435\u0440\u0432\u044b\u0435 5 \u043c\u0438\u043d\u0443\u0442:"}),"\n",(0,r.jsx)("iframe",{className:"youtube",src:"https://www.youtube.com/embed/TFA6zRO_Cl0?start=2110",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0}),"\n",(0,r.jsx)(t.h2,{id:"also",children:"\u0422\u0430\u043a\u0436\u0435"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/get-started/overview#advantages",children:"Overview"})}),"\n",(0,r.jsx)(t.li,{children:"CodeReview"}),"\n",(0,r.jsx)(t.li,{children:"Onboarding"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438:"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"\u041c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c"}),"\n",(0,r.jsx)(t.li,{children:"\u0412\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0434\u0430"}),"\n",(0,r.jsx)(t.li,{children:'"Layers hell"'}),"\n",(0,r.jsx)(t.li,{children:"\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b feature-based \u043f\u043e\u0434\u0445\u043e\u0434\u0430"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5710:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var r=n(758);const o={},i=r.createContext(o);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/1d3222b5.eebe1029.js b/ru/assets/js/1d3222b5.0a178bcb.js similarity index 98% rename from ru/assets/js/1d3222b5.eebe1029.js rename to ru/assets/js/1d3222b5.0a178bcb.js index 5b380498f4..a31bcf8fcf 100644 --- a/ru/assets/js/1d3222b5.eebe1029.js +++ b/ru/assets/js/1d3222b5.0a178bcb.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[9316],{4284:(e,t,i)=>{i.d(t,{Ay:()=>a,RM:()=>d});var n=i(6070),s=i(5710),r=(i(758),i(8886)),c=i(316);const o=e=>{let{ticket:t}=e;const i=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.title"})}),(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.subtitle"})}),(0,n.jsxs)("ul",{children:[(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.feedback.base"}),(0,n.jsx)(r.A,{to:i,children:(0,c.T)({id:"shared.wip.var.feedback.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.material.base"}),(0,n.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,c.T)({id:"shared.wip.var.material.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.contribute.base"}),(0,n.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,c.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,n.jsx)("br",{}),(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},d=[];function l(e){const t={admonition:"admonition",...(0,s.R)(),...e.components};return(0,n.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,n.jsx)(o,{ticket:e.ticket})})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},4771:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>d,toc:()=>a});var n=i(6070),s=i(5710),r=i(4284);const c={sidebar_position:2,sidebar_class_name:"sidebar-item--wip"},o="Decouple entities",d={id:"reference/isolation/decouple-entities",title:"Decouple entities",description:"\u041f\u0440\u043e \u043a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0442\u0438\u043f\u043e\u0432, \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0438 \u043f\u0440\u043e \u0442\u043e - \u043a\u0430\u043a \u044f\u0432\u043d\u043e \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/decouple-entities.mdx",sourceDirName:"reference/isolation",slug:"/reference/isolation/decouple-entities",permalink:"/ru/docs/reference/isolation/decouple-entities",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/decouple-entities.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_class_name:"sidebar-item--wip"},sidebar:"referenceSidebar",previous:{title:"Low Coupling & High Cohesion",permalink:"/ru/docs/reference/isolation/coupling-cohesion"}},l={},a=[...r.RM,{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function u(e){const t={a:"a",blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"decouple-entities",children:"Decouple entities"})}),"\n",(0,n.jsx)(r.Ay,{ticket:"202"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u041f\u0440\u043e \u043a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0442\u0438\u043f\u043e\u0432, \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0438 \u043f\u0440\u043e \u0442\u043e - \u043a\u0430\u043a \u044f\u0432\u043d\u043e \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438"}),"\n"]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u043e \u043c\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 absolutely-decoupled entities"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/3633",children:"(\u0422\u0440\u0435\u0434) \u041f\u0430\u043c\u044f\u0442\u043a\u0430 \u043f\u0440\u043e \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043f\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c \u0438 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u0435 \u044f\u0432\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/3316",children:'(\u0422\u0440\u0435\u0434) \u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0434\u043b\u044f "\u0441\u0432\u044f\u0437\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439" (users/pets/friends)'})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/4276",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u043a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0442\u0438\u043f\u043e\u0432/\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432 \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u0445"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/4521",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0444\u0438\u0447"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},5710:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>o});var n=i(758);const s={},r=n.createContext(s);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[9316],{4284:(e,t,i)=>{i.d(t,{Ay:()=>a,RM:()=>d});var n=i(6070),s=i(5710),r=(i(758),i(8886)),c=i(316);const o=e=>{let{ticket:t}=e;const i=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.title"})}),(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.subtitle"})}),(0,n.jsxs)("ul",{children:[(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.feedback.base"}),(0,n.jsx)(r.A,{to:i,children:(0,c.T)({id:"shared.wip.var.feedback.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.material.base"}),(0,n.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,c.T)({id:"shared.wip.var.material.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.contribute.base"}),(0,n.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,c.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,n.jsx)("br",{}),(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},d=[];function l(e){const t={admonition:"admonition",...(0,s.R)(),...e.components};return(0,n.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,n.jsx)(o,{ticket:e.ticket})})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},4771:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>d,toc:()=>a});var n=i(6070),s=i(5710),r=i(4284);const c={sidebar_position:2,sidebar_class_name:"sidebar-item--wip"},o="Decouple entities",d={id:"reference/isolation/decouple-entities",title:"Decouple entities",description:"\u041f\u0440\u043e \u043a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0442\u0438\u043f\u043e\u0432, \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0438 \u043f\u0440\u043e \u0442\u043e - \u043a\u0430\u043a \u044f\u0432\u043d\u043e \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/decouple-entities.mdx",sourceDirName:"reference/isolation",slug:"/reference/isolation/decouple-entities",permalink:"/ru/docs/reference/isolation/decouple-entities",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/decouple-entities.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_class_name:"sidebar-item--wip"},sidebar:"referenceSidebar",previous:{title:"Low Coupling & High Cohesion",permalink:"/ru/docs/reference/isolation/coupling-cohesion"}},l={},a=[...r.RM,{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function u(e){const t={a:"a",blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"decouple-entities",children:"Decouple entities"})}),"\n",(0,n.jsx)(r.Ay,{ticket:"202"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u041f\u0440\u043e \u043a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0442\u0438\u043f\u043e\u0432, \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0438 \u043f\u0440\u043e \u0442\u043e - \u043a\u0430\u043a \u044f\u0432\u043d\u043e \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438"}),"\n"]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u043e \u043c\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 absolutely-decoupled entities"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/3633",children:"(\u0422\u0440\u0435\u0434) \u041f\u0430\u043c\u044f\u0442\u043a\u0430 \u043f\u0440\u043e \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043f\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c \u0438 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u0435 \u044f\u0432\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/3316",children:'(\u0422\u0440\u0435\u0434) \u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0434\u043b\u044f "\u0441\u0432\u044f\u0437\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439" (users/pets/friends)'})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/4276",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u043a\u0440\u043e\u0441\u0441-\u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0442\u0438\u043f\u043e\u0432/\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432 \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u0445"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://t.me/feature_sliced/4521",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0444\u0438\u0447"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},5710:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>o});var n=i(758);const s={},r=n.createContext(s);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/20c5a0f6.6cecfefc.js b/ru/assets/js/20c5a0f6.c97559ab.js similarity index 98% rename from ru/assets/js/20c5a0f6.6cecfefc.js rename to ru/assets/js/20c5a0f6.c97559ab.js index 36d2eb410a..34babb99f0 100644 --- a/ru/assets/js/20c5a0f6.6cecfefc.js +++ b/ru/assets/js/20c5a0f6.c97559ab.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[2538],{4284:(e,t,i)=>{i.d(t,{Ay:()=>l,RM:()=>a});var s=i(6070),n=i(5710),r=(i(758),i(8886)),d=i(316);const c=e=>{let{ticket:t}=e;const i=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:(0,d.T)({id:"shared.wip.title"})}),(0,s.jsx)("p",{children:(0,d.T)({id:"shared.wip.subtitle"})}),(0,s.jsxs)("ul",{children:[(0,s.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.feedback.base"}),(0,s.jsx)(r.A,{to:i,children:(0,d.T)({id:"shared.wip.var.feedback.link"})})]}),(0,s.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.material.base"}),(0,s.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,d.T)({id:"shared.wip.var.material.link"})})]}),(0,s.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.contribute.base"}),(0,s.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,d.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,s.jsx)("br",{}),(0,s.jsx)("p",{children:(0,s.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},a=[];function o(e){const t={admonition:"admonition",...(0,n.R)(),...e.components};return(0,s.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,s.jsx)(c,{ticket:e.ticket})})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},4093:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>a,toc:()=>l});var s=i(6070),n=i(5710),r=i(4284);const d={sidebar_position:6,sidebar_class_name:"sidebar-item--wip",unlisted:!0},c="i18n",a={id:"guides/examples/i18n",title:"i18n",description:"\u041a\u0443\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c? \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/i18n.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/i18n",permalink:"/ru/docs/guides/examples/i18n",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/i18n.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:6,frontMatter:{sidebar_position:6,sidebar_class_name:"sidebar-item--wip",unlisted:!0},sidebar:"guidesSidebar"},o={},l=[...r.RM,{value:"\u041a\u0443\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c? \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?",id:"where-to-place-it-how-to-work-with-this",level:2}];function u(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"i18n",children:"i18n"})}),"\n",(0,s.jsx)(r.Ay,{ticket:"171"}),"\n",(0,s.jsx)(t.h2,{id:"where-to-place-it-how-to-work-with-this",children:"\u041a\u0443\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c? \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://t.me/feature_sliced/4425",children:"https://t.me/feature_sliced/4425"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://t.me/feature_sliced/2325",children:"https://t.me/feature_sliced/2325"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://t.me/feature_sliced/1867",children:"https://t.me/feature_sliced/1867"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},5710:(e,t,i)=>{i.d(t,{R:()=>d,x:()=>c});var s=i(758);const n={},r=s.createContext(n);function d(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[2538],{4284:(e,t,i)=>{i.d(t,{Ay:()=>l,RM:()=>a});var s=i(6070),n=i(5710),r=(i(758),i(8886)),d=i(316);const c=e=>{let{ticket:t}=e;const i=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:(0,d.T)({id:"shared.wip.title"})}),(0,s.jsx)("p",{children:(0,d.T)({id:"shared.wip.subtitle"})}),(0,s.jsxs)("ul",{children:[(0,s.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.feedback.base"}),(0,s.jsx)(r.A,{to:i,children:(0,d.T)({id:"shared.wip.var.feedback.link"})})]}),(0,s.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.material.base"}),(0,s.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,d.T)({id:"shared.wip.var.material.link"})})]}),(0,s.jsxs)("li",{children:[(0,d.T)({id:"shared.wip.var.contribute.base"}),(0,s.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,d.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,s.jsx)("br",{}),(0,s.jsx)("p",{children:(0,s.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},a=[];function o(e){const t={admonition:"admonition",...(0,n.R)(),...e.components};return(0,s.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,s.jsx)(c,{ticket:e.ticket})})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},4093:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>a,toc:()=>l});var s=i(6070),n=i(5710),r=i(4284);const d={sidebar_position:6,sidebar_class_name:"sidebar-item--wip",unlisted:!0},c="i18n",a={id:"guides/examples/i18n",title:"i18n",description:"\u041a\u0443\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c? \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/i18n.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/i18n",permalink:"/ru/docs/guides/examples/i18n",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/i18n.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:6,frontMatter:{sidebar_position:6,sidebar_class_name:"sidebar-item--wip",unlisted:!0},sidebar:"guidesSidebar"},o={},l=[...r.RM,{value:"\u041a\u0443\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c? \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?",id:"where-to-place-it-how-to-work-with-this",level:2}];function u(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"i18n",children:"i18n"})}),"\n",(0,s.jsx)(r.Ay,{ticket:"171"}),"\n",(0,s.jsx)(t.h2,{id:"where-to-place-it-how-to-work-with-this",children:"\u041a\u0443\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c? \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c?"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://t.me/feature_sliced/4425",children:"https://t.me/feature_sliced/4425"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://t.me/feature_sliced/2325",children:"https://t.me/feature_sliced/2325"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://t.me/feature_sliced/1867",children:"https://t.me/feature_sliced/1867"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},5710:(e,t,i)=>{i.d(t,{R:()=>d,x:()=>c});var s=i(758);const n={},r=s.createContext(n);function d(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/2bd07bfd.ac8e9115.js b/ru/assets/js/2bd07bfd.cae927c4.js similarity index 98% rename from ru/assets/js/2bd07bfd.ac8e9115.js rename to ru/assets/js/2bd07bfd.cae927c4.js index 4be473c551..a3608833b9 100644 --- a/ru/assets/js/2bd07bfd.ac8e9115.js +++ b/ru/assets/js/2bd07bfd.cae927c4.js @@ -1,2 +1,2 @@ -/*! For license information please see 2bd07bfd.ac8e9115.js.LICENSE.txt */ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[3902],{7327:(e,t,s)=>{s.d(t,{Ay:()=>o,RM:()=>i});var n=s(6070),c=s(5710),a=s(8173);const i=[];function r(e){return(0,n.jsx)(a.A,{...e})}function o(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(r,{...e})}):r(e)}},7666:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>A,contentTitle:()=>j,default:()=>M,frontMatter:()=>g,metadata:()=>_,toc:()=>b});var n=s(6070),c=s(5710),a=s(7327),i=s(991),r=s(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M759 335c0-137-111-248-248-248S263 198 263 335c0 82.8 40.6 156.2 103 201.2-.4.2-.7.3-.9.4-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00136 874.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C356 614.2 431 583 511 583c137 0 248-111 248-248zM511 507c-95 0-172-77-172-172s77-172 172-172 172 77 172 172-77 172-172 172zm105 221h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H703.5l47.2-60.1a8.1 8.1 0 001.7-4.9c0-4.4-3.6-8-8-8h-72.6c-4.9 0-9.5 2.3-12.6 6.1l-68.5 87.1c-4.4 5.6-6.8 12.6-6.8 19.8.1 17.7 14.4 32 32.1 32zm240 64H592c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h176.5l-47.2 60.1a8.1 8.1 0 00-1.7 4.9c0 4.4 3.6 8 8 8h72.6c4.9 0 9.5-2.3 12.6-6.1l68.5-87.1c4.4-5.6 6.8-12.6 6.8-19.8-.1-17.7-14.4-32-32.1-32z"}}]},name:"user-switch",theme:"outlined"};var d=s(5624),l=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:o}))};const u=r.forwardRef(l);const h={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z"}}]},name:"font-size",theme:"outlined"};var m=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:h}))};const p=r.forwardRef(m);const x={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z"}}]},name:"layout",theme:"outlined"};var f=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:x}))};const v=r.forwardRef(f),g={hide_table_of_contents:!0},j="\u041f\u0440\u0438\u043c\u0435\u0440\u044b",_={id:"guides/examples/index",title:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",description:"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/index.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/",permalink:"/ru/docs/guides/examples/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/index.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{hide_table_of_contents:!0},sidebar:"guidesSidebar",previous:{title:"\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b",permalink:"/ru/docs/guides/"},next:{title:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f",permalink:"/ru/docs/guides/examples/auth"}},A={},b=[{value:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435",id:"main",level:2},...a.RM,...a.RM,...a.RM];function y(e){const t={h1:"h1",h2:"h2",header:"header",p:"p",...(0,c.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"\u043f\u0440\u0438\u043c\u0435\u0440\u044b",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"})}),"\n",(0,n.jsx)("p",{class:"summary",children:(0,n.jsx)(t.p,{children:"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"})}),"\n",(0,n.jsx)(t.h2,{id:"main",children:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435"}),"\n","\n",(0,n.jsx)(a.Ay,{title:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f",description:"\u0414\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043b\u043e\u0433\u0438\u043a\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438",to:"/docs/guides/examples/auth",Icon:u,tags:["\u0424\u043e\u0440\u043c\u044b","2FA","OAuth","\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u043e\u0432","\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u0430"]}),"\n",(0,n.jsx)(a.Ay,{title:"\u0422\u0438\u043f\u044b",description:"\u0413\u0434\u0435 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c \u0442\u0438\u043f\u044b? \u041a\u0430\u043a\u0438\u0445 \u0432\u0438\u0434\u043e\u0432 \u043e\u043d\u0438 \u0431\u044b\u0432\u0430\u044e\u0442 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 FSD?",to:"/docs/guides/examples/types",Icon:p,tags:["DTO","\u041c\u0430\u043f\u043f\u0435\u0440\u044b","\u0421\u0432\u044f\u0437\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439","\u0410\u0432\u0442\u043e-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f","\u0421\u0445\u0435\u043c\u044b \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438"]}),"\n",(0,n.jsx)(a.Ay,{title:"\u041b\u0435\u0439\u0430\u0443\u0442\u044b \u0441\u0442\u0440\u0430\u043d\u0438\u0446",description:"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u0435\u0439\u0441\u044b \u0441 \u043b\u0435\u0439\u0430\u0443\u0442\u0430\u043c\u0438",to:"/docs/guides/examples/page-layout",Icon:v,tags:["\u0413\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c","\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u043e\u0432 \u0432 \u043b\u0435\u0439\u0430\u0443\u0442\u0435"]})]})}function M(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(y,{...e})}):y(e)}},8173:(e,t,s)=>{s.d(t,{Y:()=>r,A:()=>d});s(758);var n=s(3526),c=s(8886);const a={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var i=s(6070);const r=e=>{const{title:t,description:s,to:r,Icon:d,tags:l,className:u,disabled:h,theme:m="default"}=e;return(0,i.jsxs)(c.A,{className:(0,n.A)(a.root,u,h&&a.rootDisabled,a[`${m}Theme`]),to:r,children:[(0,i.jsx)(o,{Icon:d}),(0,i.jsxs)("div",{className:a.details,children:[(0,i.jsxs)("div",{className:a.detailsMain,children:[(0,i.jsx)("span",{className:a.title,children:t}),(0,i.jsx)("p",{className:a.description,children:s})]}),l&&(0,i.jsx)("div",{className:a.detailsTags,children:l.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,i.jsx)("span",{className:a.icon,children:t}):(0,i.jsx)(t,{className:a.icon}):null},d=r},5710:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>r});var n=s(758);const c={},a=n.createContext(c);function i(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +/*! For license information please see 2bd07bfd.cae927c4.js.LICENSE.txt */ +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[3902],{7327:(e,t,s)=>{s.d(t,{Ay:()=>o,RM:()=>i});var n=s(6070),c=s(5710),a=s(8173);const i=[];function r(e){return(0,n.jsx)(a.A,{...e})}function o(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(r,{...e})}):r(e)}},7666:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>A,contentTitle:()=>j,default:()=>M,frontMatter:()=>g,metadata:()=>_,toc:()=>b});var n=s(6070),c=s(5710),a=s(7327),i=s(991),r=s(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M759 335c0-137-111-248-248-248S263 198 263 335c0 82.8 40.6 156.2 103 201.2-.4.2-.7.3-.9.4-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00136 874.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C356 614.2 431 583 511 583c137 0 248-111 248-248zM511 507c-95 0-172-77-172-172s77-172 172-172 172 77 172 172-77 172-172 172zm105 221h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H703.5l47.2-60.1a8.1 8.1 0 001.7-4.9c0-4.4-3.6-8-8-8h-72.6c-4.9 0-9.5 2.3-12.6 6.1l-68.5 87.1c-4.4 5.6-6.8 12.6-6.8 19.8.1 17.7 14.4 32 32.1 32zm240 64H592c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h176.5l-47.2 60.1a8.1 8.1 0 00-1.7 4.9c0 4.4 3.6 8 8 8h72.6c4.9 0 9.5-2.3 12.6-6.1l68.5-87.1c4.4-5.6 6.8-12.6 6.8-19.8-.1-17.7-14.4-32-32.1-32z"}}]},name:"user-switch",theme:"outlined"};var d=s(5624),l=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:o}))};const u=r.forwardRef(l);const h={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z"}}]},name:"font-size",theme:"outlined"};var m=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:h}))};const p=r.forwardRef(m);const x={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z"}}]},name:"layout",theme:"outlined"};var f=function(e,t){return r.createElement(d.A,(0,i.A)({},e,{ref:t,icon:x}))};const v=r.forwardRef(f),g={hide_table_of_contents:!0},j="\u041f\u0440\u0438\u043c\u0435\u0440\u044b",_={id:"guides/examples/index",title:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",description:"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/index.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/",permalink:"/ru/docs/guides/examples/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/index.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{hide_table_of_contents:!0},sidebar:"guidesSidebar",previous:{title:"\ud83c\udfaf \u0413\u0430\u0439\u0434\u044b",permalink:"/ru/docs/guides/"},next:{title:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f",permalink:"/ru/docs/guides/examples/auth"}},A={},b=[{value:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435",id:"main",level:2},...a.RM,...a.RM,...a.RM];function y(e){const t={h1:"h1",h2:"h2",header:"header",p:"p",...(0,c.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"\u043f\u0440\u0438\u043c\u0435\u0440\u044b",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"})}),"\n",(0,n.jsx)("p",{class:"summary",children:(0,n.jsx)(t.p,{children:"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"})}),"\n",(0,n.jsx)(t.h2,{id:"main",children:"\u0413\u043b\u0430\u0432\u043d\u043e\u0435"}),"\n","\n",(0,n.jsx)(a.Ay,{title:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f",description:"\u0414\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043b\u043e\u0433\u0438\u043a\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438",to:"/docs/guides/examples/auth",Icon:u,tags:["\u0424\u043e\u0440\u043c\u044b","2FA","OAuth","\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u043e\u0432","\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u0430"]}),"\n",(0,n.jsx)(a.Ay,{title:"\u0422\u0438\u043f\u044b",description:"\u0413\u0434\u0435 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c \u0442\u0438\u043f\u044b? \u041a\u0430\u043a\u0438\u0445 \u0432\u0438\u0434\u043e\u0432 \u043e\u043d\u0438 \u0431\u044b\u0432\u0430\u044e\u0442 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 FSD?",to:"/docs/guides/examples/types",Icon:p,tags:["DTO","\u041c\u0430\u043f\u043f\u0435\u0440\u044b","\u0421\u0432\u044f\u0437\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439","\u0410\u0432\u0442\u043e-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f","\u0421\u0445\u0435\u043c\u044b \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438"]}),"\n",(0,n.jsx)(a.Ay,{title:"\u041b\u0435\u0439\u0430\u0443\u0442\u044b \u0441\u0442\u0440\u0430\u043d\u0438\u0446",description:"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u0435\u0439\u0441\u044b \u0441 \u043b\u0435\u0439\u0430\u0443\u0442\u0430\u043c\u0438",to:"/docs/guides/examples/page-layout",Icon:v,tags:["\u0413\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c","\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u043e\u0432 \u0432 \u043b\u0435\u0439\u0430\u0443\u0442\u0435"]})]})}function M(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(y,{...e})}):y(e)}},8173:(e,t,s)=>{s.d(t,{Y:()=>r,A:()=>d});s(758);var n=s(3526),c=s(8886);const a={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var i=s(6070);const r=e=>{const{title:t,description:s,to:r,Icon:d,tags:l,className:u,disabled:h,theme:m="default"}=e;return(0,i.jsxs)(c.A,{className:(0,n.A)(a.root,u,h&&a.rootDisabled,a[`${m}Theme`]),to:r,children:[(0,i.jsx)(o,{Icon:d}),(0,i.jsxs)("div",{className:a.details,children:[(0,i.jsxs)("div",{className:a.detailsMain,children:[(0,i.jsx)("span",{className:a.title,children:t}),(0,i.jsx)("p",{className:a.description,children:s})]}),l&&(0,i.jsx)("div",{className:a.detailsTags,children:l.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,i.jsx)("span",{className:a.icon,children:t}):(0,i.jsx)(t,{className:a.icon}):null},d=r},5710:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>r});var n=s(758);const c={},a=n.createContext(c);function i(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/2bd07bfd.ac8e9115.js.LICENSE.txt b/ru/assets/js/2bd07bfd.cae927c4.js.LICENSE.txt similarity index 100% rename from ru/assets/js/2bd07bfd.ac8e9115.js.LICENSE.txt rename to ru/assets/js/2bd07bfd.cae927c4.js.LICENSE.txt diff --git a/ru/assets/js/352bcbef.d900702e.js b/ru/assets/js/352bcbef.1cd9f8ef.js similarity index 99% rename from ru/assets/js/352bcbef.d900702e.js rename to ru/assets/js/352bcbef.1cd9f8ef.js index 3863906557..80b64e8bcf 100644 --- a/ru/assets/js/352bcbef.d900702e.js +++ b/ru/assets/js/352bcbef.1cd9f8ef.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[4401],{9722:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>d});var i=s(6070),r=s(5710);const t={sidebar_position:1},o="Low Coupling & High Cohesion",l={id:"reference/isolation/coupling-cohesion",title:"Low Coupling & High Cohesion",description:"\u041c\u043e\u0434\u0443\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c\u044e (\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u0447\u0435\u0442\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438) \u0438 \u0441\u043b\u0430\u0431\u043e\u0439 \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e (\u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439)",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/coupling-cohesion.md",sourceDirName:"reference/isolation",slug:"/reference/isolation/coupling-cohesion",permalink:"/ru/docs/reference/isolation/coupling-cohesion",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/coupling-cohesion.md",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"referenceSidebar",previous:{title:"\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439",permalink:"/ru/docs/reference/isolation/"},next:{title:"Decouple entities",permalink:"/ru/docs/reference/isolation/decouple-entities"}},c={},d=[{value:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 (UI level)",id:"components-composition-ui-level",level:2},{value:"\u041f\u0440\u0438\u043c\u0435\u0440",id:"example",level:3},{value:"\u0417\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c",id:"laying-the-extensibility",level:4},{value:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e",id:"using-the-composition",level:4},{value:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043b\u043e\u0435\u0432 (APP level)",id:"layer-composition-app-level",level:2},{value:"\u041f\u0440\u0438\u043c\u0435\u0440",id:"example",level:3},{value:"\u0421\u0432\u044f\u0436\u0435\u043c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435",id:"lets-tie-it-all-together",level:4},{value:"\u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445",id:"data-model",level:4},{value:"\u0418\u0442\u043e\u0433\u043e",id:"summary",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"low-coupling--high-cohesion",children:"Low Coupling & High Cohesion"})}),"\n",(0,i.jsxs)(n.p,{children:["\u041c\u043e\u0434\u0443\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 ",(0,i.jsx)(n.strong,{children:"\u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c\u044e"})," (\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u0447\u0435\u0442\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438) \u0438 ",(0,i.jsx)(n.strong,{children:"\u0441\u043b\u0430\u0431\u043e\u0439 \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e"})," (\u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439)"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"coupling-cohesion-themed",src:s(9110).A+"",width:"1024",height:"1024"})}),"\n",(0,i.jsx)(n.p,{children:"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u043b\u043e\u0438 \u0438 \u0441\u043b\u0430\u0439\u0441\u044b - \u043c\u043e\u0434\u0443\u043b\u0438, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c."}),"\n",(0,i.jsxs)(n.li,{children:["\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044e - \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c ",(0,i.jsx)(n.a,{href:"/docs/reference/public-api",children:"\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430"})]}),"\n",(0,i.jsxs)(n.li,{children:["\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 ",(0,i.jsx)(n.a,{href:"/docs/reference/isolation",children:"\u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439"}),' - \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 "\u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0445" \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043d\u043e \u043d\u0435 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0441 \u0442\u043e\u0433\u043e \u0436\u0435 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0441\u043b\u043e\u044f.']}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"components-composition-ui-level",children:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 (UI level)"}),"\n",(0,i.jsx)(n.p,{children:"\u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 UI-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u0441\u043b\u043e\u0442\u044b."}),"\n",(0,i.jsxs)(n.p,{children:["\u0422\u0430\u043a\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u0430\u043a ",(0,i.jsx)(n.strong,{children:"\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432"})," \u0438, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c, \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c ",(0,i.jsx)(n.strong,{children:"\u0441\u043b\u0430\u0431\u043e\u0439 \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438"})," \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430"]}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"\u041f\u0440\u0438\u043c\u0435\u0440"}),"\n",(0,i.jsxs)(n.p,{children:["\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 ",(0,i.jsx)(n.strong,{children:"\u0441\u043f\u0438\u0441\u043a\u0430 \u0441 \u0445\u0435\u0434\u0435\u0440\u043e\u043c:"})]}),"\n",(0,i.jsx)(n.h4,{id:"laying-the-extensibility",children:"\u0417\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c"}),"\n",(0,i.jsx)(n.p,{children:"\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0432\u0438\u0434 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0445\u0435\u0434\u0435\u0440\u0430 \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0438\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-tsx",children:'interface ListProps {\n Header: React.ReactNode;\n Items: React.ReactNode;\n}\n\nconst List: Component = ({ Header, Items }) => (\n
\n {Header}\n
    \n {Items}\n
\n
\n)\n\n'})}),"\n",(0,i.jsx)(n.h4,{id:"using-the-composition",children:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e"}),"\n",(0,i.jsxs)(n.p,{children:["\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 ",(0,i.jsx)(n.strong,{children:"\u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c"})," \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0445\u0435\u0434\u0435\u0440\u0430 \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0445\u0435\u0434\u0435\u0440\u0430 \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043a\u0430\u043a \u0441\u0432\u043e\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0442\u0430\u043a \u0438 \u0441\u0432\u043e\u044e \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 \u043a \u043b\u044e\u0431\u044b\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u043e\u0431\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f - \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u0440\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0442\u044c, \u0430 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-tsx",children:'} Items={} />\n\n} />\n\n} Items={} />\n\n'})}),"\n",(0,i.jsx)(n.h2,{id:"layer-composition-app-level",children:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043b\u043e\u0435\u0432 (APP level)"}),"\n",(0,i.jsxs)(n.p,{children:["\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u0446\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 - ",(0,i.jsx)(n.strong,{children:"\u0444\u0438\u0447\u0438 (features)"}),", \u0430 \u043b\u043e\u0433\u0438\u043a\u0443, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0443\u044e\u0441\u044f \u043a \u0431\u0438\u0437\u043d\u0435\u0441 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c - \u0432 ",(0,i.jsx)(n.strong,{children:"\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 (entities)"}),". \u0418 \u0444\u0438\u0447\u0438, \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 ",(0,i.jsx)(n.strong,{children:"\u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0432\u044b\u0441\u043e\u043a\u043e-\u0441\u0432\u044f\u0437\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438"}),", \u0442.\u0435. \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 ",(0,i.jsx)(n.strong,{children:"\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438"})," \u0438\u043b\u0438 \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u043a\u0440\u0443\u0433 ",(0,i.jsx)(n.strong,{children:"\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438."})]}),"\n",(0,i.jsxs)(n.p,{children:["\u0412\u0441\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u043a\u0438\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e UI-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0448\u0435, \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a ",(0,i.jsx)(n.strong,{children:"\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439."})]}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"\u041f\u0440\u0438\u043c\u0435\u0440"}),"\n",(0,i.jsx)(n.p,{children:"\u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f-\u0447\u0430\u0442\u0430 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0430"}),"\n",(0,i.jsx)(n.li,{children:"\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0443 \u0441 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u0434\u0440\u0443\u0433\u043e\u043c"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:"}),"\n",(0,i.jsx)(n.p,{children:"Entities"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f)"}),"\n",(0,i.jsx)(n.li,{children:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442 (\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u043c)"}),"\n",(0,i.jsx)(n.li,{children:"\u041f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0430 (\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0435\u0439)"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Features"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u0424\u043e\u0440\u043c\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f"}),"\n",(0,i.jsx)(n.li,{children:"\u041c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438"}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"lets-tie-it-all-together",children:"\u0421\u0432\u044f\u0436\u0435\u043c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435"}),"\n",(0,i.jsx)(n.p,{children:"\u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u043b\u0435\u0433\u043a\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-tsx",metastring:'title="page/main/ui.tsx"',children:"}\n Items={}\n Footer={}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"data-model",children:"\u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445"}),"\n",(0,i.jsxs)(n.p,{children:["\u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0434\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043a\u0430\u043a ",(0,i.jsx)(n.strong,{children:"\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0444\u0438\u0447 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439"}),". \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0444\u0438\u0447\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044d\u0442\u0438\u0445 \u0444\u0430\u0431\u0440\u0438\u043a."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u041e\u0434\u043d\u0430\u043a\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 - \u0444\u0438\u0447\u0430 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u0441\u043b\u043e\u0435\u0432 \u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",metastring:'title="pages/main/model.ts"',children:'import { userModel } from "entitites/user"\nimport { conversationModel } from "entities/conversation"\nimport { contactModel } from "entities/contact"\n\nimport { createMessageInput } from "features/message-input"\nimport { createConversationSwitch } from "features/conversation-switch"\n\nimport { beautifiy } from "shared/lib/beautify-text"\n\nexport const { allConversations, setConversation } = createConversationSwitch({\n contacts: contactModel.allContacts,\n setConversation: conversationModel.setConversation,\n currentConversation: conversationModel.conversation,\n currentUser: userModel.currentUser\n})\n\nexport const { sendMessage, attachFile } = createMessageInput({\n author: userModel.currentUser\n send: conversationModel.sendMessage,\n formatMessage: beautify\n})\n'})}),"\n",(0,i.jsx)(n.h2,{id:"summary",children:"\u0418\u0442\u043e\u0433\u043e"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\u041c\u043e\u0434\u0443\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c ",(0,i.jsx)(n.strong,{children:"\u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c\u044e"})," (\u0438\u043c\u0435\u0442\u044c \u043e\u0434\u043d\u0443 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u0440\u0435\u0448\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443) \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c ",(0,i.jsx)(n.a,{href:"/docs/reference/public-api",children:(0,i.jsx)(n.strong,{children:"\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"})})," \u0434\u043e\u0441\u0442\u0443\u043f\u0430"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u0421\u043b\u0430\u0431\u0430\u044f \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c"})," \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 - \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 UI, \u0444\u0438\u0447 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439"]}),"\n",(0,i.jsxs)(n.li,{children:["\u0422\u0430\u043a\u0436\u0435, \u0434\u043b\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0434\u0443\u043b\u0438 ",(0,i.jsx)(n.strong,{children:"\u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b"})," - \u0442\u0430\u043a \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://enterprisecraftsmanship.com/posts/cohesion-coupling-difference/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u041f\u0440\u043e Low Coupling \u0438 High Cohesion \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.em,{children:"\u0421\u0445\u0435\u043c\u0430 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://medium.com/german-gorelkin/low-coupling-high-cohesion-d36369fb1be9",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) Low Coupling \u0438 High Cohesion. \u0417\u0430\u043a\u043e\u043d \u0414\u0435\u043c\u0435\u0442\u0440\u044b"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.slideshare.net/cristalngo/software-design-principles-57388843",children:"(\u041f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f) \u041f\u0440\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0432\u043a\u043b\u044e\u0447\u0430\u044f Low Coupling & High Cohesion)"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},9110:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/coupling-ca24ecbbb9b4595e100e3e990025ed73.png"},5710:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>l});var i=s(758);const r={},t=i.createContext(r);function o(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[4401],{9722:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>d});var i=s(6070),r=s(5710);const t={sidebar_position:1},o="Low Coupling & High Cohesion",l={id:"reference/isolation/coupling-cohesion",title:"Low Coupling & High Cohesion",description:"\u041c\u043e\u0434\u0443\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c\u044e (\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u0447\u0435\u0442\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438) \u0438 \u0441\u043b\u0430\u0431\u043e\u0439 \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e (\u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439)",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/coupling-cohesion.md",sourceDirName:"reference/isolation",slug:"/reference/isolation/coupling-cohesion",permalink:"/ru/docs/reference/isolation/coupling-cohesion",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/isolation/coupling-cohesion.md",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"referenceSidebar",previous:{title:"\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439",permalink:"/ru/docs/reference/isolation/"},next:{title:"Decouple entities",permalink:"/ru/docs/reference/isolation/decouple-entities"}},c={},d=[{value:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 (UI level)",id:"components-composition-ui-level",level:2},{value:"\u041f\u0440\u0438\u043c\u0435\u0440",id:"example",level:3},{value:"\u0417\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c",id:"laying-the-extensibility",level:4},{value:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e",id:"using-the-composition",level:4},{value:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043b\u043e\u0435\u0432 (APP level)",id:"layer-composition-app-level",level:2},{value:"\u041f\u0440\u0438\u043c\u0435\u0440",id:"example",level:3},{value:"\u0421\u0432\u044f\u0436\u0435\u043c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435",id:"lets-tie-it-all-together",level:4},{value:"\u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445",id:"data-model",level:4},{value:"\u0418\u0442\u043e\u0433\u043e",id:"summary",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"low-coupling--high-cohesion",children:"Low Coupling & High Cohesion"})}),"\n",(0,i.jsxs)(n.p,{children:["\u041c\u043e\u0434\u0443\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 ",(0,i.jsx)(n.strong,{children:"\u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c\u044e"})," (\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u0447\u0435\u0442\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438) \u0438 ",(0,i.jsx)(n.strong,{children:"\u0441\u043b\u0430\u0431\u043e\u0439 \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e"})," (\u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439)"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"coupling-cohesion-themed",src:s(9110).A+"",width:"1024",height:"1024"})}),"\n",(0,i.jsx)(n.p,{children:"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u043b\u043e\u0438 \u0438 \u0441\u043b\u0430\u0439\u0441\u044b - \u043c\u043e\u0434\u0443\u043b\u0438, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c."}),"\n",(0,i.jsxs)(n.li,{children:["\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044e - \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c ",(0,i.jsx)(n.a,{href:"/docs/reference/public-api",children:"\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430"})]}),"\n",(0,i.jsxs)(n.li,{children:["\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 ",(0,i.jsx)(n.a,{href:"/docs/reference/isolation",children:"\u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439"}),' - \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 "\u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0445" \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043d\u043e \u043d\u0435 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0441 \u0442\u043e\u0433\u043e \u0436\u0435 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0441\u043b\u043e\u044f.']}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"components-composition-ui-level",children:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 (UI level)"}),"\n",(0,i.jsx)(n.p,{children:"\u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 UI-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u0441\u043b\u043e\u0442\u044b."}),"\n",(0,i.jsxs)(n.p,{children:["\u0422\u0430\u043a\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u0430\u043a ",(0,i.jsx)(n.strong,{children:"\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432"})," \u0438, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c, \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c ",(0,i.jsx)(n.strong,{children:"\u0441\u043b\u0430\u0431\u043e\u0439 \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438"})," \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430"]}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"\u041f\u0440\u0438\u043c\u0435\u0440"}),"\n",(0,i.jsxs)(n.p,{children:["\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 ",(0,i.jsx)(n.strong,{children:"\u0441\u043f\u0438\u0441\u043a\u0430 \u0441 \u0445\u0435\u0434\u0435\u0440\u043e\u043c:"})]}),"\n",(0,i.jsx)(n.h4,{id:"laying-the-extensibility",children:"\u0417\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c"}),"\n",(0,i.jsx)(n.p,{children:"\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0432\u0438\u0434 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0445\u0435\u0434\u0435\u0440\u0430 \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0438\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-tsx",children:'interface ListProps {\n Header: React.ReactNode;\n Items: React.ReactNode;\n}\n\nconst List: Component = ({ Header, Items }) => (\n
\n {Header}\n
    \n {Items}\n
\n
\n)\n\n'})}),"\n",(0,i.jsx)(n.h4,{id:"using-the-composition",children:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e"}),"\n",(0,i.jsxs)(n.p,{children:["\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 ",(0,i.jsx)(n.strong,{children:"\u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c"})," \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0445\u0435\u0434\u0435\u0440\u0430 \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0445\u0435\u0434\u0435\u0440\u0430 \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043a\u0430\u043a \u0441\u0432\u043e\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0442\u0430\u043a \u0438 \u0441\u0432\u043e\u044e \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 \u043a \u043b\u044e\u0431\u044b\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u043e\u0431\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f - \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u0440\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0442\u044c, \u0430 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-tsx",children:'} Items={} />\n\n} />\n\n} Items={} />\n\n'})}),"\n",(0,i.jsx)(n.h2,{id:"layer-composition-app-level",children:"\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043b\u043e\u0435\u0432 (APP level)"}),"\n",(0,i.jsxs)(n.p,{children:["\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u0446\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 - ",(0,i.jsx)(n.strong,{children:"\u0444\u0438\u0447\u0438 (features)"}),", \u0430 \u043b\u043e\u0433\u0438\u043a\u0443, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0443\u044e\u0441\u044f \u043a \u0431\u0438\u0437\u043d\u0435\u0441 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c - \u0432 ",(0,i.jsx)(n.strong,{children:"\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 (entities)"}),". \u0418 \u0444\u0438\u0447\u0438, \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 ",(0,i.jsx)(n.strong,{children:"\u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0432\u044b\u0441\u043e\u043a\u043e-\u0441\u0432\u044f\u0437\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438"}),", \u0442.\u0435. \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 ",(0,i.jsx)(n.strong,{children:"\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438"})," \u0438\u043b\u0438 \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u043a\u0440\u0443\u0433 ",(0,i.jsx)(n.strong,{children:"\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438."})]}),"\n",(0,i.jsxs)(n.p,{children:["\u0412\u0441\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u043a\u0438\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e UI-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0448\u0435, \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a ",(0,i.jsx)(n.strong,{children:"\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439."})]}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"\u041f\u0440\u0438\u043c\u0435\u0440"}),"\n",(0,i.jsx)(n.p,{children:"\u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f-\u0447\u0430\u0442\u0430 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0430"}),"\n",(0,i.jsx)(n.li,{children:"\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0443 \u0441 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u0434\u0440\u0443\u0433\u043e\u043c"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:"}),"\n",(0,i.jsx)(n.p,{children:"Entities"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f)"}),"\n",(0,i.jsx)(n.li,{children:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442 (\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u043c)"}),"\n",(0,i.jsx)(n.li,{children:"\u041f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0430 (\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0435\u0439)"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Features"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u0424\u043e\u0440\u043c\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f"}),"\n",(0,i.jsx)(n.li,{children:"\u041c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438"}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"lets-tie-it-all-together",children:"\u0421\u0432\u044f\u0436\u0435\u043c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435"}),"\n",(0,i.jsx)(n.p,{children:"\u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u043b\u0435\u0433\u043a\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-tsx",metastring:'title="page/main/ui.tsx"',children:"}\n Items={}\n Footer={}\n/>\n"})}),"\n",(0,i.jsx)(n.h4,{id:"data-model",children:"\u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445"}),"\n",(0,i.jsxs)(n.p,{children:["\u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0434\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043a\u0430\u043a ",(0,i.jsx)(n.strong,{children:"\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0444\u0438\u0447 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439"}),". \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0444\u0438\u0447\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044d\u0442\u0438\u0445 \u0444\u0430\u0431\u0440\u0438\u043a."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u041e\u0434\u043d\u0430\u043a\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 - \u0444\u0438\u0447\u0430 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u0441\u043b\u043e\u0435\u0432 \u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",metastring:'title="pages/main/model.ts"',children:'import { userModel } from "entitites/user"\nimport { conversationModel } from "entities/conversation"\nimport { contactModel } from "entities/contact"\n\nimport { createMessageInput } from "features/message-input"\nimport { createConversationSwitch } from "features/conversation-switch"\n\nimport { beautifiy } from "shared/lib/beautify-text"\n\nexport const { allConversations, setConversation } = createConversationSwitch({\n contacts: contactModel.allContacts,\n setConversation: conversationModel.setConversation,\n currentConversation: conversationModel.conversation,\n currentUser: userModel.currentUser\n})\n\nexport const { sendMessage, attachFile } = createMessageInput({\n author: userModel.currentUser\n send: conversationModel.sendMessage,\n formatMessage: beautify\n})\n'})}),"\n",(0,i.jsx)(n.h2,{id:"summary",children:"\u0418\u0442\u043e\u0433\u043e"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\u041c\u043e\u0434\u0443\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c ",(0,i.jsx)(n.strong,{children:"\u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c\u044e"})," (\u0438\u043c\u0435\u0442\u044c \u043e\u0434\u043d\u0443 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u0440\u0435\u0448\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443) \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c ",(0,i.jsx)(n.a,{href:"/docs/reference/public-api",children:(0,i.jsx)(n.strong,{children:"\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"})})," \u0434\u043e\u0441\u0442\u0443\u043f\u0430"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u0421\u043b\u0430\u0431\u0430\u044f \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c"})," \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 - \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 UI, \u0444\u0438\u0447 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439"]}),"\n",(0,i.jsxs)(n.li,{children:["\u0422\u0430\u043a\u0436\u0435, \u0434\u043b\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0434\u0443\u043b\u0438 ",(0,i.jsx)(n.strong,{children:"\u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b"})," - \u0442\u0430\u043a \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://enterprisecraftsmanship.com/posts/cohesion-coupling-difference/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u041f\u0440\u043e Low Coupling \u0438 High Cohesion \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.em,{children:"\u0421\u0445\u0435\u043c\u0430 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://medium.com/german-gorelkin/low-coupling-high-cohesion-d36369fb1be9",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) Low Coupling \u0438 High Cohesion. \u0417\u0430\u043a\u043e\u043d \u0414\u0435\u043c\u0435\u0442\u0440\u044b"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.slideshare.net/cristalngo/software-design-principles-57388843",children:"(\u041f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f) \u041f\u0440\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0432\u043a\u043b\u044e\u0447\u0430\u044f Low Coupling & High Cohesion)"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},9110:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/coupling-ca24ecbbb9b4595e100e3e990025ed73.png"},5710:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>l});var i=s(758);const r={},t=i.createContext(r);function o(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/35c5367b.6bcd5c78.js b/ru/assets/js/35c5367b.80ad0691.js similarity index 99% rename from ru/assets/js/35c5367b.6bcd5c78.js rename to ru/assets/js/35c5367b.80ad0691.js index 5e541257de..105d1a5f20 100644 --- a/ru/assets/js/35c5367b.6bcd5c78.js +++ b/ru/assets/js/35c5367b.80ad0691.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[427],{1955:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=s(6070),i=s(5710);const l={sidebar_position:3,sidebar_label:"Public API",pagination_next:"about/index"},t="\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 API \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",o={id:"reference/public-api",title:"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 API \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",description:"\u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044c.",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/public-api.md",sourceDirName:"reference",slug:"/reference/public-api",permalink:"/ru/docs/reference/public-api",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/public-api.md",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_label:"Public API",pagination_next:"about/index"},sidebar:"referenceSidebar",previous:{title:"\u0421\u043b\u0430\u0439\u0441\u044b \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b",permalink:"/ru/docs/reference/slices-segments"},next:{title:"\ud83c\udf70 \u041e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",permalink:"/ru/docs/about/"}},d={},c=[{value:"\u0426\u0435\u043b\u0438",id:"goals",level:2},{value:"\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 API",id:"requirements-for-the-public-api",level:2},{value:"1. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430",id:"1-access-control",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",id:"examples",level:4},{value:"\u041e\u0442\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432",id:"suspension-from-private-imports",level:5},{value:"2. \u0423\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c",id:"2-sustainability-for-changes",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",id:"examples",level:4},{value:"\u0410\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438",id:"abstracting-from-the-implementation",level:5},{value:"3. \u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c",id:"3-integrability",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",id:"examples",level:4},{value:"\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d",id:"name-collision",level:5},{value:"\u0413\u0438\u0431\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435",id:"flexible-use",level:5},{value:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439",id:"resolution-of-collisions",level:5},{value:"\u041e \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\u0445",id:"about-re-exports",level:2},{value:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438",id:"disadvantages",level:3},{value:"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f",id:"possible-solutions",level:3},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function a(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435-api-\u043c\u043e\u0434\u0443\u043b\u044f-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",children:"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 API \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f"})}),"\n",(0,r.jsxs)(n.p,{children:["\u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a ",(0,r.jsx)(n.strong,{children:"\u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044c."})]}),"\n",(0,r.jsx)(n.h2,{id:"goals",children:"\u0426\u0435\u043b\u0438"}),"\n",(0,r.jsxs)(n.p,{children:["\u0423\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 ",(0,r.jsx)(n.em,{children:"\u0440\u044f\u0434\u0430 \u0446\u0435\u043b\u0435\u0439"}),":"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043e \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439"})," \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439"]}),"\n",(0,r.jsxs)(n.li,{children:["\u041f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043c\u043e\u0434\u0443\u043b\u044f ",(0,r.jsx)(n.strong,{children:"\u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c"})," \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438"]}),"\n",(0,r.jsxs)(n.li,{children:["\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f"})," - \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043b\u043e\u043c\u0430\u044e\u0449\u0438\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0434\u0443\u043b\u044f."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:'\u0414\u043e\u0441\u0442\u0438\u0447\u044c \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (Public API), \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0431\u043e\u0439 \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u043c\u043e\u0434\u0443\u043b\u044f \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u0433\u043e "\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442" \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043c\u0438\u0440\u043e\u043c.'}),"\n",(0,r.jsx)(n.admonition,{title:"\u0412\u0430\u0436\u043d\u043e",type:"info",children:(0,r.jsx)(n.p,{children:"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sh",children:"\u2514\u2500\u2500 features/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 #\xa0\n \u2514\u2500\u2500 auth-form/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 # \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0444\u0438\u0447\u0438\n \u251c\u2500\u2500 ui/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 #\n \u251c\u2500\u2500 model/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0#\n \u251c\u2500\u2500 {...}/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0#\n \u2514\u2500\u2500 index.ts\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0# \u042d\u043d\u0442\u0440\u0438\u043f\u043e\u0438\u043d\u0442 \u0444\u0438\u0447\u0438 \u0441 \u0435\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c API\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="**/**/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"requirements-for-the-public-api",children:"\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 API"}),"\n",(0,r.jsxs)(n.p,{children:["\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u0435\u0441\u0442\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043c\u043e\u0434\u0443\u043b\u0435\u043c \u043a ",(0,r.jsx)(n.strong,{children:"\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430"})," \u0438, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c, \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f."]}),"\n",(0,r.jsx)(n.h3,{id:"1-access-control",children:"1. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430"}),"\n",(0,r.jsxs)(n.p,{children:["Public API \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430"})," \u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044f"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\u0414\u0440\u0443\u0433\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0443\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435"})]}),"\n",(0,r.jsxs)(n.li,{children:["\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044f \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 ",(0,r.jsx)(n.strong,{children:"\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044e"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"examples",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"}),"\n",(0,r.jsx)(n.h5,{id:"suspension-from-private-imports",children:"\u041e\u0442\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e"}),": \u0418\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u043c\u043e\u0434\u0443\u043b\u044f, \u043c\u0438\u043d\u0443\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 - \u043e\u043f\u0430\u0441\u043d\u043e, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435 \u043c\u043e\u0434\u0443\u043b\u044f"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { Form } from "features/auth-form/components/view/form"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"})," API \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e\u0435 \u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043c\u043e\u0434\u0443\u043b\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043b\u043e\u043c\u0430\u0442\u044c Public API \u043f\u0440\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { AuthForm } from "features/auth-form"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"2-sustainability-for-changes",children:"2. \u0423\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c"}),"\n",(0,r.jsxs)(n.p,{children:["Public API \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u044f"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043b\u043e\u043c\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f, \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0442\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 Public API"}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"examples",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"}),"\n",(0,r.jsx)(n.h5,{id:"abstracting-from-the-implementation",children:"\u0410\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438"}),"\n",(0,r.jsx)(n.p,{children:"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e Public API"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"})," \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0438\u0447\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u0442\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { Form } from "features/auth-form/ui/form"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"}),' \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0444\u0438\u0447\u0438 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0435\u0451 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0432\u043d\u0435\u0448\u043d\u0438\u0435 "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438" \u0444\u0438\u0447\u0438 \u043d\u0435 \u043f\u043e\u0441\u0442\u0440\u0430\u0434\u0430\u044e\u0442 \u043e\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0438\u0447\u0438']}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { AuthForm } from "features/auth-form"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"3-integrability",children:"3. \u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c"}),"\n",(0,r.jsxs)(n.p,{children:["Public API \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u043b\u0435\u0433\u043a\u043e\u0439 \u0438 \u0433\u0438\u0431\u043a\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438"})]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0447\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0440\u0435\u0448\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 \u0438\u043c\u0435\u043d"}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"examples",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"}),"\n",(0,r.jsx)(n.h5,{id:"name-collision",children:"\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"})," \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { Form } from "./ui"\nexport * as model from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { Form } from "./ui"\nexport * as model from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { Form, model } from "features/auth-form"\n- import { Form, model } from "features/post-form"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"})," \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { Form as PostForm } from "./ui"\nexport * as postFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { AuthForm, authFormModel } from "features/auth-form"\n+ import { PostForm, postFormModel } from "features/post-form"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h5,{id:"flexible-use",children:"\u0413\u0438\u0431\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"}),' \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c, \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c, "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c" \u0444\u0438\u0447\u0438 \u0441\u0442\u0440\u0430\u0434\u0430\u0435\u0442']}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { storeActionUpdateUserDetails } from "features/auth-form"\n- dispatch(storeActionUpdateUserDetails(...))\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"}),' "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c" \u0444\u0438\u0447\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0443\u0436\u043d\u044b\u043c \u0432\u0435\u0449\u0430\u043c \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0438 \u0433\u0438\u0431\u043a\u043e']}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { authFormModel } from "features/auth-form"\n+ dispatch(authFormModel.effects.updateUserDetails(...)) // redux\n+ authFormModel.updateUserDetailsFx(...) // effector\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h5,{id:"resolution-of-collisions",children:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439"}),"\n",(0,r.jsx)(n.p,{children:"\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0430 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"})," \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { AuthForm } from "./ui"\nexport { authFormActions, authFormReducer } from "model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { PostForm } from "./ui"\nexport { postFormActions, postFormReducer } from "model"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"})," \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/model.ts"',children:"export { actions, reducer }\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/model.ts"',children:"export { actions, reducer }\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { Form as PostForm } from "./ui"\nexport * as postFormModel from "./model"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"about-re-exports",children:"\u041e \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\u0445"}),"\n",(0,r.jsxs)(n.p,{children:["\u0412 JavaScript \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043c\u043e\u0434\u0443\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u0432 ",(0,r.jsx)(n.code,{children:"index"})," \u0444\u0430\u0439\u043b\u0435:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="**/**/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authModel from "./model"\n'})}),"\n",(0,r.jsx)(n.h3,{id:"disadvantages",children:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["\u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0431\u0430\u043d\u0434\u043b\u0435\u0440\u043e\u0432 \u0438\u0437-\u0437\u0430 \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 ",(0,r.jsx)(n.strong,{children:"\u0445\u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0434-\u0441\u043f\u043b\u0438\u0442\u0442\u0438\u043d\u0433"}),", \u0442.\u043a. ",(0,r.jsx)(n.a,{href:"https://webpack.js.org/guides/tree-shaking/",children:"tree-shaking"})," \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043d\u043e \u043d\u0435 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u044c."]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043c\u043f\u043e\u0440\u0442 ",(0,r.jsx)(n.code,{children:"authModel"})," \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 ",(0,r.jsx)(n.code,{children:"AuthForm"})," \u0432 \u0447\u0430\u043d\u043a \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0442\u0430\u043c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:'\u041a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0430\u043d\u043a\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0440\u043e\u0436\u0435, \u0442.\u043a. \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0432 \u043d\u0435\u043c, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u0431\u0430\u043d\u0434\u043b "\u0437\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e"'}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"possible-solutions",children:"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"webpack"})," \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b-\u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u044b \u043a\u0430\u043a ",(0,r.jsx)(n.a,{href:"https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free",children:(0,r.jsx)(n.strong,{children:"side effects free"})})," - \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 ",(0,r.jsx)(n.code,{children:"webpack"})," \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0442\u0430\u043a\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/feature-sliced/documentation/discussions/41",children:"(\u041e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435) Public API \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsxs)(n.a,{href:"https://ru.wikipedia.org/wiki/SOLID",children:["\u041f\u0440\u0438\u043d\u0446\u0438\u043f\u044b ",(0,r.jsx)(n.strong,{children:"SOLID"})]})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsxs)(n.a,{href:"https://ru.wikipedia.org/wiki/GRASP",children:["\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u044b ",(0,r.jsx)(n.strong,{children:"GRASP"})]})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5710:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>o});var r=s(758);const i={},l=r.createContext(i);function t(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[427],{1955:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=s(6070),i=s(5710);const l={sidebar_position:3,sidebar_label:"Public API",pagination_next:"about/index"},t="\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 API \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",o={id:"reference/public-api",title:"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 API \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",description:"\u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044c.",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/public-api.md",sourceDirName:"reference",slug:"/reference/public-api",permalink:"/ru/docs/reference/public-api",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/public-api.md",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_label:"Public API",pagination_next:"about/index"},sidebar:"referenceSidebar",previous:{title:"\u0421\u043b\u0430\u0439\u0441\u044b \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b",permalink:"/ru/docs/reference/slices-segments"},next:{title:"\ud83c\udf70 \u041e \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438",permalink:"/ru/docs/about/"}},d={},c=[{value:"\u0426\u0435\u043b\u0438",id:"goals",level:2},{value:"\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 API",id:"requirements-for-the-public-api",level:2},{value:"1. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430",id:"1-access-control",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",id:"examples",level:4},{value:"\u041e\u0442\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432",id:"suspension-from-private-imports",level:5},{value:"2. \u0423\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c",id:"2-sustainability-for-changes",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",id:"examples",level:4},{value:"\u0410\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438",id:"abstracting-from-the-implementation",level:5},{value:"3. \u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c",id:"3-integrability",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b",id:"examples",level:4},{value:"\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d",id:"name-collision",level:5},{value:"\u0413\u0438\u0431\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435",id:"flexible-use",level:5},{value:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439",id:"resolution-of-collisions",level:5},{value:"\u041e \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\u0445",id:"about-re-exports",level:2},{value:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438",id:"disadvantages",level:3},{value:"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f",id:"possible-solutions",level:3},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function a(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435-api-\u043c\u043e\u0434\u0443\u043b\u044f-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",children:"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 API \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f"})}),"\n",(0,r.jsxs)(n.p,{children:["\u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a ",(0,r.jsx)(n.strong,{children:"\u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044c."})]}),"\n",(0,r.jsx)(n.h2,{id:"goals",children:"\u0426\u0435\u043b\u0438"}),"\n",(0,r.jsxs)(n.p,{children:["\u0423\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 ",(0,r.jsx)(n.em,{children:"\u0440\u044f\u0434\u0430 \u0446\u0435\u043b\u0435\u0439"}),":"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043e \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439"})," \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439"]}),"\n",(0,r.jsxs)(n.li,{children:["\u041f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043c\u043e\u0434\u0443\u043b\u044f ",(0,r.jsx)(n.strong,{children:"\u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c"})," \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438"]}),"\n",(0,r.jsxs)(n.li,{children:["\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f"})," - \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043b\u043e\u043c\u0430\u044e\u0449\u0438\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0434\u0443\u043b\u044f."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:'\u0414\u043e\u0441\u0442\u0438\u0447\u044c \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (Public API), \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0431\u043e\u0439 \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u043c\u043e\u0434\u0443\u043b\u044f \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u0433\u043e "\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442" \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043c\u0438\u0440\u043e\u043c.'}),"\n",(0,r.jsx)(n.admonition,{title:"\u0412\u0430\u0436\u043d\u043e",type:"info",children:(0,r.jsx)(n.p,{children:"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sh",children:"\u2514\u2500\u2500 features/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 #\xa0\n \u2514\u2500\u2500 auth-form/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 # \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0444\u0438\u0447\u0438\n \u251c\u2500\u2500 ui/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 #\n \u251c\u2500\u2500 model/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0#\n \u251c\u2500\u2500 {...}/\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0#\n \u2514\u2500\u2500 index.ts\xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0# \u042d\u043d\u0442\u0440\u0438\u043f\u043e\u0438\u043d\u0442 \u0444\u0438\u0447\u0438 \u0441 \u0435\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c API\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="**/**/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"requirements-for-the-public-api",children:"\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 API"}),"\n",(0,r.jsxs)(n.p,{children:["\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u0435\u0441\u0442\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043c\u043e\u0434\u0443\u043b\u0435\u043c \u043a ",(0,r.jsx)(n.strong,{children:"\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430"})," \u0438, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c, \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f."]}),"\n",(0,r.jsx)(n.h3,{id:"1-access-control",children:"1. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430"}),"\n",(0,r.jsxs)(n.p,{children:["Public API \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430"})," \u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044f"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\u0414\u0440\u0443\u0433\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0443\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435"})]}),"\n",(0,r.jsxs)(n.li,{children:["\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044f \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 ",(0,r.jsx)(n.strong,{children:"\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044e"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"examples",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"}),"\n",(0,r.jsx)(n.h5,{id:"suspension-from-private-imports",children:"\u041e\u0442\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e"}),": \u0418\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u043c\u043e\u0434\u0443\u043b\u044f, \u043c\u0438\u043d\u0443\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 - \u043e\u043f\u0430\u0441\u043d\u043e, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435 \u043c\u043e\u0434\u0443\u043b\u044f"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { Form } from "features/auth-form/components/view/form"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"})," API \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e\u0435 \u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043c\u043e\u0434\u0443\u043b\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043b\u043e\u043c\u0430\u0442\u044c Public API \u043f\u0440\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { AuthForm } from "features/auth-form"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"2-sustainability-for-changes",children:"2. \u0423\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c"}),"\n",(0,r.jsxs)(n.p,{children:["Public API \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u044f"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043b\u043e\u043c\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f, \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0442\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 Public API"}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"examples",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"}),"\n",(0,r.jsx)(n.h5,{id:"abstracting-from-the-implementation",children:"\u0410\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438"}),"\n",(0,r.jsx)(n.p,{children:"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e Public API"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"})," \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0438\u0447\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u0442\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { Form } from "features/auth-form/ui/form"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"}),' \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0444\u0438\u0447\u0438 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0435\u0451 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0432\u043d\u0435\u0448\u043d\u0438\u0435 "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438" \u0444\u0438\u0447\u0438 \u043d\u0435 \u043f\u043e\u0441\u0442\u0440\u0430\u0434\u0430\u044e\u0442 \u043e\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0438\u0447\u0438']}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { AuthForm } from "features/auth-form"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"3-integrability",children:"3. \u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c"}),"\n",(0,r.jsxs)(n.p,{children:["Public API \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c ",(0,r.jsx)(n.strong,{children:"\u043b\u0435\u0433\u043a\u043e\u0439 \u0438 \u0433\u0438\u0431\u043a\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438"})]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0447\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0440\u0435\u0448\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 \u0438\u043c\u0435\u043d"}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"examples",children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b"}),"\n",(0,r.jsx)(n.h5,{id:"name-collision",children:"\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"})," \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { Form } from "./ui"\nexport * as model from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { Form } from "./ui"\nexport * as model from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { Form, model } from "features/auth-form"\n- import { Form, model } from "features/post-form"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"})," \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { Form as PostForm } from "./ui"\nexport * as postFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { AuthForm, authFormModel } from "features/auth-form"\n+ import { PostForm, postFormModel } from "features/post-form"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h5,{id:"flexible-use",children:"\u0413\u0438\u0431\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"}),' \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c, \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c, "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c" \u0444\u0438\u0447\u0438 \u0441\u0442\u0440\u0430\u0434\u0430\u0435\u0442']}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'- import { storeActionUpdateUserDetails } from "features/auth-form"\n- dispatch(storeActionUpdateUserDetails(...))\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"}),' "\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c" \u0444\u0438\u0447\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0443\u0436\u043d\u044b\u043c \u0432\u0435\u0449\u0430\u043c \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0438 \u0433\u0438\u0431\u043a\u043e']}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'+ import { authFormModel } from "features/auth-form"\n+ dispatch(authFormModel.effects.updateUserDetails(...)) // redux\n+ authFormModel.updateUserDetailsFx(...) // effector\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h5,{id:"resolution-of-collisions",children:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439"}),"\n",(0,r.jsx)(n.p,{children:"\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0430 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u041f\u043b\u043e\u0445\u043e:"})," \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { AuthForm } from "./ui"\nexport { authFormActions, authFormReducer } from "model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { PostForm } from "./ui"\nexport { postFormActions, postFormReducer } from "model"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u0425\u043e\u0440\u043e\u0448\u043e:"})," \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044f \u0438\u043c\u0435\u043d \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/model.ts"',children:"export { actions, reducer }\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/auth-form/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authFormModel from "./model"\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/model.ts"',children:"export { actions, reducer }\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="features/post-form/index.ts"',children:'export { Form as PostForm } from "./ui"\nexport * as postFormModel from "./model"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"about-re-exports",children:"\u041e \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\u0445"}),"\n",(0,r.jsxs)(n.p,{children:["\u0412 JavaScript \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043c\u043e\u0434\u0443\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u0432 ",(0,r.jsx)(n.code,{children:"index"})," \u0444\u0430\u0439\u043b\u0435:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="**/**/index.ts"',children:'export { Form as AuthForm } from "./ui"\nexport * as authModel from "./model"\n'})}),"\n",(0,r.jsx)(n.h3,{id:"disadvantages",children:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["\u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0431\u0430\u043d\u0434\u043b\u0435\u0440\u043e\u0432 \u0438\u0437-\u0437\u0430 \u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 ",(0,r.jsx)(n.strong,{children:"\u0445\u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0434-\u0441\u043f\u043b\u0438\u0442\u0442\u0438\u043d\u0433"}),", \u0442.\u043a. ",(0,r.jsx)(n.a,{href:"https://webpack.js.org/guides/tree-shaking/",children:"tree-shaking"})," \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043d\u043e \u043d\u0435 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u044c."]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043c\u043f\u043e\u0440\u0442 ",(0,r.jsx)(n.code,{children:"authModel"})," \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 ",(0,r.jsx)(n.code,{children:"AuthForm"})," \u0432 \u0447\u0430\u043d\u043a \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0442\u0430\u043c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:'\u041a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0430\u043d\u043a\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0440\u043e\u0436\u0435, \u0442.\u043a. \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0432 \u043d\u0435\u043c, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u0431\u0430\u043d\u0434\u043b "\u0437\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e"'}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"possible-solutions",children:"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"webpack"})," \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b-\u0440\u0435\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u044b \u043a\u0430\u043a ",(0,r.jsx)(n.a,{href:"https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free",children:(0,r.jsx)(n.strong,{children:"side effects free"})})," - \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 ",(0,r.jsx)(n.code,{children:"webpack"})," \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0442\u0430\u043a\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/feature-sliced/documentation/discussions/41",children:"(\u041e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435) Public API \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsxs)(n.a,{href:"https://ru.wikipedia.org/wiki/SOLID",children:["\u041f\u0440\u0438\u043d\u0446\u0438\u043f\u044b ",(0,r.jsx)(n.strong,{children:"SOLID"})]})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsxs)(n.a,{href:"https://ru.wikipedia.org/wiki/GRASP",children:["\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u044b ",(0,r.jsx)(n.strong,{children:"GRASP"})]})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5710:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>o});var r=s(758);const i={},l=r.createContext(i);function t(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/3b64669e.fc99d6bd.js b/ru/assets/js/3b64669e.f379b738.js similarity index 99% rename from ru/assets/js/3b64669e.fc99d6bd.js rename to ru/assets/js/3b64669e.f379b738.js index f216819057..71b28eb2fc 100644 --- a/ru/assets/js/3b64669e.fc99d6bd.js +++ b/ru/assets/js/3b64669e.f379b738.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6400],{4014:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>d,toc:()=>u});var s=t(6070),r=t(5710);const i={sidebar_position:3,sidebar_label:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439"},o="\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435",d={id:"about/understanding/knowledge-types",title:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435",description:'\u0412 \u043b\u044e\u0431\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 "\u0442\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439":',source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/about/understanding/knowledge-types.md",sourceDirName:"about/understanding",slug:"/about/understanding/knowledge-types",permalink:"/ru/docs/about/understanding/knowledge-types",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/about/understanding/knowledge-types.md",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_label:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439"},sidebar:"aboutSidebar",previous:{title:"\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439",permalink:"/ru/docs/about/understanding/needs-driven"},next:{title:"\u041d\u0435\u0439\u043c\u0438\u043d\u0433",permalink:"/ru/docs/about/understanding/naming"}},a={},u=[{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function c(n){const e={a:"a",admonition:"admonition",br:"br",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"\u0442\u0438\u043f\u044b-\u0437\u043d\u0430\u043d\u0438\u0439-\u0432-\u043f\u0440\u043e\u0435\u043a\u0442\u0435",children:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435"})}),"\n",(0,s.jsx)(e.p,{children:'\u0412 \u043b\u044e\u0431\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 "\u0442\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439":'}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u0424\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f"}),(0,s.jsx)(e.br,{}),"\n","\u0417\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, computer science, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0435\u0433\u043e API."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0435\u043a"}),(0,s.jsx)(e.br,{}),"\n","\u0417\u043d\u0430\u043d\u0438\u044f \u043e \u043d\u0430\u0431\u043e\u0440\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u041f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f"}),(0,s.jsx)(e.br,{}),"\n","\u0417\u043d\u0430\u043d\u0438\u044f, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0435 \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432\u043d\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u042d\u0442\u0438 \u0437\u043d\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043d\u043e\u0432\u044b\u043c \u0447\u043b\u0435\u043d\u0430\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0447\u0442\u043e\u0431 \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.admonition,{type:"note",children:(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"Feature-Sliced Design"}),' \u043f\u0440\u0438\u0437\u0432\u0430\u043d \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 "\u043f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439", \u0432\u0437\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0431\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u043e\u043d\u0431\u043e\u0440\u0434\u0438\u043d\u0433 \u043d\u043e\u0432\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.']})}),"\n",(0,s.jsx)(e.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:(0,s.jsx)(e.a,{href:"https://youtu.be/4xyb_tA-uw0?t=249",children:"(\u0412\u0438\u0434\u0435\u043e) \u0418\u043b\u044c\u044f \u041a\u043b\u0438\u043c\u043e\u0432 \u2014 \u041e \u0442\u0438\u043f\u0430\u0445 \u0437\u043d\u0430\u043d\u0438\u0439"})}),"\n"]})]})}function l(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(c,{...n})}):c(n)}},5710:(n,e,t)=>{t.d(e,{R:()=>o,x:()=>d});var s=t(758);const r={},i=s.createContext(r);function o(n){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function d(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:o(n.components),s.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6400],{4014:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>d,toc:()=>u});var s=t(6070),r=t(5710);const i={sidebar_position:3,sidebar_label:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439"},o="\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435",d={id:"about/understanding/knowledge-types",title:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435",description:'\u0412 \u043b\u044e\u0431\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 "\u0442\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439":',source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/about/understanding/knowledge-types.md",sourceDirName:"about/understanding",slug:"/about/understanding/knowledge-types",permalink:"/ru/docs/about/understanding/knowledge-types",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/about/understanding/knowledge-types.md",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_label:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439"},sidebar:"aboutSidebar",previous:{title:"\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439",permalink:"/ru/docs/about/understanding/needs-driven"},next:{title:"\u041d\u0435\u0439\u043c\u0438\u043d\u0433",permalink:"/ru/docs/about/understanding/naming"}},a={},u=[{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function c(n){const e={a:"a",admonition:"admonition",br:"br",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"\u0442\u0438\u043f\u044b-\u0437\u043d\u0430\u043d\u0438\u0439-\u0432-\u043f\u0440\u043e\u0435\u043a\u0442\u0435",children:"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435"})}),"\n",(0,s.jsx)(e.p,{children:'\u0412 \u043b\u044e\u0431\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 "\u0442\u0438\u043f\u044b \u0437\u043d\u0430\u043d\u0438\u0439":'}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u0424\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f"}),(0,s.jsx)(e.br,{}),"\n","\u0417\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, computer science, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0435\u0433\u043e API."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0435\u043a"}),(0,s.jsx)(e.br,{}),"\n","\u0417\u043d\u0430\u043d\u0438\u044f \u043e \u043d\u0430\u0431\u043e\u0440\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u041f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f"}),(0,s.jsx)(e.br,{}),"\n","\u0417\u043d\u0430\u043d\u0438\u044f, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0435 \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432\u043d\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u042d\u0442\u0438 \u0437\u043d\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043d\u043e\u0432\u044b\u043c \u0447\u043b\u0435\u043d\u0430\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0447\u0442\u043e\u0431 \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.admonition,{type:"note",children:(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"Feature-Sliced Design"}),' \u043f\u0440\u0438\u0437\u0432\u0430\u043d \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 "\u043f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439", \u0432\u0437\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0431\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u043e\u043d\u0431\u043e\u0440\u0434\u0438\u043d\u0433 \u043d\u043e\u0432\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.']})}),"\n",(0,s.jsx)(e.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:(0,s.jsx)(e.a,{href:"https://youtu.be/4xyb_tA-uw0?t=249",children:"(\u0412\u0438\u0434\u0435\u043e) \u0418\u043b\u044c\u044f \u041a\u043b\u0438\u043c\u043e\u0432 \u2014 \u041e \u0442\u0438\u043f\u0430\u0445 \u0437\u043d\u0430\u043d\u0438\u0439"})}),"\n"]})]})}function l(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(c,{...n})}):c(n)}},5710:(n,e,t)=>{t.d(e,{R:()=>o,x:()=>d});var s=t(758);const r={},i=s.createContext(r);function o(n){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function d(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:o(n.components),s.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/44775544.dddabccf.js b/ru/assets/js/44775544.07602962.js similarity index 99% rename from ru/assets/js/44775544.dddabccf.js rename to ru/assets/js/44775544.07602962.js index 9c6d0d3483..e656191efc 100644 --- a/ru/assets/js/44775544.dddabccf.js +++ b/ru/assets/js/44775544.07602962.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[447],{4284:(e,n,i)=>{i.d(n,{Ay:()=>o,RM:()=>d});var s=i(6070),t=i(5710),r=(i(758),i(8886)),l=i(316);const c=e=>{let{ticket:n}=e;const i=`https://github.com/feature-sliced/documentation/issues/${n}`;return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:(0,l.T)({id:"shared.wip.title"})}),(0,s.jsx)("p",{children:(0,l.T)({id:"shared.wip.subtitle"})}),(0,s.jsxs)("ul",{children:[(0,s.jsxs)("li",{children:[(0,l.T)({id:"shared.wip.var.feedback.base"}),(0,s.jsx)(r.A,{to:i,children:(0,l.T)({id:"shared.wip.var.feedback.link"})})]}),(0,s.jsxs)("li",{children:[(0,l.T)({id:"shared.wip.var.material.base"}),(0,s.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,l.T)({id:"shared.wip.var.material.link"})})]}),(0,s.jsxs)("li",{children:[(0,l.T)({id:"shared.wip.var.contribute.base"}),(0,s.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,l.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,s.jsx)("br",{}),(0,s.jsx)("p",{children:(0,s.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},d=[];function a(e){const n={admonition:"admonition",...(0,t.R)(),...e.components};return(0,s.jsx)(n.admonition,{title:"WIP",type:"caution",children:(0,s.jsx)(c,{ticket:e.ticket})})}function o(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6429:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var s=i(6070),t=i(5710),r=i(4284);const l={sidebar_class_name:"sidebar-item--wip",sidebar_position:3},c="\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b",d={id:"about/alternatives",title:"\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b",description:"\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/about/alternatives.mdx",sourceDirName:"about",slug:"/about/alternatives",permalink:"/ru/docs/about/alternatives",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/about/alternatives.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:3,frontMatter:{sidebar_class_name:"sidebar-item--wip",sidebar_position:3},sidebar:"aboutSidebar",previous:{title:"\u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f",permalink:"/ru/docs/about/motivation"},next:{title:"\u041e\u0431 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435",permalink:"/ru/docs/about/understanding/architecture"}},a={},o=[...r.RM,{value:"Big Ball of Mud",id:"big-ball-of-mud",level:2},...r.RM,{value:"Smart & Dumb components",id:"smart--dumb-components",level:2},...r.RM,{value:"Design Principles",id:"design-principles",level:2},...r.RM,{value:"DDD",id:"ddd",level:2},...r.RM,{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2},{value:"Clean Architecture",id:"clean-architecture",level:2},...r.RM,{value:"Frameworks",id:"frameworks",level:2},...r.RM,{value:"Atomic Design",id:"atomic-design",level:2},{value:"\u0427\u0442\u043e \u044d\u0442\u043e?",id:"\u0447\u0442\u043e-\u044d\u0442\u043e",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435",id:"\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c-\u0432\u043e-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435",level:3},{value:"\u041a\u0430\u043a \u043e\u043d\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f \u0441 FSD?",id:"\u043a\u0430\u043a-\u043e\u043d\u043e-\u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f-\u0441-fsd",level:3},{value:"Feature Driven",id:"feature-driven",level:2},...r.RM];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b",children:"\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b"})}),"\n",(0,s.jsx)(r.Ay,{ticket:"62"}),"\n",(0,s.jsx)(n.p,{children:"\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432"}),"\n",(0,s.jsx)(n.h2,{id:"big-ball-of-mud",children:"Big Ball of Mud"}),"\n",(0,s.jsx)(r.Ay,{ticket:"258"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u0427\u0442\u043e \u044d\u0442\u043e; \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043e; \u041a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b; \u041a\u0430\u043a \u0431\u044b\u0442\u044c; \u0418 \u043a\u0430\u043a \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c FSD"}),"\n"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://oleg008.medium.com/last-words-on-ui-architecture-before-an-ai-takes-over-468c78f18f0d",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) Oleg Isonen - Last words on UI architecture before an AI takes over"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/gna4Ynz1YNI",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u042e\u043b\u0438\u044f \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432\u0430, iSpring - Big Ball of Mud \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://thedomaindrivendesign.io/big-ball-of-mud/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) DDD - Big Ball of mud"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"smart--dumb-components",children:"Smart & Dumb components"}),"\n",(0,s.jsx)(r.Ay,{ticket:"214"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u043e\u0441\u0442\u044c, \u043f\u0440\u043e \u043d\u043e\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u043e\u0447\u0435\u043c\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u043e/\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 - \u0437\u043b\u043e"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) Dan Abramov - Presentational and Container Components (TLDR: deprecated)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"design-principles",children:"Design Principles"}),"\n",(0,s.jsx)(r.Ay,{ticket:"59"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e \u0447\u0442\u043e \u0440\u0435\u0447\u044c; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"SOLID, GRASP, KISS, YAGNI, ... - \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0438 \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435"}),"\n",(0,s.jsx)(n.p,{children:"\u0418 \u043a\u0430\u043a \u043e\u043d\u0430 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=380",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"ddd",children:"DDD"}),"\n",(0,s.jsx)(r.Ay,{ticket:"1"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u0412 \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435, \u0447\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438"}),"\n",(0,s.jsx)(n.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) DDD, Hexagonal, Onion, Clean, CQRS, \u2026 How I put it all together"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=528",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e Clean Architecture, DDD)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"clean-architecture",children:"Clean Architecture"}),"\n",(0,s.jsx)(r.Ay,{ticket:"165"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u0412 \u0447\u0435\u043c \u0441\u0445\u043e\u0436\u0438 (\u043c\u043d\u043e\u0433\u0438\u043c), \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/3897",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e use-case/interactor \u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/4592",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e DI \u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://bespoyasov.ru/blog/clean-architecture-on-frontend/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0411\u0435\u0441\u043f\u043e\u044f\u0441\u043e\u0432 - \u0427\u0438\u0441\u0442\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) DDD, Hexagonal, Onion, Clean, CQRS, \u2026 How I put it all together"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=528",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e Clean Architecture, DDD)"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://habr.com/ru/company/mobileup/blog/335382/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u0417\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f Clean Architecture"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"frameworks",children:"Frameworks"}),"\n",(0,s.jsx)(r.Ay,{ticket:"58"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0438 \u043d\u0435 \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443; \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Framework-agnostic, conventional-\u043f\u043e\u0434\u0445\u043e\u0434"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/about/motivation",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u041f\u0440\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438)"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/3867",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"atomic-design",children:"Atomic Design"}),"\n",(0,s.jsx)(n.h3,{id:"\u0447\u0442\u043e-\u044d\u0442\u043e",children:"\u0427\u0442\u043e \u044d\u0442\u043e?"}),"\n",(0,s.jsx)(n.p,{children:"\u0412 Atomic Design \u0441\u0444\u0435\u0440\u0430 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0438.\xa0"}),"\n",(0,s.jsxs)(n.p,{children:["Atomic Design \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 ",(0,s.jsx)(n.strong,{children:"5 \u0441\u043b\u043e\u0435\u0432"})," (\u0441\u0432\u0435\u0440\u0445\u0443 \u0432\u043d\u0438\u0437):"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"pages"})," - \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441\u043b\u043e\u044e ",(0,s.jsx)(n.code,{children:"pages"})," \u0432 FSD."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"templates"})," - \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0443."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"organisms"})," - \u041c\u043e\u0434\u0443\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u0437 \u043c\u043e\u043b\u0435\u043a\u0443\u043b, \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u043e\u0439."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"moleculs"})," - \u0411\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0435\u0442 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"atoms"})," - UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0431\u0435\u0437 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u041c\u043e\u0434\u0443\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u043b\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438\u0441\u044f \u043d\u0430 \u0441\u043b\u043e\u044f\u0445 \u043d\u0438\u0436\u0435, \u043a\u0430\u043a \u0432 FSD.\n\u0422\u043e \u0435\u0441\u0442\u044c, \u043c\u043e\u043b\u0435\u043a\u0443\u043b\u044b \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0438\u0437 \u0430\u0442\u043e\u043c\u043e\u0432, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c\u044b \u0438\u0437 \u043c\u043e\u043b\u0435\u043a\u0443\u043b, \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0438\u0437 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c\u043e\u0432, \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432.\n\u0422\u0430\u043a\u0436\u0435 Atomic Design \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 ",(0,s.jsx)(n.strong,{children:"Public API"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0434\u043b\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438."]}),"\n",(0,s.jsx)(n.h3,{id:"\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c-\u0432\u043e-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435",children:"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435"}),"\n",(0,s.jsx)(n.p,{children:"Atomic Design \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. Atomic Design \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0435\u0435 \u0441\u0440\u0435\u0434\u0438 \u0432\u0435\u0431-\u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u0432,\xa0\n\u043d\u0435\u0436\u0435\u043b\u0438 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. \u0412\u0435\u0431-\u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u044b \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Atomic Design \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0438 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0438\u0437\u0430\u0439\u043d\u043e\u0432.\xa0\n\u0412 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 Atomic Design \u0447\u0430\u0441\u0442\u043e \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438."}),"\n",(0,s.jsx)(n.p,{children:"\u041e\u0434\u043d\u0430\u043a\u043e, \u0442\u0430\u043a \u043a\u0430\u043a Atomic Design \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445 \u0438 \u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\n\u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b."}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Atomic Design \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0447\u0435\u0442\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0438,\xa0\n\u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u0438 \u0443\u0440\u043e\u0432\u043d\u044f\u043c, \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.\xa0\n\u0411\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u044b\u0442\u0430, \u0447\u0442\u043e \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442\xa0\u0447\u0435\u0442\u043a\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u043c\u0435\u043d\u0435\u0435\n\u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u043c \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c."}),"\n",(0,s.jsx)(n.h3,{id:"\u043a\u0430\u043a-\u043e\u043d\u043e-\u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f-\u0441-fsd",children:"\u041a\u0430\u043a \u043e\u043d\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f \u0441 FSD?"}),"\n",(0,s.jsxs)(n.p,{children:["\u0412 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 FSD \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b Atomic Design \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u0434\u043b\u044f\xa0\n\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0433\u0438\u0431\u043a\u0438\u0445 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432. \u0421\u043b\u043e\u0438 ",(0,s.jsx)(n.code,{children:"atoms"})," \u0438 ",(0,s.jsx)(n.code,{children:"molecules"})," \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\xa0\n",(0,s.jsx)(n.code,{children:"shared/ui"})," \u0432 FSD, \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 UI \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.\xa0"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"\u251c\u2500\u2500 shared\n\u2502\xa0 \xa0\u251c\u2500\u2500 ui\xa0\n\u2502\xa0 \xa0\u2502\xa0 \xa0\u251c\u2500\u2500 atoms\n\u2502\xa0 \xa0\u2502\xa0 \xa0\u251c\u2500\u2500 molecules\n\u2502\xa0 \xa0...\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 FSD \u0438 Atomic Design \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0431\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043a \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e,\xa0\n\u043d\u043e \u0430\u043a\u0446\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u0430\u0445. Atomic Design \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b\xa0\n\u0438 \u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e. FSD \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u0438\u0445 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://atomicdesign.bradfrost.com/table-of-contents/",children:"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f Atomic Design"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/1653",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u0432 shared/ui"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/Yi-A20x2dcA",children:"(\u0412\u0438\u0434\u0435\u043e) \u041a\u0440\u0430\u0442\u043a\u043e \u043e Atomic Design"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=587",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e Atomic Design)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"feature-driven",children:"Feature Driven"}),"\n",(0,s.jsx)(r.Ay,{ticket:"219"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/BWAeYuWFHhs",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) Oleg Isonen - Feature Driven Architecture"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/feature-sliced/documentation/tree/rc/feature-driven",children:"Feature Driven - \u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f (\u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f FSD)"})}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},5710:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>c});var s=i(758);const t={},r=s.createContext(t);function l(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[447],{4284:(e,n,i)=>{i.d(n,{Ay:()=>o,RM:()=>d});var s=i(6070),t=i(5710),r=(i(758),i(8886)),l=i(316);const c=e=>{let{ticket:n}=e;const i=`https://github.com/feature-sliced/documentation/issues/${n}`;return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:(0,l.T)({id:"shared.wip.title"})}),(0,s.jsx)("p",{children:(0,l.T)({id:"shared.wip.subtitle"})}),(0,s.jsxs)("ul",{children:[(0,s.jsxs)("li",{children:[(0,l.T)({id:"shared.wip.var.feedback.base"}),(0,s.jsx)(r.A,{to:i,children:(0,l.T)({id:"shared.wip.var.feedback.link"})})]}),(0,s.jsxs)("li",{children:[(0,l.T)({id:"shared.wip.var.material.base"}),(0,s.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,l.T)({id:"shared.wip.var.material.link"})})]}),(0,s.jsxs)("li",{children:[(0,l.T)({id:"shared.wip.var.contribute.base"}),(0,s.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,l.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,s.jsx)("br",{}),(0,s.jsx)("p",{children:(0,s.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},d=[];function a(e){const n={admonition:"admonition",...(0,t.R)(),...e.components};return(0,s.jsx)(n.admonition,{title:"WIP",type:"caution",children:(0,s.jsx)(c,{ticket:e.ticket})})}function o(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6429:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var s=i(6070),t=i(5710),r=i(4284);const l={sidebar_class_name:"sidebar-item--wip",sidebar_position:3},c="\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b",d={id:"about/alternatives",title:"\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b",description:"\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/about/alternatives.mdx",sourceDirName:"about",slug:"/about/alternatives",permalink:"/ru/docs/about/alternatives",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/about/alternatives.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:3,frontMatter:{sidebar_class_name:"sidebar-item--wip",sidebar_position:3},sidebar:"aboutSidebar",previous:{title:"\u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f",permalink:"/ru/docs/about/motivation"},next:{title:"\u041e\u0431 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435",permalink:"/ru/docs/about/understanding/architecture"}},a={},o=[...r.RM,{value:"Big Ball of Mud",id:"big-ball-of-mud",level:2},...r.RM,{value:"Smart & Dumb components",id:"smart--dumb-components",level:2},...r.RM,{value:"Design Principles",id:"design-principles",level:2},...r.RM,{value:"DDD",id:"ddd",level:2},...r.RM,{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2},{value:"Clean Architecture",id:"clean-architecture",level:2},...r.RM,{value:"Frameworks",id:"frameworks",level:2},...r.RM,{value:"Atomic Design",id:"atomic-design",level:2},{value:"\u0427\u0442\u043e \u044d\u0442\u043e?",id:"\u0447\u0442\u043e-\u044d\u0442\u043e",level:3},{value:"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435",id:"\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c-\u0432\u043e-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435",level:3},{value:"\u041a\u0430\u043a \u043e\u043d\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f \u0441 FSD?",id:"\u043a\u0430\u043a-\u043e\u043d\u043e-\u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f-\u0441-fsd",level:3},{value:"Feature Driven",id:"feature-driven",level:2},...r.RM];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b",children:"\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b"})}),"\n",(0,s.jsx)(r.Ay,{ticket:"62"}),"\n",(0,s.jsx)(n.p,{children:"\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432"}),"\n",(0,s.jsx)(n.h2,{id:"big-ball-of-mud",children:"Big Ball of Mud"}),"\n",(0,s.jsx)(r.Ay,{ticket:"258"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u0427\u0442\u043e \u044d\u0442\u043e; \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043e; \u041a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b; \u041a\u0430\u043a \u0431\u044b\u0442\u044c; \u0418 \u043a\u0430\u043a \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c FSD"}),"\n"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://oleg008.medium.com/last-words-on-ui-architecture-before-an-ai-takes-over-468c78f18f0d",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) Oleg Isonen - Last words on UI architecture before an AI takes over"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/gna4Ynz1YNI",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u042e\u043b\u0438\u044f \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432\u0430, iSpring - Big Ball of Mud \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://thedomaindrivendesign.io/big-ball-of-mud/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) DDD - Big Ball of mud"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"smart--dumb-components",children:"Smart & Dumb components"}),"\n",(0,s.jsx)(r.Ay,{ticket:"214"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u043e\u0441\u0442\u044c, \u043f\u0440\u043e \u043d\u043e\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u043e\u0447\u0435\u043c\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u043e/\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 - \u0437\u043b\u043e"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) Dan Abramov - Presentational and Container Components (TLDR: deprecated)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"design-principles",children:"Design Principles"}),"\n",(0,s.jsx)(r.Ay,{ticket:"59"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e \u0447\u0442\u043e \u0440\u0435\u0447\u044c; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"SOLID, GRASP, KISS, YAGNI, ... - \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0438 \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435"}),"\n",(0,s.jsx)(n.p,{children:"\u0418 \u043a\u0430\u043a \u043e\u043d\u0430 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=380",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"ddd",children:"DDD"}),"\n",(0,s.jsx)(r.Ay,{ticket:"1"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u0412 \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435, \u0447\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438"}),"\n",(0,s.jsx)(n.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) DDD, Hexagonal, Onion, Clean, CQRS, \u2026 How I put it all together"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=528",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e Clean Architecture, DDD)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"clean-architecture",children:"Clean Architecture"}),"\n",(0,s.jsx)(r.Ay,{ticket:"165"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u0412 \u0447\u0435\u043c \u0441\u0445\u043e\u0436\u0438 (\u043c\u043d\u043e\u0433\u0438\u043c), \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/3897",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e use-case/interactor \u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/4592",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e DI \u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://bespoyasov.ru/blog/clean-architecture-on-frontend/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0411\u0435\u0441\u043f\u043e\u044f\u0441\u043e\u0432 - \u0427\u0438\u0441\u0442\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) DDD, Hexagonal, Onion, Clean, CQRS, \u2026 How I put it all together"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=528",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e Clean Architecture, DDD)"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://habr.com/ru/company/mobileup/blog/335382/",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u0417\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f Clean Architecture"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"frameworks",children:"Frameworks"}),"\n",(0,s.jsx)(r.Ay,{ticket:"58"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0438 \u043d\u0435 \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443; \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Framework-agnostic, conventional-\u043f\u043e\u0434\u0445\u043e\u0434"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/about/motivation",children:"(\u0421\u0442\u0430\u0442\u044c\u044f) \u041f\u0440\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438)"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/3867",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"atomic-design",children:"Atomic Design"}),"\n",(0,s.jsx)(n.h3,{id:"\u0447\u0442\u043e-\u044d\u0442\u043e",children:"\u0427\u0442\u043e \u044d\u0442\u043e?"}),"\n",(0,s.jsx)(n.p,{children:"\u0412 Atomic Design \u0441\u0444\u0435\u0440\u0430 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0438.\xa0"}),"\n",(0,s.jsxs)(n.p,{children:["Atomic Design \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 ",(0,s.jsx)(n.strong,{children:"5 \u0441\u043b\u043e\u0435\u0432"})," (\u0441\u0432\u0435\u0440\u0445\u0443 \u0432\u043d\u0438\u0437):"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"pages"})," - \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441\u043b\u043e\u044e ",(0,s.jsx)(n.code,{children:"pages"})," \u0432 FSD."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"templates"})," - \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0443."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"organisms"})," - \u041c\u043e\u0434\u0443\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u0437 \u043c\u043e\u043b\u0435\u043a\u0443\u043b, \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u043e\u0439."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"moleculs"})," - \u0411\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0435\u0442 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"atoms"})," - UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0431\u0435\u0437 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u041c\u043e\u0434\u0443\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u043b\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438\u0441\u044f \u043d\u0430 \u0441\u043b\u043e\u044f\u0445 \u043d\u0438\u0436\u0435, \u043a\u0430\u043a \u0432 FSD.\n\u0422\u043e \u0435\u0441\u0442\u044c, \u043c\u043e\u043b\u0435\u043a\u0443\u043b\u044b \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0438\u0437 \u0430\u0442\u043e\u043c\u043e\u0432, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c\u044b \u0438\u0437 \u043c\u043e\u043b\u0435\u043a\u0443\u043b, \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0438\u0437 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c\u043e\u0432, \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432.\n\u0422\u0430\u043a\u0436\u0435 Atomic Design \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 ",(0,s.jsx)(n.strong,{children:"Public API"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0434\u043b\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438."]}),"\n",(0,s.jsx)(n.h3,{id:"\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c-\u0432\u043e-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435",children:"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435"}),"\n",(0,s.jsx)(n.p,{children:"Atomic Design \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. Atomic Design \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0435\u0435 \u0441\u0440\u0435\u0434\u0438 \u0432\u0435\u0431-\u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u0432,\xa0\n\u043d\u0435\u0436\u0435\u043b\u0438 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. \u0412\u0435\u0431-\u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u044b \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Atomic Design \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0438 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0438\u0437\u0430\u0439\u043d\u043e\u0432.\xa0\n\u0412 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 Atomic Design \u0447\u0430\u0441\u0442\u043e \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438."}),"\n",(0,s.jsx)(n.p,{children:"\u041e\u0434\u043d\u0430\u043a\u043e, \u0442\u0430\u043a \u043a\u0430\u043a Atomic Design \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445 \u0438 \u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\n\u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b."}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Atomic Design \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0447\u0435\u0442\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0438,\xa0\n\u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u0438 \u0443\u0440\u043e\u0432\u043d\u044f\u043c, \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.\xa0\n\u0411\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u044b\u0442\u0430, \u0447\u0442\u043e \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442\xa0\u0447\u0435\u0442\u043a\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u043c\u0435\u043d\u0435\u0435\n\u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u043c \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c."}),"\n",(0,s.jsx)(n.h3,{id:"\u043a\u0430\u043a-\u043e\u043d\u043e-\u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f-\u0441-fsd",children:"\u041a\u0430\u043a \u043e\u043d\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f \u0441 FSD?"}),"\n",(0,s.jsxs)(n.p,{children:["\u0412 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 FSD \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b Atomic Design \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u0434\u043b\u044f\xa0\n\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0433\u0438\u0431\u043a\u0438\u0445 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432. \u0421\u043b\u043e\u0438 ",(0,s.jsx)(n.code,{children:"atoms"})," \u0438 ",(0,s.jsx)(n.code,{children:"molecules"})," \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\xa0\n",(0,s.jsx)(n.code,{children:"shared/ui"})," \u0432 FSD, \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 UI \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.\xa0"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"\u251c\u2500\u2500 shared\n\u2502\xa0 \xa0\u251c\u2500\u2500 ui\xa0\n\u2502\xa0 \xa0\u2502\xa0 \xa0\u251c\u2500\u2500 atoms\n\u2502\xa0 \xa0\u2502\xa0 \xa0\u251c\u2500\u2500 molecules\n\u2502\xa0 \xa0...\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 FSD \u0438 Atomic Design \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0431\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043a \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e,\xa0\n\u043d\u043e \u0430\u043a\u0446\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u0430\u0445. Atomic Design \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b\xa0\n\u0438 \u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e. FSD \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u0438\u0445 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://atomicdesign.bradfrost.com/table-of-contents/",children:"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f Atomic Design"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://t.me/feature_sliced/1653",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u044c \u0432 shared/ui"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/Yi-A20x2dcA",children:"(\u0412\u0438\u0434\u0435\u043e) \u041a\u0440\u0430\u0442\u043a\u043e \u043e Atomic Design"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/SnzPAr_FJ7w?t=587",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) \u0418\u043b\u044c\u044f \u0410\u0437\u0438\u043d - Feature-Sliced Design (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e Atomic Design)"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"feature-driven",children:"Feature Driven"}),"\n",(0,s.jsx)(r.Ay,{ticket:"219"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"\u041e \u043f\u043e\u0434\u0445\u043e\u0434\u0435; \u041e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435; \u043f\u043e\u0437\u0438\u0446\u0438\u044f FSD"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u041f\u0440\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/BWAeYuWFHhs",children:"(\u0414\u043e\u043a\u043b\u0430\u0434) Oleg Isonen - Feature Driven Architecture"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/feature-sliced/documentation/tree/rc/feature-driven",children:"Feature Driven - \u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f (\u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f FSD)"})}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},5710:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>c});var s=i(758);const t={},r=s.createContext(t);function l(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/457d5840.54a2ea4e.js b/ru/assets/js/457d5840.dc4620cd.js similarity index 99% rename from ru/assets/js/457d5840.54a2ea4e.js rename to ru/assets/js/457d5840.dc4620cd.js index 55596d22d9..39aec29770 100644 --- a/ru/assets/js/457d5840.54a2ea4e.js +++ b/ru/assets/js/457d5840.dc4620cd.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6744],{3575:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>j,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var i=n(6070),r=n(5710);const l={sidebar_position:1,pagination_next:"reference/slices-segments"},d="\u0421\u043b\u043e\u0438",c={id:"reference/layers",title:"\u0421\u043b\u043e\u0438",description:"\u0421\u043b\u043e\u0438 - \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0432 Feature-Sliced Design. \u0418\u0445 \u0446\u0435\u043b\u044c - \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438 \u043e\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u043d \u0437\u0430\u0432\u0438\u0441\u0438\u0442.",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/layers.mdx",sourceDirName:"reference",slug:"/reference/layers",permalink:"/ru/docs/reference/layers",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/layers.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:1,frontMatter:{sidebar_position:1,pagination_next:"reference/slices-segments"},sidebar:"referenceSidebar",previous:{title:"\ud83d\udcda \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a",permalink:"/ru/docs/reference/"},next:{title:"\u0421\u043b\u0430\u0439\u0441\u044b \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b",permalink:"/ru/docs/reference/slices-segments"}},t={},h=[{value:"\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432",id:"import-rule-on-layers",level:2},{value:"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0451\u0432",id:"\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f-\u0441\u043b\u043e\u0451\u0432",level:2},{value:"Shared",id:"shared",level:3},{value:"Entities",id:"entities",level:3},{value:"Features",id:"features",level:3},{value:"Widgets",id:"widgets",level:3},{value:"Pages",id:"pages",level:3},{value:"Processes",id:"processes",level:3},{value:"App",id:"app",level:3}];function x(e){const s={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"\u0441\u043b\u043e\u0438",children:"\u0421\u043b\u043e\u0438"})}),"\n",(0,i.jsx)(s.p,{children:"\u0421\u043b\u043e\u0438 - \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0432 Feature-Sliced Design. \u0418\u0445 \u0446\u0435\u043b\u044c - \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438 \u043e\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u043d \u0437\u0430\u0432\u0438\u0441\u0438\u0442."}),"\n",(0,i.jsx)(s.admonition,{type:"note",children:(0,i.jsxs)(s.p,{children:["\u041d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 ",(0,i.jsx)(s.em,{children:"\u043c\u043e\u0434\u0443\u043b\u044c"})," \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 - \u0444\u0430\u0439\u043b \u0438\u043b\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c. \u041d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 npm-\u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438."]})}),"\n",(0,i.jsx)(s.p,{children:"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u043e\u0439 \u043d\u0435\u0441\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u0441\u043e\u0431\u044b\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b, \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a\u0430\u043a\u0443\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u043e\u0437\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u044c \u0432 \u0432\u0430\u0448\u0435\u043c \u043a\u043e\u0434\u0435. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0451\u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Feature-Sliced Design."}),"\n",(0,i.jsxs)(s.p,{children:["\u0412\u0441\u0435\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 ",(0,i.jsx)(s.strong,{children:"7 \u0441\u043b\u043e\u0451\u0432"}),", \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u043e\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438\xa0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043a \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0439:"]}),"\n",(0,i.jsx)("img",{src:"/img/layers/folders-graphic-light.svg#light-mode-only",width:"180",style:{float:"right",margin:"0 1em"},alt:"\u0414\u0435\u0440\u0435\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 src \u0438 \u0441\u0435\u043c\u044c\u044e \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u043c\u0438: app, processes, pages, widgets, features, entities, shared. \u041f\u0430\u043f\u043a\u0430 processes \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0443\u0441\u043a\u043b\u043e."}),"\n",(0,i.jsx)("img",{src:"/img/layers/folders-graphic-dark.svg#dark-mode-only",width:"180",style:{float:"right",margin:"0 1em"},alt:"\u0414\u0435\u0440\u0435\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 src \u0438 \u0441\u0435\u043c\u044c\u044e \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u043c\u0438: app, processes, pages, widgets, features, entities, shared. \u041f\u0430\u043f\u043a\u0430 processes \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0443\u0441\u043a\u043b\u043e."}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsx)(s.li,{children:"App (\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435)"}),"\n",(0,i.jsx)(s.li,{children:"Processes (\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u0441\u043b\u043e\u0439)"}),"\n",(0,i.jsx)(s.li,{children:"Pages (\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u044b)"}),"\n",(0,i.jsx)(s.li,{children:"Widgets (\u0412\u0438\u0434\u0436\u0435\u0442\u044b)"}),"\n",(0,i.jsx)(s.li,{children:"Features (\u0424\u0438\u0447\u0438/\u0444\u0443\u043d\u043a\u0446\u0438\u0438)"}),"\n",(0,i.jsx)(s.li,{children:"Entities (\u0421\u0443\u0449\u043d\u043e\u0441\u0442\u0438)"}),"\n",(0,i.jsx)(s.li,{children:"Shared (\u041e\u0431\u0449\u0438\u0439)"}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"\u0412\u044b \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u043b\u043e\u0438 \u0432 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 - \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u043d\u043e\u0441\u044f\u0442 \u043f\u043e\u043b\u044c\u0437\u0443 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443."}),"\n",(0,i.jsx)(s.h2,{id:"import-rule-on-layers",children:"\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432"}),"\n",(0,i.jsxs)(s.p,{children:["\u0421\u043b\u043e\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0438\u0437 ",(0,i.jsx)(s.em,{children:"\u0441\u043b\u0430\u0439\u0441\u043e\u0432"})," \u2014 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u043c\u043e\u0434\u0443\u043b\u0435\u0439. Feature-Sliced Design \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043b\u0430\u0439\u0441\u0430\u043c\u0438 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f ",(0,i.jsx)(s.strong,{children:"\u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432"}),":"]}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.em,{children:"\u041c\u043e\u0434\u0443\u043b\u044c \u0432 \u0441\u043b\u0430\u0439\u0441\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043b\u0430\u0439\u0441\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u043d\u0430 \u0441\u043b\u043e\u044f\u0445 \u0441\u0442\u0440\u043e\u0433\u043e \u043d\u0438\u0436\u0435."})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 ",(0,i.jsx)(s.code,{children:"~/features/aaa"}),", \u0441\u043b\u0430\u0439\u0441\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f ",(0,i.jsx)(s.code,{children:"aaa"}),", \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0430\u0439\u043b ",(0,i.jsx)(s.code,{children:"~/features/aaa/api/request.ts"})," \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0438 \u0438\u0437 \u043a\u0430\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u043f\u0430\u043f\u043a\u0443 \u0438\u0437 ",(0,i.jsx)(s.code,{children:"~/features/bbb"}),", \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0438\u0437 ",(0,i.jsx)(s.code,{children:"~/entities"})," \u0438 ",(0,i.jsx)(s.code,{children:"~/shared"}),", \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 ",(0,i.jsx)(s.code,{children:"~/features/aaa"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f-\u0441\u043b\u043e\u0451\u0432",children:"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0451\u0432"}),"\n",(0,i.jsx)(s.h3,{id:"shared",children:"Shared"}),"\n",(0,i.jsxs)(s.p,{children:["\u0418\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u0431\u0438\u0437\u043d\u0435\u0441\u0430.\n\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043a\u0430\u043a ",(0,i.jsx)(s.a,{href:"https://sova.dev/ru/why-utils-and-helpers-is-a-dump/",children:"\u0441\u0432\u0430\u043b\u043a\u0443 \u0443\u0442\u0438\u043b\u0438\u0442"}),"!"]}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445, \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u043d\u0435 \u0438\u0437 \u0441\u043b\u0430\u0439\u0441\u043e\u0432, \u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e"}),":"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"UI-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430"}),"\n",(0,i.jsx)(s.li,{children:"API-\u043a\u043b\u0438\u0435\u043d\u0442"}),"\n",(0,i.jsx)(s.li,{children:"\u041a\u043e\u0434, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441 API \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"entities",children:"Entities"}),"\n",(0,i.jsx)(s.p,{children:"\u041f\u043e\u043d\u044f\u0442\u0438\u044f \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0438\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u044d\u0442\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0438\u0437\u043d\u0435\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430."}),"\n",(0,i.jsx)(s.p,{children:"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 CRUD (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435-\u0447\u0442\u0435\u043d\u0438\u0435-\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435-\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435)."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c"}),(0,i.jsx)("li",{children:"\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f"}),(0,i.jsx)("li",{children:"\u0413\u0440\u0443\u043f\u043f\u0430"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439"}),(0,i.jsx)("li",{children:"\u0424\u0430\u0439\u043b"}),(0,i.jsx)("li",{children:"\u041a\u043e\u043c\u043c\u0438\u0442"})]})})]})})]}),"\n",(0,i.jsxs)(s.admonition,{type:"tip",children:[(0,i.jsxs)(s.p,{children:["\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0434\u043b\u044f Git, \u0447\u0442\u043e ",(0,i.jsx)(s.em,{children:"\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439"})," \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 ",(0,i.jsx)(s.em,{children:"\u0444\u0430\u0439\u043b\u044b"}),". \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u0447\u0430\u0441\u0442\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0441 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u0442\u0440\u0443\u0434\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0430\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432."]}),(0,i.jsx)(s.p,{children:"\u0412\u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b:"}),(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"UI \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u043e\u0442\u044b \u0434\u043b\u044f \u043c\u0435\u0441\u0442, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f"}),"\n",(0,i.jsx)(s.li,{children:"\u0411\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439, \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 Features (\u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432)"}),"\n",(0,i.jsx)(s.li,{children:"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u044b \u0432 \u0441\u043b\u043e\u0439 Shared, \u0440\u044f\u0434\u043e\u043c \u0441 API-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c"}),"\n"]})]}),"\n",(0,i.jsx)(s.h3,{id:"features",children:"Features"}),"\n",(0,i.jsx)(s.p,{children:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0431\u0438\u0437\u043d\u0435\u0441-\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0447\u0442\u043e\u0431 \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u0446\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0421\u044e\u0434\u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c."}),"\n",(0,i.jsxs)(s.p,{children:["\u0421\u043b\u0430\u0439\u0441 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c ",(0,i.jsx)(s.em,{children:"\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435"})," \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a API, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0435 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "}),(0,i.jsx)("th",{children:" \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f"}),(0,i.jsx)("li",{children:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e"}),(0,i.jsx)("li",{children:"\u0412\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u0433\u0440\u0443\u043f\u043f\u0443"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b"}),(0,i.jsx)("li",{children:"\u041e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439"}),(0,i.jsx)("li",{children:"\u0421\u043b\u0438\u0442\u044c \u0432\u0435\u0442\u043a\u0438"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0451\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443"}),(0,i.jsx)("li",{children:"\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 \u0444\u043e\u043d\u0435"}),(0,i.jsx)("li",{children:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 User-Agent"})]})})]})})]}),"\n",(0,i.jsx)(s.h3,{id:"widgets",children:"Widgets"}),"\n",(0,i.jsx)(s.p,{children:"\u0421\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0435\u0434\u0438\u043d\u0438\u0446 \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438."}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u043e\u0442\u044b, \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439, \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438\u0437 \u0444\u0438\u0447. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u043d\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d\u0430 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0444\u0438\u0447\u0430\u0445. \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0435-\u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0436\u0435\u0441\u0442\u044b, \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043e\u0439 \u0438 \u0442.\u0434."}),"\n",(0,i.jsx)(s.p,{children:"\u0418\u043d\u043e\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432\u0438\u0434\u0436\u0435\u0442 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0438 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430 \u0432 \u043d\u0451\u043c \u043d\u0435 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438"}),(0,i.jsx)("li",{children:"\u0428\u0430\u043f\u043a\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438)"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0421\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 (\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438)"}),(0,i.jsx)("li",{children:"\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0432 \u0432\u0435\u0442\u043a\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432"}),(0,i.jsx)("li",{children:"\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"})]})})]})})]}),"\n",(0,i.jsx)(s.admonition,{type:"tip",children:(0,i.jsxs)(s.p,{children:["\u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u043e\u0443\u0442\u0435\u0440 ",(0,i.jsx)(s.a,{href:"https://remix.run",children:"Remix"}),"), \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0439 Widgets \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441\u043b\u043e\u044e Pages \u0432 \u043f\u043b\u043e\u0441\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 - \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0431\u044d\u043a\u0435\u043d\u0434\u0430, \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u043e\u0448\u0438\u0431\u043e\u043a. \u0422\u0430\u043a\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043b\u0435\u0439\u0430\u0443\u0442\u044b \u0434\u043b\u044f \u0441\u043b\u043e\u044f Pages."]})}),"\n",(0,i.jsx)(s.h3,{id:"pages",children:"Pages"}),"\n",(0,i.jsx)(s.p,{children:"\u041f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u043e\u0432) \u0438\u043b\u0438 \u044d\u043a\u0440\u0430\u043d\u044b/\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439)."}),"\n",(0,i.jsx)(s.p,{children:"\u041f\u043e \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u0440\u0438\u0440\u043e\u0434\u0435 \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 Widgets, \u0445\u043e\u0442\u044c \u0438 \u0432 \u0431\u043e\u043b\u044c\u0448\u0435\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0435. \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u043a \u0440\u043e\u0443\u0442\u0435\u0440\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u041b\u0435\u043d\u0442\u0430 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439"}),(0,i.jsx)("li",{children:"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430"}),(0,i.jsx)("li",{children:"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"}),(0,i.jsx)("li",{children:"\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"}),(0,i.jsx)("li",{children:"\u0412\u0435\u0442\u043a\u0438 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438"})]})})]})})]}),"\n",(0,i.jsx)(s.h3,{id:"processes",children:"Processes"}),"\n",(0,i.jsx)(s.admonition,{type:"caution",children:(0,i.jsxs)(s.p,{children:["\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c. \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 ",(0,i.jsx)(s.code,{children:"features"})," \u0438 ",(0,i.jsx)(s.code,{children:"app"}),"."]})}),"\n",(0,i.jsx)(s.p,{children:"\u0412\u044b\u0445\u043e\u0434 \u0438\u0437 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435."}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043d\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f, \u043b\u043e\u0433\u0438\u043a\u0443 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0440\u043e\u0443\u0442\u0435\u0440\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 App. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u043e\u0439 App \u0432\u044b\u0440\u0430\u0441\u0442\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0440\u0430\u0437\u0433\u0440\u0443\u0437\u043a\u0438."}),"\n",(0,i.jsx)(s.h3,{id:"app",children:"App"}),"\n",(0,i.jsx)(s.p,{children:"\u0412\u0441\u0451, \u0447\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0432 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430), \u0442\u0430\u043a \u0438 \u0432 \u0431\u0438\u0437\u043d\u0435\u0441-\u0441\u043c\u044b\u0441\u043b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430)."}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0430\u0439\u0441\u043e\u0432, \u043a\u0430\u043a \u0438 Shared, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e"}),":"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"\u0421\u0442\u0438\u043b\u0438"}),"\n",(0,i.jsx)(s.li,{children:"\u0420\u043e\u0443\u0442\u0435\u0440"}),"\n",(0,i.jsx)(s.li,{children:"\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430"}),"\n",(0,i.jsx)(s.li,{children:"\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438"}),"\n"]})]})}function j(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(x,{...e})}):x(e)}},5710:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>c});var i=n(758);const r={},l=i.createContext(r);function d(e){const s=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[6744],{3575:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>j,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var i=n(6070),r=n(5710);const l={sidebar_position:1,pagination_next:"reference/slices-segments"},d="\u0421\u043b\u043e\u0438",c={id:"reference/layers",title:"\u0421\u043b\u043e\u0438",description:"\u0421\u043b\u043e\u0438 - \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0432 Feature-Sliced Design. \u0418\u0445 \u0446\u0435\u043b\u044c - \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438 \u043e\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u043d \u0437\u0430\u0432\u0438\u0441\u0438\u0442.",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/reference/layers.mdx",sourceDirName:"reference",slug:"/reference/layers",permalink:"/ru/docs/reference/layers",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/reference/layers.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:1,frontMatter:{sidebar_position:1,pagination_next:"reference/slices-segments"},sidebar:"referenceSidebar",previous:{title:"\ud83d\udcda \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a",permalink:"/ru/docs/reference/"},next:{title:"\u0421\u043b\u0430\u0439\u0441\u044b \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b",permalink:"/ru/docs/reference/slices-segments"}},t={},h=[{value:"\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432",id:"import-rule-on-layers",level:2},{value:"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0451\u0432",id:"\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f-\u0441\u043b\u043e\u0451\u0432",level:2},{value:"Shared",id:"shared",level:3},{value:"Entities",id:"entities",level:3},{value:"Features",id:"features",level:3},{value:"Widgets",id:"widgets",level:3},{value:"Pages",id:"pages",level:3},{value:"Processes",id:"processes",level:3},{value:"App",id:"app",level:3}];function x(e){const s={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"\u0441\u043b\u043e\u0438",children:"\u0421\u043b\u043e\u0438"})}),"\n",(0,i.jsx)(s.p,{children:"\u0421\u043b\u043e\u0438 - \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0432 Feature-Sliced Design. \u0418\u0445 \u0446\u0435\u043b\u044c - \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438 \u043e\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u043d \u0437\u0430\u0432\u0438\u0441\u0438\u0442."}),"\n",(0,i.jsx)(s.admonition,{type:"note",children:(0,i.jsxs)(s.p,{children:["\u041d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 ",(0,i.jsx)(s.em,{children:"\u043c\u043e\u0434\u0443\u043b\u044c"})," \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 - \u0444\u0430\u0439\u043b \u0438\u043b\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c. \u041d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 npm-\u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438."]})}),"\n",(0,i.jsx)(s.p,{children:"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u043e\u0439 \u043d\u0435\u0441\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u0441\u043e\u0431\u044b\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b, \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a\u0430\u043a\u0443\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u043e\u0437\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u044c \u0432 \u0432\u0430\u0448\u0435\u043c \u043a\u043e\u0434\u0435. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0451\u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Feature-Sliced Design."}),"\n",(0,i.jsxs)(s.p,{children:["\u0412\u0441\u0435\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 ",(0,i.jsx)(s.strong,{children:"7 \u0441\u043b\u043e\u0451\u0432"}),", \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u043e\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438\xa0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043a \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0439:"]}),"\n",(0,i.jsx)("img",{src:"/img/layers/folders-graphic-light.svg#light-mode-only",width:"180",style:{float:"right",margin:"0 1em"},alt:"\u0414\u0435\u0440\u0435\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 src \u0438 \u0441\u0435\u043c\u044c\u044e \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u043c\u0438: app, processes, pages, widgets, features, entities, shared. \u041f\u0430\u043f\u043a\u0430 processes \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0443\u0441\u043a\u043b\u043e."}),"\n",(0,i.jsx)("img",{src:"/img/layers/folders-graphic-dark.svg#dark-mode-only",width:"180",style:{float:"right",margin:"0 1em"},alt:"\u0414\u0435\u0440\u0435\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 src \u0438 \u0441\u0435\u043c\u044c\u044e \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u043c\u0438: app, processes, pages, widgets, features, entities, shared. \u041f\u0430\u043f\u043a\u0430 processes \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0443\u0441\u043a\u043b\u043e."}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsx)(s.li,{children:"App (\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435)"}),"\n",(0,i.jsx)(s.li,{children:"Processes (\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u0441\u043b\u043e\u0439)"}),"\n",(0,i.jsx)(s.li,{children:"Pages (\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u044b)"}),"\n",(0,i.jsx)(s.li,{children:"Widgets (\u0412\u0438\u0434\u0436\u0435\u0442\u044b)"}),"\n",(0,i.jsx)(s.li,{children:"Features (\u0424\u0438\u0447\u0438/\u0444\u0443\u043d\u043a\u0446\u0438\u0438)"}),"\n",(0,i.jsx)(s.li,{children:"Entities (\u0421\u0443\u0449\u043d\u043e\u0441\u0442\u0438)"}),"\n",(0,i.jsx)(s.li,{children:"Shared (\u041e\u0431\u0449\u0438\u0439)"}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"\u0412\u044b \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u043b\u043e\u0438 \u0432 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 - \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u043d\u043e\u0441\u044f\u0442 \u043f\u043e\u043b\u044c\u0437\u0443 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443."}),"\n",(0,i.jsx)(s.h2,{id:"import-rule-on-layers",children:"\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432"}),"\n",(0,i.jsxs)(s.p,{children:["\u0421\u043b\u043e\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0438\u0437 ",(0,i.jsx)(s.em,{children:"\u0441\u043b\u0430\u0439\u0441\u043e\u0432"})," \u2014 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u0446\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u043c\u043e\u0434\u0443\u043b\u0435\u0439. Feature-Sliced Design \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043b\u0430\u0439\u0441\u0430\u043c\u0438 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f ",(0,i.jsx)(s.strong,{children:"\u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432"}),":"]}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.em,{children:"\u041c\u043e\u0434\u0443\u043b\u044c \u0432 \u0441\u043b\u0430\u0439\u0441\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043b\u0430\u0439\u0441\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u043d\u0430 \u0441\u043b\u043e\u044f\u0445 \u0441\u0442\u0440\u043e\u0433\u043e \u043d\u0438\u0436\u0435."})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 ",(0,i.jsx)(s.code,{children:"~/features/aaa"}),", \u0441\u043b\u0430\u0439\u0441\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f ",(0,i.jsx)(s.code,{children:"aaa"}),", \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0430\u0439\u043b ",(0,i.jsx)(s.code,{children:"~/features/aaa/api/request.ts"})," \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0438 \u0438\u0437 \u043a\u0430\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u043f\u0430\u043f\u043a\u0443 \u0438\u0437 ",(0,i.jsx)(s.code,{children:"~/features/bbb"}),", \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0438\u0437 ",(0,i.jsx)(s.code,{children:"~/entities"})," \u0438 ",(0,i.jsx)(s.code,{children:"~/shared"}),", \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 ",(0,i.jsx)(s.code,{children:"~/features/aaa"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f-\u0441\u043b\u043e\u0451\u0432",children:"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0451\u0432"}),"\n",(0,i.jsx)(s.h3,{id:"shared",children:"Shared"}),"\n",(0,i.jsxs)(s.p,{children:["\u0418\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u0431\u0438\u0437\u043d\u0435\u0441\u0430.\n\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043a\u0430\u043a ",(0,i.jsx)(s.a,{href:"https://sova.dev/ru/why-utils-and-helpers-is-a-dump/",children:"\u0441\u0432\u0430\u043b\u043a\u0443 \u0443\u0442\u0438\u043b\u0438\u0442"}),"!"]}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445, \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u043d\u0435 \u0438\u0437 \u0441\u043b\u0430\u0439\u0441\u043e\u0432, \u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e"}),":"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"UI-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430"}),"\n",(0,i.jsx)(s.li,{children:"API-\u043a\u043b\u0438\u0435\u043d\u0442"}),"\n",(0,i.jsx)(s.li,{children:"\u041a\u043e\u0434, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441 API \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"entities",children:"Entities"}),"\n",(0,i.jsx)(s.p,{children:"\u041f\u043e\u043d\u044f\u0442\u0438\u044f \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0438\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u044d\u0442\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0438\u0437\u043d\u0435\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430."}),"\n",(0,i.jsx)(s.p,{children:"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 CRUD (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435-\u0447\u0442\u0435\u043d\u0438\u0435-\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435-\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435)."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c"}),(0,i.jsx)("li",{children:"\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f"}),(0,i.jsx)("li",{children:"\u0413\u0440\u0443\u043f\u043f\u0430"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439"}),(0,i.jsx)("li",{children:"\u0424\u0430\u0439\u043b"}),(0,i.jsx)("li",{children:"\u041a\u043e\u043c\u043c\u0438\u0442"})]})})]})})]}),"\n",(0,i.jsxs)(s.admonition,{type:"tip",children:[(0,i.jsxs)(s.p,{children:["\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0434\u043b\u044f Git, \u0447\u0442\u043e ",(0,i.jsx)(s.em,{children:"\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439"})," \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 ",(0,i.jsx)(s.em,{children:"\u0444\u0430\u0439\u043b\u044b"}),". \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u0447\u0430\u0441\u0442\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0441 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u0442\u0440\u0443\u0434\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0430\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u043e\u0451\u0432."]}),(0,i.jsx)(s.p,{children:"\u0412\u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b:"}),(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"UI \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u043e\u0442\u044b \u0434\u043b\u044f \u043c\u0435\u0441\u0442, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f"}),"\n",(0,i.jsx)(s.li,{children:"\u0411\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439, \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 Features (\u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432)"}),"\n",(0,i.jsx)(s.li,{children:"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u044b \u0432 \u0441\u043b\u043e\u0439 Shared, \u0440\u044f\u0434\u043e\u043c \u0441 API-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c"}),"\n"]})]}),"\n",(0,i.jsx)(s.h3,{id:"features",children:"Features"}),"\n",(0,i.jsx)(s.p,{children:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0431\u0438\u0437\u043d\u0435\u0441-\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0447\u0442\u043e\u0431 \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u0446\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0421\u044e\u0434\u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c."}),"\n",(0,i.jsxs)(s.p,{children:["\u0421\u043b\u0430\u0439\u0441 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c ",(0,i.jsx)(s.em,{children:"\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435"})," \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a API, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0435 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "}),(0,i.jsx)("th",{children:" \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f"}),(0,i.jsx)("li",{children:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e"}),(0,i.jsx)("li",{children:"\u0412\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u0433\u0440\u0443\u043f\u043f\u0443"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b"}),(0,i.jsx)("li",{children:"\u041e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439"}),(0,i.jsx)("li",{children:"\u0421\u043b\u0438\u0442\u044c \u0432\u0435\u0442\u043a\u0438"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0451\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443"}),(0,i.jsx)("li",{children:"\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 \u0444\u043e\u043d\u0435"}),(0,i.jsx)("li",{children:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 User-Agent"})]})})]})})]}),"\n",(0,i.jsx)(s.h3,{id:"widgets",children:"Widgets"}),"\n",(0,i.jsx)(s.p,{children:"\u0421\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0435\u0434\u0438\u043d\u0438\u0446 \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438."}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u043e\u0442\u044b, \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439, \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438\u0437 \u0444\u0438\u0447. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u043d\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d\u0430 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0444\u0438\u0447\u0430\u0445. \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0435-\u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0436\u0435\u0441\u0442\u044b, \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043e\u0439 \u0438 \u0442.\u0434."}),"\n",(0,i.jsx)(s.p,{children:"\u0418\u043d\u043e\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432\u0438\u0434\u0436\u0435\u0442 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0438 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0430 \u0432 \u043d\u0451\u043c \u043d\u0435 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438"}),(0,i.jsx)("li",{children:"\u0428\u0430\u043f\u043a\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438)"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0421\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 (\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438)"}),(0,i.jsx)("li",{children:"\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0432 \u0432\u0435\u0442\u043a\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432"}),(0,i.jsx)("li",{children:"\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"})]})})]})})]}),"\n",(0,i.jsx)(s.admonition,{type:"tip",children:(0,i.jsxs)(s.p,{children:["\u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u043e\u0443\u0442\u0435\u0440 ",(0,i.jsx)(s.a,{href:"https://remix.run",children:"Remix"}),"), \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0439 Widgets \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441\u043b\u043e\u044e Pages \u0432 \u043f\u043b\u043e\u0441\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 - \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0431\u044d\u043a\u0435\u043d\u0434\u0430, \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u043e\u0448\u0438\u0431\u043e\u043a. \u0422\u0430\u043a\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043b\u0435\u0439\u0430\u0443\u0442\u044b \u0434\u043b\u044f \u0441\u043b\u043e\u044f Pages."]})}),"\n",(0,i.jsx)(s.h3,{id:"pages",children:"Pages"}),"\n",(0,i.jsx)(s.p,{children:"\u041f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u043e\u0432) \u0438\u043b\u0438 \u044d\u043a\u0440\u0430\u043d\u044b/\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439)."}),"\n",(0,i.jsx)(s.p,{children:"\u041f\u043e \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u0440\u0438\u0440\u043e\u0434\u0435 \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 Widgets, \u0445\u043e\u0442\u044c \u0438 \u0432 \u0431\u043e\u043b\u044c\u0448\u0435\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0435. \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u043a \u0440\u043e\u0443\u0442\u0435\u0440\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043b\u0430\u0439\u0441\u043e\u0432"}),":"]}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:" \u0414\u043b\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 "}),(0,i.jsx)("th",{children:" \u0414\u043b\u044f Git-\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub) "})]})}),(0,i.jsx)("tbody",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u041b\u0435\u043d\u0442\u0430 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439"}),(0,i.jsx)("li",{children:"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430"}),(0,i.jsx)("li",{children:"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"})]})}),(0,i.jsx)("td",{children:(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"}),(0,i.jsx)("li",{children:"\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"}),(0,i.jsx)("li",{children:"\u0412\u0435\u0442\u043a\u0438 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438"})]})})]})})]}),"\n",(0,i.jsx)(s.h3,{id:"processes",children:"Processes"}),"\n",(0,i.jsx)(s.admonition,{type:"caution",children:(0,i.jsxs)(s.p,{children:["\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c. \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 ",(0,i.jsx)(s.code,{children:"features"})," \u0438 ",(0,i.jsx)(s.code,{children:"app"}),"."]})}),"\n",(0,i.jsx)(s.p,{children:"\u0412\u044b\u0445\u043e\u0434 \u0438\u0437 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435."}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043d\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f, \u043b\u043e\u0433\u0438\u043a\u0443 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0440\u043e\u0443\u0442\u0435\u0440\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 App. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u043e\u0439 App \u0432\u044b\u0440\u0430\u0441\u0442\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0440\u0430\u0437\u0433\u0440\u0443\u0437\u043a\u0438."}),"\n",(0,i.jsx)(s.h3,{id:"app",children:"App"}),"\n",(0,i.jsx)(s.p,{children:"\u0412\u0441\u0451, \u0447\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0432 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430), \u0442\u0430\u043a \u0438 \u0432 \u0431\u0438\u0437\u043d\u0435\u0441-\u0441\u043c\u044b\u0441\u043b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430)."}),"\n",(0,i.jsx)(s.p,{children:"\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0430\u0439\u0441\u043e\u0432, \u043a\u0430\u043a \u0438 Shared, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e"}),":"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"\u0421\u0442\u0438\u043b\u0438"}),"\n",(0,i.jsx)(s.li,{children:"\u0420\u043e\u0443\u0442\u0435\u0440"}),"\n",(0,i.jsx)(s.li,{children:"\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430"}),"\n",(0,i.jsx)(s.li,{children:"\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438"}),"\n"]})]})}function j(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(x,{...e})}):x(e)}},5710:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>c});var i=n(758);const r={},l=i.createContext(r);function d(e){const s=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/4eea1952.42c103cd.js b/ru/assets/js/4eea1952.32dbcc5e.js similarity index 98% rename from ru/assets/js/4eea1952.42c103cd.js rename to ru/assets/js/4eea1952.32dbcc5e.js index 8a71920347..80f5e95bd9 100644 --- a/ru/assets/js/4eea1952.42c103cd.js +++ b/ru/assets/js/4eea1952.32dbcc5e.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[887],{4284:(e,t,i)=>{i.d(t,{Ay:()=>u,RM:()=>a});var n=i(6070),s=i(5710),r=(i(758),i(8886)),c=i(316);const d=e=>{let{ticket:t}=e;const i=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.title"})}),(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.subtitle"})}),(0,n.jsxs)("ul",{children:[(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.feedback.base"}),(0,n.jsx)(r.A,{to:i,children:(0,c.T)({id:"shared.wip.var.feedback.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.material.base"}),(0,n.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,c.T)({id:"shared.wip.var.material.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.contribute.base"}),(0,n.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,c.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,n.jsx)("br",{}),(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},a=[];function o(e){const t={admonition:"admonition",...(0,s.R)(),...e.components};return(0,n.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,n.jsx)(d,{ticket:e.ticket})})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},737:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>p,frontMatter:()=>c,metadata:()=>a,toc:()=>u});var n=i(6070),s=i(5710),r=i(4284);const c={sidebar_class_name:"sidebar-item--wip",unlisted:!0},d="\u041c\u0435\u0442\u0440\u0438\u043a\u0430",a={id:"guides/examples/metric",title:"\u041c\u0435\u0442\u0440\u0438\u043a\u0430",description:"\u041f\u0440\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/metric.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/metric",permalink:"/ru/docs/guides/examples/metric",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/metric.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{sidebar_class_name:"sidebar-item--wip",unlisted:!0},sidebar:"guidesSidebar"},o={},u=[...r.RM];function l(e){const t={blockquote:"blockquote",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"\u043c\u0435\u0442\u0440\u0438\u043a\u0430",children:"\u041c\u0435\u0442\u0440\u0438\u043a\u0430"})}),"\n",(0,n.jsx)(r.Ay,{ticket:"181"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u041f\u0440\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438"}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5710:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>d});var n=i(758);const s={},r=n.createContext(s);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[887],{4284:(e,t,i)=>{i.d(t,{Ay:()=>u,RM:()=>a});var n=i(6070),s=i(5710),r=(i(758),i(8886)),c=i(316);const d=e=>{let{ticket:t}=e;const i=`https://github.com/feature-sliced/documentation/issues/${t}`;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.title"})}),(0,n.jsx)("p",{children:(0,c.T)({id:"shared.wip.subtitle"})}),(0,n.jsxs)("ul",{children:[(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.feedback.base"}),(0,n.jsx)(r.A,{to:i,children:(0,c.T)({id:"shared.wip.var.feedback.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.material.base"}),(0,n.jsx)(r.A,{to:"https://t.me/feature_sliced",children:(0,c.T)({id:"shared.wip.var.material.link"})})]}),(0,n.jsxs)("li",{children:[(0,c.T)({id:"shared.wip.var.contribute.base"}),(0,n.jsx)(r.A,{to:"https://github.com/feature-sliced/documentation/blob/master/CONTRIBUTING.md",children:(0,c.T)({id:"shared.wip.var.contribute.link"})})]})]}),(0,n.jsx)("br",{}),(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"\ud83c\udf70 Stay tuned!"})})]})},a=[];function o(e){const t={admonition:"admonition",...(0,s.R)(),...e.components};return(0,n.jsx)(t.admonition,{title:"WIP",type:"caution",children:(0,n.jsx)(d,{ticket:e.ticket})})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},737:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>p,frontMatter:()=>c,metadata:()=>a,toc:()=>u});var n=i(6070),s=i(5710),r=i(4284);const c={sidebar_class_name:"sidebar-item--wip",unlisted:!0},d="\u041c\u0435\u0442\u0440\u0438\u043a\u0430",a={id:"guides/examples/metric",title:"\u041c\u0435\u0442\u0440\u0438\u043a\u0430",description:"\u041f\u0440\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/metric.mdx",sourceDirName:"guides/examples",slug:"/guides/examples/metric",permalink:"/ru/docs/guides/examples/metric",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/examples/metric.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{sidebar_class_name:"sidebar-item--wip",unlisted:!0},sidebar:"guidesSidebar"},o={},u=[...r.RM];function l(e){const t={blockquote:"blockquote",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"\u043c\u0435\u0442\u0440\u0438\u043a\u0430",children:"\u041c\u0435\u0442\u0440\u0438\u043a\u0430"})}),"\n",(0,n.jsx)(r.Ay,{ticket:"181"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"\u041f\u0440\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438"}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5710:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>d});var n=i(758);const s={},r=n.createContext(s);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/58b64b99.474141b1.js b/ru/assets/js/58b64b99.406fc451.js similarity index 99% rename from ru/assets/js/58b64b99.474141b1.js rename to ru/assets/js/58b64b99.406fc451.js index 30440e6c7f..6b47e654bc 100644 --- a/ru/assets/js/58b64b99.474141b1.js +++ b/ru/assets/js/58b64b99.406fc451.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[8056],{699:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>p,contentTitle:()=>r,default:()=>l,frontMatter:()=>c,metadata:()=>i,toc:()=>a});var t=n(6070),d=n(5710);const c={sidebar_position:10},r="\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS",i={id:"guides/tech/with-nextjs",title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS",description:"\u0412 NextJS \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c FSD, \u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 NextJS \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 FSD \u0432 \u0434\u0432\u0443\u0445 \u043f\u0443\u043d\u043a\u0442\u0430\u0445:",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/tech/with-nextjs.mdx",sourceDirName:"guides/tech",slug:"/guides/tech/with-nextjs",permalink:"/ru/docs/guides/tech/with-nextjs",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/tech/with-nextjs.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"guidesSidebar",previous:{title:"\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441 v1",permalink:"/ru/docs/guides/migration/from-v1"},next:{title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NuxtJS",permalink:"/ru/docs/guides/tech/with-nuxtjs"}},p={},a=[{value:"\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043c\u0435\u0436\u0434\u0443 FSD \u0438 NextJS \u0432 \u0441\u043b\u043e\u0435 pages",id:"pages-conflict",level:2},{value:"\u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 pages NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)",id:"\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-nextjs-\u0432-\u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e-\u043f\u0430\u043f\u043a\u0443-\u043f\u0440\u043e\u0435\u043a\u0442\u0430-\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f",level:3},{value:"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 pages \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSD",id:"\u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-\u0432-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435-fsd",level:3},{value:"\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 app \u0432 NextJS",id:"app-absence",level:2},{value:"\u0418\u043c\u043f\u043e\u0440\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 pages/_app.tsx",id:"\u0438\u043c\u043f\u043e\u0440\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438-\u0432-pages_apptsx",level:3},{value:"\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 App Router",id:"app-router",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-\u0441-nextjs",children:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS"})}),"\n",(0,t.jsx)(s.p,{children:"\u0412 NextJS \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c FSD, \u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 NextJS \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 FSD \u0432 \u0434\u0432\u0443\u0445 \u043f\u0443\u043d\u043a\u0442\u0430\u0445:\xa0"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0441\u043b\u043e\u0435 ",(0,t.jsx)(s.code,{children:"pages"})]}),"\n",(0,t.jsxs)(s.li,{children:["\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0438\u043b\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u043b\u043e\u044f ",(0,t.jsx)(s.code,{children:"app"})," \u0432 NextJS"]}),"\n"]}),"\n",(0,t.jsxs)(s.h2,{id:"pages-conflict",children:["\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043c\u0435\u0436\u0434\u0443 FSD \u0438 NextJS \u0432 \u0441\u043b\u043e\u0435 ",(0,t.jsx)(s.code,{children:"pages"})]}),"\n",(0,t.jsxs)(s.p,{children:["NextJS \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"pages"})," \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. NextJS \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0435 ",(0,t.jsx)(s.code,{children:"pages"})," \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c URL-\u0430\u0434\u0440\u0435\u0441\u0430\u043c.\n\u042d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 ",(0,t.jsx)(s.strong,{children:"\u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442"})," \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 FSD, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u0442\u0430\u043a\u043e\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u043b\u044e\u0441\u0442\u0438 \u043f\u043b\u043e\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u043b\u0430\u0439\u0441\u043e\u0432."]}),"\n",(0,t.jsxs)(s.h3,{id:"\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-nextjs-\u0432-\u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e-\u043f\u0430\u043f\u043a\u0443-\u043f\u0440\u043e\u0435\u043a\u0442\u0430-\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f",children:["\u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)"]}),"\n",(0,t.jsxs)(s.p,{children:["\u041f\u043e\u0434\u0445\u043e\u0434 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 FSD \u0432 \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS. \u042d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\n\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FSD \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"src"}),"."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"\u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (NextJS)\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u251c\u2500\u2500 entities\n\u2502 \u251c\u2500\u2500 features\n\u2502 \u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (FSD)\n\u2502 \u251c\u2500\u2500 shared\n\u2502 \u251c\u2500\u2500 widgets\n"})}),"\n",(0,t.jsxs)(s.h3,{id:"\u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-\u0432-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435-fsd",children:["\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"})," \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSD"]}),"\n",(0,t.jsxs)(s.p,{children:["\u0414\u0440\u0443\u0433\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 - \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSD, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0441 \u043f\u0430\u043f\u043a\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS.\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," \u0432 FSD \u0432 ",(0,t.jsx)(s.code,{children:"views"}),".\xa0\n\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0430\u043f\u043a\u0435 ",(0,t.jsx)(s.code,{children:"src"})," \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0439 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 NextJS."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"\u251c\u2500\u2500 app\n\u251c\u2500\u2500 entities\n\u251c\u2500\u2500 features\n\u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (NextJS)\n\u251c\u2500\u2500 views # \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 FSD\n\u251c\u2500\u2500 shared\n\u251c\u2500\u2500 widgets\n"})}),"\n",(0,t.jsxs)(s.p,{children:["\u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0432\u0438\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u0432 README \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u0447\u0430\u0441\u0442\u044c ",(0,t.jsx)(s.a,{href:"/docs/about/understanding/knowledge-types",children:'"\u043f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439"'}),"."]}),"\n",(0,t.jsxs)(s.h2,{id:"app-absence",children:["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"})," \u0432 NextJS"]}),"\n",(0,t.jsxs)(s.p,{children:["\u0412 NextJS \u043d\u0438\u0436\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u043d\u0435\u0442 \u044f\u0432\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"}),", \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e NextJS \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0430\u0439\u043b ",(0,t.jsx)(s.code,{children:"_app.tsx"}),",\n\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0433\u0440\u0430\u0435\u0442 \u0440\u043e\u043b\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043e\u0431\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0440\u043e\u0435\u043a\u0442\u0430."]}),"\n",(0,t.jsxs)(s.h3,{id:"\u0438\u043c\u043f\u043e\u0440\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438-\u0432-pages_apptsx",children:["\u0418\u043c\u043f\u043e\u0440\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 ",(0,t.jsx)(s.code,{children:"pages/_app.tsx"})]}),"\n",(0,t.jsxs)(s.p,{children:["\u0427\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"})," \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 NextJS, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 ",(0,t.jsx)(s.code,{children:"App"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f ",(0,t.jsx)(s.code,{children:"app"})," \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 ",(0,t.jsx)(s.code,{children:"App"})," \u0432 ",(0,t.jsx)(s.code,{children:"pages/_app.tsx"}),", \u0447\u0442\u043e\u0431\u044b NextJS \u043c\u043e\u0433 \u0441 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-tsx",children:"// app/providers/index.tsx\n\nconst App = ({ Component, pageProps }: AppProps) => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n"})}),"\n",(0,t.jsxs)(s.p,{children:["\u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 ",(0,t.jsx)(s.code,{children:"App"})," \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 ",(0,t.jsx)(s.code,{children:"pages/_app.tsx"})," \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-tsx",children:"// pages/_app.tsx\n\nimport 'app/styles/index.scss'\n\nexport { default } from 'app/providers';\n"})}),"\n",(0,t.jsx)(s.h2,{id:"app-router",children:"\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 App Router"}),"\n",(0,t.jsxs)(s.p,{children:["App Router \u0441\u0442\u0430\u043b \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0432 NextJS \u0432\u0435\u0440\u0441\u0438\u0438 13.4. App Router \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"app"})," \u0434\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"}),".\n\u0414\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c FSD, \u0432\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0430\u043f\u043a\u043e\u0439 ",(0,t.jsx)(s.code,{children:"app"})," NextJS \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f\n\u0434\u043b\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430 \u0441 \u043f\u0430\u043f\u043a\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS."]}),"\n",(0,t.jsxs)(s.p,{children:["\u041f\u043e\u0434\u0445\u043e\u0434 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"})," NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 FSD \u0432 \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"app"})," NextJS. \u042d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\n\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FSD \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"src"}),". \u0412\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"pages"}),", \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e App Router \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 Pages Router."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{children:"\u251c\u2500\u2500 app # \u041f\u0430\u043f\u043a\u0430 app (NextJS)\n\u251c\u2500\u2500 pages # \u041f\u0443\u0441\u0442\u0430\u044f \u043f\u0430\u043f\u043a\u0430 pages (NextJS)\n\u2502 \u251c\u2500\u2500 README.md # \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u044d\u0442\u0430 \u043f\u0430\u043f\u043a\u0430\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app # \u041f\u0430\u043f\u043a\u0430 app (FSD)\n\u2502 \u251c\u2500\u2500 entities\n\u2502 \u251c\u2500\u2500 features\n\u2502 \u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (FSD)\n\u2502 \u251c\u2500\u2500 shared\n\u2502 \u251c\u2500\u2500 widgets\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://stackblitz.com/edit/stackblitz-starters-aiez55?file=README.md",children:(0,t.jsx)(s.img,{src:"https://developer.stackblitz.com/img/open_in_stackblitz.svg",alt:"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 StackBlitz"})})}),"\n",(0,t.jsx)(s.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://t.me/feature_sliced/3623",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e pages \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0432 NextJS"})}),"\n"]})]})}function l(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},5710:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>i});var t=n(758);const d={},c=t.createContext(d);function r(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[8056],{699:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>p,contentTitle:()=>r,default:()=>l,frontMatter:()=>c,metadata:()=>i,toc:()=>a});var t=n(6070),d=n(5710);const c={sidebar_position:10},r="\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS",i={id:"guides/tech/with-nextjs",title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS",description:"\u0412 NextJS \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c FSD, \u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 NextJS \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 FSD \u0432 \u0434\u0432\u0443\u0445 \u043f\u0443\u043d\u043a\u0442\u0430\u0445:",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/tech/with-nextjs.mdx",sourceDirName:"guides/tech",slug:"/guides/tech/with-nextjs",permalink:"/ru/docs/guides/tech/with-nextjs",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/tech/with-nextjs.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"guidesSidebar",previous:{title:"\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441 v1",permalink:"/ru/docs/guides/migration/from-v1"},next:{title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NuxtJS",permalink:"/ru/docs/guides/tech/with-nuxtjs"}},p={},a=[{value:"\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043c\u0435\u0436\u0434\u0443 FSD \u0438 NextJS \u0432 \u0441\u043b\u043e\u0435 pages",id:"pages-conflict",level:2},{value:"\u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 pages NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)",id:"\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-nextjs-\u0432-\u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e-\u043f\u0430\u043f\u043a\u0443-\u043f\u0440\u043e\u0435\u043a\u0442\u0430-\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f",level:3},{value:"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 pages \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSD",id:"\u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-\u0432-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435-fsd",level:3},{value:"\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 app \u0432 NextJS",id:"app-absence",level:2},{value:"\u0418\u043c\u043f\u043e\u0440\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 pages/_app.tsx",id:"\u0438\u043c\u043f\u043e\u0440\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438-\u0432-pages_apptsx",level:3},{value:"\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 App Router",id:"app-router",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"see-also",level:2}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-\u0441-nextjs",children:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS"})}),"\n",(0,t.jsx)(s.p,{children:"\u0412 NextJS \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c FSD, \u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 NextJS \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 FSD \u0432 \u0434\u0432\u0443\u0445 \u043f\u0443\u043d\u043a\u0442\u0430\u0445:\xa0"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0441\u043b\u043e\u0435 ",(0,t.jsx)(s.code,{children:"pages"})]}),"\n",(0,t.jsxs)(s.li,{children:["\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0438\u043b\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u043b\u043e\u044f ",(0,t.jsx)(s.code,{children:"app"})," \u0432 NextJS"]}),"\n"]}),"\n",(0,t.jsxs)(s.h2,{id:"pages-conflict",children:["\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043c\u0435\u0436\u0434\u0443 FSD \u0438 NextJS \u0432 \u0441\u043b\u043e\u0435 ",(0,t.jsx)(s.code,{children:"pages"})]}),"\n",(0,t.jsxs)(s.p,{children:["NextJS \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"pages"})," \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. NextJS \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0435 ",(0,t.jsx)(s.code,{children:"pages"})," \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c URL-\u0430\u0434\u0440\u0435\u0441\u0430\u043c.\n\u042d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 ",(0,t.jsx)(s.strong,{children:"\u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442"})," \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 FSD, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u0442\u0430\u043a\u043e\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u043b\u044e\u0441\u0442\u0438 \u043f\u043b\u043e\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u043b\u0430\u0439\u0441\u043e\u0432."]}),"\n",(0,t.jsxs)(s.h3,{id:"\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-nextjs-\u0432-\u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e-\u043f\u0430\u043f\u043a\u0443-\u043f\u0440\u043e\u0435\u043a\u0442\u0430-\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f",children:["\u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)"]}),"\n",(0,t.jsxs)(s.p,{children:["\u041f\u043e\u0434\u0445\u043e\u0434 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 FSD \u0432 \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS. \u042d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\n\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FSD \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"src"}),"."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"\u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (NextJS)\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u251c\u2500\u2500 entities\n\u2502 \u251c\u2500\u2500 features\n\u2502 \u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (FSD)\n\u2502 \u251c\u2500\u2500 shared\n\u2502 \u251c\u2500\u2500 widgets\n"})}),"\n",(0,t.jsxs)(s.h3,{id:"\u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435-\u043f\u0430\u043f\u043a\u0438-pages-\u0432-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435-fsd",children:["\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"})," \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSD"]}),"\n",(0,t.jsxs)(s.p,{children:["\u0414\u0440\u0443\u0433\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 - \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 FSD, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0441 \u043f\u0430\u043f\u043a\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS.\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," \u0432 FSD \u0432 ",(0,t.jsx)(s.code,{children:"views"}),".\xa0\n\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0430\u043f\u043a\u0435 ",(0,t.jsx)(s.code,{children:"src"})," \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0439 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 NextJS."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"\u251c\u2500\u2500 app\n\u251c\u2500\u2500 entities\n\u251c\u2500\u2500 features\n\u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (NextJS)\n\u251c\u2500\u2500 views # \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 FSD\n\u251c\u2500\u2500 shared\n\u251c\u2500\u2500 widgets\n"})}),"\n",(0,t.jsxs)(s.p,{children:["\u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0432\u0438\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u0432 README \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u0447\u0430\u0441\u0442\u044c ",(0,t.jsx)(s.a,{href:"/docs/about/understanding/knowledge-types",children:'"\u043f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439"'}),"."]}),"\n",(0,t.jsxs)(s.h2,{id:"app-absence",children:["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"})," \u0432 NextJS"]}),"\n",(0,t.jsxs)(s.p,{children:["\u0412 NextJS \u043d\u0438\u0436\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 13 \u043d\u0435\u0442 \u044f\u0432\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"}),", \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e NextJS \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0430\u0439\u043b ",(0,t.jsx)(s.code,{children:"_app.tsx"}),",\n\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0433\u0440\u0430\u0435\u0442 \u0440\u043e\u043b\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043e\u0431\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0440\u043e\u0435\u043a\u0442\u0430."]}),"\n",(0,t.jsxs)(s.h3,{id:"\u0438\u043c\u043f\u043e\u0440\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438-\u0432-pages_apptsx",children:["\u0418\u043c\u043f\u043e\u0440\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 ",(0,t.jsx)(s.code,{children:"pages/_app.tsx"})]}),"\n",(0,t.jsxs)(s.p,{children:["\u0427\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"})," \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 NextJS, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 ",(0,t.jsx)(s.code,{children:"App"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f ",(0,t.jsx)(s.code,{children:"app"})," \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 ",(0,t.jsx)(s.code,{children:"App"})," \u0432 ",(0,t.jsx)(s.code,{children:"pages/_app.tsx"}),", \u0447\u0442\u043e\u0431\u044b NextJS \u043c\u043e\u0433 \u0441 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-tsx",children:"// app/providers/index.tsx\n\nconst App = ({ Component, pageProps }: AppProps) => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n"})}),"\n",(0,t.jsxs)(s.p,{children:["\u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 ",(0,t.jsx)(s.code,{children:"App"})," \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 ",(0,t.jsx)(s.code,{children:"pages/_app.tsx"})," \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-tsx",children:"// pages/_app.tsx\n\nimport 'app/styles/index.scss'\n\nexport { default } from 'app/providers';\n"})}),"\n",(0,t.jsx)(s.h2,{id:"app-router",children:"\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 App Router"}),"\n",(0,t.jsxs)(s.p,{children:["App Router \u0441\u0442\u0430\u043b \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0432 NextJS \u0432\u0435\u0440\u0441\u0438\u0438 13.4. App Router \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"app"})," \u0434\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"pages"}),".\n\u0414\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c FSD, \u0432\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0430\u043f\u043a\u043e\u0439 ",(0,t.jsx)(s.code,{children:"app"})," NextJS \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f\n\u0434\u043b\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430 \u0441 \u043f\u0430\u043f\u043a\u043e\u0439 ",(0,t.jsx)(s.code,{children:"pages"})," NextJS."]}),"\n",(0,t.jsxs)(s.p,{children:["\u041f\u043e\u0434\u0445\u043e\u0434 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"app"})," NextJS \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 FSD \u0432 \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"app"})," NextJS. \u042d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\n\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FSD \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(s.code,{children:"src"}),". \u0412\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0430\u043f\u043a\u0443 ",(0,t.jsx)(s.code,{children:"pages"}),", \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e App Router \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 Pages Router."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{children:"\u251c\u2500\u2500 app # \u041f\u0430\u043f\u043a\u0430 app (NextJS)\n\u251c\u2500\u2500 pages # \u041f\u0443\u0441\u0442\u0430\u044f \u043f\u0430\u043f\u043a\u0430 pages (NextJS)\n\u2502 \u251c\u2500\u2500 README.md # \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u044d\u0442\u0430 \u043f\u0430\u043f\u043a\u0430\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app # \u041f\u0430\u043f\u043a\u0430 app (FSD)\n\u2502 \u251c\u2500\u2500 entities\n\u2502 \u251c\u2500\u2500 features\n\u2502 \u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages (FSD)\n\u2502 \u251c\u2500\u2500 shared\n\u2502 \u251c\u2500\u2500 widgets\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://stackblitz.com/edit/stackblitz-starters-aiez55?file=README.md",children:(0,t.jsx)(s.img,{src:"https://developer.stackblitz.com/img/open_in_stackblitz.svg",alt:"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 StackBlitz"})})}),"\n",(0,t.jsx)(s.h2,{id:"see-also",children:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://t.me/feature_sliced/3623",children:"(\u0422\u0440\u0435\u0434) \u041f\u0440\u043e pages \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0432 NextJS"})}),"\n"]})]})}function l(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},5710:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>i});var t=n(758);const d={},c=t.createContext(d);function r(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/ru/assets/js/62f42e37.423b0a1e.js b/ru/assets/js/62f42e37.1541d050.js similarity index 99% rename from ru/assets/js/62f42e37.423b0a1e.js rename to ru/assets/js/62f42e37.1541d050.js index 0586b6d164..b8f166158c 100644 --- a/ru/assets/js/62f42e37.423b0a1e.js +++ b/ru/assets/js/62f42e37.1541d050.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[1268],{283:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var t=s(6070),r=s(5710);const i={sidebar_position:10},c="\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NuxtJS",d={id:"guides/tech/with-nuxtjs",title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NuxtJS",description:"\u0412 NuxtJS \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c FSD, \u043e\u0434\u043d\u0430\u043a\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 NuxtJS \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 FSD:",source:"@site/i18n/ru/docusaurus-plugin-content-docs/current/guides/tech/with-nuxtjs.mdx",sourceDirName:"guides/tech",slug:"/guides/tech/with-nuxtjs",permalink:"/ru/docs/guides/tech/with-nuxtjs",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/ru/docusaurus-plugin-content-docs/current/guides/tech/with-nuxtjs.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"guidesSidebar",previous:{title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NextJS",permalink:"/ru/docs/guides/tech/with-nextjs"},next:{title:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 React Query",permalink:"/ru/docs/guides/tech/with-react-query"}},l={},o=[{value:"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u043b\u0438\u0430\u0441\u0430 \u0434\u043b\u044f src \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438",id:"\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435-\u0430\u043b\u0438\u0430\u0441\u0430-\u0434\u043b\u044f-src-\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438",level:2},{value:"\u0412\u044b\u0431\u043e\u0440 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u0443\u0442\u0435\u0440\u0430",id:"\u0432\u044b\u0431\u043e\u0440-\u0441\u043f\u043e\u0441\u043e\u0431\u0430-\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438-\u0440\u043e\u0443\u0442\u0435\u0440\u0430",level:2},{value:"\u0420\u043e\u0443\u0442\u0438\u043d\u0433 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0430",id:"\u0440\u043e\u0443\u0442\u0438\u043d\u0433-\u0441-\u043f\u043e\u043c\u043e\u0449\u044c\u044e-\u043a\u043e\u043d\u0444\u0438\u0433\u0430",level:3},{value:"\u0424\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433",id:"\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439-\u0440\u043e\u0443\u0442\u0438\u043d\u0433",level:3},{value:"\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 layouts?",id:"\u0447\u0442\u043e-\u0434\u0435\u043b\u0430\u0442\u044c-\u0441-layouts",level:2},{value:"\u0421\u043c. \u0442\u0430\u043a\u0436\u0435",id:"\u0441\u043c-\u0442\u0430\u043a\u0436\u0435",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-\u0441-nuxtjs",children:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 NuxtJS"})}),"\n",(0,t.jsx)(n.p,{children:"\u0412 NuxtJS \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c FSD, \u043e\u0434\u043d\u0430\u043a\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 NuxtJS \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 FSD:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e, NuxtJS \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0431\u0435\u0437 \u043f\u0430\u043f\u043a\u0438 ",(0,t.jsx)(n.code,{children:"src"}),", \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430."]}),"\n",(0,t.jsxs)(n.li,{children:["\u0424\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 ",(0,t.jsx)(n.code,{children:"pages"}),", \u0430 \u0432 FSD \u044d\u0442\u0430 \u043f\u0430\u043f\u043a\u0430 \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u0430 \u043f\u043e\u0434 \u043f\u043b\u043e\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u043b\u0430\u0439\u0441\u043e\u0432."]}),"\n"]}),"\n",(0,t.jsxs)(n.h2,{id:"\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435-\u0430\u043b\u0438\u0430\u0441\u0430-\u0434\u043b\u044f-src-\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438",children:["\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u043b\u0438\u0430\u0441\u0430 \u0434\u043b\u044f ",(0,t.jsx)(n.code,{children:"src"})," \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438"]}),"\n",(0,t.jsxs)(n.p,{children:["\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043e\u0431\u044c\u0435\u043a\u0442 ",(0,t.jsx)(n.code,{children:"alias"})," \u0432 \u0432\u0430\u0448 \u043a\u043e\u043d\u0444\u0438\u0433:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="nuxt.config.ts"',children:"export default defineNuxtConfig({\n devtools: { enabled: true }, // \u041d\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a FSD, \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u044b \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\n alias: {\n \"@\": '../src'\n },\n})\n"})}),"\n",(0,t.jsx)(n.h2,{id:"\u0432\u044b\u0431\u043e\u0440-\u0441\u043f\u043e\u0441\u043e\u0431\u0430-\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438-\u0440\u043e\u0443\u0442\u0435\u0440\u0430",children:"\u0412\u044b\u0431\u043e\u0440 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u0443\u0442\u0435\u0440\u0430"}),"\n",(0,t.jsxs)(n.p,{children:["\u0412 NuxtJS \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u0430 - \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b.\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u043e\u043c \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c index.vue \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0430\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 app/routes, \u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 - \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0440\u043e\u0443\u0442\u044b \u0432 ",(0,t.jsx)(n.code,{children:"router.options.ts"})," \u0444\u0430\u0439\u043b\u0435."]}),"\n",(0,t.jsx)(n.h3,{id:"\u0440\u043e\u0443\u0442\u0438\u043d\u0433-\u0441-\u043f\u043e\u043c\u043e\u0449\u044c\u044e-\u043a\u043e\u043d\u0444\u0438\u0433\u0430",children:"\u0420\u043e\u0443\u0442\u0438\u043d\u0433 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0430"}),"\n",(0,t.jsxs)(n.p,{children:["\u0412 \u0441\u043b\u043e\u0435 ",(0,t.jsx)(n.code,{children:"app"})," \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b ",(0,t.jsx)(n.code,{children:"router.options.ts"}),", \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0438\u0437 \u043d\u0435\u0433\u043e \u043e\u0431\u044c\u0435\u043a\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0430:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="app/router.options.ts"',children:"import type { RouterConfig } from '@nuxt/schema';\n\nexport default {\n routes: (_routes) => [],\n};\n\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 ",(0,t.jsx)(n.code,{children:"Home"})," \u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0430\u0439\u0441 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f ",(0,t.jsx)(n.code,{children:"pages"})]}),"\n",(0,t.jsxs)(n.li,{children:["\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0440\u043e\u0443\u0442 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 ",(0,t.jsx)(n.code,{children:"app/router.config.ts"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043b\u0430\u0439\u0441 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f ",(0,t.jsx)(n.a,{href:"https://github.com/feature-sliced/cli",children:"CLI"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-shell",children:"fsd pages home\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b ",(0,t.jsx)(n.code,{children:"home-page.vue"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 ui, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Public API"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="src/pages/home/index.ts"',children:"export { default as HomePage } from './ui/home-page';\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-sh",children:"|\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 router.config.ts\n\u2502 \u251c\u2500\u2500 pages\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 ui\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 home-page.vue\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.ts\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0440\u043e\u0443\u0442 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="app/router.config.ts"',children:"import type { RouterConfig } from '@nuxt/schema'\n\nexport default {\n routes: (_routes) => [\n {\n name: 'home',\n path: '/',\n component: () => import('@/pages/home.vue').then(r => r.default || r)\n }\n ],\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439-\u0440\u043e\u0443\u0442\u0438\u043d\u0433",children:"\u0424\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433"}),"\n",(0,t.jsxs)(n.p,{children:["\u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 ",(0,t.jsx)(n.code,{children:"src"})," \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441\u043b\u043e\u0438 app \u0438 pages \u0438 \u043f\u0430\u043f\u043a\u0443 routes \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f app.\n\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u0430\u0448\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-sh",children:"\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 routes\n\u2502 \u251c\u2500\u2500 pages # \u041f\u0430\u043f\u043a\u0430 pages, \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0451\u043d\u043d\u0430\u044f \u0437\u0430 FSD\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b NuxtJS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u0430\u043f\u043a\u0443 routes \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f ",(0,t.jsx)(n.code,{children:"app"})," \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u0430, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c ",(0,t.jsx)(n.code,{children:"nuxt.config.ts"})," \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="nuxt.config.ts"',children:"export default defineNuxtConfig({\n devtools: { enabled: true }, // \u041d\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a FSD, \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u044b \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\n alias: {\n \"@\": '../src'\n },\n dir: {\n pages: './src/app/routes'\n }\n})\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0422\u0435\u043f\u0435\u0440\u044c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u043e\u0443\u0442\u044b \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0432\u043d\u0443\u0442\u0440\u0438 ",(0,t.jsx)(n.code,{children:"app"})," \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043d\u0438\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u0437 ",(0,t.jsx)(n.code,{children:"pages"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 ",(0,t.jsx)(n.code,{children:"Home"})," \u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0430\u0439\u0441 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f ",(0,t.jsx)(n.code,{children:"pages"})]}),"\n",(0,t.jsxs)(n.li,{children:["\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0440\u043e\u0443\u0442 \u0432\u043d\u0443\u0442\u0440\u044c \u0441\u043b\u043e\u044f ",(0,t.jsx)(n.code,{children:"app"})]}),"\n",(0,t.jsx)(n.li,{children:"\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438\u0437 \u0441\u043b\u0430\u0439\u0441\u0430 \u0441 \u0440\u043e\u0443\u0442\u043e\u043c"}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043b\u0430\u0439\u0441 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f ",(0,t.jsx)(n.a,{href:"https://github.com/feature-sliced/cli",children:"CLI"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-shell",children:"fsd pages home\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b ",(0,t.jsx)(n.code,{children:"home-page.vue"})," \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 ui, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Public API"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="src/pages/home/index.ts"',children:"export { default as HomePage } from './ui/home-page';\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0440\u043e\u0443\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u044f ",(0,t.jsx)(n.code,{children:"app"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-sh",children:"\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 routes\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.vue\n\u2502 \u251c\u2500\u2500 pages\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 ui\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 home-page.vue\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.ts\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432\u043d\u0443\u0442\u0440\u044c ",(0,t.jsx)(n.code,{children:"index.vue"})," \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-html",metastring:'title="src/app/routes/index.vue"',children:" - + + +

🌎 FSD international community

· 2 мин. чтения
Anton Medvedev
FSD core-team member
post-cover
diff --git a/ru/blog/archive.html b/ru/blog/archive.html index 5a32e1dda8..1b0380e6a7 100644 --- a/ru/blog/archive.html +++ b/ru/blog/archive.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/ru/blog/international-community.html b/ru/blog/international-community.html index 698c8dc551..b61da7d453 100644 --- a/ru/blog/international-community.html +++ b/ru/blog/international-community.html @@ -8,9 +8,9 @@ - - - + + +

🌎 FSD international community

· 2 мин. чтения
Anton Medvedev
FSD core-team member
post-cover
diff --git a/ru/blog/rebranding-stable.html b/ru/blog/rebranding-stable.html index 1cc37dbe31..891a605fcb 100644 --- a/ru/blog/rebranding-stable.html +++ b/ru/blog/rebranding-stable.html @@ -8,9 +8,9 @@ - - - + + +

💥 FSD rebranding!

· 2 мин. чтения
Ilya Azin
FSD core-team member
logo-primary
diff --git a/ru/blog/tags.html b/ru/blog/tags.html index 69b836ed57..9e39a457c6 100644 --- a/ru/blog/tags.html +++ b/ru/blog/tags.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/ru/blog/tags/brand.html b/ru/blog/tags/brand.html index 98f44cbffb..f8bfeb4391 100644 --- a/ru/blog/tags/brand.html +++ b/ru/blog/tags/brand.html @@ -8,9 +8,9 @@ - - - + + +

1 запись с тегом "brand"

Посмотреть все теги

💥 FSD rebranding!

· 2 мин. чтения
Ilya Azin
FSD core-team member
logo-primary
diff --git a/ru/blog/tags/community.html b/ru/blog/tags/community.html index ad42362dda..869970e599 100644 --- a/ru/blog/tags/community.html +++ b/ru/blog/tags/community.html @@ -8,9 +8,9 @@ - - - + + +

1 запись с тегом "community"

Посмотреть все теги

🌎 FSD international community

· 2 мин. чтения
Anton Medvedev
FSD core-team member
post-cover
diff --git a/ru/blog/tags/discord.html b/ru/blog/tags/discord.html index c016d26e96..49abd45945 100644 --- a/ru/blog/tags/discord.html +++ b/ru/blog/tags/discord.html @@ -8,9 +8,9 @@ - - - + + +

1 запись с тегом "discord"

Посмотреть все теги

🌎 FSD international community

· 2 мин. чтения
Anton Medvedev
FSD core-team member
post-cover
diff --git a/ru/blog/tags/promo.html b/ru/blog/tags/promo.html index d86aa135a4..1f596c446c 100644 --- a/ru/blog/tags/promo.html +++ b/ru/blog/tags/promo.html @@ -8,9 +8,9 @@ - - - + + +

2 записи с тегом "promo"

Посмотреть все теги

🌎 FSD international community

· 2 мин. чтения
Anton Medvedev
FSD core-team member
post-cover
diff --git a/ru/community.html b/ru/community.html index 48038d6050..456e491c27 100644 --- a/ru/community.html +++ b/ru/community.html @@ -8,9 +8,9 @@ - - - + + + +
Contributing

HowTo, Workflow, Support

\ No newline at end of file diff --git a/ru/community/team.html b/ru/community/team.html index 246a4fc00f..3af5b410c9 100644 --- a/ru/community/team.html +++ b/ru/community/team.html @@ -8,9 +8,9 @@ - - - + + + +

Companies

\ No newline at end of file diff --git a/ru/docs.html b/ru/docs.html index 1afe619c95..e0f26b1555 100644 --- a/ru/docs.html +++ b/ru/docs.html @@ -8,9 +8,9 @@ - - - + + +
+
🛠 Примеры

Примеры проектов, спроектированных по Feature-Sliced Design

\ No newline at end of file diff --git a/ru/docs/about.html b/ru/docs/about.html index 030df696a0..c0d21ab744 100644 --- a/ru/docs/about.html +++ b/ru/docs/about.html @@ -8,9 +8,9 @@ - - - + + +
+
Продвижение

О продвижении и интеграции FSD в компаниях

Интеграция • Продвижение в команде • Продвижение в компании
\ No newline at end of file diff --git a/ru/docs/about/alternatives.html b/ru/docs/about/alternatives.html index 60544086d7..feb1450956 100644 --- a/ru/docs/about/alternatives.html +++ b/ru/docs/about/alternatives.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/about/mission.html b/ru/docs/about/mission.html index 2e72a5397c..a6d89e4464 100644 --- a/ru/docs/about/mission.html +++ b/ru/docs/about/mission.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/about/motivation.html b/ru/docs/about/motivation.html index bef7a2fe90..98703b391d 100644 --- a/ru/docs/about/motivation.html +++ b/ru/docs/about/motivation.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому
+ \ No newline at end of file diff --git a/ru/docs/about/promote/for-company.html b/ru/docs/about/promote/for-company.html index e5d6eaf25d..6fb60e0659 100644 --- a/ru/docs/about/promote/for-company.html +++ b/ru/docs/about/promote/for-company.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому
+

Как подготовить и оправдать план по переезду на методологию?

\ No newline at end of file diff --git a/ru/docs/about/promote/for-team.html b/ru/docs/about/promote/for-team.html index 06bcd0a23c..eba37ab7fc 100644 --- a/ru/docs/about/promote/for-team.html +++ b/ru/docs/about/promote/for-team.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/about/promote/integration.html b/ru/docs/about/promote/integration.html index 2ef4c043bf..39fa50f8b2 100644 --- a/ru/docs/about/promote/integration.html +++ b/ru/docs/about/promote/integration.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/about/promote/partial-application.html b/ru/docs/about/promote/partial-application.html index 626d9c8631..c2b0460787 100644 --- a/ru/docs/about/promote/partial-application.html +++ b/ru/docs/about/promote/partial-application.html @@ -8,15 +8,15 @@ - - - + + +
Перейти к основному содержимому

Частичное применение

WIP

Статья находится в процессе написания

Чтобы ускорить ее появление, можно:


🍰 Stay tuned!

Как частично применять методологию? Имеет ли смысл? Что если игнорировать?

-
+ \ No newline at end of file diff --git a/ru/docs/about/understanding/abstractions.html b/ru/docs/about/understanding/abstractions.html index cfa4173e89..c99a63f592 100644 --- a/ru/docs/about/understanding/abstractions.html +++ b/ru/docs/about/understanding/abstractions.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому
+ \ No newline at end of file diff --git a/ru/docs/about/understanding/architecture.html b/ru/docs/about/understanding/architecture.html index d3f14f7420..9cf00e5968 100644 --- a/ru/docs/about/understanding/architecture.html +++ b/ru/docs/about/understanding/architecture.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому
+ \ No newline at end of file diff --git a/ru/docs/about/understanding/knowledge-types.html b/ru/docs/about/understanding/knowledge-types.html index db3ce24b5d..10f7d74fb9 100644 --- a/ru/docs/about/understanding/knowledge-types.html +++ b/ru/docs/about/understanding/knowledge-types.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/about/understanding/naming.html b/ru/docs/about/understanding/naming.html index c6c58ed9a5..0e45d2cff9 100644 --- a/ru/docs/about/understanding/naming.html +++ b/ru/docs/about/understanding/naming.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/about/understanding/needs-driven.html b/ru/docs/about/understanding/needs-driven.html index 04a256fa66..203930381c 100644 --- a/ru/docs/about/understanding/needs-driven.html +++ b/ru/docs/about/understanding/needs-driven.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому
+ \ No newline at end of file diff --git a/ru/docs/about/understanding/signals.html b/ru/docs/about/understanding/signals.html index e277d99efc..d1087f2e1d 100644 --- a/ru/docs/about/understanding/signals.html +++ b/ru/docs/about/understanding/signals.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/branding.html b/ru/docs/branding.html index 1a1308cfd3..d68991d9cf 100644 --- a/ru/docs/branding.html +++ b/ru/docs/branding.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/get-started.html b/ru/docs/get-started.html index dcac7769c0..7eb9efb087 100644 --- a/ru/docs/get-started.html +++ b/ru/docs/get-started.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/get-started/cheatsheet.html b/ru/docs/get-started/cheatsheet.html index e21b997cb9..366620b662 100644 --- a/ru/docs/get-started/cheatsheet.html +++ b/ru/docs/get-started/cheatsheet.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/get-started/faq.html b/ru/docs/get-started/faq.html index da82b80175..de96527d5a 100644 --- a/ru/docs/get-started/faq.html +++ b/ru/docs/get-started/faq.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому
+

Ответили здесь

\ No newline at end of file diff --git a/ru/docs/get-started/overview.html b/ru/docs/get-started/overview.html index bf37502e81..e815a2c193 100644 --- a/ru/docs/get-started/overview.html +++ b/ru/docs/get-started/overview.html @@ -8,9 +8,9 @@ - - - + + +
Перейти к основному содержимому

Обзор

@@ -129,6 +129,6 @@

Следующи
  • Хотите разобраться в том, как мыслить по-FSD-шному? Прочтите Туториал.
  • Предпочитаете учиться на примерах? У нас их много в разделе Примеры.
  • Есть вопросы? Загляните в наш чат Telegram и спросите у сообщества.
  • -

    + \ No newline at end of file diff --git a/ru/docs/get-started/tutorial.html b/ru/docs/get-started/tutorial.html index 69b805b98a..958ca2b5b1 100644 --- a/ru/docs/get-started/tutorial.html +++ b/ru/docs/get-started/tutorial.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому

    Туториал

    @@ -272,6 +272,6 @@

    app/routes/editor._index.tsx, app/routes/editor.$slug.tsx (одинаковое содержимое)
    import { ArticleEditPage } from "pages/article-edit";

    export { loader, action } from "pages/article-edit";

    export default ArticleEditPage;

    Мы закончили! Войдите в систему и попробуйте создать новую статью. Или “забудьте” написать статью и посмотрите, как сработает валидация.

    Редактор статей Conduit, в поле заголовка которого написано “New article”, а остальные поля пусты. Над формой есть две ошибки: “Describe what this article is about” и “Write the article itself”.

    Редактор статей Conduit, в поле заголовка которого написано “New article”, а остальные поля пусты. Над формой есть две ошибки: “Describe what this article is about” и “Write the article itself”.
    -

    Страницы профиля и настроек очень похожи на страницы чтения и редактирования статей, они оставлены в качестве упражнения для читателя, то есть для вас :)

    +

    Страницы профиля и настроек очень похожи на страницы чтения и редактирования статей, они оставлены в качестве упражнения для читателя, то есть для вас :)

    \ No newline at end of file diff --git a/ru/docs/guides.html b/ru/docs/guides.html index 5dca0be97f..dfca27fd4a 100644 --- a/ru/docs/guides.html +++ b/ru/docs/guides.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    +
    Code Issues (Smells)

    Общие архитектурные проблемы для выявления в коде

    Десегментация • Роутинг • Кросс-импорты
    \ No newline at end of file diff --git a/ru/docs/guides/examples.html b/ru/docs/guides/examples.html index de92ddd2ca..6376528251 100644 --- a/ru/docs/guides/examples.html +++ b/ru/docs/guides/examples.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    +
    Лейауты страниц

    Основные кейсы с лейаутами

    Где хранить • Использование виджетов в лейауте
    \ No newline at end of file diff --git a/ru/docs/guides/examples/auth.html b/ru/docs/guides/examples/auth.html index dc0ce41c09..18bf51ad91 100644 --- a/ru/docs/guides/examples/auth.html +++ b/ru/docs/guides/examples/auth.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому

    Авторизация

    @@ -164,6 +164,6 @@

    Автоматический логаут

    -

    Не забудьте предусмотреть ситуации сбоя запроса на логаут или сбоя запроса на обновление токена. В обоих случаях вам следует очистить хранилище токенов. Если вы храните свой токен в Entities, этот код можно поместить в сегмент model, поскольку это чистая бизнес-логика. Если вы храните токен в Shared, размещение этой логики в shared/api может раздуть сегмент и размыть его предназначение. Если вы замечаете, что ваш сегмент api содержит две несвязанные вещи, рассмотрите возможность вызделения логики управления токенами в другой сегмент, например, shared/auth.

    +

    Не забудьте предусмотреть ситуации сбоя запроса на логаут или сбоя запроса на обновление токена. В обоих случаях вам следует очистить хранилище токенов. Если вы храните свой токен в Entities, этот код можно поместить в сегмент model, поскольку это чистая бизнес-логика. Если вы храните токен в Shared, размещение этой логики в shared/api может раздуть сегмент и размыть его предназначение. Если вы замечаете, что ваш сегмент api содержит две несвязанные вещи, рассмотрите возможность вызделения логики управления токенами в другой сегмент, например, shared/auth.

    \ No newline at end of file diff --git a/ru/docs/guides/examples/autocompleted.html b/ru/docs/guides/examples/autocompleted.html index 39aef1aece..1dfdd0291b 100644 --- a/ru/docs/guides/examples/autocompleted.html +++ b/ru/docs/guides/examples/autocompleted.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/examples/browser-api.html b/ru/docs/guides/examples/browser-api.html index f88cf7cdde..64423232b9 100644 --- a/ru/docs/guides/examples/browser-api.html +++ b/ru/docs/guides/examples/browser-api.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
    + \ No newline at end of file diff --git a/ru/docs/guides/examples/cms.html b/ru/docs/guides/examples/cms.html index 9bdbb0e47a..85bca7e4a3 100644 --- a/ru/docs/guides/examples/cms.html +++ b/ru/docs/guides/examples/cms.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/examples/feedback.html b/ru/docs/guides/examples/feedback.html index 164569a0a7..6ed27290a5 100644 --- a/ru/docs/guides/examples/feedback.html +++ b/ru/docs/guides/examples/feedback.html @@ -8,15 +8,15 @@ - - - + + +
    Перейти к основному содержимому
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

    Обратная связь

    WIP

    Статья находится в процессе написания

    Чтобы ускорить ее появление, можно:


    🍰 Stay tuned!

    Errors, Alerts, Notifications, ...

    -
    + \ No newline at end of file diff --git a/ru/docs/guides/examples/i18n.html b/ru/docs/guides/examples/i18n.html index 371de4edd6..dff37b8770 100644 --- a/ru/docs/guides/examples/i18n.html +++ b/ru/docs/guides/examples/i18n.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/examples/metric.html b/ru/docs/guides/examples/metric.html index aaf5b6fa5c..676f356c6f 100644 --- a/ru/docs/guides/examples/metric.html +++ b/ru/docs/guides/examples/metric.html @@ -8,15 +8,15 @@ - - - + + +
    Перейти к основному содержимому
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

    Метрика

    WIP

    Статья находится в процессе написания

    Чтобы ускорить ее появление, можно:


    🍰 Stay tuned!

    Про способы инициализировать метрики в приложении

    -
    + \ No newline at end of file diff --git a/ru/docs/guides/examples/monorepo.html b/ru/docs/guides/examples/monorepo.html index 479a3ee6d1..0617b9a194 100644 --- a/ru/docs/guides/examples/monorepo.html +++ b/ru/docs/guides/examples/monorepo.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/examples/page-layout.html b/ru/docs/guides/examples/page-layout.html index 0047abe505..4431888ad5 100644 --- a/ru/docs/guides/examples/page-layout.html +++ b/ru/docs/guides/examples/page-layout.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/examples/platforms.html b/ru/docs/guides/examples/platforms.html index 1796aee830..b35b274807 100644 --- a/ru/docs/guides/examples/platforms.html +++ b/ru/docs/guides/examples/platforms.html @@ -8,15 +8,15 @@ - - - + + +
    Перейти к основному содержимому
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

    Desktop/Touch платформы

    WIP

    Статья находится в процессе написания

    Чтобы ускорить ее появление, можно:


    🍰 Stay tuned!

    Про применение методологии для desktop/touch

    -
    + \ No newline at end of file diff --git a/ru/docs/guides/examples/ssr.html b/ru/docs/guides/examples/ssr.html index 1b2180fc81..b30f899dda 100644 --- a/ru/docs/guides/examples/ssr.html +++ b/ru/docs/guides/examples/ssr.html @@ -8,15 +8,15 @@ - - - + + +
    Перейти к основному содержимому
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

    SSR

    WIP

    Статья находится в процессе написания

    Чтобы ускорить ее появление, можно:


    🍰 Stay tuned!

    Про реализацию SSR с применением методологии

    -
    + \ No newline at end of file diff --git a/ru/docs/guides/examples/theme.html b/ru/docs/guides/examples/theme.html index a1fb43ae1b..585f31c108 100644 --- a/ru/docs/guides/examples/theme.html +++ b/ru/docs/guides/examples/theme.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/examples/types.html b/ru/docs/guides/examples/types.html index 1418ddde75..accd46f166 100644 --- a/ru/docs/guides/examples/types.html +++ b/ru/docs/guides/examples/types.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому

    Типы

    @@ -138,6 +138,6 @@

    shared/lib/untyped-packages/use-react-screenshot.d.ts
    // У этой библиотеки нет типов, и мы не хотели заморачиваться с написанием своих.
    declare module "use-react-screenshot";

    Автогенерация типов

    -

    Часто бывает полезно генерировать типы из внешних источников, например, генерировать типы бэкенда из схемы OpenAPI. В этом случае создайте специальное место в вашем коде для этих типов, например, shared/api/openapi. Идеально, если вы также включите README в эту папку, который описывает, что это за файлы, как их перегенерировать и т. д.

    +

    Часто бывает полезно генерировать типы из внешних источников, например, генерировать типы бэкенда из схемы OpenAPI. В этом случае создайте специальное место в вашем коде для этих типов, например, shared/api/openapi. Идеально, если вы также включите README в эту папку, который описывает, что это за файлы, как их перегенерировать и т. д.

    \ No newline at end of file diff --git a/ru/docs/guides/examples/white-labels.html b/ru/docs/guides/examples/white-labels.html index 9ce8d2ac24..3dbf9c8ef7 100644 --- a/ru/docs/guides/examples/white-labels.html +++ b/ru/docs/guides/examples/white-labels.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/issues/cross-imports.html b/ru/docs/guides/issues/cross-imports.html index 96e6a1f855..670d3f0f70 100644 --- a/ru/docs/guides/issues/cross-imports.html +++ b/ru/docs/guides/issues/cross-imports.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/issues/desegmented.html b/ru/docs/guides/issues/desegmented.html index f72a2c0ceb..baa266f2cd 100644 --- a/ru/docs/guides/issues/desegmented.html +++ b/ru/docs/guides/issues/desegmented.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/issues/routes.html b/ru/docs/guides/issues/routes.html index 853f73dd2f..ab4bb422a2 100644 --- a/ru/docs/guides/issues/routes.html +++ b/ru/docs/guides/issues/routes.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/migration/from-legacy.html b/ru/docs/guides/migration/from-legacy.html index b3bbb46aec..caf7d02660 100644 --- a/ru/docs/guides/migration/from-legacy.html +++ b/ru/docs/guides/migration/from-legacy.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/guides/migration/from-v1.html b/ru/docs/guides/migration/from-v1.html index f4d4109f53..5d4cc1b178 100644 --- a/ru/docs/guides/migration/from-v1.html +++ b/ru/docs/guides/migration/from-v1.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    + \ No newline at end of file diff --git a/ru/docs/guides/tech/with-nextjs.html b/ru/docs/guides/tech/with-nextjs.html index e060757e5f..f29439575f 100644 --- a/ru/docs/guides/tech/with-nextjs.html +++ b/ru/docs/guides/tech/with-nextjs.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    + \ No newline at end of file diff --git a/ru/docs/guides/tech/with-nuxtjs.html b/ru/docs/guides/tech/with-nuxtjs.html index bf0a32461d..1a2a83be15 100644 --- a/ru/docs/guides/tech/with-nuxtjs.html +++ b/ru/docs/guides/tech/with-nuxtjs.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    + \ No newline at end of file diff --git a/ru/docs/guides/tech/with-react-query.html b/ru/docs/guides/tech/with-react-query.html index 4bfedbd799..c64e7a3f44 100644 --- a/ru/docs/guides/tech/with-react-query.html +++ b/ru/docs/guides/tech/with-react-query.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому
    + \ No newline at end of file diff --git a/ru/docs/guides/tech/with-sveltekit.html b/ru/docs/guides/tech/with-sveltekit.html index dab2ea4f3a..aef25b37c9 100644 --- a/ru/docs/guides/tech/with-sveltekit.html +++ b/ru/docs/guides/tech/with-sveltekit.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/reference.html b/ru/docs/reference.html index f783ae3e6c..4ddf667fcf 100644 --- a/ru/docs/reference.html +++ b/ru/docs/reference.html @@ -8,9 +8,9 @@ - - - + + + +
    Public API

    Практики по проектированию устойчивых и удобных для интеграции модулей

    \ No newline at end of file diff --git a/ru/docs/reference/isolation.html b/ru/docs/reference/isolation.html index f335d925e9..ad28719a6c 100644 --- a/ru/docs/reference/isolation.html +++ b/ru/docs/reference/isolation.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/reference/isolation/coupling-cohesion.html b/ru/docs/reference/isolation/coupling-cohesion.html index 7c6d872c30..a75e1a8fff 100644 --- a/ru/docs/reference/isolation/coupling-cohesion.html +++ b/ru/docs/reference/isolation/coupling-cohesion.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/reference/isolation/decouple-entities.html b/ru/docs/reference/isolation/decouple-entities.html index e39f5474a8..5ca5f397dd 100644 --- a/ru/docs/reference/isolation/decouple-entities.html +++ b/ru/docs/reference/isolation/decouple-entities.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/reference/layers.html b/ru/docs/reference/layers.html index 635c2f1f8a..d934a23a27 100644 --- a/ru/docs/reference/layers.html +++ b/ru/docs/reference/layers.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/reference/public-api.html b/ru/docs/reference/public-api.html index a8842f2406..0cf022c304 100644 --- a/ru/docs/reference/public-api.html +++ b/ru/docs/reference/public-api.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/ru/docs/reference/slices-segments.html b/ru/docs/reference/slices-segments.html index 7c411b43d3..0d20828509 100644 --- a/ru/docs/reference/slices-segments.html +++ b/ru/docs/reference/slices-segments.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому

    Слайсы и сегменты

    @@ -38,6 +38,6 @@

    Сегме

    Другие сегменты допускаются, но должны создаваться только по необходимости. Наиболее распространенными местами для других сегментов являются слои App и Shared, где срезы не имеют смысла.

    Примеры

    -
    Layeruimodellibapi
    SharedUI-библиотекаОбычно не используетсяУтилитарные модули из нескольких связанных файлов.
    Если вам нужны индивидуальные вспомогательные функции, обратите внимание на библиотеки утилит, например, lodash-es.
    Примитивный API-клиент с дополнительными функциями, такими как аутентификация или кэширование.
    EntitiesСкелет бизнес-сущности со слотами для интерактивных элементовХранилище объектов этой сущности, а также функции для обработки этих объектов.
    Этот сегмент лучше всего подходит для хранения данных с сервера. Если вы используете TanStack Query или другие методы неявного хранения, вы можете опустить этот сегмент.
    Функции над объектами этой сущности, не связанные с хранением данныхAPI-методы, использующие API-клиент из Shared для упрощения коммуникации с бэкендом
    FeaturesИнтерактивные элементы, позволяющие пользователям использовать эту функциюБизнес-логика и хранилище инфраструктурных данных, если требуется (например, текущая тема приложения). Здесь лежит код, который непосредственно создает пользу для пользователяИнфраструктурный код, который позволяет сегменту model более кратко описать бизнес-логикуAPI-методы, представляющие эту функцию на бэкенде.
    Может объединять API-методы из Entities.
    WidgetsКомпозиция Entities и Features в самодостаточные блоки интерфейса.
    Также может содержать ограничители ошибок и состояния загрузки.
    Хранилище инфраструктурных данных, если требуетсяНе-бизнес-взаимодействия (например, жесты) и прочий код, необходимый для функционирования этого блока на страницеОбычно не используется, но может содержать загрузчики данных в контексте вложенного роутинга (например, Remix)
    PagesКомпозиция Entities, Features и Widgets в полноценные страницы.
    Также может содержать ограничители ошибок и состояния загрузки.
    Обычно не используетсяНе-бизнес-взаимодействия (например, жесты) и прочий код, необходимый для создания полноценного пользовательского опыта на этой страницеЗагрузчики данных для фреймворков, ориентированных на SSR (рендеринг на сервере)
    +
    Layeruimodellibapi
    SharedUI-библиотекаОбычно не используетсяУтилитарные модули из нескольких связанных файлов.
    Если вам нужны индивидуальные вспомогательные функции, обратите внимание на библиотеки утилит, например, lodash-es.
    Примитивный API-клиент с дополнительными функциями, такими как аутентификация или кэширование.
    EntitiesСкелет бизнес-сущности со слотами для интерактивных элементовХранилище объектов этой сущности, а также функции для обработки этих объектов.
    Этот сегмент лучше всего подходит для хранения данных с сервера. Если вы используете TanStack Query или другие методы неявного хранения, вы можете опустить этот сегмент.
    Функции над объектами этой сущности, не связанные с хранением данныхAPI-методы, использующие API-клиент из Shared для упрощения коммуникации с бэкендом
    FeaturesИнтерактивные элементы, позволяющие пользователям использовать эту функциюБизнес-логика и хранилище инфраструктурных данных, если требуется (например, текущая тема приложения). Здесь лежит код, который непосредственно создает пользу для пользователяИнфраструктурный код, который позволяет сегменту model более кратко описать бизнес-логикуAPI-методы, представляющие эту функцию на бэкенде.
    Может объединять API-методы из Entities.
    WidgetsКомпозиция Entities и Features в самодостаточные блоки интерфейса.
    Также может содержать ограничители ошибок и состояния загрузки.
    Хранилище инфраструктурных данных, если требуетсяНе-бизнес-взаимодействия (например, жесты) и прочий код, необходимый для функционирования этого блока на страницеОбычно не используется, но может содержать загрузчики данных в контексте вложенного роутинга (например, Remix)
    PagesКомпозиция Entities, Features и Widgets в полноценные страницы.
    Также может содержать ограничители ошибок и состояния загрузки.
    Обычно не используетсяНе-бизнес-взаимодействия (например, жесты) и прочий код, необходимый для создания полноценного пользовательского опыта на этой страницеЗагрузчики данных для фреймворков, ориентированных на SSR (рендеринг на сервере)
    \ No newline at end of file diff --git a/ru/examples.html b/ru/examples.html index d8e8c57b2e..20dd6f036f 100644 --- a/ru/examples.html +++ b/ru/examples.html @@ -8,11 +8,11 @@ - - - + + + -
    Перейти к основному содержимому

    Примеры

    Список сайтов, сделанных людьми с FSD

    v2
    NEW: Tiny Bunny Mini Game

    Mini-game "21 points" in the universe of the visual novel "Tiny Bunny".

    reactredux-toolkittypescript
    v2
    Roke.to Business

    Business branch of Roketo, a crypto streaming service which allows paying people by the second

    reacteffectortailwindcssturbo
    v2
    Roke.to dApp

    A crypto streaming service which allows paying people by the second

    reacteffectortailwindcss
    v2
    IT bookstore

    Catalog for viewing and searching information technology books

    reactredux toolkittypescriptreact routervitescss
    v2
    Moke Smoke (React Native example)

    An application that helps you quit smoking, published in the App Store and Google. Developed with React Native

    reactrtkpersisttypescriptfirebase
    v2
    Moonlogs (Effector + Forest example)

    Moonlogs is a business-event logging tool with a built-in user-friendly web interface for easy access to events

    foresteffectortailwindtypescriptgo
    v2
    Posts (React Query example)

    Example of using FSD with React Query (Mutation, Query, Pagination)

    reactreact-querytypescriptmaterial ui
    v2
    FalkChat

    FalkChat is your go-to destination for seamless and engaging online conversations.

    reactnextprettierclerktypescripttailwindshadcn/uizustand
    v2
    Polka

    The application is a bookshelf where you can add your favorite books. The application works with the Google Books API.

    vue3piniatypescriptvue-routereslintprettiervitevuetify
    v2
    Fake Cyber Web Store

    Example web store on Vue3

    vue3piniatypescriptfirebasevue-routereslintprettiervite
    v2
    VK Audiopad

    Chrome extension for VK Music

    reactvkuitypescript
    v2
    Сryptolight

    Cryptocurrency review site based on Feature-Sliced Design (Architectural methodology for frontend projects).

    reacteffectornextuitypescriptvite
    v2
    Money Flow

    A mobile application for tracking your expenses and incomes.

    capacitorjsreactreact-routerzustandvitetypescriptmobileandroidios
    v2
    E-Commerce

    This project is an online store built using React. It provides the ability to view the product catalog and product pages

    reactmobxwebpacktypescriptssr
    v2
    Todo app (Vue 3 + Pinia)

    QuickStart todo-app example for Vue developers with pinia store

    vue 3piniavitetypescript
    v2
    Conduit

    A social blogging site powered by Feature-Sliced Design architectural methodology.

    reactreact-routerreact-queryzustandvitetypescript
    v2
    Kinomore (React+Effector)

    Large project on the effector/fsd stack

    reacteffectortypescriptnextjsreact-testing-library
    v2
    Sudoku (React+Effector)

    A simple crossword of numbers on effector / fsd

    reacteffectortypescriptvitetailwindatomic-router
    v2
    Nukeapp (React+ReduxToolkit)

    Shopping app build on React/ReduxToolkit stack

    reactredux-toolkittypescriptvite
    v2
    Simple Greenhouse App (React+MobX)

    Simple demonstration of how FSD can be implemented with TypeScript, React.js, MobX and Firebase

    reactmobxtypescriptfirebasemuivite
    v2
    Todo App (ReactNative+Redux)

    QuickStart todo-app example for ReactNative(Expo) developers

    react-nativeexporedux
    v2
    Rastrr

    A simple and free graphic editor for novice artists

    svelte
    v2
    Draw, I'll Help

    A drawing app with shape correction powered by ML

    svelte
    v2
    Cast

    A podcast listening PWA with automated quality assurance

    svelte
    v2
    Loripsum generator

    Simple fish text generator

    reacteffector
    v2
    Projentry (demo)

    Assistant for your projects

    reactantd
    v2
    Todo App (Angular 13)

    QuickStart todo-app example for Angular developers

    angularrxjs
    v2
    Todo App (Vue 3)

    QuickStart todo-app example for Vue developers

    vuevuexantd
    v2
    Todo App (React+Redux)

    QuickStart todo-app example for React developers (Redux version)

    reactreduxantd
    v2
    Todo App (React+Effector)

    QuickStart todo-app example for React developers (Effector version)

    reacteffectorantd
    v2
    Github Client

    React & GraphQL powered github web-client

    reactgraphqlantd
    v2
    Cardbox

    The best solutions from developers in one place

    reacteffector
    +
    Перейти к основному содержимому

    Примеры

    Список сайтов, сделанных людьми с FSD

    v2
    Tiny Bunny Mini Game

    Mini-game "21 points" in the universe of the visual novel "Tiny Bunny".

    reactredux-toolkittypescript
    v2
    Roke.to Business

    Business branch of Roketo, a crypto streaming service which allows paying people by the second

    reacteffectortailwindcssturbo
    v2
    Roke.to dApp

    A crypto streaming service which allows paying people by the second

    reacteffectortailwindcss
    v2
    IT bookstore

    Catalog for viewing and searching information technology books

    reactredux toolkittypescriptreact routervitescss
    v2
    Moke Smoke (React Native example)

    An application that helps you quit smoking, published in the App Store and Google. Developed with React Native

    reactrtkpersisttypescriptfirebase
    v2
    Moonlogs (Effector + Forest example)

    Moonlogs is a business-event logging tool with a built-in user-friendly web interface for easy access to events

    foresteffectortailwindtypescriptgo
    v2
    Posts (React Query example)

    Example of using FSD with React Query (Mutation, Query, Pagination)

    reactreact-querytypescriptmaterial ui
    v2
    FalkChat

    FalkChat is your go-to destination for seamless and engaging online conversations.

    reactnextprettierclerktypescripttailwindshadcn/uizustand
    v2
    Polka

    The application is a bookshelf where you can add your favorite books. The application works with the Google Books API.

    vue3piniatypescriptvue-routereslintprettiervitevuetify
    v2
    Fake Cyber Web Store

    Example web store on Vue3

    vue3piniatypescriptfirebasevue-routereslintprettiervite
    v2
    VK Audiopad

    Chrome extension for VK Music

    reactvkuitypescript
    v2
    Сryptolight

    Cryptocurrency review site based on Feature-Sliced Design (Architectural methodology for frontend projects).

    reacteffectornextuitypescriptvite
    v2
    Money Flow

    A mobile application for tracking your expenses and incomes.

    capacitorjsreactreact-routerzustandvitetypescriptmobileandroidios
    v2
    E-Commerce

    This project is an online store built using React. It provides the ability to view the product catalog and product pages

    reactmobxwebpacktypescriptssr
    v2
    Todo app (Vue 3 + Pinia)

    QuickStart todo-app example for Vue developers with pinia store

    vue 3piniavitetypescript
    v2
    Conduit

    A social blogging site powered by Feature-Sliced Design architectural methodology.

    reactreact-routerreact-queryzustandvitetypescript
    v2
    Kinomore (React+Effector)

    Large project on the effector/fsd stack

    reacteffectortypescriptnextjsreact-testing-library
    v2
    Sudoku (React+Effector)

    A simple crossword of numbers on effector / fsd

    reacteffectortypescriptvitetailwindatomic-router
    v2
    Nukeapp (React+ReduxToolkit)

    Shopping app build on React/ReduxToolkit stack

    reactredux-toolkittypescriptvite
    v2
    Simple Greenhouse App (React+MobX)

    Simple demonstration of how FSD can be implemented with TypeScript, React.js, MobX and Firebase

    reactmobxtypescriptfirebasemuivite
    v2
    Todo App (ReactNative+Redux)

    QuickStart todo-app example for ReactNative(Expo) developers

    react-nativeexporedux
    v2
    Rastrr

    A simple and free graphic editor for novice artists

    svelte
    v2
    Draw, I'll Help

    A drawing app with shape correction powered by ML

    svelte
    v2
    Cast

    A podcast listening PWA with automated quality assurance

    svelte
    v2
    Loripsum generator

    Simple fish text generator

    reacteffector
    v2
    Projentry (demo)

    Assistant for your projects

    reactantd
    v2
    Todo App (Angular 13)

    QuickStart todo-app example for Angular developers

    angularrxjs
    v2
    Todo App (Vue 3)

    QuickStart todo-app example for Vue developers

    vuevuexantd
    v2
    Todo App (React+Redux)

    QuickStart todo-app example for React developers (Redux version)

    reactreduxantd
    v2
    Todo App (React+Effector)

    QuickStart todo-app example for React developers (Effector version)

    reacteffectorantd
    v2
    Github Client

    React & GraphQL powered github web-client

    reactgraphqlantd
    v2
    Cardbox

    The best solutions from developers in one place

    reacteffector
    \ No newline at end of file diff --git a/ru/index.html b/ru/index.html index 14a3da19e3..8bc5c4f84d 100644 --- a/ru/index.html +++ b/ru/index.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому

    Feature-Sliced Design

    Архитектурная методология для фронтенд проектов

    Преимущества

    Явная бизнес-логика

    Архитектуру легко осваивать, поскольку она состоит из доменных модулей

    Адаптивность

    Компоненты архитектуры можно гибко заменять, добавлять под новые условия

    Технический долг

    Каждый модуль можно независимо модифицировать / переписать без сайд-эффектов

    Явная переиспользуемость

    Сохраняется баланс между DRY и локальной кастомизацией

    Концепции

    Public API

    Каждый модуль должен иметь на верхнем уровне декларацию своего публичного API

    Изоляция

    Модуль не должен зависеть напрямую от других модулей того же слоя или вышележаших слоев

    Понимание потребностей

    Ориентирование на потребности бизнеса и пользователя

    Схема

    Компании, использующие методологию

    Методология используется в Вашей компании? Сообщите нам
    diff --git a/ru/nav.html b/ru/nav.html index 626275f1a7..095387dd18 100644 --- a/ru/nav.html +++ b/ru/nav.html @@ -8,9 +8,9 @@ - - - + + +
    Перейти к основному содержимому

    🧭 Навигация

    Устаревшие ссылки

    После реструктуризации документации, некоторые ссылки на статьи изменились. Ниже можно найти страницу, которую вы, возможно, искали.

    Но для совместимости есть редиректы со старых ссылок

    🚀 Get Started

    ⚡️ Simplified and merged

    Tutorial

    old: /docs/get-started/quick-start
    new: /docs/get-started/tutorial

    Basics

    old: /docs/get-started/basics
    new: /docs/get-started/overview

    Decompose Cheatsheet

    old: /docs/get-started/tutorial/decompose; diff --git a/ru/search.html b/ru/search.html index ea8c11e3e8..4b7ff36a35 100644 --- a/ru/search.html +++ b/ru/search.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/ru/versions.html b/ru/versions.html index 59e7e782e2..591041f9e3 100644 --- a/ru/versions.html +++ b/ru/versions.html @@ -8,9 +8,9 @@ - - - + + +

    Версии Feature-Sliced Design

    Feature-Sliced Design v2.0.0 (Current)

    Здесь можно найти документацию для текущей опубликованной версии

    v2.0.0 🍰Release NotesDocumentationMigration from v1

    Feature Slices v1 (Legacy)

    Здесь можно найти документацию для старых версий feature-slices

    v1.0Documentation
    v0.1Documentation

    Feature Driven (Legacy)

    Здесь можно найти документацию для старых версий feature-driven

    v0.1Documentation
    Example (kof)Github
    diff --git a/search.html b/search.html index 4cdf9841ba..2d02fde56c 100644 --- a/search.html +++ b/search.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/uz/404.html b/uz/404.html index 97fd9e7102..90721575d5 100644 --- a/uz/404.html +++ b/uz/404.html @@ -8,9 +8,9 @@ - - - + + +

    Sahifa topilmadi

    Afsuski, siz hohlagan sahifa topilmadi

    Iltimos, ushbu havolaga kirgan sayt egasiga havola ishlamayotganligi haqida xabar bering.

    diff --git a/uz/assets/css/styles.3ea8e204.css b/uz/assets/css/styles.3ea8e204.css new file mode 100644 index 0000000000..b4034c38da --- /dev/null +++ b/uz/assets/css/styles.3ea8e204.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.avatar__photo,.card,.text--truncate,iframe{overflow:hidden}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_Gz6w,html{-webkit-tap-highlight-color:transparent}:root,[data-theme=dark]{--feedback-modal-content-text-color:var(--feedback-text-color)}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--violet,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ifm-scrollbar-thumb-background-color) #0000;scrollbar-width:thin}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_ycwR,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;letter-spacing:-.5px}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:unset}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_dvVY .wordWrapButtonIcon_pLsj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_u6UJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_SBe1:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.rootDisabled_SFUB{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_sh08 article>:first-child,.docItemContainer_sh08 header+*,.footer__item,.groupItemsRow_3wzs+.groupItemsRow_3wzs{margin-top:0}.admonitionContent_P6Fw>:last-child,.collapsibleContent_vIJ4 p:last-child,.details_gZPk>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_tOcz,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_hnh2{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_gZPk[data-collapsed=false].isBrowser_UQK3>summary:before,.details_gZPk[open]:not(.isBrowser_UQK3)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.item_zbMY,.miniTheme_ePfp .details_xxkR{filter:grayscale(1)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_Gf4s,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__logo img,.root_v5qN,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.description_y_AQ,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"� "}.pagination-nav__link--next .pagination-nav__label:after{content:" �"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_LIwU>li)>.containsTaskList_LIwU{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.ext-link,.navbar__brand,a[download]{transition:.25s}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-background-color:#18191a;--ifm-background-surface-color:#242526;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-code-font-size:95%;--ifm-button-color:#fff;--ifm-color-primary:#2b74d4;--ifm-color-primary-dark:#2768bf;--ifm-color-primary-darker:#2563b4;--ifm-color-primary-darkest:#1e5194;--ifm-color-primary-light:#4082d8;--ifm-color-primary-lighter:#4b89da;--ifm-color-primary-lightest:#6b9ee1;--ifm-color-primary-grad1:#29bedc;--ifm-color-primary-grad2:#517aed;--ifm-color-primary-neutral:#4a7ec2c6;--ifm-heading-font-family:"Overpass Variable",var(--ifm-font-family-base,sans-serif);--ifm-color-violet:#5c21dd;--feedback-font-family:var(--ifm-font-family-base,sans-serif)!important;--feedback-modal-screnshot-z-index:201!important;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}html::-webkit-scrollbar{background-color:#0000;height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}html::-webkit-scrollbar-track{background-color:#0000;border-radius:10px}html::-webkit-scrollbar-thumb{background-color:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}html::-webkit-scrollbar-corner{background-color:#fff}.navbar__brand{margin-right:0;opacity:1}.navbar__brand:hover,a[download]:hover{opacity:.7}.ext-link{--ifm-navbar-item-padding-horizontal:0.5rem}.ext-link:hover{opacity:.6}.ext-link:before{content:"";display:flex;height:24px;width:24px}html img[alt*=w100],iframe{width:100%}.ext-link.github:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgLjI5N2MtNi42MyAwLTEyIDUuMzczLTEyIDEyIDAgNS4zMDMgMy40MzggOS44IDguMjA1IDExLjM4NS42LjExMy44Mi0uMjU4LjgyLS41NzcgMC0uMjg1LS4wMS0xLjA0LS4wMTUtMi4wNC0zLjMzOC43MjQtNC4wNDItMS42MS00LjA0Mi0xLjYxQzQuNDIyIDE4LjA3IDMuNjMzIDE3LjcgMy42MzMgMTcuN2MtMS4wODctLjc0NC4wODQtLjcyOS4wODQtLjcyOSAxLjIwNS4wODQgMS44MzggMS4yMzYgMS44MzggMS4yMzYgMS4wNyAxLjgzNSAyLjgwOSAxLjMwNSAzLjQ5NS45OTguMTA4LS43NzYuNDE3LTEuMzA1Ljc2LTEuNjA1LTIuNjY1LS4zLTUuNDY2LTEuMzMyLTUuNDY2LTUuOTMgMC0xLjMxLjQ2NS0yLjM4IDEuMjM1LTMuMjItLjEzNS0uMzAzLS41NC0xLjUyMy4xMDUtMy4xNzYgMCAwIDEuMDA1LS4zMjIgMy4zIDEuMjMuOTYtLjI2NyAxLjk4LS4zOTkgMy0uNDA1IDEuMDIuMDA2IDIuMDQuMTM4IDMgLjQwNSAyLjI4LTEuNTUyIDMuMjg1LTEuMjMgMy4yODUtMS4yMy42NDUgMS42NTMuMjQgMi44NzMuMTIgMy4xNzYuNzY1Ljg0IDEuMjMgMS45MSAxLjIzIDMuMjIgMCA0LjYxLTIuODA1IDUuNjI1LTUuNDc1IDUuOTIuNDIuMzYuODEgMS4wOTYuODEgMi4yMiAwIDEuNjA2LS4wMTUgMi44OTYtLjAxNSAzLjI4NiAwIC4zMTUuMjEuNjkuODI1LjU3QzIwLjU2NSAyMi4wOTIgMjQgMTcuNTkyIDI0IDEyLjI5N2MwLTYuNjI3LTUuMzczLTEyLTEyLTEyIi8+PC9zdmc+) no-repeat}.ext-link.discord:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik02NC4xIDE2LjlhNTguNiA1OC42IDAgMCAwLTE0LjctNC40bC0xLjggMy43YTU0IDU0IDAgMCAwLTE2LjIgMCAzNyAzNyAwIDAgMC0yLTMuOEE1OC40IDU4LjQgMCAwIDAgMTQuNyAxNyA2MCA2MCAwIDAgMCA0LjQgNTcuNmE1OC45IDU4LjkgMCAwIDAgMTggOC44IDQyIDQyIDAgMCAwIDMuNi01LjlsLS4xLS4zYy0yLS43LTMuOC0xLjYtNS42LTIuNmEuMi4yIDAgMCAxIDAtLjQgMzAgMzAgMCAwIDAgMS4zLS45IDQyIDQyIDAgMCAwIDM2IDBsMSAxYy4yIDAgLjIuMiAwIC4zLTEuNyAxLTMuNiAxLjktNS41IDIuNmE0NyA0NyAwIDAgMCAzLjggNi4zIDU4LjcgNTguNyAwIDAgMCAxNy44LTkuMUE1OS41IDU5LjUgMCAwIDAgNjQgMTYuOVpNMjcuNyA0OS4zYy0zLjUgMC02LjQtMy4yLTYuNC03LjEgMC00IDIuOS03LjIgNi40LTcuMiAzLjYgMCA2LjUgMy4zIDYuNCA3LjIgMCA0LTIuOCA3LjEtNi40IDcuMW0yMy42IDBjLTMuNSAwLTYuNC0zLjItNi40LTcuMSAwLTQgMi45LTcuMiA2LjQtNy4yIDMuNiAwIDYuNSAzLjMgNi40IDcuMiAwIDQtMi44IDcuMS02LjQgNy4xIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQgMTJoNzF2NTVINHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=) no-repeat}html[data-theme=dark] .ext-link:before{filter:invert(1)}.medium-zoom-image--opened,.medium-zoom-overlay{z-index:999}html[data-theme=dark] .badge--warning{--ifm-badge-background-color:var(--ifm-color-warning-dark)}.badge--violet{--ifm-badge-background-color:var(--ifm-color-violet)}html[data-theme=dark] img[alt*=themed]{filter:invert(1) hue-rotate(180deg)}html[data-theme=dark] img[alt*=themed--scheme]{filter:invert(.905) brightness(1.04) hue-rotate(180deg)}html img[alt*=bordered]{border:1px solid #d3d5d8;border-radius:16px}html img[alt*=bgLight]{background:#fff}:root[data-theme=dark] [src$="#light-mode-only"],:root[data-theme=light] [src$="#dark-mode-only"]{display:none}iframe{color-scheme:auto;background-color:#f0f2f5;border:0;border-radius:16px;height:700px}mark{background-color:var(--ifm-color-primary-neutral);border-radius:4px;color:#fff;padding:2px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.sidebar-item--wip,.subdetails_sVZK{opacity:.5}.summary{border-bottom:1px solid var(--ifm-color-gray-400);color:var(--ifm-color-gray-600);font-size:1.25rem;padding-bottom:2rem}.breadcrumbs__item:first-child,.breadcrumbs__item:nth-child(2):last-child{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-cyrillic-ext-wght-normal-47cdc5a08f97d9eee9e6a1dcad827e28.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-cyrillic-wght-normal-540925c6baf2b581ba6ae9834519c92c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAACCMABMAAAAATPgAACAdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJDG5QaHIJOP0hWQVKDDQZgP1NUQVSBOACCcC9+EQgKpyijVguCEAAwskIBNgIkA4N+BCAFiW4HiXkMBxvDSLMRNmwcwLA8v1yJ/i8JWowhYh34thmWtDUtcUkOmh7U9X6tgprWFFvminfip7tgj3AICy6Jhf3wa5e/xiE2+JabB8aOkGQWnv/vr/x97r0PLL2GX7qrO3J9KDAqHagCYJSV0Rc901AYmXVAudnsJv/GJIYnEQJEpDSF8Bg/PmFBfD58iuEpRfzjR5WijYiYT0TkLFL8kSJiSrFFSjmk+CFF/JBPjJaLKUZESnMBY4QQIIH/Yoz2/uqJGKolaKhED5EhHVciiRDJTCcWhgjLw/+PMe/7/Id6JGq10zWR6SYN3zwk00iahaQhrXpJO4vI1Jx+KS0LHdnyf8KrehySTvlDdJt0E3IB0AUABP/hv//92O8zuEUITUMhJBJZQyPrm3UxD4mksjrRNZJJtC8zbm7UwLpdzLk6RuxuEhCURL309zbL0n56/wkGqBc0Rm3ZXSPzlIOoBY7sY5qNDir/+uppTW93D1pljdogs2ScGhlk8+9dlg94AdMDjI7bOwcyy8jRAUOM0abHQXpxfpnrIqsMVUkO9Dxv5DxKnWxDtUjYdCyniyeUU1WFKqqP593l88/15A1CR08A4CeAPAHvQASvAdwHGA3qBYQi4Oo3oDmHn87h4ico/82VP5T95epfKv7S8A8KLyAIKCDfn7fP17K1wVr8peFl/196nUm/X59hGDDs6+8f4owYRw2j1vFR26CNM/VxymLvsw/YBx3mY/aJ9ZnJhp2sM+aT/FC2nRZno7PJmePsLNQJ6Wt/rjVI2oANhNz/1fc9YrGjBOPHyZH3TjBA8PSPYmeE+kYTAIwwAkKDQaARZAltr/1OQ2l7HACHHUdySi46IU5CGUKIPQ7QDjuO4KRcBAJ8A8yj5148fIBk9VAegmRvUxmDhAFUHTgQit79kMegvUkV0Ly/OyeBBKhRhifAhUw5rgxF4LNN5o18XUVeHMRnMIRep06pU3JsUTbHGMMUNdLxaovZAnRUmiiPQqdwFOjYlK1qhk6J04WubiK+Mk2vcALMQb++kitUTmzklapSiAm+avUR82PZAKBnTWrbWX5IH0uyoyxVUwdsz2IpQdVCyFahFVqCWf3oR2cY+BPg+5aZFVMY1KUL0rIw49j7f+bDMOBcAVe2uJ8IcOt/RkQZItl9lk2XOwESRMWUjROMLesrRuBhwM0XdB6O6ivWiijMgBGXL9ExJGWU2zRatE9zRdoN6Kib3K4qIVWemWbQigxBL/IBEtkOtm8V8WS/xxUXD1EBl6ozGAP7bRHJyQKqVnaGi5r8c14xO6/aEuRqZBzNH2cgVsf0faZs9o5Rz2i0U64xbFLiUW66qoNNNDPMz+TzeGZ9iQ0BWrVIDddbfRVQn1VjUQGAXaEpZLnyoUuZnuenRpHzVmVBWDYqdxo/hI18SmQxzOYzs/3m0oFXqOaklPo4V5FkCnVHP5JMC/MYrJ3GgCAnAeiNBmaQ8ttcPdtg1i9SNP7KvXmxXKpZo+6D75ORtGZISTWP2NQ9vJ/9ZpJvvmX13ikgTbcW+Mo3jUln+6+8OZnVUdQP3ktFUif1N23fKFzUrj9Cr19PTTG9TpkiEh2j1abt49Yvvb5y1U9OvJqaoJqZWaHAazAFFGs3ZbxtysrtW7IrWruqRrP+//VOWF+pky25r9zmG4Op8gw1ga/1S1UNa0JQG1sinhYyb+Xy7+PVEVKrQWWIDMjJySholNWsVb1UlyYDDNSupKToQpfodJmJeptitpJ5FrjcIiuMtM56E1RUTLLdLpMpubuAsO4CwFEAKoMhSL9i9yv9SGFvrIW8KsB6aFSVAOuwLzpooYs12InN0KIKD5pU4aBvF04wg/2xAxugSxUBRpD1QMfQQxU2RrZGFLsdsc1WgH2wFxpoVYWLGexpx4BFJzUuGDOsZqGA9PejvBK7TeDXxnNN4P+C2CSTGFPMoM00izHbbNo88zjmWyCwyDLacisZq6yirbaaUVamrbGG0a2bts5WoYoKz3bbZeywQ2SnnTJ22SWi1BIZWk6OWF1mSXUddICBHCV0MEDbdk2iwhAVRhiD8lbwJhwa27eBWcxg1s0sDBeXTMM0XbqxSHx5UKvvohTEV6cC7Rtsjuvly3Y8rsterhx0CK2X1n4lvH1HofY6BrWfMA5QjkS0z1jyWkeiwBezmU8TReJagACLBuIsRJ4AQyin5EKAcCndGaMMTYI8zXpXFcV5mkM/MXGw18RgOeVtUVX32B9FzoDE4BXsLbvKR1CXvpYK6er1WczrRyzNG5Rt4zNvUhNpTpfoU2zQj1zaYLDbVJXbv4sFtoLJ4HIwADRT8GBBrhP5NjJ5H5RQBJz7CMrfIIRRn/kFRGDjr/7J56qc5lVP/HR8Pa6P16f2DwylmaQjYkuaAN6PunFTb1YhJFj9UQNwZXj/6hOVZRvD06PdljHzD1/gZaJHrtfAPxTw2tW9wPNvX/RVyoBURAiXAgkfFKnjT5eyAbD+wAsbTohEqp8LTTDHCpvsdRICkKAMBCCFt+P+BukH+iwVRs7bLVAnpfyKSxvVgnWbOEubdeq16JOlQE5MAIooBTuhovD4mlgCtMrSYiO9IoLk9IV26opqHNFGe7rjbFxwfRxAt0AlK6GkKtMNB+2Wy1BZX5xehqn/Bsu5fXx6qX9LjZq1SrUr6gI8MQLtMjmTtFqgpKKnlQbZYK/99jiOaYKMiTyjBcYKjRMZzzeGcTnbCI6RXKNYrlBvpgazNJqtYIoa09Sars4MialazNdsnk7LdVkhtUi7JTosVbRMD4v1skofZX2lOi5Ps/36spEo0CMjNhMtdAsnvyq3FYyALEUkPP4UiYKyaG2+PfUICcjd0VZRwNuAtIkGmQRpF8MelA6xbvw/IJ1ig1oB6RJnityIdIsKegSkR7TS/4xKL0KuHawDOANAOoH+UFOgl8F5AOg1AAx1PUzhRZEMhcwqS99idLLqx8/cqNe3aTpexLgwPJcZC8qq3r4bmCgKTbLjSvNcdV93XyCGJhMma0SNMXKycfInRN4qTy2DA5uH0se0cN/X4aG1w8uyLZ/aXkpeS3w7Tv1eW+52/kcNbyPCYt2N8WbJyRfeB/KnBF2CnXzZhyi010OnY4enAxOdBgyUBXee2pu/P4UofpjABOtIvJW/ngL5F8GrIBSMvBTFxLFgLsQiZWE7d2My4qb8reQ6a/XBXJ6JlyRnAZGOdG6x/CXyZJ9n4U1u4EKEgUxDEgADOjUWun16AqFK20v9nBcgX+UzR6FeH7Whs2cXS3G7S2MUjJyV340ofBnkdyk/tk5vJ0YjfEH7VISEER9EbraCvHN/zGz7Kgv7+sLlGZd+dN+NyZKQ6bDdoHI4f9/QtS4jbjy8Hdt2eAe2NauctY0uiT+8RQuL52tnYTlXuVxYo5ae38ann06F/vF1psOrqyAsOFythl+/jigCx+OS38dWfRJWnAfj71kEwbox/LJi2wN3nyuuihFhotYCJNmycq0XrhlFRreKeEFLtgZubSjB9saWVa6vidrvNogObPh5uPl30haieXa0gbgFPt9Ter50Yg+QZDl11u/OPYq1Kg9FfSpunzpy7+EVvao6VVoiurtxe3CT9MLV5EwLaC2AVxRV11bU6u5qNq1qBcJfDdfe5pzojnQoleATX05f06SwkC28DVczL29L0/i1pO7wa00rv5yW+e0q4f9g4w7/W3/l8ka40fDL66O7P9Xsqt5Vf/7pjW+K4pdWKa9PRPKinh3Jvx0LIl+PP9e37P1p/093PVRxfvCsQXPnZtmOr89dX5+5UikoXPbd7vSM5SXzFgXNPr1K3BKSVv/fhpuaitSGMxHzzi3NX7yxJkgxK3yfYmtC4rfbgMVV3s7Z/vbcRan+juxocnaIpod5lpn567rW7LPZy6rXvv4udNGVZVlLfaNLA/Dw5M/DFQW1P6bgJbJUCOIWPD2x90PJz/tNT4/kfXtve4a2khcoqKOlLD15IG5tdHqAY9tAXuWKIzsYCSF5e1ev+ab0e6j8X20nqRsCTAFBkfjFWNAzf2M7EMDt/uA5dm3v8BPlyYIn8j3D15ZtjDxR5F9RFLXeqCl6oFCebvn9hv3nBljcO/V/D8ZVS5X7T+w6cPCYck+1vXozMysMPFWXLnOv9ldP3az6366s/11EbtbO/EwJN/o0bM2N5Q+0NLO/Ye+njgoMwiMDgkxBgcMnkhbgFivfssDqvgAwtdx9pmyZC++zzxZUzPqf7Pq9ax+4xNwD5xJX/JBUsuCLtV/6R0bG+/utXVCSVHkMLiSCoF8TkjpLGRwzY9ZnKaLklcLdkpAlYWk+PwiiZwh841YNuyShgG6tL/YvMHC2rprnuWL1Juo0gY//mk1R7mlLo1ZuTlkcNje2gn+UC6RFc9WZ3LQ9X1mrG9Z7FdSFLbmwEL6ZDXQENtsDzW7qrRHu/vpXk9MAO2Ybw0+G+gICQEOuMgG0I5qHZLE7uepQlr5HjVur1nyuKuM3HxhZqXDUOpSjBQTBeLbaC7d7aBFl+6Aqs1ATTVwaRpirzyaG02XNRAh45FSUDOycy5G5FDt4mnG6GUIKcYiCGHGIggziEAVpjNPJEHGAYSZqjqjgflaB+gS8weuMBubeGXWul4670z5+ZF7d2tVsJ5cT90pZAZgugQDczbw6tYu8lPRxSDRV7i7HIN3hGiFXlQBmGX8YWSZAsgoqMvTlaJeCugG2EKcAjKUAXEsBtBZzJDDKyGC4GFoZTBUZDKfHzQQXDKnFAdhYRiW1sVKuwM8hByPUI9wUgHdEVsvSdCSD6y1UdzNVGXN8cGQld5QzlMMf0oxna70wi0Z4lO2Dqky3fHBkJbfVKJCKVlRREZv8GEAr3XsmcLmRVdU05Ul/rirTnz44spIWNWo53FeR02VFYgquDm4O5cQbDi3ZG+Je5coA5Cy4SRruHeu4lJLobq4pcw3E+1JWADZLIADvURLepSSleZxEU+XE2W10h2vkLCYBw54M7wjIIOvykoaMbo4Nd4cpLKcdeJt24GbaQZtxVEKjjAyGa9LJNDUkEE7fYCa4X1ProYO9U4GsndCUXAGECC+jzDsavS1xslwn6/HokCzOIqv6soh8UFGOjT+OCfuYo+PPPbvj9tomAPgIxCBFHNiSKLXijf9npgak3D09T1JX8EhMK8jmVNFdJNkgBQeh1Wa1FiC/jlstKgdTxNgRG6NAkWoLThUafK5uCl7iQX09hhQlMgH1RB1NMctrzIvBvEddAXl2KklEEacgMhzZnCrsIhV2UPDpikGB/JxwsjMc4SUeNCqJWEmSQSNnrg6NjjDl4nFBy85whLs8WYkHa2NRYi1XFMjRAMI5lV2nejGpDfpeU/x4vJBCsYEpsafmNHInb+BHUsN0sJCTs0iRBye4TBfRdYbUKiMX0hKXtKQlLWoFlkqhiAFIOqkY4gBV15McFwFsc74sOZGZXMhMZjIz82npS8x33AQtp4aj1lIplCiJ0ESwQwlnrg4lVlg8j5yCzqd0Kg8mT8iFLDclR/9TE94Q7NH/2TkaQK1BpQAhR4spRJAhSmAkObRRjzZGwTdGoD95gQAgQAHkA8cBkBCAu7CRvRwmnwtUcpNWXtDPR6HIdMSLpwJ0UEpdU53+VLfeaER2Y6hG87MQW2IbTGP11mpaG7BRJ+mCz/TZHu3rPM33+c9+01u8xwfcGnTTFAERHsmxM2RxPM7GWJKsJH1ybi7K9bkp96c8v8/S/DVvlVftK3kVVlnVVFN11OsytlPP6tkd1au7sMu6ppu6s/t6uKecFVQG1YMaSI2irqGmUX+gllNrqE3Ubmo/dZRGpbnRhLR42hZaBk1BK6RN0UPoy+kb6Fvp++jH6XcxJuaBfYHNw77FzmP3MDtjGg5NyA0Y4AcIzACg2eyRkSqJpCoG5NEz2RL2xIAcoSM7qbCSkq1bNcnJmov7oWK1t8fF+VitPt56a4TeO8KqUhFSU8vLT5YDIYR+1e7wGaWnzIbWugqyaeTdy57u5voGqHL1tLlzQfviK8B3H9yNC3xVSKM1GtS05PBFcak4qEtGQ0LDF0ZELIzCIcfVxLo6iIxc5lgbKyIk/EJIK2Q5szapAQUogZfWD1V+TI7mQc64IaDYuK4UqCHqbM54R6rlygml3SltbpdtvPdyqSSlpc3PAw1n7qRPGUu7Ji69+TKhKZpoXob0vLkOyZy5k8ZMlOvIbHRZpphF1wkLYHXgua8vm83j9fY8vn/bA+4/7umtbXlL9/BBSw9Kb30t6J0Q0NUVUMDQYFjDi4/ADFiWeH0q2rNns2a1t2+Vfns0BnL7oOoj+7dvTdkT62wz89bY3ZfvSYFUJ9xavPiWioyiCJRTFDFQgLvLz1ztBob9EzGOzJWTDAEJSNVv6F39UVKNPLDmewuAQgZ0mEMg82prb18a9Ari5k5xCQiRvyIU2jugwFICU6Ihj/gMd8gU04hDnldxr6nLoN87lwnxMtnFnupV5UpSetG8GciSuZ7GSS03aIANelUF8fIxG81Yz6Z0x4AGtJbJ49XWwhM/TmpvT0kBv5lBE8m6UtIxOe7Yna2k7IANnmygFJDmIkL9XlgE6+fcMyPOnt4+zNMZMRs6HjQPe9BhMCOu3sI6b1fE/PbZNGv97C30+w9OFRW1T43gGhKXzFar5jjBv2e/Vai4lpGB168w7PXAiMUKNOZuaGD97SzPjXFk9Y3leZrnFif86z28rakxLjDgP0TDKU7lH1ztBm/2jsc4MqAx/0TtO5i5IQtvTKRGIH2QexP63x/uiDcdDDQKsRlXLl2Kdqy7rMg6X3lkmAp9XITZVF2+m+u0JD7WS/VVXaFfWUcD8kQJ9TdVUwOdULxEAFIgNjIEgCIIAelMPyHIEeCOiAyko0Ks1OkKbczNvC4iSZPCqMguEwRq3CCII1zdlxAM86r7hg90N1fqEk8MWhNTqWx5/b/PoNkV6ORwv4Iy2FKGVudqBxWE/r73n9Rc4UxLO5SUxHKhk21Eyakl+rvCqvhuSBhTgTDnxMCpo5+VSQOZCgJzfHhUXasBMjQvUcEql0Q5V15XD7QgugDgUsWAR+J1ARRB0GjQYHQa6DEGlK14pBfNbQBNpGc4GNMGgUNkBX82pAL9kpRTYdpGFHvH6n2L6Cl0zK8OjKI7Bs7gsacvUal8jRYtKi+HapcDUQEVkwpC8+YlPjHQRj75GQ6nXA42x6HMocJI67dBdRm5CrfzfxFxwsgsqpklCy2bSLkGyZBceUh3FXqSF5tKdRcFebKd2WRvEQcMd+Drqr/zCDpjrLo6Rt53K2gATK6YbrV8GBpA4mWr6zxJW0nJZJISYfoqWDE+ULX1xMQXRWC40+iLKpXINjaSNEHnkCYGgyb4M7joqyG69/J0cNVGkUCvMVUEopUZupZVIHXF9AmzyYhlNvpka2k7Z4dGlciIXsEyfoLN/VGCltoSvMP20c83q1oy4AWmLahBuiTay+sTmF5A3QBSpFvio/mXHtibKjXOcO8kqANNc57ERS+X4lTvQ5J7RnXXzPtvPpdpLDKzea6Yxps3I/Ey15MHqeXJcqIYTPMVSuVaMzddPSTCluqDSbKLpzc6Y4yZwSKRm1uJt7b29vKp6jFmIfh2c4QzUMur29bm034YcQURRSZtU0rsca1Q2NMTCMYtWDE9hgeatb9MDJfQRAV5T/7TrFH5WycmbJhECJtqe3Oz1WpxHF+1ilv11YAzvaub8+QNOMce9DaTRCBWKIij5skxmxIjThoMvr5tYNwaFOikDaKRP4+cGx/cVHcmxpFzuZybkzMScJDPeLACVlRvmiene3qSK8FsfH73kbzf0lhf22YxTREfPX1929tbwDD/1QR6VxCtY4AgSt6YodPAFYunddcg4HrlwAfQfX0KkCCZr/LhsxFbkoN54h8Re1sXx+zZvELE+8xLsD0hLEPb/teEc9gBwHc5yAK2P0qe3Y7ah24l6qLtCtiVGcYHPz/qg4vYglYFczLql59tRMBR33cosjPippwafMGk6RdfQH1fdmRlwlGvHMqIg14UlgBpLleoPwxO83wEQKMiC1pxeY+oolaWyPau9Z1FQQ6jarXUMIDNkZH09GDuiMddglemBy6HNFdhZWUP+0Z5eAfWvgdlqgWfeAedAgvFHWcgDWSbA3ywbOEkpIHDozI2MS/d9zAXYisnJpKnJzlNmf5+fDfx+G8TVRCnmbput9EDOleBY4KJIKBZew6BiRgeCF1rKj6bbEsCOtuZ753w4rINlfE+dvTBwGjgKxSoHRyJZMexU44pfrqF2P/0p9g9WNj5tndvp99Bt5x0GwW+wkFd3+5IR74sj/xLVT50hN60tHy3E2tJeuyRJsEJHNAtto8G+IsYoCtQYdo81QAemXtLxCAbp+t6VjN5xF8JEOMOCcpkhp6Tebd+fZqDjEqMMkFciv4m9E66veAHQdO79jl5rNm9biPtDV5aBE2DIVcgH/UK8uC9MgX97aZCVvirXXqtI1DS44uCuebJffs4fFQPaa5A/l9zVurGGJD7D1TSVBUyiS44PCEMVVnZkiFtgAlDbiMlLetMNOAZC+gWJ2TPNaciQ9QtcfTCbLZQvII/GyoCPTObRr0LnfA7cVzGqzsBXp8dfwDWZ3l98ef//x3+YB795P7bLeh1OdidXFT8n1P/KS7KxSbGPxxeGrts6eIVS6dFw2lUyVLa797sS6CCX7mKhqv8QsVcW34KvQszaEOlTLKkLG4wpyxeMrcUDWyC3e+5J0Ria+ts/R4iiB49Er1mv+eCiEQcf91+j8uR4GDla7cNPbhdIKYJGBgyP+Sv7hD2L117v/z+OK+/o6YDCyNrteSw1SXYLEAQBEVCoyFgGTTyI7nkoofUiBEjeTnfSCTfxEAet7ldUVXVomOzdS1QmF5Ab0PtfdEOSUjTcSQjIxp06F7GMZBCpBJPUt4YSKo2Ab3mgXj9o2PRiIg+DRq/LkQMd8A0cJpbKF1TQ3/1+x1VQ4QayZDGgo5upJTTm9TwaKwDXwi7Z9Y7aFUwKitvdfcaxhmMurpbbSqUSESV5DdNdX6dTW+UCEpUrYRySjhNfoJH97iOMsqpoFDZ2YugkUZqqUwEo/HjlII8Q+jLCwtnKNCpj8YGQMR9SwA41vW9fz+g7+3q7LRYzO97Xzx9/PS57t3AwMc2GlTuTObMwLA4LRMxmQTb9D+v574x3SyQNI2pWg7lXOEqf1bFJVFOOT9el2VkfBcHBZRTxkXOs/8y5dY1Wp0MaqMhuRsM+te6Xk96ZzC8t3PibnwPzzHW7HjWmGHWB7JCrRoCKBI7BRFqo4t46g4mgfi7JAIIEIgELXQIhjwMhodArERcL4GiiMWiZPW1daPE4b7lYulp+6M+QCV3IX4cMo7TRR4P5KBDrexUjkDAY6lZEkli6lcpWEi6PzP5672Z2Ushtz+rkGJOR7mzc+0OdMZHjRa3kjHOhTEUyMTJibaCADyqK87OJFcqNfdEU31/WIWDOidydthWBUnoHbps+1EVptW26aAk34H4yAA1sRAcn78VpOY7V4oK8mri8JdVVVjWmdmKm3UPK4c/VGESSbgvy7znsHzDJSoqBRAERRAUjYYKCrRv3yIooAIt2oK2tn94YjHvn6dg+hV35C3a/sfFP6b4g8/rnmNie3u7XXx1GVjFba6Qt7auLL0uTMCnSn7u/kS/zP7FkE8Zd7FUlriHKoPgKtYurjB4E78WqifU/QJEImDw0Vfr3Y2siL9UgvMuAB833jwPd7xjQbxdPcWgPbhgA7ApAIJvDZ/0p5tRW+ZmQAyfOHtrJy15cXRfDMTT6yWq1bR02nx4Utn5Gp4mdeQdg8a0/XIzzx594xKD3izKDHjpVz4bYOtRnDsYkxS5lUGJq8zFpWiV8Rhk7H51O9c/QybinkMDN+vNSBR2/xbAPCPA02TXtnhCXdfafD0vPlAmeBoCzsRHnCzlEINt0httic1oUj3g4aIj1kS2tGlKXF7UtFLJ04y0SDVLY4mz7DoFHhgrhfVCAmF8C5rgxleaIolOTePHm+sY3SmxztKzmk02qjQHN27VXPJRqHn4cVrzKcZmLWBQiLWQrmBoEX18ocX08qyWoZ9zWpaiDVqOAS7V8nSp1QqE/D05wY8B65PIi29LL5T75/qYp15RsGZXJIN3zQP4w+Y/Ze6RJDywVx+t98a2R5ILj3DY+iriwZt3rkZ0zXP/8fAgz5dy1GuCP/txsXXjmvrXzQy+45fHWFBbuQFT5aTvY05c8HzQtLjaBBX7XKalptaaleH0s03y8+ZZPIzFv4L2lxfShZJYNdZw7XucTi0wf6m2jD98bfVWp31AOU/6zUddUzVYPKRWZUtH1Zj1sqlP/ONe4uGqYqIWgt7wtHreWZ7MVrunvW+wvTE3e7jJUHqn01PLlk+yDW/8qbPmsFwH+/s/9zj4vNfHTK5QqtRa0KKWtKwVrWqNf6wjxDYdhxNnLlxxE+GZwS0xd3wePHkRmMnbLD4+4+vzQgh9wY8/kQCBggQXYTaxOeYWC5pvgRChwoSLsFCkKDgEsAxGUByeQCS1qpfeUKitp9EZTBabw+XxBUJRiWKJVCZXKFXqUjSYVqc3GE1mi9Vmdzhdbo/X519o58f62H2fRBzz0E0sgqQxI4yJkkUOYYJX0JTYkydeuR3Gi9QCgqQxo5s4hBntpvjCjrL8y/BgvsggkEMaGeb9Eb0w7xg3yWOS4XEuIuryvAsDGZ7V2SA2HHPGBYuwS2Fjrni7uqswlKT/C8TcdK2wiaNsenuQIJsQ6WSaQIxscokQMuVMFKkNhEhnZjdxiTDWTckmrrKzDYTIJZ1Msok9vejsREgnRoIQmU9vdw6QS4gIsWcQyvsMpnKI7Hlue+vEZ3821KHTv438/4Q4w4wFy/sx+ptOVWZDaFTiamHG6qsJFusWjSGKMleP69BYOknwU46uxq5DZMSm/BVH4kZ3tEPi/xuZmOjnN+f/i/GazQMAAA==) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-latin-ext-wght-normal-d2c614e4dd304045f372384b39f6fd66.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-latin-wght-normal-3eb401af5e376ff96c892a6984fe7983.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.backToTopButton_fdhR{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_fdhR:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_h6hY{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a,.sidebarItemLink_V9sV:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_yKzo a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_i5Mp,.navbarSearchContainer_TJSq:empty,.sidebarLogo_LuQ2,.themedComponent_mC5b,[data-theme=dark] .lightToggleIcon_EwAf,[data-theme=light] .darkToggleIcon_Ky7Z,html[data-announcement-bar-initially-dismissed=true] .announcementBar_kZ2O,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_cAcr a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.addMe_pbNn,.content_yKzo,.heroBanner_PbTQ,.ribbon_JKNF,.title_v0wz{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"� "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_E7Aa{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_E7Aa{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_E7Aa:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xNyM{line-height:0;padding:0}.content_yKzo{font-size:85%;padding:5px 0}.content_yKzo a{color:inherit}.announcementBar_kZ2O{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_er_t{flex:0 0 10px}.announcementBarClose_pt5G{align-self:stretch;flex:0 0 30px}.toggle_EF7V{height:2rem;width:2rem}.toggleButton_Gz6w{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Gz6w:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_jYpm{cursor:not-allowed}.darkNavbarColorModeToggle_QuGG:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_mNad,[data-theme=light] .themedComponent--light_idUe,html:not([data-theme]) .themedComponent--light_idUe{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_ABfr{display:none;margin:0}.iconExternalLink_UGhe{margin-left:.3rem}.docMainContainer_C15o,.docRoot_SrFj{display:flex;width:100%}.docsWrapper_WNrA{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_RnkU{cursor:pointer}.iconLanguage_HFDA{margin-right:5px;vertical-align:text-bottom}.navbarHideable_oLCi{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_7X6Q{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_PcpO{color:red;white-space:pre-wrap}.errorBoundaryFallback_C8pu{color:red;padding:.55rem}.footerLogoLink_EfD7{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_EfD7:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.root_GfON{border-radius:var(--ifm-alert-border-radius);box-shadow:0 2px 8px 0 #0000001a;color:var(--ifm-font-color-base);display:flex;padding:40px;transition:.25s}.root_GfON:hover{box-shadow:0 4px 8px 0 #0000001a;text-decoration:none}.root_GfON+.root_GfON{margin-top:10px}.rootDisabled_SFUB{opacity:.5}.details_xxkR{align-self:center;flex-grow:1}.detailsTags_uTQx{font-size:.8rem;opacity:.5}.icon_ciqP{align-self:center;font-size:2.5rem;padding-right:20px}.title_pSH5{font-size:1.25rem;font-weight:700}.description__Fep{margin-bottom:0;white-space:break-spaces}.miniTheme_ePfp{padding:20px 30px}.miniTheme_ePfp .title_pSH5{font-size:1rem}.item_zbMY:hover,.miniTheme_ePfp:hover .details_xxkR{filter:grayscale(0)}.primaryTheme_CilO{background-color:var(--ifm-color-primary);color:#fff}.primaryTheme_CilO:hover{box-shadow:0 2px 10px 0 var(--ifm-color-primary-neutral);color:#fff}html[data-theme=dark] .root_GfON.defaultTheme_j3I8,html[data-theme=dark] .root_GfON.miniTheme_ePfp{background:var(--ifm-color-gray-900)}.anchorWithStickyNavbar_YQWG{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Fpva{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_vfgx{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_e3IL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.heroBanner_PbTQ,.preview_MRaB{overflow:hidden;position:relative}.sidebarItemTitle_lhX6{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_RSHg,.sidebarItemList_YMDL{font-size:.9rem}.sidebarItem_viPW{margin-top:.7rem}.sidebarItemLink_V9sV{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_oAjZ{color:var(--ifm-color-primary)!important}.yearGroupHeading_XIYi{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_TRuD{margin:1rem .75rem .5rem}.searchQueryInput_kDxu,.searchVersionInput_JsRz{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_kDxu:focus,.searchVersionInput_JsRz:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_kDxu::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_BGlh{font-size:.9rem;font-weight:700}.algoliaLogo_Gqrd{max-width:150px}.algoliaLogoPathFill_WsEm{fill:var(--ifm-font-color-base)}.searchResultItem_w8JZ{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_GsPy{font-weight:400;margin-bottom:0}.searchResultItemPath_Qzlo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_USzY{font-style:italic;margin:.5rem 0 0}.loadingSpinner__kDN{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.group_tWrt,.loader_NJGB{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_PbTQ{background:linear-gradient(45deg,var(--ifm-color-primary-grad1),var(--ifm-color-primary-grad2));color:#fff;padding:10rem 0}.link_Ogy3{color:#fff;opacity:.7;transition:.25s}.link_Ogy3:hover{color:unset;opacity:.4;text-decoration:unset}.icon_zeNy{font-size:80px;margin:20px 0}.section_o6sW{align-items:center;display:flex;padding:2rem 0;width:100%}.sectionAlt_eaXm{background-color:var(--ifm-color-emphasis-600);color:var(--ifm-font-color-base-inverse)}.title_v0wz{margin-bottom:40px}.root_M0ZT{background:#fff;color:#1c1e21}.rootContainer_QdPn{overflow:hidden;padding:0 1rem;width:100%}.item_zbMY{align-items:center;display:flex;margin:0 20px;opacity:.8;transition:.25s}.item_zbMY:hover{opacity:1}.image_ylzW{height:50px}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5,.authorSocials_tYkH{height:var(--docusaurus-blog-social-icon-size)}.addMe_pbNn{font-size:12px;font-style:italic;padding-top:40px;width:100%}.scheme_O0RH{justify-content:center}.schemeImg_h_tq{padding-bottom:4rem;padding-top:1rem;width:80%}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5{width:var(--docusaurus-blog-social-icon-size)}[data-theme=dark] .githubSvg_niZ1,[data-theme=dark] .xSvg_KBot{fill:var(--light)}[data-theme=light] .githubSvg_niZ1,[data-theme=light] .xSvg_KBot{fill:var(--dark)}.authorSocials_tYkH{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_jJb5,.authorSocials_tYkH{line-height:0}.authorSocialLink_jJb5{margin-right:.4rem}.authorImage_LjvZ{--ifm-avatar-photo-size:3.6rem}.author-as-h1_usjc .authorImage_LjvZ{--ifm-avatar-photo-size:7rem}.author-as-h2_mLxf .authorImage_LjvZ{--ifm-avatar-photo-size:5.4rem}.authorDetails_nj65{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_XNff{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_usjc .authorName_XNff{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_mLxf .authorName_XNff{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_h5YR{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_usjc .authorTitle_h5YR{font-size:1.2rem;line-height:1.2rem}.author-as-h2_mLxf .authorTitle_h5YR{font-size:1rem;line-height:1rem}.authorBlogPostCount_zAzV{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_b7uU{max-width:inherit!important}.imageOnlyAuthorRow_JaX6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_GKUw{margin-left:.3rem;margin-right:.3rem}.preview_MRaB{max-height:175px}.ribbon_JKNF{background:var(--ifm-color-primary);border-bottom-left-radius:20px;border-top-left-radius:20px;color:#fff;min-width:50px;padding:4px 10px;position:absolute;right:0;top:20px;z-index:1}.title_xhac{font-weight:600}.labelNew_Jfmq{color:var(--ifm-color-primary);font-weight:700}.techList_Nt0m{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:700;gap:8px;margin-top:10px}.techListItem_MNXE{border:1px solid gray;border-radius:20px;color:gray;line-height:22px;padding:0 14px}.buttonGroup_rnIK button,.codeBlockContainer_hDnq{background:var(--prism-background-color);color:var(--prism-color)}.root_EnwK{margin-top:2rem;padding-bottom:12rem}.section_Jn7s{margin-top:4rem}.groupItems_NJ5Z{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem}.route_vdvl{font-size:.9rem;font-style:italic;opacity:.5}.codeBlockContainer_hDnq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_FNoi{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_XwMz{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_VtXq{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_XwMz+.codeBlockContent_FNoi .codeBlock_VtXq{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_JXl0{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FJLB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_rnIK{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_rnIK button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_rnIK button:focus-visible,.buttonGroup_rnIK button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_rnIK button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ZfIl{counter-increment:a;display:table-row}.codeLineNumber_SBe1{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_SBe1:before{content:counter(a);opacity:.4}.codeLineContent_Id3L{padding-right:var(--ifm-pre-padding)}.tag_r8jo{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_r8jo:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_HKUK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_YDza{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_YDza:after,.tagWithCount_YDza:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_YDza:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_YDza:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_YDza span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_AORk{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_AANs{opacity:1!important}.copyButtonIcons_GFne{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FWVX,.copyButtonSuccessIcon_Xlgb{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_Xlgb{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_AANs .copyButtonIcon_FWVX{opacity:0;transform:scale(.33)}.copyButtonCopied_AANs .copyButtonSuccessIcon_Xlgb{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_KwKQ{display:inline}.tag_qLVe{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_r24G{margin-right:.3em;vertical-align:sub}.lastUpdated_dDyc{font-size:smaller;font-style:italic;margin-top:.2rem}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--feedback-primary-color:#0070f4;--feedback-secondary-color:#f1f3f4;--feedback-light-color:#ccc;--feedback-dark-color:#191919;--feedback-text-color:#5f6368;--feedback-white-color:#fff;--feedback-highlight-color:#ffb422;--feedback-font-family:"Inter","Tahoma","sans-serif";--feedback-heading-font-size:16px;--feedback-text-font-size:14px;--feedback-button-border-radius:20px;--feedback-button-dark-bg-color:var(--feedback-primary-color);--feedback-button-dark-text-color:var(--feedback-white-color);--feedback-button-light-bg-color:var(--feedback-white-color);--feedback-button-light-text-color:var(--feedback-primary-color);--feedback-button-text-font-size:var(--feedback-text-font-size);--feedback-button-text-font-weight:600;--feedback-button-z-index:300;--feedback-modal-button-bg-color:var(--feedback-white-color);--feedback-modal-button-bg-color-active:var(--feedback-white-color);--feedback-modal-button-border-color:var(--feedback-light-color);--feedback-modal-button-border-color-active:var(--feedback-primary-color);--feedback-modal-button-border-radius:4px;--feedback-modal-button-font-size:var(--feedback-text-font-size);--feedback-modal-button-icon-color:var(--feedback-dark-color);--feedback-modal-button-icon-color-active:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-border-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-text-color:var(--feedback-white-color);--feedback-modal-button-submit-text-color-hover:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-dark-color);--feedback-modal-button-text-color-active:var(--feedback-primary-color);--feedback-modal-close-bg-color:var(--feedback-white-color);--feedback-modal-close-color:var(--feedback-dark-color);--feedback-modal-content-bg-color:var(--feedback-white-color);--feedback-modal-content-border-color:var(--feedback-light-color);--feedback-modal-content-border-radius:8px;--feedback-modal-content-font-family:var(--feedback-font-family);--feedback-modal-content-position-bottom:10px;--feedback-modal-content-position-left:10px;--feedback-modal-content-position-right:10px;--feedback-modal-content-position-top:10px;--feedback-modal-content-z-index:300;--feedback-modal-element-hover-border-color:var(--feedback-primary-color);--feedback-modal-element-selected-border-color:var(--feedback-primary-color);--feedback-modal-footer-link:var(--feedback-dark-color);--feedback-modal-header-font-family:var(--feedback-font-family);--feedback-modal-header-font-size:var(--feedback-heading-font-size);--feedback-modal-header-font-weight:500;--feedback-modal-header-text-color:var(--feedback-dark-color);--feedback-modal-input-bg-color:var(--feedback-secondary-color);--feedback-modal-input-border-color:#0000;--feedback-modal-input-border-color-focused:#0000;--feedback-modal-input-border-radius:4px;--feedback-modal-input-font-size:var(--feedback-text-font-size);--feedback-modal-input-text-color:var(--feedback-text-color);--feedback-modal-message-font-size:var(--feedback-text-font-size);--feedback-modal-modal-wrapper-z-index:300;--feedback-modal-rating-button-color:var(--feedback-text-color);--feedback-modal-rating-button-selected-color:var(--feedback-primary-color);--feedback-modal-rating-button-stars-selected-color:var(--feedback-highlight-color);--feedback-modal-screenshot-bg-color:#0006;--feedback-modal-screenshot-close-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-white-color);--feedback-modal-screenshot-header-text-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-z-index:250;--feedback-modal-screnshot-z-index:100}[data-theme=dark]{--feedback-text-color:#b0b8c4;--feedback-light-color:#363636;--feedback-modal-button-bg-color-active:#0000;--feedback-modal-button-icon-color:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-white-color);--feedback-modal-close-bg-color:#0000;--feedback-modal-close-color:var(--feedback-white-color);--feedback-modal-content-bg-color:var(--feedback-dark-color);--feedback-modal-footer-link:var(--feedback-white-color);--feedback-modal-header-text-color:var(--feedback-white-color);--feedback-modal-input-bg-color:var(--feedback-light-color);--feedback-modal-input-text-color:var(--feedback-white-color);--feedback-modal-rating-button-color:var(--feedback-white-color);--feedback-modal-screenshot-close-color:var(--feedback-white-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-text-color:var(--feedback-white-color)}.feedback-modal-screenshot-open{position:fixed;width:100%}.feedback-modal-screenshot-open--scroll{overflow-y:scroll}.tocCollapsibleButton_i8WS{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_i8WS:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MUXk:after,.tocCollapsibleExpanded_QMAw{transform:none}.tocCollapsible_hANv{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_cAcr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_cAcr ul li{margin:.4rem .8rem}.wordWrapButtonIcon_pLsj{height:1.2rem;width:1.2rem}.details_gZPk{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_gZPk>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_gZPk>summary::-webkit-details-marker{display:none}.details_gZPk>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_vIJ4{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_LfL0{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_LIwU{list-style:none}.img_p9GI{height:auto}.tableOfContents_glYQ{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_DSgh{margin-bottom:1em}.admonitionHeading_u6UJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_u6UJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_u6UJ code{text-transform:none}.admonitionIcon_FweZ{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_FweZ svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_nXDW{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_DLTP{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_ABfr,.expandButton_kkrS{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_pt5G,.announcementBarPlaceholder_er_t{flex-basis:50px}.collapseSidebarButton_ABfr{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_MWVn{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_k3WG,[dir=rtl] .collapseSidebarButtonIcon_MWVn{transform:rotate(0)}.collapseSidebarButton_ABfr:focus,.collapseSidebarButton_ABfr:hover,.expandButton_kkrS:focus,.expandButton_kkrS:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_pcGQ{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GbMa{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GbMa{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_RMUk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_DYiS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_PjtI{padding-top:0}.sidebarHidden_NT18{opacity:0;visibility:hidden}.sidebarLogo_LuQ2{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LuQ2 img{height:2rem;margin-right:.5rem}.expandButton_kkrS{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_k3WG{transform:rotate(180deg)}.docSidebarContainer_i5Mp{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_bjHG{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_SkvF{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_C15o{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_ITe4{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_s7zB{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_TJSq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_dDyc{text-align:right}.tocMobile_ZWDj{display:none}.docItemCol_LHis{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width <= 1180px){.navbar__brand{margin-right:.5rem}.navbar__brand .navbar__title{display:none}.navbar__item{white-space:nowrap}}@media (width <= 1080px){.navbar__item{padding:var(--ifm-navbar-item-padding-vertical) .25rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_jV7c,.footer__link-separator,.navbar__item,.sidebar_e3IL,.tableOfContents_glYQ{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_TJSq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_xH0m{padding:0 .3rem}}@media (width <= 996px){.navbar__brand .navbar__title{display:block}}@media only screen and (max-width:996px){.searchQueryColumn_yglK,.searchResultsColumn_BGlh{max-width:60%!important}.searchLogoColumn_UcFc,.searchVersionColumn_n7FP{max-width:40%!important}.searchLogoColumn_UcFc{padding-left:0!important}}@media screen and (width <= 966px){.heroBanner_PbTQ{padding:2rem}.schemeImg_h_tq{width:100%}}@media screen and (width <= 800px){.item_zbMY{margin:0 10px}.image_ylzW{height:20px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (width <= 600px){.groupItems_NJ5Z{grid-template-columns:1fr}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_hnh2{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_yglK{max-width:100%!important}.searchVersionColumn_n7FP{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media screen and (width <= 450px){.button-group{display:block}.button-group .button{border-radius:var(--ifm-button-border-radius)!important;margin:2px}}@media (hover:hover){.backToTopButton_fdhR:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-color-scheme:dark){:root[data-theme=auto] [src$="#light-mode-only"]{display:none}}@media (prefers-color-scheme:light){:root[data-theme=auto] [src$="#dark-mode-only"]{display:none}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_kZ2O,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ZWDj{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_JXl0{white-space:pre-wrap}} \ No newline at end of file diff --git a/uz/assets/css/styles.bc769a01.css b/uz/assets/css/styles.bc769a01.css deleted file mode 100644 index e9312eb8ee..0000000000 --- a/uz/assets/css/styles.bc769a01.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.avatar__photo,.card,.text--truncate,iframe{overflow:hidden}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_Gz6w,html{-webkit-tap-highlight-color:transparent}:root,[data-theme=dark]{--feedback-modal-content-text-color:var(--feedback-text-color)}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--violet,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ifm-scrollbar-thumb-background-color) #0000;scrollbar-width:thin}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_ycwR,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;letter-spacing:-.5px}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:unset}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_dvVY .wordWrapButtonIcon_pLsj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_u6UJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_SBe1:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.rootDisabled_SFUB{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_sh08 article>:first-child,.docItemContainer_sh08 header+*,.footer__item,.groupItemsRow_3wzs+.groupItemsRow_3wzs{margin-top:0}.admonitionContent_P6Fw>:last-child,.collapsibleContent_vIJ4 p:last-child,.details_gZPk>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_tOcz,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_hnh2{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_gZPk[data-collapsed=false].isBrowser_UQK3>summary:before,.details_gZPk[open]:not(.isBrowser_UQK3)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.item_zbMY,.miniTheme_ePfp .details_xxkR{filter:grayscale(1)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_Gf4s,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__logo img,.root_v5qN,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.description_y_AQ,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_LIwU>li)>.containsTaskList_LIwU{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.ext-link,.navbar__brand,a[download]{transition:.25s}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-background-color:#18191a;--ifm-background-surface-color:#242526;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-code-font-size:95%;--ifm-button-color:#fff;--ifm-color-primary:#2b74d4;--ifm-color-primary-dark:#2768bf;--ifm-color-primary-darker:#2563b4;--ifm-color-primary-darkest:#1e5194;--ifm-color-primary-light:#4082d8;--ifm-color-primary-lighter:#4b89da;--ifm-color-primary-lightest:#6b9ee1;--ifm-color-primary-grad1:#29bedc;--ifm-color-primary-grad2:#517aed;--ifm-color-primary-neutral:#4a7ec2c6;--ifm-heading-font-family:"Overpass Variable",var(--ifm-font-family-base,sans-serif);--ifm-color-violet:#5c21dd;--feedback-font-family:var(--ifm-font-family-base,sans-serif)!important;--feedback-modal-screnshot-z-index:201!important;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}html::-webkit-scrollbar{background-color:#0000;height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}html::-webkit-scrollbar-track{background-color:#0000;border-radius:10px}html::-webkit-scrollbar-thumb{background-color:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}html::-webkit-scrollbar-corner{background-color:#fff}.navbar__brand{margin-right:0;opacity:1}.navbar__brand:hover,a[download]:hover{opacity:.7}.ext-link{--ifm-navbar-item-padding-horizontal:0.5rem}.ext-link:hover{opacity:.6}.ext-link:before{content:"";display:flex;height:24px;width:24px}html img[alt*=w100],iframe{width:100%}.ext-link.github:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgLjI5N2MtNi42MyAwLTEyIDUuMzczLTEyIDEyIDAgNS4zMDMgMy40MzggOS44IDguMjA1IDExLjM4NS42LjExMy44Mi0uMjU4LjgyLS41NzcgMC0uMjg1LS4wMS0xLjA0LS4wMTUtMi4wNC0zLjMzOC43MjQtNC4wNDItMS42MS00LjA0Mi0xLjYxQzQuNDIyIDE4LjA3IDMuNjMzIDE3LjcgMy42MzMgMTcuN2MtMS4wODctLjc0NC4wODQtLjcyOS4wODQtLjcyOSAxLjIwNS4wODQgMS44MzggMS4yMzYgMS44MzggMS4yMzYgMS4wNyAxLjgzNSAyLjgwOSAxLjMwNSAzLjQ5NS45OTguMTA4LS43NzYuNDE3LTEuMzA1Ljc2LTEuNjA1LTIuNjY1LS4zLTUuNDY2LTEuMzMyLTUuNDY2LTUuOTMgMC0xLjMxLjQ2NS0yLjM4IDEuMjM1LTMuMjItLjEzNS0uMzAzLS41NC0xLjUyMy4xMDUtMy4xNzYgMCAwIDEuMDA1LS4zMjIgMy4zIDEuMjMuOTYtLjI2NyAxLjk4LS4zOTkgMy0uNDA1IDEuMDIuMDA2IDIuMDQuMTM4IDMgLjQwNSAyLjI4LTEuNTUyIDMuMjg1LTEuMjMgMy4yODUtMS4yMy42NDUgMS42NTMuMjQgMi44NzMuMTIgMy4xNzYuNzY1Ljg0IDEuMjMgMS45MSAxLjIzIDMuMjIgMCA0LjYxLTIuODA1IDUuNjI1LTUuNDc1IDUuOTIuNDIuMzYuODEgMS4wOTYuODEgMi4yMiAwIDEuNjA2LS4wMTUgMi44OTYtLjAxNSAzLjI4NiAwIC4zMTUuMjEuNjkuODI1LjU3QzIwLjU2NSAyMi4wOTIgMjQgMTcuNTkyIDI0IDEyLjI5N2MwLTYuNjI3LTUuMzczLTEyLTEyLTEyIi8+PC9zdmc+) no-repeat}.ext-link.discord:before{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDgwIDgwIj48ZyBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik02NC4xIDE2LjlhNTguNiA1OC42IDAgMCAwLTE0LjctNC40bC0xLjggMy43YTU0IDU0IDAgMCAwLTE2LjIgMCAzNyAzNyAwIDAgMC0yLTMuOEE1OC40IDU4LjQgMCAwIDAgMTQuNyAxNyA2MCA2MCAwIDAgMCA0LjQgNTcuNmE1OC45IDU4LjkgMCAwIDAgMTggOC44IDQyIDQyIDAgMCAwIDMuNi01LjlsLS4xLS4zYy0yLS43LTMuOC0xLjYtNS42LTIuNmEuMi4yIDAgMCAxIDAtLjQgMzAgMzAgMCAwIDAgMS4zLS45IDQyIDQyIDAgMCAwIDM2IDBsMSAxYy4yIDAgLjIuMiAwIC4zLTEuNyAxLTMuNiAxLjktNS41IDIuNmE0NyA0NyAwIDAgMCAzLjggNi4zIDU4LjcgNTguNyAwIDAgMCAxNy44LTkuMUE1OS41IDU5LjUgMCAwIDAgNjQgMTYuOVpNMjcuNyA0OS4zYy0zLjUgMC02LjQtMy4yLTYuNC03LjEgMC00IDIuOS03LjIgNi40LTcuMiAzLjYgMCA2LjUgMy4zIDYuNCA3LjIgMCA0LTIuOCA3LjEtNi40IDcuMW0yMy42IDBjLTMuNSAwLTYuNC0zLjItNi40LTcuMSAwLTQgMi45LTcuMiA2LjQtNy4yIDMuNiAwIDYuNSAzLjMgNi40IDcuMiAwIDQtMi44IDcuMS02LjQgNy4xIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQgMTJoNzF2NTVINHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=) no-repeat}html[data-theme=dark] .ext-link:before{filter:invert(1)}.medium-zoom-image--opened,.medium-zoom-overlay{z-index:999}html[data-theme=dark] .badge--warning{--ifm-badge-background-color:var(--ifm-color-warning-dark)}.badge--violet{--ifm-badge-background-color:var(--ifm-color-violet)}html[data-theme=dark] img[alt*=themed]{filter:invert(1) hue-rotate(180deg)}html[data-theme=dark] img[alt*=themed--scheme]{filter:invert(.905) brightness(1.04) hue-rotate(180deg)}html img[alt*=bordered]{border:1px solid #d3d5d8;border-radius:16px}html img[alt*=bgLight]{background:#fff}:root[data-theme=dark] [src$="#light-mode-only"],:root[data-theme=light] [src$="#dark-mode-only"]{display:none}iframe{color-scheme:auto;background-color:#f0f2f5;border:0;border-radius:16px;height:700px}mark{background-color:var(--ifm-color-primary-neutral);border-radius:4px;color:#fff;padding:2px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.sidebar-item--wip,.subdetails_sVZK{opacity:.5}.summary{border-bottom:1px solid var(--ifm-color-gray-400);color:var(--ifm-color-gray-600);font-size:1.25rem;padding-bottom:2rem}.breadcrumbs__item:first-child,.breadcrumbs__item:nth-child(2):last-child{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-cyrillic-ext-wght-normal-47cdc5a08f97d9eee9e6a1dcad827e28.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-cyrillic-wght-normal-540925c6baf2b581ba6ae9834519c92c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-latin-ext-wght-normal-d2c614e4dd304045f372384b39f6fd66.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/uz/assets/fonts/overpass-latin-wght-normal-3eb401af5e376ff96c892a6984fe7983.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.backToTopButton_fdhR{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_fdhR:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_h6hY{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a,.sidebarItemLink_V9sV:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_yKzo a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_i5Mp,.navbarSearchContainer_TJSq:empty,.sidebarLogo_LuQ2,.themedComponent_mC5b,[data-theme=dark] .lightToggleIcon_EwAf,[data-theme=light] .darkToggleIcon_Ky7Z,html[data-announcement-bar-initially-dismissed=true] .announcementBar_kZ2O,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_cAcr a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.addMe_pbNn,.content_yKzo,.heroBanner_PbTQ,.ribbon_JKNF,.title_v0wz{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_E7Aa{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_E7Aa{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_E7Aa:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xNyM{line-height:0;padding:0}.content_yKzo{font-size:85%;padding:5px 0}.content_yKzo a{color:inherit}.announcementBar_kZ2O{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_er_t{flex:0 0 10px}.announcementBarClose_pt5G{align-self:stretch;flex:0 0 30px}.toggle_EF7V{height:2rem;width:2rem}.toggleButton_Gz6w{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Gz6w:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_jYpm{cursor:not-allowed}.darkNavbarColorModeToggle_QuGG:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_mNad,[data-theme=light] .themedComponent--light_idUe,html:not([data-theme]) .themedComponent--light_idUe{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_ABfr{display:none;margin:0}.iconExternalLink_UGhe{margin-left:.3rem}.docMainContainer_C15o,.docRoot_SrFj{display:flex;width:100%}.docsWrapper_WNrA{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_RnkU{cursor:pointer}.iconLanguage_HFDA{margin-right:5px;vertical-align:text-bottom}.navbarHideable_oLCi{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_7X6Q{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_PcpO{color:red;white-space:pre-wrap}.errorBoundaryFallback_C8pu{color:red;padding:.55rem}.footerLogoLink_EfD7{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_EfD7:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.root_GfON{border-radius:var(--ifm-alert-border-radius);box-shadow:0 2px 8px 0 #0000001a;color:var(--ifm-font-color-base);display:flex;padding:40px;transition:.25s}.root_GfON:hover{box-shadow:0 4px 8px 0 #0000001a;text-decoration:none}.root_GfON+.root_GfON{margin-top:10px}.rootDisabled_SFUB{opacity:.5}.details_xxkR{align-self:center;flex-grow:1}.detailsTags_uTQx{font-size:.8rem;opacity:.5}.icon_ciqP{align-self:center;font-size:2.5rem;padding-right:20px}.title_pSH5{font-size:1.25rem;font-weight:700}.description__Fep{margin-bottom:0;white-space:break-spaces}.miniTheme_ePfp{padding:20px 30px}.miniTheme_ePfp .title_pSH5{font-size:1rem}.item_zbMY:hover,.miniTheme_ePfp:hover .details_xxkR{filter:grayscale(0)}.primaryTheme_CilO{background-color:var(--ifm-color-primary);color:#fff}.primaryTheme_CilO:hover{box-shadow:0 2px 10px 0 var(--ifm-color-primary-neutral);color:#fff}html[data-theme=dark] .root_GfON.defaultTheme_j3I8,html[data-theme=dark] .root_GfON.miniTheme_ePfp{background:var(--ifm-color-gray-900)}.anchorWithStickyNavbar_YQWG{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Fpva{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_vfgx{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_e3IL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.heroBanner_PbTQ,.preview_MRaB{overflow:hidden;position:relative}.sidebarItemTitle_lhX6{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_RSHg,.sidebarItemList_YMDL{font-size:.9rem}.sidebarItem_viPW{margin-top:.7rem}.sidebarItemLink_V9sV{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_oAjZ{color:var(--ifm-color-primary)!important}.yearGroupHeading_XIYi{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_TRuD{margin:1rem .75rem .5rem}.searchQueryInput_kDxu,.searchVersionInput_JsRz{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_kDxu:focus,.searchVersionInput_JsRz:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_kDxu::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_BGlh{font-size:.9rem;font-weight:700}.algoliaLogo_Gqrd{max-width:150px}.algoliaLogoPathFill_WsEm{fill:var(--ifm-font-color-base)}.searchResultItem_w8JZ{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_GsPy{font-weight:400;margin-bottom:0}.searchResultItemPath_Qzlo{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_USzY{font-style:italic;margin:.5rem 0 0}.loadingSpinner__kDN{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.group_tWrt,.loader_NJGB{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_PbTQ{background:linear-gradient(45deg,var(--ifm-color-primary-grad1),var(--ifm-color-primary-grad2));color:#fff;padding:10rem 0}.link_Ogy3{color:#fff;opacity:.7;transition:.25s}.link_Ogy3:hover{color:unset;opacity:.4;text-decoration:unset}.icon_zeNy{font-size:80px;margin:20px 0}.section_o6sW{align-items:center;display:flex;padding:2rem 0;width:100%}.sectionAlt_eaXm{background-color:var(--ifm-color-emphasis-600);color:var(--ifm-font-color-base-inverse)}.title_v0wz{margin-bottom:40px}.root_M0ZT{background:#fff;color:#1c1e21}.rootContainer_QdPn{overflow:hidden;padding:0 1rem;width:100%}.item_zbMY{align-items:center;display:flex;margin:0 20px;opacity:.8;transition:.25s}.item_zbMY:hover{opacity:1}.image_ylzW{height:50px}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5,.authorSocials_tYkH{height:var(--docusaurus-blog-social-icon-size)}.addMe_pbNn{font-size:12px;font-style:italic;padding-top:40px;width:100%}.scheme_O0RH{justify-content:center}.schemeImg_h_tq{padding-bottom:4rem;padding-top:1rem;width:80%}.authorSocialIcon_Aw8d,.authorSocialLink_jJb5{width:var(--docusaurus-blog-social-icon-size)}[data-theme=dark] .githubSvg_niZ1,[data-theme=dark] .xSvg_KBot{fill:var(--light)}[data-theme=light] .githubSvg_niZ1,[data-theme=light] .xSvg_KBot{fill:var(--dark)}.authorSocials_tYkH{align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.authorSocialLink_jJb5,.authorSocials_tYkH{line-height:0}.authorSocialLink_jJb5{margin-right:.4rem}.authorImage_LjvZ{--ifm-avatar-photo-size:3.6rem}.author-as-h1_usjc .authorImage_LjvZ{--ifm-avatar-photo-size:7rem}.author-as-h2_mLxf .authorImage_LjvZ{--ifm-avatar-photo-size:5.4rem}.authorDetails_nj65{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_XNff{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_usjc .authorName_XNff{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_mLxf .authorName_XNff{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_h5YR{display:-webkit-box;font-size:.8rem;line-height:.8rem;overflow:hidden;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.author-as-h1_usjc .authorTitle_h5YR{font-size:1.2rem;line-height:1.2rem}.author-as-h2_mLxf .authorTitle_h5YR{font-size:1rem;line-height:1rem}.authorBlogPostCount_zAzV{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorCol_b7uU{max-width:inherit!important}.imageOnlyAuthorRow_JaX6{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_GKUw{margin-left:.3rem;margin-right:.3rem}.preview_MRaB{max-height:175px}.ribbon_JKNF{background:var(--ifm-color-primary);border-bottom-left-radius:20px;border-top-left-radius:20px;color:#fff;min-width:50px;padding:4px 10px;position:absolute;right:0;top:20px;z-index:1}.title_xhac{font-weight:600}.labelNew_Jfmq{color:var(--ifm-color-primary);font-weight:700}.techList_Nt0m{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:700;gap:8px;margin-top:10px}.techListItem_MNXE{border:1px solid gray;border-radius:20px;color:gray;line-height:22px;padding:0 14px}.buttonGroup_rnIK button,.codeBlockContainer_hDnq{background:var(--prism-background-color);color:var(--prism-color)}.root_EnwK{margin-top:2rem;padding-bottom:12rem}.section_Jn7s{margin-top:4rem}.groupItems_NJ5Z{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem}.route_vdvl{font-size:.9rem;font-style:italic;opacity:.5}.codeBlockContainer_hDnq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_FNoi{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_XwMz{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_VtXq{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_XwMz+.codeBlockContent_FNoi .codeBlock_VtXq{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_JXl0{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FJLB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_rnIK{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_rnIK button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_rnIK button:focus-visible,.buttonGroup_rnIK button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_rnIK button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ZfIl{counter-increment:a;display:table-row}.codeLineNumber_SBe1{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_SBe1:before{content:counter(a);opacity:.4}.codeLineContent_Id3L{padding-right:var(--ifm-pre-padding)}.tag_r8jo{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_r8jo:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_HKUK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_YDza{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_YDza:after,.tagWithCount_YDza:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_YDza:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_YDza:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_YDza span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_AORk{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_AANs{opacity:1!important}.copyButtonIcons_GFne{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FWVX,.copyButtonSuccessIcon_Xlgb{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_Xlgb{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_AANs .copyButtonIcon_FWVX{opacity:0;transform:scale(.33)}.copyButtonCopied_AANs .copyButtonSuccessIcon_Xlgb{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_KwKQ{display:inline}.tag_qLVe{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_r24G{margin-right:.3em;vertical-align:sub}.lastUpdated_dDyc{font-size:smaller;font-style:italic;margin-top:.2rem}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--feedback-primary-color:#0070f4;--feedback-secondary-color:#f1f3f4;--feedback-light-color:#ccc;--feedback-dark-color:#191919;--feedback-text-color:#5f6368;--feedback-white-color:#fff;--feedback-highlight-color:#ffb422;--feedback-font-family:"Inter","Tahoma","sans-serif";--feedback-heading-font-size:16px;--feedback-text-font-size:14px;--feedback-button-border-radius:20px;--feedback-button-dark-bg-color:var(--feedback-primary-color);--feedback-button-dark-text-color:var(--feedback-white-color);--feedback-button-light-bg-color:var(--feedback-white-color);--feedback-button-light-text-color:var(--feedback-primary-color);--feedback-button-text-font-size:var(--feedback-text-font-size);--feedback-button-text-font-weight:600;--feedback-button-z-index:300;--feedback-modal-button-bg-color:var(--feedback-white-color);--feedback-modal-button-bg-color-active:var(--feedback-white-color);--feedback-modal-button-border-color:var(--feedback-light-color);--feedback-modal-button-border-color-active:var(--feedback-primary-color);--feedback-modal-button-border-radius:4px;--feedback-modal-button-font-size:var(--feedback-text-font-size);--feedback-modal-button-icon-color:var(--feedback-dark-color);--feedback-modal-button-icon-color-active:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color:var(--feedback-primary-color);--feedback-modal-button-submit-bg-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-border-color-hover:var(--feedback-primary-color);--feedback-modal-button-submit-text-color:var(--feedback-white-color);--feedback-modal-button-submit-text-color-hover:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-dark-color);--feedback-modal-button-text-color-active:var(--feedback-primary-color);--feedback-modal-close-bg-color:var(--feedback-white-color);--feedback-modal-close-color:var(--feedback-dark-color);--feedback-modal-content-bg-color:var(--feedback-white-color);--feedback-modal-content-border-color:var(--feedback-light-color);--feedback-modal-content-border-radius:8px;--feedback-modal-content-font-family:var(--feedback-font-family);--feedback-modal-content-position-bottom:10px;--feedback-modal-content-position-left:10px;--feedback-modal-content-position-right:10px;--feedback-modal-content-position-top:10px;--feedback-modal-content-z-index:300;--feedback-modal-element-hover-border-color:var(--feedback-primary-color);--feedback-modal-element-selected-border-color:var(--feedback-primary-color);--feedback-modal-footer-link:var(--feedback-dark-color);--feedback-modal-header-font-family:var(--feedback-font-family);--feedback-modal-header-font-size:var(--feedback-heading-font-size);--feedback-modal-header-font-weight:500;--feedback-modal-header-text-color:var(--feedback-dark-color);--feedback-modal-input-bg-color:var(--feedback-secondary-color);--feedback-modal-input-border-color:#0000;--feedback-modal-input-border-color-focused:#0000;--feedback-modal-input-border-radius:4px;--feedback-modal-input-font-size:var(--feedback-text-font-size);--feedback-modal-input-text-color:var(--feedback-text-color);--feedback-modal-message-font-size:var(--feedback-text-font-size);--feedback-modal-modal-wrapper-z-index:300;--feedback-modal-rating-button-color:var(--feedback-text-color);--feedback-modal-rating-button-selected-color:var(--feedback-primary-color);--feedback-modal-rating-button-stars-selected-color:var(--feedback-highlight-color);--feedback-modal-screenshot-bg-color:#0006;--feedback-modal-screenshot-close-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-white-color);--feedback-modal-screenshot-header-text-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-z-index:250;--feedback-modal-screnshot-z-index:100}[data-theme=dark]{--feedback-text-color:#b0b8c4;--feedback-light-color:#363636;--feedback-modal-button-bg-color-active:#0000;--feedback-modal-button-icon-color:var(--feedback-white-color);--feedback-modal-button-text-color:var(--feedback-white-color);--feedback-modal-close-bg-color:#0000;--feedback-modal-close-color:var(--feedback-white-color);--feedback-modal-content-bg-color:var(--feedback-dark-color);--feedback-modal-footer-link:var(--feedback-white-color);--feedback-modal-header-text-color:var(--feedback-white-color);--feedback-modal-input-bg-color:var(--feedback-light-color);--feedback-modal-input-text-color:var(--feedback-white-color);--feedback-modal-rating-button-color:var(--feedback-white-color);--feedback-modal-screenshot-close-color:var(--feedback-white-color);--feedback-modal-screenshot-header-bg-color:var(--feedback-dark-color);--feedback-modal-screenshot-header-text-color:var(--feedback-white-color)}.feedback-modal-screenshot-open{position:fixed;width:100%}.feedback-modal-screenshot-open--scroll{overflow-y:scroll}.tocCollapsibleButton_i8WS{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_i8WS:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MUXk:after,.tocCollapsibleExpanded_QMAw{transform:none}.tocCollapsible_hANv{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_cAcr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_cAcr ul li{margin:.4rem .8rem}.wordWrapButtonIcon_pLsj{height:1.2rem;width:1.2rem}.details_gZPk{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_gZPk>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_gZPk>summary::-webkit-details-marker{display:none}.details_gZPk>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_vIJ4{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_LfL0{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_LIwU{list-style:none}.img_p9GI{height:auto}.tableOfContents_glYQ{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_DSgh{margin-bottom:1em}.admonitionHeading_u6UJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_u6UJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_u6UJ code{text-transform:none}.admonitionIcon_FweZ{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_FweZ svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_nXDW{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_DLTP{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_ABfr,.expandButton_kkrS{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_pt5G,.announcementBarPlaceholder_er_t{flex-basis:50px}.collapseSidebarButton_ABfr{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_MWVn{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_k3WG,[dir=rtl] .collapseSidebarButtonIcon_MWVn{transform:rotate(0)}.collapseSidebarButton_ABfr:focus,.collapseSidebarButton_ABfr:hover,.expandButton_kkrS:focus,.expandButton_kkrS:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_pcGQ{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GbMa{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GbMa{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_RMUk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_DYiS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_PjtI{padding-top:0}.sidebarHidden_NT18{opacity:0;visibility:hidden}.sidebarLogo_LuQ2{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LuQ2 img{height:2rem;margin-right:.5rem}.expandButton_kkrS{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_k3WG{transform:rotate(180deg)}.docSidebarContainer_i5Mp{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_bjHG{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_SkvF{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_C15o{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_ITe4{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_s7zB{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_TJSq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_dDyc{text-align:right}.tocMobile_ZWDj{display:none}.docItemCol_LHis{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width <= 1180px){.navbar__brand{margin-right:.5rem}.navbar__brand .navbar__title{display:none}.navbar__item{white-space:nowrap}}@media (width <= 1080px){.navbar__item{padding:var(--ifm-navbar-item-padding-vertical) .25rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_jV7c,.footer__link-separator,.navbar__item,.sidebar_e3IL,.tableOfContents_glYQ{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_TJSq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_xH0m{padding:0 .3rem}}@media (width <= 996px){.navbar__brand .navbar__title{display:block}}@media only screen and (max-width:996px){.searchQueryColumn_yglK,.searchResultsColumn_BGlh{max-width:60%!important}.searchLogoColumn_UcFc,.searchVersionColumn_n7FP{max-width:40%!important}.searchLogoColumn_UcFc{padding-left:0!important}}@media screen and (width <= 966px){.heroBanner_PbTQ{padding:2rem}.schemeImg_h_tq{width:100%}}@media screen and (width <= 800px){.item_zbMY{margin:0 10px}.image_ylzW{height:20px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (width <= 600px){.groupItems_NJ5Z{grid-template-columns:1fr}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_hnh2{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_yglK{max-width:100%!important}.searchVersionColumn_n7FP{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media screen and (width <= 450px){.button-group{display:block}.button-group .button{border-radius:var(--ifm-button-border-radius)!important;margin:2px}}@media (hover:hover){.backToTopButton_fdhR:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-color-scheme:dark){:root[data-theme=auto] [src$="#light-mode-only"]{display:none}}@media (prefers-color-scheme:light){:root[data-theme=auto] [src$="#dark-mode-only"]{display:none}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_kZ2O,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ZWDj{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_JXl0{white-space:pre-wrap}} \ No newline at end of file diff --git a/uz/assets/js/022a3ac7.8b5d82c3.js b/uz/assets/js/022a3ac7.e8428e11.js similarity index 98% rename from uz/assets/js/022a3ac7.8b5d82c3.js rename to uz/assets/js/022a3ac7.e8428e11.js index 1470254d7f..71ceb6b9af 100644 --- a/uz/assets/js/022a3ac7.8b5d82c3.js +++ b/uz/assets/js/022a3ac7.e8428e11.js @@ -1,2 +1,2 @@ -/*! For license information please see 022a3ac7.8b5d82c3.js.LICENSE.txt */ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[9856],{655:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(991),s=a(758);const c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"};var i=a(5624),r=function(e,t){return s.createElement(i.A,(0,n.A)({},e,{ref:t,icon:c}))};const o=s.forwardRef(r)},7327:(e,t,a)=>{a.d(t,{Ay:()=>o,RM:()=>i});var n=a(6070),s=a(5710),c=a(8173);const i=[];function r(e){return(0,n.jsx)(c.A,{...e})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(r,{...e})}):r(e)}},7624:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>y,contentTitle:()=>_,default:()=>A,frontMatter:()=>z,metadata:()=>j,toc:()=>M});var n=a(6070),s=a(5710),c=a(7327),i=a(991),r=a(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M912 820.1V203.9c28-9.9 48-36.6 48-67.9 0-39.8-32.2-72-72-72-31.3 0-58 20-67.9 48H203.9C194 84 167.3 64 136 64c-39.8 0-72 32.2-72 72 0 31.3 20 58 48 67.9v616.2C84 830 64 856.7 64 888c0 39.8 32.2 72 72 72 31.3 0 58-20 67.9-48h616.2c9.9 28 36.6 48 67.9 48 39.8 0 72-32.2 72-72 0-31.3-20-58-48-67.9zM888 112c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zM136 912c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-752c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm704 680H184V184h656v656zm48 72c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z"}},{tag:"path",attrs:{d:"M288 474h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64zm-56 420h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64z"}}]},name:"group",theme:"outlined"};var l=a(5624),d=function(e,t){return r.createElement(l.A,(0,i.A)({},e,{ref:t,icon:o}))};const u=r.forwardRef(d);const m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"};var h=function(e,t){return r.createElement(l.A,(0,i.A)({},e,{ref:t,icon:m}))};const f=r.forwardRef(h);const p={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7 3.3-27.3 19.8-41.9 50.1-49 18.4-4.3 38.8-4.9 57.3-3.2 1.7.2 3.5.3 5.2.5 11.3 2.7 22.8 5 34.3 6.8 34.1 5.6 68.8 8.4 101.8 6.6 92.8-5 156-45.9 159.2-132.7 3.1-84.1-54.7-143.7-147.9-183.6-29.9-12.8-61.6-22.7-93.3-30.2-14.3-3.4-26.3-5.7-35.2-7.2-7.9-75.9-71.5-133.8-147.8-134.4-76.3-.6-140.9 56.1-150.1 131.9s40 146.3 114.2 163.9c74.2 17.6 149.9-23.3 175.7-95.1 9.4 1.7 18.7 3.6 28 5.8 28.2 6.6 56.4 15.4 82.4 26.6 70.7 30.2 109.3 70.1 107.5 119.9-1.6 44.6-33.6 65.2-96.2 68.6-27.5 1.5-57.6-.9-87.3-5.8-8.3-1.4-15.9-2.8-22.6-4.3-3.9-.8-6.6-1.5-7.8-1.8l-3.1-.6c-2.2-.3-5.9-.8-10.7-1.3-25-2.3-52.1-1.5-78.5 4.6-55.2 12.9-93.9 47.2-101.1 105.8-15.7 126.2 78.6 184.7 276 188.9 29.1 70.4 106.4 107.9 179.6 87 73.3-20.9 119.3-93.4 106.9-168.6zM329.1 345.2a83.3 83.3 0 11.01-166.61 83.3 83.3 0 01-.01 166.61zM695.6 845a83.3 83.3 0 11.01-166.61A83.3 83.3 0 01695.6 845z"}}]},name:"node-index",theme:"outlined"};var v=function(e,t){return r.createElement(l.A,(0,i.A)({},e,{ref:t,icon:p}))};const g=r.forwardRef(v);var x=a(655);const z={sidebar_position:0,hide_table_of_contents:!0,pagination_prev:"guides/index"},_="\ud83d\udcda Malumot",j={id:"reference/index",title:"\ud83d\udcda Malumot",description:"Feature-Sliced Design asosiy tushunchalarining batafsil tavsifi.",source:"@site/i18n/uz/docusaurus-plugin-content-docs/current/reference/index.mdx",sourceDirName:"reference",slug:"/reference/",permalink:"/uz/docs/reference/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/uz/docusaurus-plugin-content-docs/current/reference/index.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:0,frontMatter:{sidebar_position:0,hide_table_of_contents:!0,pagination_prev:"guides/index"},sidebar:"referenceSidebar",previous:{title:"\ud83c\udfaf Guides",permalink:"/uz/docs/guides/"},next:{title:"Qatlamlar",permalink:"/uz/docs/reference/layers"}},y={},M=[...c.RM,...c.RM,...c.RM,...c.RM];function b(e){const t={h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"-malumot",children:"\ud83d\udcda Malumot"})}),"\n",(0,n.jsx)("p",{class:"summary",children:(0,n.jsx)(t.p,{children:"Feature-Sliced Design asosiy tushunchalarining batafsil tavsifi."})}),"\n",(0,n.jsx)(c.Ay,{title:"Qatlamlar",description:"Qatlamning ta'rifi va barcha qatlamlar uchun tushuntirishlar",to:"/docs/reference/layers",Icon:u}),"\n",(0,n.jsx)(c.Ay,{title:"Bo'lak va segmentlar",description:"Bo'lak va segmentning ta'riflari, turli qatlamlardagi segmentlar uchun kontent misollari",to:"/docs/reference/slices-segments",Icon:f}),"\n",(0,n.jsx)(c.Ay,{title:"Izolyatsiya",description:"O'lchovli va samarali modul o'zaro ta'siri uchun amaliyotlar",to:"/docs/reference/isolation",Icon:g}),"\n",(0,n.jsx)(c.Ay,{title:"Ommaviy API",description:"Kengaytiriladigan va integratsiyalashuvi oson modullarni loyihalash amaliyoti",to:"/docs/reference/public-api",Icon:x.A})]})}function A(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(b,{...e})}):b(e)}},8173:(e,t,a)=>{a.d(t,{Y:()=>r,A:()=>l});a(758);var n=a(3526),s=a(8886);const c={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var i=a(6070);const r=e=>{const{title:t,description:a,to:r,Icon:l,tags:d,className:u,disabled:m,theme:h="default"}=e;return(0,i.jsxs)(s.A,{className:(0,n.A)(c.root,u,m&&c.rootDisabled,c[`${h}Theme`]),to:r,children:[(0,i.jsx)(o,{Icon:l}),(0,i.jsxs)("div",{className:c.details,children:[(0,i.jsxs)("div",{className:c.detailsMain,children:[(0,i.jsx)("span",{className:c.title,children:t}),(0,i.jsx)("p",{className:c.description,children:a})]}),d&&(0,i.jsx)("div",{className:c.detailsTags,children:d.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,i.jsx)("span",{className:c.icon,children:t}):(0,i.jsx)(t,{className:c.icon}):null},l=r},5710:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>r});var n=a(758);const s={},c=n.createContext(s);function i(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file +/*! For license information please see 022a3ac7.e8428e11.js.LICENSE.txt */ +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[9856],{655:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(991),s=a(758);const c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"};var i=a(5624),r=function(e,t){return s.createElement(i.A,(0,n.A)({},e,{ref:t,icon:c}))};const o=s.forwardRef(r)},7327:(e,t,a)=>{a.d(t,{Ay:()=>o,RM:()=>i});var n=a(6070),s=a(5710),c=a(8173);const i=[];function r(e){return(0,n.jsx)(c.A,{...e})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(r,{...e})}):r(e)}},7624:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>y,contentTitle:()=>_,default:()=>A,frontMatter:()=>z,metadata:()=>j,toc:()=>M});var n=a(6070),s=a(5710),c=a(7327),i=a(991),r=a(758);const o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M912 820.1V203.9c28-9.9 48-36.6 48-67.9 0-39.8-32.2-72-72-72-31.3 0-58 20-67.9 48H203.9C194 84 167.3 64 136 64c-39.8 0-72 32.2-72 72 0 31.3 20 58 48 67.9v616.2C84 830 64 856.7 64 888c0 39.8 32.2 72 72 72 31.3 0 58-20 67.9-48h616.2c9.9 28 36.6 48 67.9 48 39.8 0 72-32.2 72-72 0-31.3-20-58-48-67.9zM888 112c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zM136 912c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-752c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm704 680H184V184h656v656zm48 72c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z"}},{tag:"path",attrs:{d:"M288 474h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64zm-56 420h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64z"}}]},name:"group",theme:"outlined"};var l=a(5624),d=function(e,t){return r.createElement(l.A,(0,i.A)({},e,{ref:t,icon:o}))};const u=r.forwardRef(d);const m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"};var h=function(e,t){return r.createElement(l.A,(0,i.A)({},e,{ref:t,icon:m}))};const f=r.forwardRef(h);const p={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7 3.3-27.3 19.8-41.9 50.1-49 18.4-4.3 38.8-4.9 57.3-3.2 1.7.2 3.5.3 5.2.5 11.3 2.7 22.8 5 34.3 6.8 34.1 5.6 68.8 8.4 101.8 6.6 92.8-5 156-45.9 159.2-132.7 3.1-84.1-54.7-143.7-147.9-183.6-29.9-12.8-61.6-22.7-93.3-30.2-14.3-3.4-26.3-5.7-35.2-7.2-7.9-75.9-71.5-133.8-147.8-134.4-76.3-.6-140.9 56.1-150.1 131.9s40 146.3 114.2 163.9c74.2 17.6 149.9-23.3 175.7-95.1 9.4 1.7 18.7 3.6 28 5.8 28.2 6.6 56.4 15.4 82.4 26.6 70.7 30.2 109.3 70.1 107.5 119.9-1.6 44.6-33.6 65.2-96.2 68.6-27.5 1.5-57.6-.9-87.3-5.8-8.3-1.4-15.9-2.8-22.6-4.3-3.9-.8-6.6-1.5-7.8-1.8l-3.1-.6c-2.2-.3-5.9-.8-10.7-1.3-25-2.3-52.1-1.5-78.5 4.6-55.2 12.9-93.9 47.2-101.1 105.8-15.7 126.2 78.6 184.7 276 188.9 29.1 70.4 106.4 107.9 179.6 87 73.3-20.9 119.3-93.4 106.9-168.6zM329.1 345.2a83.3 83.3 0 11.01-166.61 83.3 83.3 0 01-.01 166.61zM695.6 845a83.3 83.3 0 11.01-166.61A83.3 83.3 0 01695.6 845z"}}]},name:"node-index",theme:"outlined"};var v=function(e,t){return r.createElement(l.A,(0,i.A)({},e,{ref:t,icon:p}))};const g=r.forwardRef(v);var x=a(655);const z={sidebar_position:0,hide_table_of_contents:!0,pagination_prev:"guides/index"},_="\ud83d\udcda Malumot",j={id:"reference/index",title:"\ud83d\udcda Malumot",description:"Feature-Sliced Design asosiy tushunchalarining batafsil tavsifi.",source:"@site/i18n/uz/docusaurus-plugin-content-docs/current/reference/index.mdx",sourceDirName:"reference",slug:"/reference/",permalink:"/uz/docs/reference/",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/uz/docusaurus-plugin-content-docs/current/reference/index.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:0,frontMatter:{sidebar_position:0,hide_table_of_contents:!0,pagination_prev:"guides/index"},sidebar:"referenceSidebar",previous:{title:"\ud83c\udfaf Guides",permalink:"/uz/docs/guides/"},next:{title:"Qatlamlar",permalink:"/uz/docs/reference/layers"}},y={},M=[...c.RM,...c.RM,...c.RM,...c.RM];function b(e){const t={h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"-malumot",children:"\ud83d\udcda Malumot"})}),"\n",(0,n.jsx)("p",{class:"summary",children:(0,n.jsx)(t.p,{children:"Feature-Sliced Design asosiy tushunchalarining batafsil tavsifi."})}),"\n",(0,n.jsx)(c.Ay,{title:"Qatlamlar",description:"Qatlamning ta'rifi va barcha qatlamlar uchun tushuntirishlar",to:"/docs/reference/layers",Icon:u}),"\n",(0,n.jsx)(c.Ay,{title:"Bo'lak va segmentlar",description:"Bo'lak va segmentning ta'riflari, turli qatlamlardagi segmentlar uchun kontent misollari",to:"/docs/reference/slices-segments",Icon:f}),"\n",(0,n.jsx)(c.Ay,{title:"Izolyatsiya",description:"O'lchovli va samarali modul o'zaro ta'siri uchun amaliyotlar",to:"/docs/reference/isolation",Icon:g}),"\n",(0,n.jsx)(c.Ay,{title:"Ommaviy API",description:"Kengaytiriladigan va integratsiyalashuvi oson modullarni loyihalash amaliyoti",to:"/docs/reference/public-api",Icon:x.A})]})}function A(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(b,{...e})}):b(e)}},8173:(e,t,a)=>{a.d(t,{Y:()=>r,A:()=>l});a(758);var n=a(3526),s=a(8886);const c={root:"root_GfON",rootDisabled:"rootDisabled_SFUB",details:"details_xxkR",detailsTags:"detailsTags_uTQx",icon:"icon_ciqP",title:"title_pSH5",description:"description__Fep",miniTheme:"miniTheme_ePfp",primaryTheme:"primaryTheme_CilO",defaultTheme:"defaultTheme_j3I8"};var i=a(6070);const r=e=>{const{title:t,description:a,to:r,Icon:l,tags:d,className:u,disabled:m,theme:h="default"}=e;return(0,i.jsxs)(s.A,{className:(0,n.A)(c.root,u,m&&c.rootDisabled,c[`${h}Theme`]),to:r,children:[(0,i.jsx)(o,{Icon:l}),(0,i.jsxs)("div",{className:c.details,children:[(0,i.jsxs)("div",{className:c.detailsMain,children:[(0,i.jsx)("span",{className:c.title,children:t}),(0,i.jsx)("p",{className:c.description,children:a})]}),d&&(0,i.jsx)("div",{className:c.detailsTags,children:d.join(" \u2022 ")})]})]})},o=e=>{let{Icon:t}=e;return t?"string"==typeof t?(0,i.jsx)("span",{className:c.icon,children:t}):(0,i.jsx)(t,{className:c.icon}):null},l=r},5710:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>r});var n=a(758);const s={},c=n.createContext(s);function i(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/uz/assets/js/022a3ac7.8b5d82c3.js.LICENSE.txt b/uz/assets/js/022a3ac7.e8428e11.js.LICENSE.txt similarity index 100% rename from uz/assets/js/022a3ac7.8b5d82c3.js.LICENSE.txt rename to uz/assets/js/022a3ac7.e8428e11.js.LICENSE.txt diff --git a/uz/assets/js/0499e362.6a2eb8fd.js b/uz/assets/js/0499e362.ceb4779e.js similarity index 98% rename from uz/assets/js/0499e362.6a2eb8fd.js rename to uz/assets/js/0499e362.ceb4779e.js index 8fb749adbb..7d4ddc5e0c 100644 --- a/uz/assets/js/0499e362.6a2eb8fd.js +++ b/uz/assets/js/0499e362.ceb4779e.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[4005],{5556:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var i=s(6070),n=s(5710);const o={unlisted:!0},r="Decomposition cheatsheet",a={id:"get-started/cheatsheet",title:"Decomposition cheatsheet",description:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",sourceDirName:"get-started",slug:"/get-started/cheatsheet",permalink:"/uz/docs/get-started/cheatsheet",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,frontMatter:{unlisted:!0},sidebar:"getstartedSidebar"},c={},d=[{value:"Choosing a layer",id:"choosing-a-layer",level:2},{value:"Examples",id:"examples",level:2},{value:"Tweet",id:"tweet",level:3},{value:"GitHub",id:"github",level:3},{value:"See also",id:"see-also",level:2}];function l(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"decomposition-cheatsheet",children:"Decomposition cheatsheet"})}),"\n",(0,i.jsx)(t.p,{children:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow."}),"\n",(0,i.jsx)(t.h2,{id:"choosing-a-layer",children:"Choosing a layer"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(6701).A+"",children:"Download PDF"})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Definitions of all layers and self-check questions",src:s(6423).A+"",width:"1684",height:"1190"})}),"\n",(0,i.jsx)(t.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(t.h3,{id:"tweet",children:"Tweet"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-tweet-bordered-bgLight",src:s(9342).A+"",width:"1200",height:"2364"})}),"\n",(0,i.jsx)(t.h3,{id:"github",children:"GitHub"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-github-bordered",src:s(890).A+"",width:"2291",height:"1080"})}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4262",children:"(Thread) General logic for features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4210",children:"(Thread) Decomposition of swollen logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4088",children:"(Thread) About understanding the areas of responsibility during decomposition"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3828",children:"(Thread) Decomposition of the Product List widget"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.pluralsight.com/guides/how-to-organize-your-react-+-redux-codebase",children:"(Article) Different approaches to the decomposition of logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3776",children:"(Thread) About the difference between features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3248",children:"(Thread) About the difference between things and entities (2)"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3833",children:"(Thread) About the application of criteria for decomposition"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},6701:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/files/choosing-a-layer-en-12fdf3265c8fc4f6b58687352b81fce7.pdf"},6423:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/choosing-a-layer-en-5b67f20bb921ba17d78a56c0dc7654a9.jpg"},890:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-github-a0eeb839a4b5ef5c480a73726a4451b0.jpg"},9342:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-twitter-7b9a50f879d763c49305b3bf0751ee35.png"},5710:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>a});var i=s(758);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[4005],{5556:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var i=s(6070),n=s(5710);const o={unlisted:!0},r="Decomposition cheatsheet",a={id:"get-started/cheatsheet",title:"Decomposition cheatsheet",description:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",sourceDirName:"get-started",slug:"/get-started/cheatsheet",permalink:"/uz/docs/get-started/cheatsheet",draft:!1,unlisted:!0,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/cheatsheet.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,frontMatter:{unlisted:!0},sidebar:"getstartedSidebar"},c={},d=[{value:"Choosing a layer",id:"choosing-a-layer",level:2},{value:"Examples",id:"examples",level:2},{value:"Tweet",id:"tweet",level:3},{value:"GitHub",id:"github",level:3},{value:"See also",id:"see-also",level:2}];function l(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"decomposition-cheatsheet",children:"Decomposition cheatsheet"})}),"\n",(0,i.jsx)(t.p,{children:"Use this as a quick reference when you're deciding how to decompose your UI. PDF versions are also available below, so you can print it out and keep one under your pillow."}),"\n",(0,i.jsx)(t.h2,{id:"choosing-a-layer",children:"Choosing a layer"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(6701).A+"",children:"Download PDF"})}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Definitions of all layers and self-check questions",src:s(6423).A+"",width:"1684",height:"1190"})}),"\n",(0,i.jsx)(t.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(t.h3,{id:"tweet",children:"Tweet"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-tweet-bordered-bgLight",src:s(9342).A+"",width:"1200",height:"2364"})}),"\n",(0,i.jsx)(t.h3,{id:"github",children:"GitHub"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"decomposed-github-bordered",src:s(890).A+"",width:"2291",height:"1080"})}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4262",children:"(Thread) General logic for features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4210",children:"(Thread) Decomposition of swollen logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/4088",children:"(Thread) About understanding the areas of responsibility during decomposition"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3828",children:"(Thread) Decomposition of the Product List widget"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.pluralsight.com/guides/how-to-organize-your-react-+-redux-codebase",children:"(Article) Different approaches to the decomposition of logic"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3776",children:"(Thread) About the difference between features and entities"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3248",children:"(Thread) About the difference between things and entities (2)"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://t.me/feature_sliced/3833",children:"(Thread) About the application of criteria for decomposition"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},6701:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/files/choosing-a-layer-en-12fdf3265c8fc4f6b58687352b81fce7.pdf"},6423:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/choosing-a-layer-en-5b67f20bb921ba17d78a56c0dc7654a9.jpg"},890:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-github-a0eeb839a4b5ef5c480a73726a4451b0.jpg"},9342:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/decompose-twitter-7b9a50f879d763c49305b3bf0751ee35.png"},5710:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>a});var i=s(758);const n={},o=i.createContext(n);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/uz/assets/js/066221cc.e6dd80ce.js b/uz/assets/js/066221cc.8ba29b62.js similarity index 99% rename from uz/assets/js/066221cc.e6dd80ce.js rename to uz/assets/js/066221cc.8ba29b62.js index 76ede99fbe..7e0d3d43c8 100644 --- a/uz/assets/js/066221cc.e6dd80ce.js +++ b/uz/assets/js/066221cc.8ba29b62.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[3120],{8715:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=s(6070),t=s(5710);const r={sidebar_position:1},o="Overview",a={id:"get-started/overview",title:"Overview",description:"Feature-Sliced Design (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",sourceDirName:"get-started",slug:"/get-started/overview",permalink:"/uz/docs/get-started/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"getstartedSidebar",previous:{title:"\ud83d\ude80 Get Started",permalink:"/uz/docs/get-started/"},next:{title:"Tutorial",permalink:"/uz/docs/get-started/tutorial"}},l={},d=[{value:"Is it right for me?",id:"is-it-right-for-me",level:2},{value:"Basic example",id:"basic-example",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Layers",id:"layers",level:3},{value:"Slices",id:"slices",level:3},{value:"Segments",id:"segments",level:3},{value:"Advantages",id:"advantages",level:2},{value:"Incremental adoption",id:"incremental-adoption",level:2},{value:"Next steps",id:"next-steps",level:2}];function c(e){const n={a:"a",br:"br",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"overview",children:"Overview"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Feature-Sliced Design"})," (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements."]}),"\n",(0,i.jsxs)(n.p,{children:["Apart from a set of conventions, FSD is also a toolchain. We have a ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/steiger",children:"linter"})," to check your project's architecture, ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/awesome?tab=readme-ov-file#tools",children:"folder generators"})," through a CLI or IDEs, as well as a rich library of ",(0,i.jsx)(n.a,{href:"/examples",children:"examples"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"is-it-right-for-me",children:"Is it right for me?"}),"\n",(0,i.jsx)(n.p,{children:"FSD can be implemented in projects and teams of any size. It is right for your project if:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["You're doing ",(0,i.jsx)(n.strong,{children:"frontend"})," (UI on web, mobile, desktop, etc.)"]}),"\n",(0,i.jsxs)(n.li,{children:["You're building an ",(0,i.jsx)(n.strong,{children:"application"}),", not a library"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"And that's it! There are no restrictions on what programming language, UI framework, or state manager you use. You can also adopt FSD incrementally, use it in monorepos, and scale to great lengths by breaking your app into packages and implementing FSD individually within them."}),"\n",(0,i.jsxs)(n.p,{children:["If you already have an architecture and you're considering a switch to FSD, make sure that the current architecture is ",(0,i.jsx)(n.strong,{children:"causing trouble"})," in your team. For example, if your project has grown too large and inter-connected to efficiently implement new features, or if you're expecting a lot of new members to join the team. If the current architecture works, maybe it's not worth changing. But if you do decide to migrate, see the ",(0,i.jsx)(n.a,{href:"/docs/guides/migration/from-legacy",children:"Migration"})," section for guidance."]}),"\n",(0,i.jsx)(n.h2,{id:"basic-example",children:"Basic example"}),"\n",(0,i.jsx)(n.p,{children:"Here is a simple project that implements FSD:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 app"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 pages"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 shared"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["These top-level folders are called ",(0,i.jsx)(n.em,{children:"layers"}),". Let's look deeper:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 routes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 analytics"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 home"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 article-reader"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 settings"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"})," are called ",(0,i.jsx)(n.em,{children:"slices"}),". They divide the layer by domain (in this case, by pages)."]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),", ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),", and ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages/article-reader"})," are called ",(0,i.jsx)(n.em,{children:"segments"}),", and they divide slices (or layers) by technical purpose, i.e. what the code is for."]}),"\n",(0,i.jsx)(n.h2,{id:"concepts",children:"Concepts"}),"\n",(0,i.jsx)(n.p,{children:"Layers, slices, and segments form a hierarchy like this:"}),"\n",(0,i.jsxs)("figure",{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Hierarchy of FSD concepts, described below",src:s(1021).A+"",width:"1355",height:"754"})}),(0,i.jsxs)("figcaption",{style:{fontStyle:"italic",fontSize:"0.9em"},children:[(0,i.jsx)("p",{children:'Pictured above: three pillars, labeled left to right as "Layers", "Slices", and "Segments" respectively.'}),(0,i.jsx)("p",{children:'The "Layers" pillar contains seven divisions arranged top to bottom and labeled "app", "processes", "pages", "widgets", "features", "entities", and "shared". The "processes" division is crossed out. The "entities" division is connected to the second pillar "Slices" in a way that conveys that the second pillar is the content of "entities".'}),(0,i.jsx)("p",{children:'The "Slices" pillar contains three divisions arranged top to bottom and labeled "user", "post", and "comment". The "post" division is connected to the third pillar "Segments" in the same way such that it\'s the content of "post".'}),(0,i.jsx)("p",{children:'The "Segments" pillar contains three divisions, arranged top to bottom and labeled "ui", "model", and "api".'})]})]}),"\n",(0,i.jsx)(n.h3,{id:"layers",children:"Layers"}),"\n",(0,i.jsx)(n.p,{children:"Layers are standardized across all FSD projects. You don't have to use all of the layers, but their names are important. There are currently seven of them (from top to bottom):"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"App* \u2014 everything that makes the app run \u2014 routing, entrypoints, global styles, providers."}),"\n",(0,i.jsx)(n.li,{children:"Processes (deprecated) \u2014 complex inter-page scenarios."}),"\n",(0,i.jsx)(n.li,{children:"Pages \u2014 full pages or large parts of a page in nested routing."}),"\n",(0,i.jsx)(n.li,{children:"Widgets \u2014 large self-contained chunks of functionality or UI, usually delivering an entire use case."}),"\n",(0,i.jsxs)(n.li,{children:["Features \u2014 ",(0,i.jsx)(n.em,{children:"reused"})," implementations of entire product features, i.e. actions that bring business value to the user."]}),"\n",(0,i.jsxs)(n.li,{children:["Entities \u2014 business entities that the project works with, like ",(0,i.jsx)(n.code,{children:"user"})," or ",(0,i.jsx)(n.code,{children:"product"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Shared* \u2014 reusable functionality, especially when it's detached from the specifics of the project/business, though not necessarily."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.em,{children:"* \u2014 these layers, App and Shared, unlike the other layers, don't have slices, and are made up of segments directly."})}),"\n",(0,i.jsx)(n.p,{children:"The trick with layers is that modules on one layer can only know about and import from modules from the layers strictly below."}),"\n",(0,i.jsx)(n.h3,{id:"slices",children:"Slices"}),"\n",(0,i.jsx)(n.p,{children:"Next up are slices, which partition the code by business domain. You're free to choose any names for them, and create as many as you wish. Slices make your codebase easier to navigate by keeping logically related modules close together."}),"\n",(0,i.jsx)(n.p,{children:"Slices cannot use other slices on the same layer, and that helps with high cohesion and low coupling."}),"\n",(0,i.jsx)(n.h3,{id:"segments",children:"Segments"}),"\n",(0,i.jsx)(n.p,{children:"Slices, as well as layers App and Shared, consist of segments, and segments group your code by its purpose. Segment names are not constrained by the standard, but there are several conventional names for the most common purposes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ui"})," \u2014 everything related to UI display: UI components, date formatters, styles, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"api"})," \u2014 backend interactions: request functions, data types, mappers, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"model"})," \u2014 the data model: schemas, interfaces, stores, and business logic."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"lib"})," \u2014 library code that other modules on this slice need."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"config"})," \u2014 configuration files and feature flags."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Usually these segments are enough for most layers, you would only create your own segments in Shared or App, but this is not a rule."}),"\n",(0,i.jsx)(n.h2,{id:"advantages",children:"Advantages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Uniformity"}),(0,i.jsx)(n.br,{}),"\n","Since the structure is standardized, projects become more uniform, which makes onboarding new members easier for the team."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Stability in face of changes and refactoring"}),(0,i.jsx)(n.br,{}),"\n","A module on one layer cannot use other modules on the same layer, or the layers above.",(0,i.jsx)(n.br,{}),"\n","This allows you to make isolated modifications without unforeseen consequences to the rest of the app."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Controlled reuse of logic"}),(0,i.jsx)(n.br,{}),"\n","Depending on the layer, you can make code very reusable or very local.",(0,i.jsx)(n.br,{}),"\n","This keeps a balance between following the ",(0,i.jsx)(n.strong,{children:"DRY"})," principle and practicality."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Orientation to business and users needs"}),(0,i.jsx)(n.br,{}),"\n","The app is split into business domains and usage of the business language is encouraged in naming, so that you can do useful product work without fully understanding all other unrelated parts of the project."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"incremental-adoption",children:"Incremental adoption"}),"\n",(0,i.jsx)(n.p,{children:"If you have an existing codebase that you want to migrate to FSD, we suggest the following strategy. We found it useful in our own migration experience."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start by slowly shaping up the App and Shared layers module-by-module to create a foundation."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Distribute all of the existing UI across Widgets and Pages using broad strokes, even if they have dependencies that violate the rules of FSD."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start gradually resolving import violations and also extracting Entities and possibly even Features."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It's advised to refrain from adding new large entities while refactoring or refactoring only certain parts of the project."}),"\n",(0,i.jsx)(n.h2,{id:"next-steps",children:"Next steps"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Want to get a good grasp of how to think in FSD?"})," Check out the ",(0,i.jsx)(n.a,{href:"/docs/get-started/tutorial",children:"Tutorial"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Prefer to learn from examples?"})," We have a lot in the ",(0,i.jsx)(n.a,{href:"/examples",children:"Examples"})," section."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Have questions?"})," Drop by our ",(0,i.jsx)(n.a,{href:"https://t.me/feature_sliced",children:"Telegram chat"})," and get help from the community."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1021:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/visual_schema-e826067f573946613dcdc76e3f585082.jpg"},5710:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(758);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[3120],{8715:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=s(6070),t=s(5710);const r={sidebar_position:1},o="Overview",a={id:"get-started/overview",title:"Overview",description:"Feature-Sliced Design (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements.",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",sourceDirName:"get-started",slug:"/get-started/overview",permalink:"/uz/docs/get-started/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx",tags:[],version:"current",lastUpdatedAt:1725188328e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"getstartedSidebar",previous:{title:"\ud83d\ude80 Get Started",permalink:"/uz/docs/get-started/"},next:{title:"Tutorial",permalink:"/uz/docs/get-started/tutorial"}},l={},d=[{value:"Is it right for me?",id:"is-it-right-for-me",level:2},{value:"Basic example",id:"basic-example",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Layers",id:"layers",level:3},{value:"Slices",id:"slices",level:3},{value:"Segments",id:"segments",level:3},{value:"Advantages",id:"advantages",level:2},{value:"Incremental adoption",id:"incremental-adoption",level:2},{value:"Next steps",id:"next-steps",level:2}];function c(e){const n={a:"a",br:"br",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"overview",children:"Overview"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Feature-Sliced Design"})," (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements."]}),"\n",(0,i.jsxs)(n.p,{children:["Apart from a set of conventions, FSD is also a toolchain. We have a ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/steiger",children:"linter"})," to check your project's architecture, ",(0,i.jsx)(n.a,{href:"https://github.com/feature-sliced/awesome?tab=readme-ov-file#tools",children:"folder generators"})," through a CLI or IDEs, as well as a rich library of ",(0,i.jsx)(n.a,{href:"/examples",children:"examples"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"is-it-right-for-me",children:"Is it right for me?"}),"\n",(0,i.jsx)(n.p,{children:"FSD can be implemented in projects and teams of any size. It is right for your project if:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["You're doing ",(0,i.jsx)(n.strong,{children:"frontend"})," (UI on web, mobile, desktop, etc.)"]}),"\n",(0,i.jsxs)(n.li,{children:["You're building an ",(0,i.jsx)(n.strong,{children:"application"}),", not a library"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"And that's it! There are no restrictions on what programming language, UI framework, or state manager you use. You can also adopt FSD incrementally, use it in monorepos, and scale to great lengths by breaking your app into packages and implementing FSD individually within them."}),"\n",(0,i.jsxs)(n.p,{children:["If you already have an architecture and you're considering a switch to FSD, make sure that the current architecture is ",(0,i.jsx)(n.strong,{children:"causing trouble"})," in your team. For example, if your project has grown too large and inter-connected to efficiently implement new features, or if you're expecting a lot of new members to join the team. If the current architecture works, maybe it's not worth changing. But if you do decide to migrate, see the ",(0,i.jsx)(n.a,{href:"/docs/guides/migration/from-legacy",children:"Migration"})," section for guidance."]}),"\n",(0,i.jsx)(n.h2,{id:"basic-example",children:"Basic example"}),"\n",(0,i.jsx)(n.p,{children:"Here is a simple project that implements FSD:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 app"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 pages"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 shared"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["These top-level folders are called ",(0,i.jsx)(n.em,{children:"layers"}),". Let's look deeper:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 routes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 analytics"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 home"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 article-reader"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 settings"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 ui"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"\ud83d\udcc1 api"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages"})," are called ",(0,i.jsx)(n.em,{children:"slices"}),". They divide the layer by domain (in this case, by pages)."]}),"\n",(0,i.jsxs)(n.p,{children:["Folders inside ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 app"}),", ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 shared"}),", and ",(0,i.jsx)(n.code,{children:"\ud83d\udcc2 pages/article-reader"})," are called ",(0,i.jsx)(n.em,{children:"segments"}),", and they divide slices (or layers) by technical purpose, i.e. what the code is for."]}),"\n",(0,i.jsx)(n.h2,{id:"concepts",children:"Concepts"}),"\n",(0,i.jsx)(n.p,{children:"Layers, slices, and segments form a hierarchy like this:"}),"\n",(0,i.jsxs)("figure",{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Hierarchy of FSD concepts, described below",src:s(1021).A+"",width:"1355",height:"754"})}),(0,i.jsxs)("figcaption",{style:{fontStyle:"italic",fontSize:"0.9em"},children:[(0,i.jsx)("p",{children:'Pictured above: three pillars, labeled left to right as "Layers", "Slices", and "Segments" respectively.'}),(0,i.jsx)("p",{children:'The "Layers" pillar contains seven divisions arranged top to bottom and labeled "app", "processes", "pages", "widgets", "features", "entities", and "shared". The "processes" division is crossed out. The "entities" division is connected to the second pillar "Slices" in a way that conveys that the second pillar is the content of "entities".'}),(0,i.jsx)("p",{children:'The "Slices" pillar contains three divisions arranged top to bottom and labeled "user", "post", and "comment". The "post" division is connected to the third pillar "Segments" in the same way such that it\'s the content of "post".'}),(0,i.jsx)("p",{children:'The "Segments" pillar contains three divisions, arranged top to bottom and labeled "ui", "model", and "api".'})]})]}),"\n",(0,i.jsx)(n.h3,{id:"layers",children:"Layers"}),"\n",(0,i.jsx)(n.p,{children:"Layers are standardized across all FSD projects. You don't have to use all of the layers, but their names are important. There are currently seven of them (from top to bottom):"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"App* \u2014 everything that makes the app run \u2014 routing, entrypoints, global styles, providers."}),"\n",(0,i.jsx)(n.li,{children:"Processes (deprecated) \u2014 complex inter-page scenarios."}),"\n",(0,i.jsx)(n.li,{children:"Pages \u2014 full pages or large parts of a page in nested routing."}),"\n",(0,i.jsx)(n.li,{children:"Widgets \u2014 large self-contained chunks of functionality or UI, usually delivering an entire use case."}),"\n",(0,i.jsxs)(n.li,{children:["Features \u2014 ",(0,i.jsx)(n.em,{children:"reused"})," implementations of entire product features, i.e. actions that bring business value to the user."]}),"\n",(0,i.jsxs)(n.li,{children:["Entities \u2014 business entities that the project works with, like ",(0,i.jsx)(n.code,{children:"user"})," or ",(0,i.jsx)(n.code,{children:"product"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Shared* \u2014 reusable functionality, especially when it's detached from the specifics of the project/business, though not necessarily."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.em,{children:"* \u2014 these layers, App and Shared, unlike the other layers, don't have slices, and are made up of segments directly."})}),"\n",(0,i.jsx)(n.p,{children:"The trick with layers is that modules on one layer can only know about and import from modules from the layers strictly below."}),"\n",(0,i.jsx)(n.h3,{id:"slices",children:"Slices"}),"\n",(0,i.jsx)(n.p,{children:"Next up are slices, which partition the code by business domain. You're free to choose any names for them, and create as many as you wish. Slices make your codebase easier to navigate by keeping logically related modules close together."}),"\n",(0,i.jsx)(n.p,{children:"Slices cannot use other slices on the same layer, and that helps with high cohesion and low coupling."}),"\n",(0,i.jsx)(n.h3,{id:"segments",children:"Segments"}),"\n",(0,i.jsx)(n.p,{children:"Slices, as well as layers App and Shared, consist of segments, and segments group your code by its purpose. Segment names are not constrained by the standard, but there are several conventional names for the most common purposes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ui"})," \u2014 everything related to UI display: UI components, date formatters, styles, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"api"})," \u2014 backend interactions: request functions, data types, mappers, etc."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"model"})," \u2014 the data model: schemas, interfaces, stores, and business logic."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"lib"})," \u2014 library code that other modules on this slice need."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"config"})," \u2014 configuration files and feature flags."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Usually these segments are enough for most layers, you would only create your own segments in Shared or App, but this is not a rule."}),"\n",(0,i.jsx)(n.h2,{id:"advantages",children:"Advantages"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Uniformity"}),(0,i.jsx)(n.br,{}),"\n","Since the structure is standardized, projects become more uniform, which makes onboarding new members easier for the team."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Stability in face of changes and refactoring"}),(0,i.jsx)(n.br,{}),"\n","A module on one layer cannot use other modules on the same layer, or the layers above.",(0,i.jsx)(n.br,{}),"\n","This allows you to make isolated modifications without unforeseen consequences to the rest of the app."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Controlled reuse of logic"}),(0,i.jsx)(n.br,{}),"\n","Depending on the layer, you can make code very reusable or very local.",(0,i.jsx)(n.br,{}),"\n","This keeps a balance between following the ",(0,i.jsx)(n.strong,{children:"DRY"})," principle and practicality."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Orientation to business and users needs"}),(0,i.jsx)(n.br,{}),"\n","The app is split into business domains and usage of the business language is encouraged in naming, so that you can do useful product work without fully understanding all other unrelated parts of the project."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"incremental-adoption",children:"Incremental adoption"}),"\n",(0,i.jsx)(n.p,{children:"If you have an existing codebase that you want to migrate to FSD, we suggest the following strategy. We found it useful in our own migration experience."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start by slowly shaping up the App and Shared layers module-by-module to create a foundation."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Distribute all of the existing UI across Widgets and Pages using broad strokes, even if they have dependencies that violate the rules of FSD."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start gradually resolving import violations and also extracting Entities and possibly even Features."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It's advised to refrain from adding new large entities while refactoring or refactoring only certain parts of the project."}),"\n",(0,i.jsx)(n.h2,{id:"next-steps",children:"Next steps"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Want to get a good grasp of how to think in FSD?"})," Check out the ",(0,i.jsx)(n.a,{href:"/docs/get-started/tutorial",children:"Tutorial"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Prefer to learn from examples?"})," We have a lot in the ",(0,i.jsx)(n.a,{href:"/examples",children:"Examples"})," section."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Have questions?"})," Drop by our ",(0,i.jsx)(n.a,{href:"https://t.me/feature_sliced",children:"Telegram chat"})," and get help from the community."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1021:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/visual_schema-e826067f573946613dcdc76e3f585082.jpg"},5710:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(758);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/uz/assets/js/0a4ee302.3ea12a23.js b/uz/assets/js/0a4ee302.616ba2d8.js similarity index 99% rename from uz/assets/js/0a4ee302.3ea12a23.js rename to uz/assets/js/0a4ee302.616ba2d8.js index 8678e80af4..c20719fa51 100644 --- a/uz/assets/js/0a4ee302.3ea12a23.js +++ b/uz/assets/js/0a4ee302.616ba2d8.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_feature_sliced_documentation=self.webpackChunk_feature_sliced_documentation||[]).push([[5977],{2009:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=t(6070),i=t(5710);const o={sidebar_position:10},r="Usage with NuxtJS",c={id:"guides/tech/with-nuxtjs",title:"Usage with NuxtJS",description:"It is possible to implement FSD in a NuxtJS project, but conflicts arise due to the differences between NuxtJS project structure requirements and FSD principles:",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/guides/tech/with-nuxtjs.mdx",sourceDirName:"guides/tech",slug:"/guides/tech/with-nuxtjs",permalink:"/uz/docs/guides/tech/with-nuxtjs",draft:!1,unlisted:!1,editUrl:"https://github.com/feature-sliced/documentation/edit/master/i18n/en/docusaurus-plugin-content-docs/current/guides/tech/with-nuxtjs.mdx",tags:[],version:"current",lastUpdatedAt:1723991218e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"guidesSidebar",previous:{title:"Usage with NextJS",permalink:"/uz/docs/guides/tech/with-nextjs"},next:{title:"Usage with React Query",permalink:"/uz/docs/guides/tech/with-react-query"}},a={},d=[{value:"Adding an alias for the src directory",id:"adding-an-alias-for-the-src-directory",level:2},{value:"Choose how to configure the router",id:"choose-how-to-configure-the-router",level:2},{value:"Routing using config",id:"routing-using-config",level:3},{value:"File Routing",id:"file-routing",level:3},{value:"What to do with layouts?",id:"what-to-do-with-layouts",level:2},{value:"See also",id:"see-also",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"usage-with-nuxtjs",children:"Usage with NuxtJS"})}),"\n",(0,s.jsx)(n.p,{children:"It is possible to implement FSD in a NuxtJS project, but conflicts arise due to the differences between NuxtJS project structure requirements and FSD principles:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Initially, NuxtJS offers a project file structure without a ",(0,s.jsx)(n.code,{children:"src"})," folder, i.e. in the root of the project."]}),"\n",(0,s.jsxs)(n.li,{children:["The file routing is in the ",(0,s.jsx)(n.code,{children:"pages"})," folder, while in FSD this folder is reserved for the flat slice structure."]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"adding-an-alias-for-the-src-directory",children:["Adding an alias for the ",(0,s.jsx)(n.code,{children:"src"})," directory"]}),"\n",(0,s.jsxs)(n.p,{children:["Add an ",(0,s.jsx)(n.code,{children:"alias"})," object to your config:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="nuxt.config.ts"',children:"export default defineNuxtConfig({\n devtools: { enabled: true }, // Not FSD related, enabled at project startup\n alias: {\n \"@\": '../src'\n },\n})\n"})}),"\n",(0,s.jsx)(n.h2,{id:"choose-how-to-configure-the-router",children:"Choose how to configure the router"}),"\n",(0,s.jsxs)(n.p,{children:["In NuxtJS, there are two ways to customize the routing - using a config and using a file structure.\nIn the case of file-based routing, you will create index.vue files in folders inside the app/routes directory, and in the case of configure, you will configure the routers in the ",(0,s.jsx)(n.code,{children:"router.options.ts"})," file."]}),"\n",(0,s.jsx)(n.h3,{id:"routing-using-config",children:"Routing using config"}),"\n",(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.code,{children:"app"})," layer, create a ",(0,s.jsx)(n.code,{children:"router.options.ts"})," file, and export a config object from it:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="app/router.options.ts"',children:"import type { RouterConfig } from '@nuxt/schema';\n\nexport default {\n routes: (_routes) => [],\n};\n\n"})}),"\n",(0,s.jsxs)(n.p,{children:["To add a ",(0,s.jsx)(n.code,{children:"Home"})," page to your project, you need to do the following steps:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add a page slice inside the ",(0,s.jsx)(n.code,{children:"pages"})," layer"]}),"\n",(0,s.jsxs)(n.li,{children:["Add the appropriate route to the ",(0,s.jsx)(n.code,{children:"app/router.config.ts"})," config"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["To create a page slice, let's use the ",(0,s.jsx)(n.a,{href:"https://github.com/feature-sliced/cli",children:"CLI"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"fsd pages home\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"home-page.vue"})," file inside the ui segment, access it using the Public API"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="src/pages/home/index.ts"',children:"export { default as HomePage } from './ui/home-page';\n"})}),"\n",(0,s.jsx)(n.p,{children:"Thus, the file structure will look like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"|\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 router.config.ts\n\u2502 \u251c\u2500\u2500 pages\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 ui\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 home-page.vue\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.ts\n"})}),"\n",(0,s.jsx)(n.p,{children:"Finally, let's add a root to the config:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="app/router.config.ts"',children:"import type { RouterConfig } from '@nuxt/schema'\n\nexport default {\n routes: (_routes) => [\n {\n name: 'home',\n path: '/',\n component: () => import('@/pages/home.vue').then(r => r.default || r)\n }\n ],\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"file-routing",children:"File Routing"}),"\n",(0,s.jsxs)(n.p,{children:["First of all, create a ",(0,s.jsx)(n.code,{children:"src"})," directory in the root of your project, and create app and pages layers inside this directory and a routes folder inside the app layer.\nThus, your file structure should look like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 routes\n\u2502 \u251c\u2500\u2500 pages # Pages folder, related to FSD\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In order for NuxtJS to use the routes folder inside the ",(0,s.jsx)(n.code,{children:"app"})," layer for file routing, you need to modify ",(0,s.jsx)(n.code,{children:"nuxt.config.ts"})," as follows:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="nuxt.config.ts"',children:"export default defineNuxtConfig({\n devtools: { enabled: true }, // Not FSD related, enabled at project startup\n alias: {\n \"@\": '../src'\n },\n dir: {\n pages: './src/app/routes'\n }\n})\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Now, you can create routes for pages within ",(0,s.jsx)(n.code,{children:"app"})," and connect pages from ",(0,s.jsx)(n.code,{children:"pages"})," to them."]}),"\n",(0,s.jsxs)(n.p,{children:["For example, to add a ",(0,s.jsx)(n.code,{children:"Home"})," page to your project, you need to do the following steps:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add a page slice inside the ",(0,s.jsx)(n.code,{children:"pages"})," layer"]}),"\n",(0,s.jsxs)(n.li,{children:["Add the corresponding root inside the ",(0,s.jsx)(n.code,{children:"app"})," layer"]}),"\n",(0,s.jsx)(n.li,{children:"Align the page from the slice with the root"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["To create a page slice, let's use the ",(0,s.jsx)(n.a,{href:"https://github.com/feature-sliced/cli",children:"CLI"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"fsd pages home\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"home-page.vue"})," file inside the ui segment, access it using the Public API"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",metastring:'title="src/pages/home/index.ts"',children:"export { default as HomePage } from './ui/home-page';\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Create a root for this page inside the ",(0,s.jsx)(n.code,{children:"app"})," layer:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"\n\u251c\u2500\u2500 src\n\u2502 \u251c\u2500\u2500 app\n\u2502 \u2502 \u251c\u2500\u2500 routes\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.vue\n\u2502 \u251c\u2500\u2500 pages\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 ui\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 home-page.vue\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 index.ts\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Add your page component inside the ",(0,s.jsx)(n.code,{children:"index.vue"})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-html",metastring:'title="src/app/routes/index.vue"',children:" - + + +

    🌎 FSD international community

    · 2 min. o'qish
    Anton Medvedev
    FSD core-team member
    post-cover
    diff --git a/uz/blog/archive.html b/uz/blog/archive.html index 85af88a6f1..5e63842c2b 100644 --- a/uz/blog/archive.html +++ b/uz/blog/archive.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/uz/blog/international-community.html b/uz/blog/international-community.html index 1a4a089de6..2c62936424 100644 --- a/uz/blog/international-community.html +++ b/uz/blog/international-community.html @@ -8,9 +8,9 @@ - - - + + +

    🌎 FSD international community

    · 2 min. o'qish
    Anton Medvedev
    FSD core-team member
    post-cover
    diff --git a/uz/blog/rebranding-stable.html b/uz/blog/rebranding-stable.html index 1a1bff10b4..166a030683 100644 --- a/uz/blog/rebranding-stable.html +++ b/uz/blog/rebranding-stable.html @@ -8,9 +8,9 @@ - - - + + +

    💥 FSD rebranding!

    · 2 min. o'qish
    Ilya Azin
    FSD core-team member
    logo-primary
    diff --git a/uz/blog/tags.html b/uz/blog/tags.html index 68bab03294..1c5569404e 100644 --- a/uz/blog/tags.html +++ b/uz/blog/tags.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/uz/blog/tags/brand.html b/uz/blog/tags/brand.html index 061fc12452..abe9ab587d 100644 --- a/uz/blog/tags/brand.html +++ b/uz/blog/tags/brand.html @@ -8,9 +8,9 @@ - - - + + +

    Bir post "brand" bilan

    Hamma teglarni ko'rish

    💥 FSD rebranding!

    · 2 min. o'qish
    Ilya Azin
    FSD core-team member
    logo-primary
    diff --git a/uz/blog/tags/community.html b/uz/blog/tags/community.html index 2462719589..653329bbd2 100644 --- a/uz/blog/tags/community.html +++ b/uz/blog/tags/community.html @@ -8,9 +8,9 @@ - - - + + +

    Bir post "community" bilan

    Hamma teglarni ko'rish

    🌎 FSD international community

    · 2 min. o'qish
    Anton Medvedev
    FSD core-team member
    post-cover
    diff --git a/uz/blog/tags/discord.html b/uz/blog/tags/discord.html index 6ce6d05528..2e049fe37d 100644 --- a/uz/blog/tags/discord.html +++ b/uz/blog/tags/discord.html @@ -8,9 +8,9 @@ - - - + + +

    Bir post "discord" bilan

    Hamma teglarni ko'rish

    🌎 FSD international community

    · 2 min. o'qish
    Anton Medvedev
    FSD core-team member
    post-cover
    diff --git a/uz/blog/tags/promo.html b/uz/blog/tags/promo.html index 18e1baf432..828061f5bc 100644 --- a/uz/blog/tags/promo.html +++ b/uz/blog/tags/promo.html @@ -8,9 +8,9 @@ - - - + + +

    2 ta post "promo" bilan

    Hamma teglarni ko'rish

    🌎 FSD international community

    · 2 min. o'qish
    Anton Medvedev
    FSD core-team member
    post-cover
    diff --git a/uz/community.html b/uz/community.html index 6ba84ebd98..ac0109fc49 100644 --- a/uz/community.html +++ b/uz/community.html @@ -8,9 +8,9 @@ - - - + + + +
    Contributing

    HowTo, Workflow, Support

    \ No newline at end of file diff --git a/uz/community/team.html b/uz/community/team.html index 62b15ce719..90f52ed30f 100644 --- a/uz/community/team.html +++ b/uz/community/team.html @@ -8,9 +8,9 @@ - - - + + + +

    Companies

    \ No newline at end of file diff --git a/uz/docs.html b/uz/docs.html index e714ff5bc0..0b17a5a347 100644 --- a/uz/docs.html +++ b/uz/docs.html @@ -8,9 +8,9 @@ - - - + + + +
    🛠 Misollar

    Feature-Sliced Design da qurilgan loyihalar

    \ No newline at end of file diff --git a/uz/docs/about.html b/uz/docs/about.html index c3352eddc8..3e14f5d3a5 100644 --- a/uz/docs/about.html +++ b/uz/docs/about.html @@ -8,9 +8,9 @@ - - - + + + +
    Promote

    About promotion and integration FSD at companies

    Integration • Promoting in team • Promoting in company
    \ No newline at end of file diff --git a/uz/docs/about/alternatives.html b/uz/docs/about/alternatives.html index 8c9d5af02e..7f2620cd59 100644 --- a/uz/docs/about/alternatives.html +++ b/uz/docs/about/alternatives.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/mission.html b/uz/docs/about/mission.html index a4f6e547fd..bacbb00e04 100644 --- a/uz/docs/about/mission.html +++ b/uz/docs/about/mission.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/motivation.html b/uz/docs/about/motivation.html index 15777c5e77..a7b46106d2 100644 --- a/uz/docs/about/motivation.html +++ b/uz/docs/about/motivation.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/promote/for-company.html b/uz/docs/about/promote/for-company.html index f108725134..1f595ddd93 100644 --- a/uz/docs/about/promote/for-company.html +++ b/uz/docs/about/promote/for-company.html @@ -8,9 +8,9 @@ - - - + + + +

    How to prepare and justify a plan to move to the methodology?

    \ No newline at end of file diff --git a/uz/docs/about/promote/for-team.html b/uz/docs/about/promote/for-team.html index df9e3fbc52..fa866226db 100644 --- a/uz/docs/about/promote/for-team.html +++ b/uz/docs/about/promote/for-team.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/promote/integration.html b/uz/docs/about/promote/integration.html index 38629bca3a..57bfc44d24 100644 --- a/uz/docs/about/promote/integration.html +++ b/uz/docs/about/promote/integration.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/promote/partial-application.html b/uz/docs/about/promote/partial-application.html index 1be8a1b62c..9b3d8445f3 100644 --- a/uz/docs/about/promote/partial-application.html +++ b/uz/docs/about/promote/partial-application.html @@ -8,15 +8,15 @@ - - - + + +
    Asosiy tarkibga o'tish
    + \ No newline at end of file diff --git a/uz/docs/about/understanding/abstractions.html b/uz/docs/about/understanding/abstractions.html index 7e38ab1217..f24934ea1a 100644 --- a/uz/docs/about/understanding/abstractions.html +++ b/uz/docs/about/understanding/abstractions.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/understanding/architecture.html b/uz/docs/about/understanding/architecture.html index 2590cefb65..f02ceaf3b7 100644 --- a/uz/docs/about/understanding/architecture.html +++ b/uz/docs/about/understanding/architecture.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/understanding/knowledge-types.html b/uz/docs/about/understanding/knowledge-types.html index 626319fba7..6ea604ddf5 100644 --- a/uz/docs/about/understanding/knowledge-types.html +++ b/uz/docs/about/understanding/knowledge-types.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/understanding/naming.html b/uz/docs/about/understanding/naming.html index af3d64d4e6..67bd373b2c 100644 --- a/uz/docs/about/understanding/naming.html +++ b/uz/docs/about/understanding/naming.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/understanding/needs-driven.html b/uz/docs/about/understanding/needs-driven.html index 6d2bc864f1..b291d438c9 100644 --- a/uz/docs/about/understanding/needs-driven.html +++ b/uz/docs/about/understanding/needs-driven.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/about/understanding/signals.html b/uz/docs/about/understanding/signals.html index b3dc4cde7e..217204a395 100644 --- a/uz/docs/about/understanding/signals.html +++ b/uz/docs/about/understanding/signals.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/branding.html b/uz/docs/branding.html index 13959f1c32..5661ccef9d 100644 --- a/uz/docs/branding.html +++ b/uz/docs/branding.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/get-started.html b/uz/docs/get-started.html index 8120943148..d2fa2acc94 100644 --- a/uz/docs/get-started.html +++ b/uz/docs/get-started.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/get-started/cheatsheet.html b/uz/docs/get-started/cheatsheet.html index 5141263341..3da563fd61 100644 --- a/uz/docs/get-started/cheatsheet.html +++ b/uz/docs/get-started/cheatsheet.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/get-started/faq.html b/uz/docs/get-started/faq.html index 86a50bdf09..89de9c5473 100644 --- a/uz/docs/get-started/faq.html +++ b/uz/docs/get-started/faq.html @@ -8,9 +8,9 @@ - - - + + + +

    Answered here

    \ No newline at end of file diff --git a/uz/docs/get-started/overview.html b/uz/docs/get-started/overview.html index 085e490f48..bca097fe8c 100644 --- a/uz/docs/get-started/overview.html +++ b/uz/docs/get-started/overview.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/get-started/tutorial.html b/uz/docs/get-started/tutorial.html index 6c483ff6c0..c63026a94b 100644 --- a/uz/docs/get-started/tutorial.html +++ b/uz/docs/get-started/tutorial.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    Tutorial

    @@ -272,6 +272,6 @@

    Article edito
    app/routes/editor._index.tsx, app/routes/editor.$slug.tsx (same content)
    import { ArticleEditPage } from "pages/article-edit";

    export { loader, action } from "pages/article-edit";

    export default ArticleEditPage;

    We’re done now! Log in and try creating a new article. Or “forget” to write the article and see the validation kick in.

    The Conduit article editor, with the title field saying “New article” and the rest of the fields empty. Above the form there are two errors: “Describe what this article is about” and “Write the article itself”.

    The Conduit article editor, with the title field saying “New article” and the rest of the fields empty. Above the form there are two errors: “Describe what this article is about” and “Write the article itself”.
    -

    The profile and settings pages are very similar to the article reader and editor, they are left as an exercise for the reader, that’s you :)

    +

    The profile and settings pages are very similar to the article reader and editor, they are left as an exercise for the reader, that’s you :)

    \ No newline at end of file diff --git a/uz/docs/guides.html b/uz/docs/guides.html index 52cbe31617..7b38cbd333 100644 --- a/uz/docs/guides.html +++ b/uz/docs/guides.html @@ -8,9 +8,9 @@ - - - + + + +
    Code Issues (Smells)

    General architecture issues for legacy code

    Desegmented • Routing • Cross-imports
    \ No newline at end of file diff --git a/uz/docs/guides/examples.html b/uz/docs/guides/examples.html index 9b05182215..d4373e91d9 100644 --- a/uz/docs/guides/examples.html +++ b/uz/docs/guides/examples.html @@ -8,9 +8,9 @@ - - - + + + +
    Page layouts

    Main cases with layouts

    Where to store them • Using widgets in layouts
    \ No newline at end of file diff --git a/uz/docs/guides/examples/auth.html b/uz/docs/guides/examples/auth.html index b7e88cac7d..6ec4a54326 100644 --- a/uz/docs/guides/examples/auth.html +++ b/uz/docs/guides/examples/auth.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    Authentication

    @@ -164,6 +164,6 @@

    Automatic logout

    -

    Don't forget to build failsafes for when a request to log out fails, or a request to refresh a login token fails. In both of these cases, you should clear the token store. If you keep your token in Entities, this code can be placed in the model segment as it is pure business logic. If you keep your token in Shared, placing this logic in shared/api might bloat the segment and dilute its purpose. If you're noticing that your API segment contains two several unrelated things, consider splitting out the token management logic into another segment, for example, shared/auth.

    +

    Don't forget to build failsafes for when a request to log out fails, or a request to refresh a login token fails. In both of these cases, you should clear the token store. If you keep your token in Entities, this code can be placed in the model segment as it is pure business logic. If you keep your token in Shared, placing this logic in shared/api might bloat the segment and dilute its purpose. If you're noticing that your API segment contains two several unrelated things, consider splitting out the token management logic into another segment, for example, shared/auth.

    \ No newline at end of file diff --git a/uz/docs/guides/examples/autocompleted.html b/uz/docs/guides/examples/autocompleted.html index 78fa13b27a..24a4a36759 100644 --- a/uz/docs/guides/examples/autocompleted.html +++ b/uz/docs/guides/examples/autocompleted.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/examples/browser-api.html b/uz/docs/guides/examples/browser-api.html index 3b6f849f90..564d9b503d 100644 --- a/uz/docs/guides/examples/browser-api.html +++ b/uz/docs/guides/examples/browser-api.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

    Browser API

    @@ -18,6 +18,6 @@

    About working with the Browser API: localStorage, audio Api, bluetooth API, etc.

    You can ask about the idea in more detail @alex_novi

    -
    + \ No newline at end of file diff --git a/uz/docs/guides/examples/cms.html b/uz/docs/guides/examples/cms.html index 5871819096..123e231a2b 100644 --- a/uz/docs/guides/examples/cms.html +++ b/uz/docs/guides/examples/cms.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/examples/feedback.html b/uz/docs/guides/examples/feedback.html index bd3c2c2690..a5f91809ed 100644 --- a/uz/docs/guides/examples/feedback.html +++ b/uz/docs/guides/examples/feedback.html @@ -8,15 +8,15 @@ - - - + + +
    Asosiy tarkibga o'tish
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
    + \ No newline at end of file diff --git a/uz/docs/guides/examples/i18n.html b/uz/docs/guides/examples/i18n.html index 636b2fe207..45246a23fa 100644 --- a/uz/docs/guides/examples/i18n.html +++ b/uz/docs/guides/examples/i18n.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/examples/metric.html b/uz/docs/guides/examples/metric.html index 3e80ee0e72..2942ff91f2 100644 --- a/uz/docs/guides/examples/metric.html +++ b/uz/docs/guides/examples/metric.html @@ -8,15 +8,15 @@ - - - + + +
    Asosiy tarkibga o'tish
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
    + \ No newline at end of file diff --git a/uz/docs/guides/examples/monorepo.html b/uz/docs/guides/examples/monorepo.html index a332d63e8b..dcd1d392b9 100644 --- a/uz/docs/guides/examples/monorepo.html +++ b/uz/docs/guides/examples/monorepo.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/examples/page-layout.html b/uz/docs/guides/examples/page-layout.html index 8a432598ad..1eb60bb125 100644 --- a/uz/docs/guides/examples/page-layout.html +++ b/uz/docs/guides/examples/page-layout.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/examples/platforms.html b/uz/docs/guides/examples/platforms.html index ce38cdde93..dc1a2fa497 100644 --- a/uz/docs/guides/examples/platforms.html +++ b/uz/docs/guides/examples/platforms.html @@ -8,15 +8,15 @@ - - - + + +
    Asosiy tarkibga o'tish
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
    + \ No newline at end of file diff --git a/uz/docs/guides/examples/ssr.html b/uz/docs/guides/examples/ssr.html index c6ff4412ad..04daeee6a7 100644 --- a/uz/docs/guides/examples/ssr.html +++ b/uz/docs/guides/examples/ssr.html @@ -8,15 +8,15 @@ - - - + + +
    Asosiy tarkibga o'tish
    Unlisted page
    This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
    + \ No newline at end of file diff --git a/uz/docs/guides/examples/theme.html b/uz/docs/guides/examples/theme.html index 5b42286787..60e502fe2b 100644 --- a/uz/docs/guides/examples/theme.html +++ b/uz/docs/guides/examples/theme.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/examples/types.html b/uz/docs/guides/examples/types.html index e910922e43..f490d8011c 100644 --- a/uz/docs/guides/examples/types.html +++ b/uz/docs/guides/examples/types.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    Types

    @@ -142,6 +142,6 @@

    shared/lib/untyped-packages/use-react-screenshot.d.ts
    // This library doesn't have typings, and we didn't want to bother writing our own.
    declare module "use-react-screenshot";

    Auto-generation of types

    -

    It's common to generate types from external sources, for example, generating backend types from an OpenAPI schema. In this case, create a dedicated place in your codebase for these types, like shared/api/openapi. Ideally, you should also include a README in that folder that describes what these files are, how to regenerate them, etc.

    +

    It's common to generate types from external sources, for example, generating backend types from an OpenAPI schema. In this case, create a dedicated place in your codebase for these types, like shared/api/openapi. Ideally, you should also include a README in that folder that describes what these files are, how to regenerate them, etc.

    \ No newline at end of file diff --git a/uz/docs/guides/examples/white-labels.html b/uz/docs/guides/examples/white-labels.html index 0afeab0bab..8250e006cd 100644 --- a/uz/docs/guides/examples/white-labels.html +++ b/uz/docs/guides/examples/white-labels.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/issues/cross-imports.html b/uz/docs/guides/issues/cross-imports.html index 2b0f6e17e3..ea72bc3177 100644 --- a/uz/docs/guides/issues/cross-imports.html +++ b/uz/docs/guides/issues/cross-imports.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/issues/desegmented.html b/uz/docs/guides/issues/desegmented.html index b939fa6967..05c0c091b4 100644 --- a/uz/docs/guides/issues/desegmented.html +++ b/uz/docs/guides/issues/desegmented.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/issues/routes.html b/uz/docs/guides/issues/routes.html index 0d39d35ded..3374a178e6 100644 --- a/uz/docs/guides/issues/routes.html +++ b/uz/docs/guides/issues/routes.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/migration/from-legacy.html b/uz/docs/guides/migration/from-legacy.html index 9d6726269a..4cf15ab581 100644 --- a/uz/docs/guides/migration/from-legacy.html +++ b/uz/docs/guides/migration/from-legacy.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/migration/from-v1.html b/uz/docs/guides/migration/from-v1.html index edb073c29e..082da366d0 100644 --- a/uz/docs/guides/migration/from-v1.html +++ b/uz/docs/guides/migration/from-v1.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/tech/with-nextjs.html b/uz/docs/guides/tech/with-nextjs.html index 5b262221d7..1db019c205 100644 --- a/uz/docs/guides/tech/with-nextjs.html +++ b/uz/docs/guides/tech/with-nextjs.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    Usage with NextJS

    @@ -27,8 +27,8 @@

    ├── pages              # NextJS pages folder
    ├── src
    │ ├── app
    │ ├── entities
    │ ├── features
    │ ├── pages # FSD pages folder
    │ ├── shared
    │ ├── widgets

    Renaming the pages layer within the FSD structure

    -

    Another way to solve the problem is to rename the app layer in the FSD structure to avoid conflicts with the NextJS pages folder. -You can rename the app layer in FSD to views. +

    Another way to solve the problem is to rename the pages layer in the FSD structure to avoid conflicts with the NextJS pages folder. +You can rename the pages layer in FSD to views. In that way, the structure of the project in the src folder is preserved without contradiction with the requirements of NextJS.

    ├── app
    ├── entities
    ├── features
    ├── pages # NextJS pages folder
    ├── views # Renamed FSD pages folder
    ├── shared
    ├── widgets

    Keep in mind that it's highly recommended to document this rename prominently in your project's README or internal documentation. This rename is a part of your "project knowledge".

    @@ -52,6 +52,6 @@

    Dealing with App

    See also

    + \ No newline at end of file diff --git a/uz/docs/guides/tech/with-nuxtjs.html b/uz/docs/guides/tech/with-nuxtjs.html index eb8ed31374..02d815fed9 100644 --- a/uz/docs/guides/tech/with-nuxtjs.html +++ b/uz/docs/guides/tech/with-nuxtjs.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/guides/tech/with-react-query.html b/uz/docs/guides/tech/with-react-query.html index 24cb33b52c..0a9dccce29 100644 --- a/uz/docs/guides/tech/with-react-query.html +++ b/uz/docs/guides/tech/with-react-query.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish
    + \ No newline at end of file diff --git a/uz/docs/guides/tech/with-sveltekit.html b/uz/docs/guides/tech/with-sveltekit.html index 9ae72ec584..7694d3e1d0 100644 --- a/uz/docs/guides/tech/with-sveltekit.html +++ b/uz/docs/guides/tech/with-sveltekit.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/reference.html b/uz/docs/reference.html index 928fac4f7e..6c80c9af12 100644 --- a/uz/docs/reference.html +++ b/uz/docs/reference.html @@ -8,9 +8,9 @@ - - - + + + +
    Ommaviy API

    Kengaytiriladigan va integratsiyalashuvi oson modullarni loyihalash amaliyoti

    \ No newline at end of file diff --git a/uz/docs/reference/isolation.html b/uz/docs/reference/isolation.html index 66f4e471aa..0e08fbeeb3 100644 --- a/uz/docs/reference/isolation.html +++ b/uz/docs/reference/isolation.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/reference/isolation/coupling-cohesion.html b/uz/docs/reference/isolation/coupling-cohesion.html index e59ec91330..155527f38b 100644 --- a/uz/docs/reference/isolation/coupling-cohesion.html +++ b/uz/docs/reference/isolation/coupling-cohesion.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/reference/isolation/decouple-entities.html b/uz/docs/reference/isolation/decouple-entities.html index 71e412d4b6..dc9be846ed 100644 --- a/uz/docs/reference/isolation/decouple-entities.html +++ b/uz/docs/reference/isolation/decouple-entities.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/reference/layers.html b/uz/docs/reference/layers.html index 3e2aad6d73..0e981df905 100644 --- a/uz/docs/reference/layers.html +++ b/uz/docs/reference/layers.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/reference/public-api.html b/uz/docs/reference/public-api.html index 74ac5090d9..e4a9777b4f 100644 --- a/uz/docs/reference/public-api.html +++ b/uz/docs/reference/public-api.html @@ -8,9 +8,9 @@ - - - + + + + \ No newline at end of file diff --git a/uz/docs/reference/slices-segments.html b/uz/docs/reference/slices-segments.html index ab39b55c76..2e07f0c269 100644 --- a/uz/docs/reference/slices-segments.html +++ b/uz/docs/reference/slices-segments.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    Slices and segments

    @@ -38,6 +38,6 @@

    SegmentsExamples

    -
    Layeruimodellibapi
    SharedUI kitUsually not usedUtility modules of several related files.
    If you need to use individual helpers, consider using utility libraries such as lodash-es.
    Rudimentary API client with additional features like authentication or caching.
    EntitiesSkeleton of a business entity with slots for interactive elementsData storage of instances of this entity as well as functions for manipulating that data.
    This segment is most fit for storing server-side data. If you use TanStack Query or other methods of implicit storage, you may choose to omit this segment.
    Functions for manipulating instances of this entity that aren't related to storageAPI methods using the API client from Shared for easy communication with the backend
    FeaturesInteractive elements that enable users to use this featureBusiness logic and infrastructure data storage, if needed (e.g., current app theme). This is the code that actually produces value for the user.Infrastructural code that helps to concisely describe the business logic in the model segmentAPI methods that represent this feature on the backend.
    May compose API methods from Entities.
    WidgetsComposition of Entities and Features into self-contained UI blocks.
    Can also contain error boundaries and loading states.
    Infrastructure data storage, if neededNon-business interactions (e.g., gestures) and other necessary code for the block to function on a pageUsually not used, but can contain data loaders in nested routing contexts (e.g., Remix)
    PagesComposition of Entities, Features and Widgets into complete pages.
    Can also contain error boundaries and loading states.
    Usually not usedNon-business interactions (e.g., gestures) and other necessary code for the page to deliver a complete user experienceData loaders for SSR-oriented frameworks
    +
    Layeruimodellibapi
    SharedUI kitUsually not usedUtility modules of several related files.
    If you need to use individual helpers, consider using utility libraries such as lodash-es.
    Rudimentary API client with additional features like authentication or caching.
    EntitiesSkeleton of a business entity with slots for interactive elementsData storage of instances of this entity as well as functions for manipulating that data.
    This segment is most fit for storing server-side data. If you use TanStack Query or other methods of implicit storage, you may choose to omit this segment.
    Functions for manipulating instances of this entity that aren't related to storageAPI methods using the API client from Shared for easy communication with the backend
    FeaturesInteractive elements that enable users to use this featureBusiness logic and infrastructure data storage, if needed (e.g., current app theme). This is the code that actually produces value for the user.Infrastructural code that helps to concisely describe the business logic in the model segmentAPI methods that represent this feature on the backend.
    May compose API methods from Entities.
    WidgetsComposition of Entities and Features into self-contained UI blocks.
    Can also contain error boundaries and loading states.
    Infrastructure data storage, if neededNon-business interactions (e.g., gestures) and other necessary code for the block to function on a pageUsually not used, but can contain data loaders in nested routing contexts (e.g., Remix)
    PagesComposition of Entities, Features and Widgets into complete pages.
    Can also contain error boundaries and loading states.
    Usually not usedNon-business interactions (e.g., gestures) and other necessary code for the page to deliver a complete user experienceData loaders for SSR-oriented frameworks
    \ No newline at end of file diff --git a/uz/examples.html b/uz/examples.html index cac26b4940..008f757e52 100644 --- a/uz/examples.html +++ b/uz/examples.html @@ -8,11 +8,11 @@ - - - + + + -
    Asosiy tarkibga o'tish

    Namunalar

    FSD yordamida yaratilgan veb-saytlar ro'yxati

    v2
    NEW: Tiny Bunny Mini Game

    Mini-game "21 points" in the universe of the visual novel "Tiny Bunny".

    reactredux-toolkittypescript
    v2
    Roke.to Business

    Business branch of Roketo, a crypto streaming service which allows paying people by the second

    reacteffectortailwindcssturbo
    v2
    Roke.to dApp

    A crypto streaming service which allows paying people by the second

    reacteffectortailwindcss
    v2
    IT bookstore

    Catalog for viewing and searching information technology books

    reactredux toolkittypescriptreact routervitescss
    v2
    Moke Smoke (React Native example)

    An application that helps you quit smoking, published in the App Store and Google. Developed with React Native

    reactrtkpersisttypescriptfirebase
    v2
    Moonlogs (Effector + Forest example)

    Moonlogs is a business-event logging tool with a built-in user-friendly web interface for easy access to events

    foresteffectortailwindtypescriptgo
    v2
    Posts (React Query example)

    Example of using FSD with React Query (Mutation, Query, Pagination)

    reactreact-querytypescriptmaterial ui
    v2
    FalkChat

    FalkChat is your go-to destination for seamless and engaging online conversations.

    reactnextprettierclerktypescripttailwindshadcn/uizustand
    v2
    Polka

    The application is a bookshelf where you can add your favorite books. The application works with the Google Books API.

    vue3piniatypescriptvue-routereslintprettiervitevuetify
    v2
    Fake Cyber Web Store

    Example web store on Vue3

    vue3piniatypescriptfirebasevue-routereslintprettiervite
    v2
    VK Audiopad

    Chrome extension for VK Music

    reactvkuitypescript
    v2
    Сryptolight

    Cryptocurrency review site based on Feature-Sliced Design (Architectural methodology for frontend projects).

    reacteffectornextuitypescriptvite
    v2
    Money Flow

    A mobile application for tracking your expenses and incomes.

    capacitorjsreactreact-routerzustandvitetypescriptmobileandroidios
    v2
    E-Commerce

    This project is an online store built using React. It provides the ability to view the product catalog and product pages

    reactmobxwebpacktypescriptssr
    v2
    Todo app (Vue 3 + Pinia)

    QuickStart todo-app example for Vue developers with pinia store

    vue 3piniavitetypescript
    v2
    Conduit

    A social blogging site powered by Feature-Sliced Design architectural methodology.

    reactreact-routerreact-queryzustandvitetypescript
    v2
    Kinomore (React+Effector)

    Large project on the effector/fsd stack

    reacteffectortypescriptnextjsreact-testing-library
    v2
    Sudoku (React+Effector)

    A simple crossword of numbers on effector / fsd

    reacteffectortypescriptvitetailwindatomic-router
    v2
    Nukeapp (React+ReduxToolkit)

    Shopping app build on React/ReduxToolkit stack

    reactredux-toolkittypescriptvite
    v2
    Simple Greenhouse App (React+MobX)

    Simple demonstration of how FSD can be implemented with TypeScript, React.js, MobX and Firebase

    reactmobxtypescriptfirebasemuivite
    v2
    Todo App (ReactNative+Redux)

    QuickStart todo-app example for ReactNative(Expo) developers

    react-nativeexporedux
    v2
    Rastrr

    A simple and free graphic editor for novice artists

    svelte
    v2
    Draw, I'll Help

    A drawing app with shape correction powered by ML

    svelte
    v2
    Cast

    A podcast listening PWA with automated quality assurance

    svelte
    v2
    Loripsum generator

    Simple fish text generator

    reacteffector
    v2
    Projentry (demo)

    Assistant for your projects

    reactantd
    v2
    Todo App (Angular 13)

    QuickStart todo-app example for Angular developers

    angularrxjs
    v2
    Todo App (Vue 3)

    QuickStart todo-app example for Vue developers

    vuevuexantd
    v2
    Todo App (React+Redux)

    QuickStart todo-app example for React developers (Redux version)

    reactreduxantd
    v2
    Todo App (React+Effector)

    QuickStart todo-app example for React developers (Effector version)

    reacteffectorantd
    v2
    Github Client

    React & GraphQL powered github web-client

    reactgraphqlantd
    v2
    Cardbox

    The best solutions from developers in one place

    reacteffector
    +
    Asosiy tarkibga o'tish

    Namunalar

    FSD yordamida yaratilgan veb-saytlar ro'yxati

    v2
    Tiny Bunny Mini Game

    Mini-game "21 points" in the universe of the visual novel "Tiny Bunny".

    reactredux-toolkittypescript
    v2
    Roke.to Business

    Business branch of Roketo, a crypto streaming service which allows paying people by the second

    reacteffectortailwindcssturbo
    v2
    Roke.to dApp

    A crypto streaming service which allows paying people by the second

    reacteffectortailwindcss
    v2
    IT bookstore

    Catalog for viewing and searching information technology books

    reactredux toolkittypescriptreact routervitescss
    v2
    Moke Smoke (React Native example)

    An application that helps you quit smoking, published in the App Store and Google. Developed with React Native

    reactrtkpersisttypescriptfirebase
    v2
    Moonlogs (Effector + Forest example)

    Moonlogs is a business-event logging tool with a built-in user-friendly web interface for easy access to events

    foresteffectortailwindtypescriptgo
    v2
    Posts (React Query example)

    Example of using FSD with React Query (Mutation, Query, Pagination)

    reactreact-querytypescriptmaterial ui
    v2
    FalkChat

    FalkChat is your go-to destination for seamless and engaging online conversations.

    reactnextprettierclerktypescripttailwindshadcn/uizustand
    v2
    Polka

    The application is a bookshelf where you can add your favorite books. The application works with the Google Books API.

    vue3piniatypescriptvue-routereslintprettiervitevuetify
    v2
    Fake Cyber Web Store

    Example web store on Vue3

    vue3piniatypescriptfirebasevue-routereslintprettiervite
    v2
    VK Audiopad

    Chrome extension for VK Music

    reactvkuitypescript
    v2
    Сryptolight

    Cryptocurrency review site based on Feature-Sliced Design (Architectural methodology for frontend projects).

    reacteffectornextuitypescriptvite
    v2
    Money Flow

    A mobile application for tracking your expenses and incomes.

    capacitorjsreactreact-routerzustandvitetypescriptmobileandroidios
    v2
    E-Commerce

    This project is an online store built using React. It provides the ability to view the product catalog and product pages

    reactmobxwebpacktypescriptssr
    v2
    Todo app (Vue 3 + Pinia)

    QuickStart todo-app example for Vue developers with pinia store

    vue 3piniavitetypescript
    v2
    Conduit

    A social blogging site powered by Feature-Sliced Design architectural methodology.

    reactreact-routerreact-queryzustandvitetypescript
    v2
    Kinomore (React+Effector)

    Large project on the effector/fsd stack

    reacteffectortypescriptnextjsreact-testing-library
    v2
    Sudoku (React+Effector)

    A simple crossword of numbers on effector / fsd

    reacteffectortypescriptvitetailwindatomic-router
    v2
    Nukeapp (React+ReduxToolkit)

    Shopping app build on React/ReduxToolkit stack

    reactredux-toolkittypescriptvite
    v2
    Simple Greenhouse App (React+MobX)

    Simple demonstration of how FSD can be implemented with TypeScript, React.js, MobX and Firebase

    reactmobxtypescriptfirebasemuivite
    v2
    Todo App (ReactNative+Redux)

    QuickStart todo-app example for ReactNative(Expo) developers

    react-nativeexporedux
    v2
    Rastrr

    A simple and free graphic editor for novice artists

    svelte
    v2
    Draw, I'll Help

    A drawing app with shape correction powered by ML

    svelte
    v2
    Cast

    A podcast listening PWA with automated quality assurance

    svelte
    v2
    Loripsum generator

    Simple fish text generator

    reacteffector
    v2
    Projentry (demo)

    Assistant for your projects

    reactantd
    v2
    Todo App (Angular 13)

    QuickStart todo-app example for Angular developers

    angularrxjs
    v2
    Todo App (Vue 3)

    QuickStart todo-app example for Vue developers

    vuevuexantd
    v2
    Todo App (React+Redux)

    QuickStart todo-app example for React developers (Redux version)

    reactreduxantd
    v2
    Todo App (React+Effector)

    QuickStart todo-app example for React developers (Effector version)

    reacteffectorantd
    v2
    Github Client

    React & GraphQL powered github web-client

    reactgraphqlantd
    v2
    Cardbox

    The best solutions from developers in one place

    reacteffector
    \ No newline at end of file diff --git a/uz/index.html b/uz/index.html index e9940fd1fd..f960ce1a50 100644 --- a/uz/index.html +++ b/uz/index.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    Feature-Sliced Design

    Front-end loyihalari uchun arxitektura metodologiyasi

    Afzalliklari

    Aniq biznes mantiq

    Arxitekturani o'rganish oson, chunki u domen modullaridan iborat

    Moslashuvchanlik

    Arxitektura komponentlarini moslashuvchan tarzda almashtirish, yangi sharoitlarda qo'shish mumkin

    Texnik qarz

    Har bir modul nojo'ya ta'sirlarsiz mustaqil ravishda o'zgartirilishi/qayta yozilishi mumkin

    Aniq qayta foydalanish mumkinligi

    DRY va lokal moslashtirish o'rtasidagi muvozanatni saqlaydi

    Tushunchalar

    Ommaviy API

    Har bir modul yuqori darajadagi umumiy API deklaratsiyasiga ega bo'lishi kerak

    Izolyatsiya

    Modul to'g'ridan-to'g'ri bir xil qatlamdagi boshqa modullarga yoki uning ustidagi qatlamlarga bog'liq bo'lmasligi kerak.

    Ehtiyojlarni tushunish

    Biznes va foydalanuvchi ehtiyojlariga e'tibor qarating

    Sxema

    Metodologiyadan foydalanadigan kompaniyalar

    Sizning kompaniyangizda metodologiya qo'llaniladimi? Habar bering
    diff --git a/uz/nav.html b/uz/nav.html index ace23e8ae4..b606520784 100644 --- a/uz/nav.html +++ b/uz/nav.html @@ -8,9 +8,9 @@ - - - + + +
    Asosiy tarkibga o'tish

    🧭 Navigatsiya

    Eskirgan havolalar

    Hujjatlarni qayta tuzilgandan so'ng, maqolalarda ba'zi havolalar o'zgartirildi. Quyida siz izlayotgan sahifani topishingiz mumkin.

    Lekin moslik uchun eski havolalardan qayta yo'naltirishlar mavjud

    🚀 Get Started

    ⚡️ Simplified and merged

    Tutorial

    old: /docs/get-started/quick-start
    new: /docs/get-started/tutorial

    Basics

    old: /docs/get-started/basics
    new: /docs/get-started/overview

    Decompose Cheatsheet

    old: /docs/get-started/tutorial/decompose; diff --git a/uz/search.html b/uz/search.html index 824e3572c8..bb87ff904e 100644 --- a/uz/search.html +++ b/uz/search.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/uz/versions.html b/uz/versions.html index baa44ff5d0..3757acc445 100644 --- a/uz/versions.html +++ b/uz/versions.html @@ -8,9 +8,9 @@ - - - + + +

    Feature-Sliced Design versiyalari

    Feature-Sliced Design v2.0.0 (Current)

    Bu yerda siz joriy nashr etilgan versiya uchun hujjatlarni topishingiz mumkin

    v2.0.0 🍰Release NotesDocumentationMigration from v1

    Feature Slices v1 (Legacy)

    Bu yerda feature-slices ning eski versiyalari uchun hujjatlarni topishingiz mumkin

    v1.0Documentation
    v0.1Documentation

    Feature Driven (Legacy)

    Bu yerda feature-driven ning eski versiyalari uchun hujjatlarni topishingiz mumkin

    v0.1Documentation
    Example (kof)Github
    diff --git a/versions.html b/versions.html index 858bd80e5c..53f88ab672 100644 --- a/versions.html +++ b/versions.html @@ -8,9 +8,9 @@ - - - + + +

    Feature-Sliced Design versions

    Feature-Sliced Design v2.0.0 (Current)

    The documentation for the currently published version can be found here

    v2.0.0 🍰Release NotesDocumentationMigration from v1

    Feature Slices v1 (Legacy)

    Documentation for older versions of feature-slices can be found here

    v1.0Documentation
    v0.1Documentation

    Feature Driven (Legacy)

    Documentation for older versions of feature-driven can be found here

    v0.1Documentation
    Example (kof)Github