add turkmen language
This commit is contained in:
parent
05488cd400
commit
6dc442db1f
|
|
@ -21,3 +21,8 @@ dist-ssr
|
||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
|
||||||
|
|
||||||
|
# ai
|
||||||
|
.claude
|
||||||
|
.agents
|
||||||
|
|
@ -0,0 +1,878 @@
|
||||||
|
{
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"workspaces": {
|
||||||
|
"": {
|
||||||
|
"name": "turkmen-textile",
|
||||||
|
"dependencies": {
|
||||||
|
"@hookform/resolvers": "^3.10.0",
|
||||||
|
"@radix-ui/react-dialog": "^1.1.5",
|
||||||
|
"@radix-ui/react-label": "^2.1.1",
|
||||||
|
"@radix-ui/react-navigation-menu": "^1.2.13",
|
||||||
|
"@radix-ui/react-popover": "^1.1.5",
|
||||||
|
"@radix-ui/react-radio-group": "^1.2.2",
|
||||||
|
"@radix-ui/react-slot": "^1.1.1",
|
||||||
|
"@tanstack/react-query": "^5.66.0",
|
||||||
|
"axios": "^1.7.9",
|
||||||
|
"class-variance-authority": "^0.7.1",
|
||||||
|
"clsx": "^2.1.1",
|
||||||
|
"embla-carousel-autoplay": "^8.5.2",
|
||||||
|
"embla-carousel-react": "^8.5.2",
|
||||||
|
"i18next": "^24.2.2",
|
||||||
|
"lenis": "^1.3.4",
|
||||||
|
"locomotive-scroll": "^4.1.4",
|
||||||
|
"lucide-react": "^0.473.0",
|
||||||
|
"motion": "^12.0.1",
|
||||||
|
"react": "^18.3.1",
|
||||||
|
"react-dom": "^18.3.1",
|
||||||
|
"react-hook-form": "^7.54.2",
|
||||||
|
"react-i18next": "^15.4.0",
|
||||||
|
"react-router-dom": "^7.1.3",
|
||||||
|
"tailwind-merge": "^2.6.0",
|
||||||
|
"tailwindcss-animate": "^1.0.7",
|
||||||
|
"usehooks-ts": "^3.1.0",
|
||||||
|
"zod": "^3.24.1",
|
||||||
|
"zustand": "^5.0.3",
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@eslint/js": "^9.17.0",
|
||||||
|
"@types/locomotive-scroll": "^4.1.4",
|
||||||
|
"@types/node": "^22.12.0",
|
||||||
|
"@types/react": "^18.3.18",
|
||||||
|
"@types/react-dom": "^18.3.5",
|
||||||
|
"@vitejs/plugin-react-swc": "^3.5.0",
|
||||||
|
"autoprefixer": "^10.4.20",
|
||||||
|
"eslint-plugin-react-hooks": "^5.0.0",
|
||||||
|
"eslint-plugin-react-refresh": "^0.4.16",
|
||||||
|
"globals": "^15.14.0",
|
||||||
|
"postcss": "^8.5.1",
|
||||||
|
"tailwindcss": "^3.4.17",
|
||||||
|
"typescript": "~5.6.2",
|
||||||
|
"typescript-eslint": "^8.18.2",
|
||||||
|
"vite": "^6.0.5",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"packages": {
|
||||||
|
"@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="],
|
||||||
|
|
||||||
|
"@babel/runtime": ["@babel/runtime@7.26.7", "", { "dependencies": { "regenerator-runtime": "^0.14.0" } }, "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ=="],
|
||||||
|
|
||||||
|
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.24.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA=="],
|
||||||
|
|
||||||
|
"@esbuild/android-arm": ["@esbuild/android-arm@0.24.2", "", { "os": "android", "cpu": "arm" }, "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q=="],
|
||||||
|
|
||||||
|
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.24.2", "", { "os": "android", "cpu": "arm64" }, "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg=="],
|
||||||
|
|
||||||
|
"@esbuild/android-x64": ["@esbuild/android-x64@0.24.2", "", { "os": "android", "cpu": "x64" }, "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw=="],
|
||||||
|
|
||||||
|
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.24.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA=="],
|
||||||
|
|
||||||
|
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.24.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA=="],
|
||||||
|
|
||||||
|
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.24.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg=="],
|
||||||
|
|
||||||
|
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.24.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.24.2", "", { "os": "linux", "cpu": "arm" }, "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.24.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.24.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.24.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.24.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw=="],
|
||||||
|
|
||||||
|
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.24.2", "", { "os": "linux", "cpu": "x64" }, "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q=="],
|
||||||
|
|
||||||
|
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.24.2", "", { "os": "none", "cpu": "arm64" }, "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw=="],
|
||||||
|
|
||||||
|
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.24.2", "", { "os": "none", "cpu": "x64" }, "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw=="],
|
||||||
|
|
||||||
|
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.24.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A=="],
|
||||||
|
|
||||||
|
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.24.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA=="],
|
||||||
|
|
||||||
|
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.24.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig=="],
|
||||||
|
|
||||||
|
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.24.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ=="],
|
||||||
|
|
||||||
|
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.24.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA=="],
|
||||||
|
|
||||||
|
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.24.2", "", { "os": "win32", "cpu": "x64" }, "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg=="],
|
||||||
|
|
||||||
|
"@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.4.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA=="],
|
||||||
|
|
||||||
|
"@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="],
|
||||||
|
|
||||||
|
"@eslint/config-array": ["@eslint/config-array@0.19.2", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w=="],
|
||||||
|
|
||||||
|
"@eslint/core": ["@eslint/core@0.10.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw=="],
|
||||||
|
|
||||||
|
"@eslint/eslintrc": ["@eslint/eslintrc@3.2.0", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w=="],
|
||||||
|
|
||||||
|
"@eslint/js": ["@eslint/js@9.19.0", "", {}, "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ=="],
|
||||||
|
|
||||||
|
"@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="],
|
||||||
|
|
||||||
|
"@eslint/plugin-kit": ["@eslint/plugin-kit@0.2.5", "", { "dependencies": { "@eslint/core": "^0.10.0", "levn": "^0.4.1" } }, "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A=="],
|
||||||
|
|
||||||
|
"@floating-ui/core": ["@floating-ui/core@1.6.9", "", { "dependencies": { "@floating-ui/utils": "^0.2.9" } }, "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw=="],
|
||||||
|
|
||||||
|
"@floating-ui/dom": ["@floating-ui/dom@1.6.13", "", { "dependencies": { "@floating-ui/core": "^1.6.0", "@floating-ui/utils": "^0.2.9" } }, "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w=="],
|
||||||
|
|
||||||
|
"@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.2", "", { "dependencies": { "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A=="],
|
||||||
|
|
||||||
|
"@floating-ui/utils": ["@floating-ui/utils@0.2.9", "", {}, "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg=="],
|
||||||
|
|
||||||
|
"@hookform/resolvers": ["@hookform/resolvers@3.10.0", "", { "peerDependencies": { "react-hook-form": "^7.0.0" } }, "sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag=="],
|
||||||
|
|
||||||
|
"@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="],
|
||||||
|
|
||||||
|
"@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="],
|
||||||
|
|
||||||
|
"@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="],
|
||||||
|
|
||||||
|
"@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.1", "", {}, "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA=="],
|
||||||
|
|
||||||
|
"@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
|
||||||
|
|
||||||
|
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="],
|
||||||
|
|
||||||
|
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
|
||||||
|
|
||||||
|
"@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="],
|
||||||
|
|
||||||
|
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
|
||||||
|
|
||||||
|
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="],
|
||||||
|
|
||||||
|
"@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
|
||||||
|
|
||||||
|
"@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
|
||||||
|
|
||||||
|
"@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
|
||||||
|
|
||||||
|
"@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
|
||||||
|
|
||||||
|
"@radix-ui/primitive": ["@radix-ui/primitive@1.1.1", "", {}, "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-context": ["@radix-ui/react-context@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.5", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-id": ["@radix-ui/react-id@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-label": ["@radix-ui/react-label@2.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.2", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-rect": "1.1.0", "@radix-ui/react-use-size": "1.1.0", "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.4", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.2", "", { "dependencies": { "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-radio-group": ["@radix-ui/react-radio-group@1.2.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-use-size": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-xtCsqt8Rp09FK50ItqEqTJ7Sxanz8EM8dnkVIhJrc/wkMMomSmXHvYbhv3E7Zx4oXh98aaLt9W679SUYXg4IDA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.2", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.0", "", { "dependencies": { "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="],
|
||||||
|
|
||||||
|
"@radix-ui/rect": ["@radix-ui/rect@1.1.0", "", {}, "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.34.5", "", { "os": "android", "cpu": "arm" }, "sha512-JXmmQcKQtpf3Z6lvA8akkrHDZ5AEfgc2hLMix1/X5BhQbezBQ0AP5GYLdU8jsQRme8qr2sscCe3wizp7UT0L9g=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.34.5", "", { "os": "android", "cpu": "arm64" }, "sha512-9/A8/ZBOprUjkrJoP9BBEq2vdSud6BPd3LChw09bJQiEZH5oN4kWIkHu90cA0Cj0cSF5cIaD76+0lA+d5KHmpQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.34.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-b9oCfgHKfc1AJEQ5sEpE8Kf6s7aeygj5bZAsl1hTpZc1V9cfZASFSXzzNj7o/BQNPbjmVkVxpCCLRhBfLXhJ5g=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.34.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-Gz42gKBQPoFdMYdsVqkcpttYOO/0aP7f+1CgMaeZEz0gss7dop1TsO3hT77Iroz/TV7PdPUG/RYlj9EA39L4dw=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.34.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-JPkafjkOFaupd8VQYsXfGFKC2pfMr7hwSYGkVGNwhbW0k0lHHyIdhCSNBendJ4O7YlT4yRyKXoms1TL7saO7SQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.34.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-j6Q8VFqyI8hZM33h1JC6DZK2w8ejkXqEMozTrtIEGfRVMpVZL3GrLOOYEUkAgUSpJ9sb2w+FEpjGj7IHRcQfdw=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.34.5", "", { "os": "linux", "cpu": "arm" }, "sha512-6jyiXKF9Xq6x9yQjct5xrRT0VghJk5VzAfed3o0hgncwacZkzOdR0TXLRNjexsEXWN8tG7jWWwsVk7WeFi//gw=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.34.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cOTYe5tLcGAvGztRLIqx87LE7j/qjaAqFrrHsPFlnuhhhFO5LSr2AzvdQYuxomJMzMBrXkMRNl9bQEpDZ5bjLQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.34.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-KHlrd+YqmS7rriW+LBb1kQNYmd5w1sAIG3z7HEpnQOrg/skeYYv9DAcclGL9gpFdpnzmiAEkzsTT74kZWUtChQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.34.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-uOb6hzDqym4Sw+qw3+svS3SmwQGVUhyTdPKyHDdlYg1Z0aHjdNmjwRY7zw/90/UfBe/yD7Mv2mYKhQpOfy4RYA=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.34.5", "", { "os": "linux", "cpu": "none" }, "sha512-pARu8ZKANZH4wINLdHLKG69EPwJswM6A+Ox1a9LpiclRQoyjacFFTtXN3akKQ2ufJXDasO/pWvxKN9ZfCgEoFA=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.34.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-crUWn12NRmCdao2YwS1GvlPCVypMBMJlexTaantaP2+dAMd2eZBErFcKG8hZYEHjSbbk2UoH1aTlyeA4iKLqSA=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.34.5", "", { "os": "linux", "cpu": "none" }, "sha512-XtD/oMhCdixi3x8rCNyDRMUsLo1Z+1UQcK+oR7AsjglGov9ETiT3TNFhUPzaGC1jH+uaMtPhxrVRUub+pnAKTg=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.34.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-V3+BvgyHb21aF7lw0sc78Tv0+xLp4lm2OM7CKFVrBuppsMvtl/9O5y2OX4tdDT0EhIsDP/ObJPqDuEg1ZoTwSQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.34.5", "", { "os": "linux", "cpu": "x64" }, "sha512-SkCIXLGk42yldTcH8UXh++m0snVxp9DLf4meb1mWm0lC8jzxjFBwSLGtUSeLgQDsC05iBaIhyjNX46DlByrApQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.34.5", "", { "os": "linux", "cpu": "x64" }, "sha512-iUcH3FBtBN2/Ce0rI84suRhD0+bB5BVEffqOwsGaX5py5TuYLOQa7S7oVBP0NKtB5rub3i9IvZtMXiD96l5v0A=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-PUbWd+h/h6rUowalDYIdc9S9LJXbQDMcJe0BjABl3oT3efYRgZ8aUe8ZZDSie7y+fz6Z+rueNfdorIbkWv5Eqg=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-3vncGhOJiAUR85fnAXJyvSp2GaDWYByIQmW68ZAr+e8kIxgvJ1VaZbfHD5BO5X6hwRQdY6Um/XfA3l5c2lV+OQ=="],
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-Mi8yVUlQOoeBpY72n75VLATptPGvj2lHa47rQdK9kZ4MoG5Ve86aVIU+PO3tBklTCBtILtdRfXS0EvIbXgmCAg=="],
|
||||||
|
|
||||||
|
"@swc/core": ["@swc/core@1.10.14", "", { "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.17" }, "optionalDependencies": { "@swc/core-darwin-arm64": "1.10.14", "@swc/core-darwin-x64": "1.10.14", "@swc/core-linux-arm-gnueabihf": "1.10.14", "@swc/core-linux-arm64-gnu": "1.10.14", "@swc/core-linux-arm64-musl": "1.10.14", "@swc/core-linux-x64-gnu": "1.10.14", "@swc/core-linux-x64-musl": "1.10.14", "@swc/core-win32-arm64-msvc": "1.10.14", "@swc/core-win32-ia32-msvc": "1.10.14", "@swc/core-win32-x64-msvc": "1.10.14" }, "peerDependencies": { "@swc/helpers": "*" }, "optionalPeers": ["@swc/helpers"] }, "sha512-WSrnE6JRnH20ZYjOOgSS4aOaPv9gxlkI2KRkN24kagbZnPZMnN8bZZyzw1rrLvwgpuRGv17Uz+hflosbR+SP6w=="],
|
||||||
|
|
||||||
|
"@swc/core-darwin-arm64": ["@swc/core-darwin-arm64@1.10.14", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Dh4VyrhDDb05tdRmqJ/MucOPMTnrB4pRJol18HVyLlqu1HOT5EzonUniNTCdQbUXjgdv5UVJSTE1lYTzrp+myA=="],
|
||||||
|
|
||||||
|
"@swc/core-darwin-x64": ["@swc/core-darwin-x64@1.10.14", "", { "os": "darwin", "cpu": "x64" }, "sha512-KpzotL/I0O12RE3tF8NmQErINv0cQe/0mnN/Q50ESFzB5kU6bLgp2HMnnwDTm/XEZZRJCNe0oc9WJ5rKbAJFRQ=="],
|
||||||
|
|
||||||
|
"@swc/core-linux-arm-gnueabihf": ["@swc/core-linux-arm-gnueabihf@1.10.14", "", { "os": "linux", "cpu": "arm" }, "sha512-20yRXZjMJVz1wp1TcscKiGTVXistG+saIaxOmxSNQia1Qun3hSWLL+u6+5kXbfYGr7R2N6kqSwtZbIfJI25r9Q=="],
|
||||||
|
|
||||||
|
"@swc/core-linux-arm64-gnu": ["@swc/core-linux-arm64-gnu@1.10.14", "", { "os": "linux", "cpu": "arm64" }, "sha512-Gy7cGrNkiMfPxQyLGxdgXPwyWzNzbHuWycJFcoKBihxZKZIW8hkPBttkGivuLC+0qOgsV2/U+S7tlvAju7FtmQ=="],
|
||||||
|
|
||||||
|
"@swc/core-linux-arm64-musl": ["@swc/core-linux-arm64-musl@1.10.14", "", { "os": "linux", "cpu": "arm64" }, "sha512-+oYVqJvFw62InZ8PIy1rBACJPC2WTe4vbVb9kM1jJj2D7dKLm9acnnYIVIDsM5Wo7Uab8RvPHXVbs19IBurzuw=="],
|
||||||
|
|
||||||
|
"@swc/core-linux-x64-gnu": ["@swc/core-linux-x64-gnu@1.10.14", "", { "os": "linux", "cpu": "x64" }, "sha512-OmEbVEKQFLQVHwo4EJl9osmlulURy46k232Opfpn/1ji0t2KcNCci3POsnfMuoZjLkGJv8vGNJdPQxX+CP+wSA=="],
|
||||||
|
|
||||||
|
"@swc/core-linux-x64-musl": ["@swc/core-linux-x64-musl@1.10.14", "", { "os": "linux", "cpu": "x64" }, "sha512-OZW+Icm8DMPqHbhdxplkuG8qrNnPk5i7xJOZWYi1y5bTjgGFI4nEzrsmmeHKMdQTaWwsFrm3uK1rlyQ48MmXmg=="],
|
||||||
|
|
||||||
|
"@swc/core-win32-arm64-msvc": ["@swc/core-win32-arm64-msvc@1.10.14", "", { "os": "win32", "cpu": "arm64" }, "sha512-sTvc+xrDQXy3HXZFtTEClY35Efvuc3D+busYm0+rb1+Thau4HLRY9WP+sOKeGwH9/16rzfzYEqD7Ds8A9ykrHw=="],
|
||||||
|
|
||||||
|
"@swc/core-win32-ia32-msvc": ["@swc/core-win32-ia32-msvc@1.10.14", "", { "os": "win32", "cpu": "ia32" }, "sha512-j2iQ4y9GWTKtES5eMU0sDsFdYni7IxME7ejFej25Tv3Fq4B+U9tgtYWlJwh1858nIWDXelHiKcSh/UICAyVMdQ=="],
|
||||||
|
|
||||||
|
"@swc/core-win32-x64-msvc": ["@swc/core-win32-x64-msvc@1.10.14", "", { "os": "win32", "cpu": "x64" }, "sha512-TYtWkUSMkjs0jGPeWdtWbex4B+DlQZmN/ySVLiPI+EltYCLEXsFMkVFq6aWn48dqFHggFK0UYfvDrJUR2c3Qxg=="],
|
||||||
|
|
||||||
|
"@swc/counter": ["@swc/counter@0.1.3", "", {}, "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="],
|
||||||
|
|
||||||
|
"@swc/types": ["@swc/types@0.1.17", "", { "dependencies": { "@swc/counter": "^0.1.3" } }, "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ=="],
|
||||||
|
|
||||||
|
"@tanstack/query-core": ["@tanstack/query-core@5.90.20", "", {}, "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg=="],
|
||||||
|
|
||||||
|
"@tanstack/react-query": ["@tanstack/react-query@5.90.21", "", { "dependencies": { "@tanstack/query-core": "5.90.20" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg=="],
|
||||||
|
|
||||||
|
"@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="],
|
||||||
|
|
||||||
|
"@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="],
|
||||||
|
|
||||||
|
"@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="],
|
||||||
|
|
||||||
|
"@types/locomotive-scroll": ["@types/locomotive-scroll@4.1.4", "", {}, "sha512-G8GUr/ML/Ssxxl83VYbtFHMFoPNOQh/glzPWi5Z3Jk7Hng26Sl0ckAV11uq1AGKEq40jFMPhyAIuQ6fGPiBmHQ=="],
|
||||||
|
|
||||||
|
"@types/node": ["@types/node@22.13.1", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew=="],
|
||||||
|
|
||||||
|
"@types/prop-types": ["@types/prop-types@15.7.14", "", {}, "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ=="],
|
||||||
|
|
||||||
|
"@types/react": ["@types/react@18.3.18", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ=="],
|
||||||
|
|
||||||
|
"@types/react-dom": ["@types/react-dom@18.3.5", "", { "peerDependencies": { "@types/react": "^18.0.0" } }, "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.23.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.23.0", "@typescript-eslint/type-utils": "8.23.0", "@typescript-eslint/utils": "8.23.0", "@typescript-eslint/visitor-keys": "8.23.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^2.0.1" }, "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.23.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.23.0", "@typescript-eslint/types": "8.23.0", "@typescript-eslint/typescript-estree": "8.23.0", "@typescript-eslint/visitor-keys": "8.23.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.23.0", "", { "dependencies": { "@typescript-eslint/types": "8.23.0", "@typescript-eslint/visitor-keys": "8.23.0" } }, "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.23.0", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.23.0", "@typescript-eslint/utils": "8.23.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/types": ["@typescript-eslint/types@8.23.0", "", {}, "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.23.0", "", { "dependencies": { "@typescript-eslint/types": "8.23.0", "@typescript-eslint/visitor-keys": "8.23.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.0.1" }, "peerDependencies": { "typescript": ">=4.8.4 <5.8.0" } }, "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.23.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.23.0", "@typescript-eslint/types": "8.23.0", "@typescript-eslint/typescript-estree": "8.23.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.23.0", "", { "dependencies": { "@typescript-eslint/types": "8.23.0", "eslint-visitor-keys": "^4.2.0" } }, "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ=="],
|
||||||
|
|
||||||
|
"@vitejs/plugin-react-swc": ["@vitejs/plugin-react-swc@3.7.2", "", { "dependencies": { "@swc/core": "^1.7.26" }, "peerDependencies": { "vite": "^4 || ^5 || ^6" } }, "sha512-y0byko2b2tSVVf5Gpng1eEhX1OvPC7x8yns1Fx8jDzlJp4LS6CMkCPfLw47cjyoMrshQDoQw4qcgjsU9VvlCew=="],
|
||||||
|
|
||||||
|
"acorn": ["acorn@8.14.0", "", { "bin": "bin/acorn" }, "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA=="],
|
||||||
|
|
||||||
|
"acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
|
||||||
|
|
||||||
|
"ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
|
||||||
|
|
||||||
|
"ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
|
||||||
|
|
||||||
|
"ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
||||||
|
|
||||||
|
"any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="],
|
||||||
|
|
||||||
|
"anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
|
||||||
|
|
||||||
|
"arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="],
|
||||||
|
|
||||||
|
"argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
|
||||||
|
|
||||||
|
"aria-hidden": ["aria-hidden@1.2.4", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A=="],
|
||||||
|
|
||||||
|
"asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
|
||||||
|
|
||||||
|
"autoprefixer": ["autoprefixer@10.4.20", "", { "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": "bin/autoprefixer" }, "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g=="],
|
||||||
|
|
||||||
|
"axios": ["axios@1.7.9", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw=="],
|
||||||
|
|
||||||
|
"balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
||||||
|
|
||||||
|
"bezier-easing": ["bezier-easing@2.1.0", "", {}, "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig=="],
|
||||||
|
|
||||||
|
"binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="],
|
||||||
|
|
||||||
|
"bindall-standalone": ["bindall-standalone@1.0.5", "", {}, "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA=="],
|
||||||
|
|
||||||
|
"brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
|
||||||
|
|
||||||
|
"braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
|
||||||
|
|
||||||
|
"browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": "cli.js" }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="],
|
||||||
|
|
||||||
|
"callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="],
|
||||||
|
|
||||||
|
"camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="],
|
||||||
|
|
||||||
|
"caniuse-lite": ["caniuse-lite@1.0.30001698", "", {}, "sha512-xJ3km2oiG/MbNU8G6zIq6XRZ6HtAOVXsbOrP/blGazi52kc5Yy7b6sDA5O+FbROzRrV7BSTllLHuNvmawYUJjw=="],
|
||||||
|
|
||||||
|
"chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
|
||||||
|
|
||||||
|
"chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="],
|
||||||
|
|
||||||
|
"class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="],
|
||||||
|
|
||||||
|
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
|
||||||
|
|
||||||
|
"color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
|
||||||
|
|
||||||
|
"color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
||||||
|
|
||||||
|
"combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
|
||||||
|
|
||||||
|
"commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="],
|
||||||
|
|
||||||
|
"concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="],
|
||||||
|
|
||||||
|
"cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="],
|
||||||
|
|
||||||
|
"cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
|
||||||
|
|
||||||
|
"cssesc": ["cssesc@3.0.0", "", { "bin": "bin/cssesc" }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="],
|
||||||
|
|
||||||
|
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
|
||||||
|
|
||||||
|
"debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="],
|
||||||
|
|
||||||
|
"deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="],
|
||||||
|
|
||||||
|
"delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
|
||||||
|
|
||||||
|
"detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="],
|
||||||
|
|
||||||
|
"didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="],
|
||||||
|
|
||||||
|
"dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="],
|
||||||
|
|
||||||
|
"eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
|
||||||
|
|
||||||
|
"electron-to-chromium": ["electron-to-chromium@1.5.96", "", {}, "sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w=="],
|
||||||
|
|
||||||
|
"embla-carousel": ["embla-carousel@8.5.2", "", {}, "sha512-xQ9oVLrun/eCG/7ru3R+I5bJ7shsD8fFwLEY7yPe27/+fDHCNj0OT5EoG5ZbFyOxOcG6yTwW8oTz/dWyFnyGpg=="],
|
||||||
|
|
||||||
|
"embla-carousel-autoplay": ["embla-carousel-autoplay@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA=="],
|
||||||
|
|
||||||
|
"embla-carousel-react": ["embla-carousel-react@8.5.2", "", { "dependencies": { "embla-carousel": "8.5.2", "embla-carousel-reactive-utils": "8.5.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-Tmx+uY3MqseIGdwp0ScyUuxpBgx5jX1f7od4Cm5mDwg/dptEiTKf9xp6tw0lZN2VA9JbnVMl/aikmbc53c6QFA=="],
|
||||||
|
|
||||||
|
"embla-carousel-reactive-utils": ["embla-carousel-reactive-utils@8.5.2", "", { "peerDependencies": { "embla-carousel": "8.5.2" } }, "sha512-QC8/hYSK/pEmqEdU1IO5O+XNc/Ptmmq7uCB44vKplgLKhB/l0+yvYx0+Cv0sF6Ena8Srld5vUErZkT+yTahtDg=="],
|
||||||
|
|
||||||
|
"emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
||||||
|
|
||||||
|
"esbuild": ["esbuild@0.24.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.24.2", "@esbuild/android-arm": "0.24.2", "@esbuild/android-arm64": "0.24.2", "@esbuild/android-x64": "0.24.2", "@esbuild/darwin-arm64": "0.24.2", "@esbuild/darwin-x64": "0.24.2", "@esbuild/freebsd-arm64": "0.24.2", "@esbuild/freebsd-x64": "0.24.2", "@esbuild/linux-arm": "0.24.2", "@esbuild/linux-arm64": "0.24.2", "@esbuild/linux-ia32": "0.24.2", "@esbuild/linux-loong64": "0.24.2", "@esbuild/linux-mips64el": "0.24.2", "@esbuild/linux-ppc64": "0.24.2", "@esbuild/linux-riscv64": "0.24.2", "@esbuild/linux-s390x": "0.24.2", "@esbuild/linux-x64": "0.24.2", "@esbuild/netbsd-arm64": "0.24.2", "@esbuild/netbsd-x64": "0.24.2", "@esbuild/openbsd-arm64": "0.24.2", "@esbuild/openbsd-x64": "0.24.2", "@esbuild/sunos-x64": "0.24.2", "@esbuild/win32-arm64": "0.24.2", "@esbuild/win32-ia32": "0.24.2", "@esbuild/win32-x64": "0.24.2" }, "bin": "bin/esbuild" }, "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA=="],
|
||||||
|
|
||||||
|
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
||||||
|
|
||||||
|
"escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
|
||||||
|
|
||||||
|
"eslint": ["eslint@9.19.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.0", "@eslint/core": "^0.10.0", "@eslint/eslintrc": "^3.2.0", "@eslint/js": "9.19.0", "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.1", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.2.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "bin": "bin/eslint.js" }, "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA=="],
|
||||||
|
|
||||||
|
"eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.1.0", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw=="],
|
||||||
|
|
||||||
|
"eslint-plugin-react-refresh": ["eslint-plugin-react-refresh@0.4.18", "", { "peerDependencies": { "eslint": ">=8.40" } }, "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw=="],
|
||||||
|
|
||||||
|
"eslint-scope": ["eslint-scope@8.2.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A=="],
|
||||||
|
|
||||||
|
"eslint-visitor-keys": ["eslint-visitor-keys@4.2.0", "", {}, "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw=="],
|
||||||
|
|
||||||
|
"espree": ["espree@10.3.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.0" } }, "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg=="],
|
||||||
|
|
||||||
|
"esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="],
|
||||||
|
|
||||||
|
"esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="],
|
||||||
|
|
||||||
|
"estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
|
||||||
|
|
||||||
|
"esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
|
||||||
|
|
||||||
|
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
||||||
|
|
||||||
|
"fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
|
||||||
|
|
||||||
|
"fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
|
||||||
|
|
||||||
|
"fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="],
|
||||||
|
|
||||||
|
"fastq": ["fastq@1.19.0", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA=="],
|
||||||
|
|
||||||
|
"file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="],
|
||||||
|
|
||||||
|
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
||||||
|
|
||||||
|
"find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
|
||||||
|
|
||||||
|
"flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="],
|
||||||
|
|
||||||
|
"flatted": ["flatted@3.3.2", "", {}, "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA=="],
|
||||||
|
|
||||||
|
"follow-redirects": ["follow-redirects@1.15.9", "", {}, "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ=="],
|
||||||
|
|
||||||
|
"foreground-child": ["foreground-child@3.3.0", "", { "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" } }, "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg=="],
|
||||||
|
|
||||||
|
"form-data": ["form-data@4.0.1", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw=="],
|
||||||
|
|
||||||
|
"fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="],
|
||||||
|
|
||||||
|
"framer-motion": ["framer-motion@12.4.1", "", { "dependencies": { "motion-dom": "^12.0.0", "motion-utils": "^12.0.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid"] }, "sha512-5Ijbea3topSZjadQ0hgc/TcWj2ldMZmNREM7RvAhvsThYOA1HHOA8TT1yKvMu1YXP3jWaFwoZ6Vo9Nw+DUZrzA=="],
|
||||||
|
|
||||||
|
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
||||||
|
|
||||||
|
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
||||||
|
|
||||||
|
"get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="],
|
||||||
|
|
||||||
|
"glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": "dist/esm/bin.mjs" }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="],
|
||||||
|
|
||||||
|
"glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="],
|
||||||
|
|
||||||
|
"globals": ["globals@15.14.0", "", {}, "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig=="],
|
||||||
|
|
||||||
|
"graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="],
|
||||||
|
|
||||||
|
"has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
|
||||||
|
|
||||||
|
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
|
||||||
|
|
||||||
|
"html-parse-stringify": ["html-parse-stringify@3.0.1", "", { "dependencies": { "void-elements": "3.1.0" } }, "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg=="],
|
||||||
|
|
||||||
|
"i18next": ["i18next@24.2.2", "", { "dependencies": { "@babel/runtime": "^7.23.2" }, "peerDependencies": { "typescript": "^5" } }, "sha512-NE6i86lBCKRYZa5TaUDkU5S4HFgLIEJRLr3Whf2psgaxBleQ2LC1YW1Vc+SCgkAW7VEzndT6al6+CzegSUHcTQ=="],
|
||||||
|
|
||||||
|
"ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
|
||||||
|
|
||||||
|
"import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="],
|
||||||
|
|
||||||
|
"imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
|
||||||
|
|
||||||
|
"is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="],
|
||||||
|
|
||||||
|
"is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
|
||||||
|
|
||||||
|
"is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
|
||||||
|
|
||||||
|
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
|
||||||
|
|
||||||
|
"is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
|
||||||
|
|
||||||
|
"is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
|
||||||
|
|
||||||
|
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
|
||||||
|
|
||||||
|
"jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
|
||||||
|
|
||||||
|
"jiti": ["jiti@1.21.7", "", { "bin": "bin/jiti.js" }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="],
|
||||||
|
|
||||||
|
"js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
|
||||||
|
|
||||||
|
"js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": "bin/js-yaml.js" }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="],
|
||||||
|
|
||||||
|
"json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
|
||||||
|
|
||||||
|
"json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
|
||||||
|
|
||||||
|
"json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
|
||||||
|
|
||||||
|
"keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
|
||||||
|
|
||||||
|
"lenis": ["lenis@1.3.17", "", { "peerDependencies": { "@nuxt/kit": ">=3.0.0", "react": ">=17.0.0", "vue": ">=3.0.0" }, "optionalPeers": ["@nuxt/kit", "react", "vue"] }, "sha512-k9T9rgcxne49ggJOvXCraWn5dt7u2mO+BNkhyu6yxuEnm9c092kAW5Bus5SO211zUvx7aCCEtzy9UWr0RB+oJw=="],
|
||||||
|
|
||||||
|
"lethargy": ["lethargy@1.0.9", "", {}, "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg=="],
|
||||||
|
|
||||||
|
"levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
|
||||||
|
|
||||||
|
"lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="],
|
||||||
|
|
||||||
|
"lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
|
||||||
|
|
||||||
|
"locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="],
|
||||||
|
|
||||||
|
"locomotive-scroll": ["locomotive-scroll@4.1.4", "", { "dependencies": { "bezier-easing": "^2.1.0", "smoothscroll-polyfill": "^0.4.4", "virtual-scroll": "^1.5.2" } }, "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA=="],
|
||||||
|
|
||||||
|
"lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="],
|
||||||
|
|
||||||
|
"lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="],
|
||||||
|
|
||||||
|
"loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": "cli.js" }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="],
|
||||||
|
|
||||||
|
"lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
|
||||||
|
|
||||||
|
"lucide-react": ["lucide-react@0.473.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-KW6u5AKeIjkvrxXZ6WuCu9zHE/gEYSXCay+Gre2ZoInD0Je/e3RBtP4OHpJVJ40nDklSvjVKjgH7VU8/e2dzRw=="],
|
||||||
|
|
||||||
|
"merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
|
||||||
|
|
||||||
|
"micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
|
||||||
|
|
||||||
|
"mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
|
||||||
|
|
||||||
|
"mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
|
||||||
|
|
||||||
|
"minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
|
||||||
|
|
||||||
|
"minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
|
||||||
|
|
||||||
|
"motion": ["motion@12.4.1", "", { "dependencies": { "framer-motion": "^12.4.1", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid"] }, "sha512-TBnf5NyZVZFOHOc87fyC6qTSU+6LUe09LwxA1Sna35YL7qgOv1EZv96mu6o7uQ2Rl1GvTSQLeyfrQAEG+zlh+w=="],
|
||||||
|
|
||||||
|
"motion-dom": ["motion-dom@12.0.0", "", { "dependencies": { "motion-utils": "^12.0.0" } }, "sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg=="],
|
||||||
|
|
||||||
|
"motion-utils": ["motion-utils@12.0.0", "", {}, "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA=="],
|
||||||
|
|
||||||
|
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
||||||
|
|
||||||
|
"mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
|
||||||
|
|
||||||
|
"nanoid": ["nanoid@3.3.8", "", { "bin": "bin/nanoid.cjs" }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="],
|
||||||
|
|
||||||
|
"natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
|
||||||
|
|
||||||
|
"node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="],
|
||||||
|
|
||||||
|
"normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
|
||||||
|
|
||||||
|
"normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="],
|
||||||
|
|
||||||
|
"object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
|
||||||
|
|
||||||
|
"object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="],
|
||||||
|
|
||||||
|
"optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="],
|
||||||
|
|
||||||
|
"p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
|
||||||
|
|
||||||
|
"p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="],
|
||||||
|
|
||||||
|
"package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
|
||||||
|
|
||||||
|
"parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="],
|
||||||
|
|
||||||
|
"path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="],
|
||||||
|
|
||||||
|
"path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
|
||||||
|
|
||||||
|
"path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
|
||||||
|
|
||||||
|
"path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
|
||||||
|
|
||||||
|
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
||||||
|
|
||||||
|
"picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|
||||||
|
|
||||||
|
"pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="],
|
||||||
|
|
||||||
|
"pirates": ["pirates@4.0.6", "", {}, "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg=="],
|
||||||
|
|
||||||
|
"postcss": ["postcss@8.5.1", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ=="],
|
||||||
|
|
||||||
|
"postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="],
|
||||||
|
|
||||||
|
"postcss-js": ["postcss-js@4.0.1", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw=="],
|
||||||
|
|
||||||
|
"postcss-load-config": ["postcss-load-config@4.0.2", "", { "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["ts-node"] }, "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ=="],
|
||||||
|
|
||||||
|
"postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="],
|
||||||
|
|
||||||
|
"postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
|
||||||
|
|
||||||
|
"postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="],
|
||||||
|
|
||||||
|
"prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
|
||||||
|
|
||||||
|
"proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
|
||||||
|
|
||||||
|
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
||||||
|
|
||||||
|
"queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
|
||||||
|
|
||||||
|
"react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="],
|
||||||
|
|
||||||
|
"react-dom": ["react-dom@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" }, "peerDependencies": { "react": "^18.3.1" } }, "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw=="],
|
||||||
|
|
||||||
|
"react-hook-form": ["react-hook-form@7.54.2", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg=="],
|
||||||
|
|
||||||
|
"react-i18next": ["react-i18next@15.4.0", "", { "dependencies": { "@babel/runtime": "^7.25.0", "html-parse-stringify": "^3.0.1" }, "peerDependencies": { "i18next": ">= 23.2.3", "react": ">= 16.8.0" } }, "sha512-Py6UkX3zV08RTvL6ZANRoBh9sL/ne6rQq79XlkHEdd82cZr2H9usbWpUNVadJntIZP2pu3M2rL1CN+5rQYfYFw=="],
|
||||||
|
|
||||||
|
"react-remove-scroll": ["react-remove-scroll@2.6.3", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ=="],
|
||||||
|
|
||||||
|
"react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="],
|
||||||
|
|
||||||
|
"react-router": ["react-router@7.1.5", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0", "turbo-stream": "2.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-8BUF+hZEU4/z/JD201yK6S+UYhsf58bzYIDq2NS1iGpwxSXDu7F+DeGSkIXMFBuHZB21FSiCzEcUb18cQNdRkA=="],
|
||||||
|
|
||||||
|
"react-router-dom": ["react-router-dom@7.1.5", "", { "dependencies": { "react-router": "7.1.5" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-/4f9+up0Qv92D3bB8iN5P1s3oHAepSGa9h5k6tpTFlixTTskJZwKGhJ6vRJ277tLD1zuaZTt95hyGWV1Z37csQ=="],
|
||||||
|
|
||||||
|
"react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="],
|
||||||
|
|
||||||
|
"read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="],
|
||||||
|
|
||||||
|
"readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="],
|
||||||
|
|
||||||
|
"regenerator-runtime": ["regenerator-runtime@0.14.1", "", {}, "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="],
|
||||||
|
|
||||||
|
"resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": "bin/resolve" }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="],
|
||||||
|
|
||||||
|
"resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="],
|
||||||
|
|
||||||
|
"reusify": ["reusify@1.0.4", "", {}, "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="],
|
||||||
|
|
||||||
|
"rollup": ["rollup@4.34.5", "", { "dependencies": { "@types/estree": "1.0.6" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.34.5", "@rollup/rollup-android-arm64": "4.34.5", "@rollup/rollup-darwin-arm64": "4.34.5", "@rollup/rollup-darwin-x64": "4.34.5", "@rollup/rollup-freebsd-arm64": "4.34.5", "@rollup/rollup-freebsd-x64": "4.34.5", "@rollup/rollup-linux-arm-gnueabihf": "4.34.5", "@rollup/rollup-linux-arm-musleabihf": "4.34.5", "@rollup/rollup-linux-arm64-gnu": "4.34.5", "@rollup/rollup-linux-arm64-musl": "4.34.5", "@rollup/rollup-linux-loongarch64-gnu": "4.34.5", "@rollup/rollup-linux-powerpc64le-gnu": "4.34.5", "@rollup/rollup-linux-riscv64-gnu": "4.34.5", "@rollup/rollup-linux-s390x-gnu": "4.34.5", "@rollup/rollup-linux-x64-gnu": "4.34.5", "@rollup/rollup-linux-x64-musl": "4.34.5", "@rollup/rollup-win32-arm64-msvc": "4.34.5", "@rollup/rollup-win32-ia32-msvc": "4.34.5", "@rollup/rollup-win32-x64-msvc": "4.34.5", "fsevents": "~2.3.2" }, "bin": "dist/bin/rollup" }, "sha512-GyVCmpo9z/HYqFD8QWoBUnz1Q9xC22t8tPAZm/AvAcUg2U2/+DkboEvSioMwv042zE4I9N3FEhx7fiCT2YHzKQ=="],
|
||||||
|
|
||||||
|
"run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
|
||||||
|
|
||||||
|
"scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="],
|
||||||
|
|
||||||
|
"semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
|
||||||
|
|
||||||
|
"set-cookie-parser": ["set-cookie-parser@2.7.1", "", {}, "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="],
|
||||||
|
|
||||||
|
"shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
|
||||||
|
|
||||||
|
"shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
|
||||||
|
|
||||||
|
"signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
|
||||||
|
|
||||||
|
"smoothscroll-polyfill": ["smoothscroll-polyfill@0.4.4", "", {}, "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg=="],
|
||||||
|
|
||||||
|
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
|
||||||
|
|
||||||
|
"string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
|
||||||
|
|
||||||
|
"string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||||
|
|
||||||
|
"strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
|
||||||
|
|
||||||
|
"strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||||
|
|
||||||
|
"strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="],
|
||||||
|
|
||||||
|
"sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="],
|
||||||
|
|
||||||
|
"supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
|
||||||
|
|
||||||
|
"supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
|
||||||
|
|
||||||
|
"tailwind-merge": ["tailwind-merge@2.6.0", "", {}, "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA=="],
|
||||||
|
|
||||||
|
"tailwindcss": ["tailwindcss@3.4.17", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.6", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og=="],
|
||||||
|
|
||||||
|
"tailwindcss-animate": ["tailwindcss-animate@1.0.7", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" } }, "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA=="],
|
||||||
|
|
||||||
|
"thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="],
|
||||||
|
|
||||||
|
"thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="],
|
||||||
|
|
||||||
|
"tiny-emitter": ["tiny-emitter@1.2.0", "", {}, "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA=="],
|
||||||
|
|
||||||
|
"to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
|
||||||
|
|
||||||
|
"ts-api-utils": ["ts-api-utils@2.0.1", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w=="],
|
||||||
|
|
||||||
|
"ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="],
|
||||||
|
|
||||||
|
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
||||||
|
|
||||||
|
"turbo-stream": ["turbo-stream@2.4.0", "", {}, "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g=="],
|
||||||
|
|
||||||
|
"type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="],
|
||||||
|
|
||||||
|
"typescript": ["typescript@5.6.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw=="],
|
||||||
|
|
||||||
|
"typescript-eslint": ["typescript-eslint@8.23.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.23.0", "@typescript-eslint/parser": "8.23.0", "@typescript-eslint/utils": "8.23.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ=="],
|
||||||
|
|
||||||
|
"undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
|
||||||
|
|
||||||
|
"update-browserslist-db": ["update-browserslist-db@1.1.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": "cli.js" }, "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg=="],
|
||||||
|
|
||||||
|
"uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
|
||||||
|
|
||||||
|
"use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="],
|
||||||
|
|
||||||
|
"use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="],
|
||||||
|
|
||||||
|
"usehooks-ts": ["usehooks-ts@3.1.1", "", { "dependencies": { "lodash.debounce": "^4.0.8" }, "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA=="],
|
||||||
|
|
||||||
|
"util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
|
||||||
|
|
||||||
|
"virtual-scroll": ["virtual-scroll@1.5.2", "", { "dependencies": { "bindall-standalone": "^1.0.5", "lethargy": "^1.0.2", "object-assign": "^4.0.1", "tiny-emitter": "^1.0.0" } }, "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA=="],
|
||||||
|
|
||||||
|
"vite": ["vite@6.1.0", "", { "dependencies": { "esbuild": "^0.24.2", "postcss": "^8.5.1", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx"], "bin": "bin/vite.js" }, "sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ=="],
|
||||||
|
|
||||||
|
"void-elements": ["void-elements@3.1.0", "", {}, "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w=="],
|
||||||
|
|
||||||
|
"which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
|
||||||
|
|
||||||
|
"word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
|
||||||
|
|
||||||
|
"wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
|
||||||
|
|
||||||
|
"wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
|
||||||
|
|
||||||
|
"yaml": ["yaml@2.7.0", "", { "bin": "bin.mjs" }, "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA=="],
|
||||||
|
|
||||||
|
"yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
|
||||||
|
|
||||||
|
"zod": ["zod@3.24.1", "", {}, "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A=="],
|
||||||
|
|
||||||
|
"zustand": ["zustand@5.0.3", "", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["immer", "use-sync-external-store"] }, "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg=="],
|
||||||
|
|
||||||
|
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||||
|
|
||||||
|
"@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="],
|
||||||
|
|
||||||
|
"@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-collection/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-collection/@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-collection/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-collection/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-dismissable-layer/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-focus-scope/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-id/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.5", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-popper/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-popper/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-portal/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-presence/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-radio-group/@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-radio-group/@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-roving-focus/@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-roving-focus/@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-roving-focus/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-controllable-state/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-escape-keydown/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-use-size/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-visually-hidden/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
|
||||||
|
|
||||||
|
"chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
||||||
|
|
||||||
|
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
||||||
|
|
||||||
|
"glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
|
||||||
|
|
||||||
|
"string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||||
|
|
||||||
|
"string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||||
|
|
||||||
|
"strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||||
|
|
||||||
|
"wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
||||||
|
|
||||||
|
"wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||||
|
|
||||||
|
"wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-dismissable-layer/@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-navigation-menu/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-visually-hidden/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
|
||||||
|
|
||||||
|
"glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
|
||||||
|
|
||||||
|
"string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||||
|
|
||||||
|
"wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||||
|
|
||||||
|
"wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-visually-hidden/@radix-ui/react-primitive/@radix-ui/react-slot/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="],
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,95 +1,95 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/logo-icon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/logo-icon.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
(function (m, e, t, r, i, k, a) {
|
(function (m, e, t, r, i, k, a) {
|
||||||
m[i] =
|
m[i] =
|
||||||
m[i] ||
|
m[i] ||
|
||||||
function () {
|
function () {
|
||||||
(m[i].a = m[i].a || []).push(arguments);
|
(m[i].a = m[i].a || []).push(arguments);
|
||||||
};
|
};
|
||||||
m[i].l = 1 * new Date();
|
m[i].l = 1 * new Date();
|
||||||
for (var j = 0; j < document.scripts.length; j++) {
|
for (var j = 0; j < document.scripts.length; j++) {
|
||||||
if (document.scripts[j].src === r) {
|
if (document.scripts[j].src === r) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(k = e.createElement(t)),
|
(k = e.createElement(t)),
|
||||||
(a = e.getElementsByTagName(t)[0]),
|
(a = e.getElementsByTagName(t)[0]),
|
||||||
(k.async = 1),
|
(k.async = 1),
|
||||||
(k.src = r),
|
(k.src = r),
|
||||||
a.parentNode.insertBefore(k, a);
|
a.parentNode.insertBefore(k, a);
|
||||||
})(
|
})(
|
||||||
window,
|
window,
|
||||||
document,
|
document,
|
||||||
"script",
|
"script",
|
||||||
"https://mc.yandex.ru/metrika/tag.js",
|
"https://mc.yandex.ru/metrika/tag.js",
|
||||||
"ym"
|
"ym"
|
||||||
);
|
);
|
||||||
|
|
||||||
ym(99918113, "init", {
|
ym(99918113, "init", {
|
||||||
clickmap: true,
|
clickmap: true,
|
||||||
trackLinks: true,
|
trackLinks: true,
|
||||||
accurateTrackBounce: true,
|
accurateTrackBounce: true,
|
||||||
webvisor: true,
|
webvisor: true,
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script
|
<script
|
||||||
async
|
async
|
||||||
src="https://www.googletagmanager.com/gtag/js?id=G-M2M3HKL8ZR"
|
src="https://www.googletagmanager.com/gtag/js?id=G-M2M3HKL8ZR"
|
||||||
></script>
|
></script>
|
||||||
<script>
|
<script>
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
function gtag() {
|
function gtag() {
|
||||||
dataLayer.push(arguments);
|
dataLayer.push(arguments);
|
||||||
}
|
}
|
||||||
gtag("js", new Date());
|
gtag("js", new Date());
|
||||||
|
|
||||||
gtag("config", "G-M2M3HKL8ZR");
|
gtag("config", "G-M2M3HKL8ZR");
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
(function (w, d, s, l, i) {
|
(function (w, d, s, l, i) {
|
||||||
w[l] = w[l] || [];
|
w[l] = w[l] || [];
|
||||||
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
|
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
|
||||||
var f = d.getElementsByTagName(s)[0],
|
var f = d.getElementsByTagName(s)[0],
|
||||||
j = d.createElement(s),
|
j = d.createElement(s),
|
||||||
dl = l != "dataLayer" ? "&l=" + l : "";
|
dl = l != "dataLayer" ? "&l=" + l : "";
|
||||||
j.async = true;
|
j.async = true;
|
||||||
j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
|
j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
|
||||||
f.parentNode.insertBefore(j, f);
|
f.parentNode.insertBefore(j, f);
|
||||||
})(window, document, "script", "dataLayer", "GTM-NK394LVK");
|
})(window, document, "script", "dataLayer", "GTM-NK394LVK");
|
||||||
</script>
|
</script>
|
||||||
<title>Turkmen Textile</title>
|
<title>Turkmen Textile</title>
|
||||||
<script type="module" crossorigin src="/assets/index-RLwPasF2.js"></script>
|
<script type="module" crossorigin src="/assets/index-6hO7ebSr.js"></script>
|
||||||
<link rel="modulepreload" crossorigin href="/assets/react-vendor-CE_Ks92h.js">
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-CJoWVsUG.js">
|
||||||
<link rel="modulepreload" crossorigin href="/assets/ui-library-CVZjQZ_5.js">
|
<link rel="modulepreload" crossorigin href="/assets/ui-library-DPhFu9EK.js">
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-BOfvbFOj.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-BOfvbFOj.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|
||||||
<noscript
|
<noscript
|
||||||
><div>
|
><div>
|
||||||
<img
|
<img
|
||||||
src="https://mc.yandex.ru/watch/99918113"
|
src="https://mc.yandex.ru/watch/99918113"
|
||||||
style="position: absolute; left: -9999px"
|
style="position: absolute; left: -9999px"
|
||||||
alt=""
|
alt=""
|
||||||
/></div
|
/></div
|
||||||
></noscript>
|
></noscript>
|
||||||
|
|
||||||
<noscript
|
<noscript
|
||||||
><iframe
|
><iframe
|
||||||
src="https://www.googletagmanager.com/ns.html?id=GTM-NK394LVK"
|
src="https://www.googletagmanager.com/ns.html?id=GTM-NK394LVK"
|
||||||
height="0"
|
height="0"
|
||||||
width="0"
|
width="0"
|
||||||
style="display: none; visibility: hidden"
|
style="display: none; visibility: hidden"
|
||||||
></iframe
|
></iframe
|
||||||
></noscript>
|
></noscript>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -53,7 +53,7 @@ export const Burger: FC<Props> = () => {
|
||||||
size={"sm"}
|
size={"sm"}
|
||||||
className="bg-teritary w-full text-on_teritary hover:bg-teritary/90"
|
className="bg-teritary w-full text-on_teritary hover:bg-teritary/90"
|
||||||
>
|
>
|
||||||
{lang === "ru" ? "Официальная поддержка" : "Official Support"}
|
{{ ru: "Официальная поддержка", en: "Official Support", tm: "Resmi goldaw" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
|
|
@ -63,7 +63,7 @@ export const Burger: FC<Props> = () => {
|
||||||
size={"sm"}
|
size={"sm"}
|
||||||
className="bg-primary w-full text-white hover:bg-primary/90"
|
className="bg-primary w-full text-white hover:bg-primary/90"
|
||||||
>
|
>
|
||||||
{lang === "ru" ? "Стать спонсором" : "Become a sponsor"}
|
{{ ru: "Стать спонсором", en: "Become a sponsor", tm: "Hemaýatkär bolmak" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
</SheetHeader>
|
</SheetHeader>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { FC } from "react";
|
import { FC } from "react";
|
||||||
import { Container } from "./";
|
import { Container } from "./";
|
||||||
import { Logo } from "../shared";
|
import { Logo } from "../shared";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { SubscribeForm } from "../shared/forms/subscribe-form";
|
import { SubscribeForm } from "../shared/forms/subscribe-form";
|
||||||
import { Facebook } from "lucide-react";
|
import { Facebook } from "lucide-react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
@ -51,9 +51,7 @@ export const Footer: FC = () => {
|
||||||
<hr className="border-white/50" />
|
<hr className="border-white/50" />
|
||||||
|
|
||||||
<h5 className="text-base text-center normal text-white">
|
<h5 className="text-base text-center normal text-white">
|
||||||
{lang === Language.RU
|
{{ ru: "©2025 Все права защищены", en: "All rights reserved", tm: "Ähli hukuklar goralan" }[lang]}
|
||||||
? "©2025 Все права защищены"
|
|
||||||
: "All rights reserved"}
|
|
||||||
</h5>
|
</h5>
|
||||||
</Container>
|
</Container>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,7 @@ export const Header: FC = () => {
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<MapPin />
|
<MapPin />
|
||||||
<h4 className="text-sm">
|
<h4 className="text-sm">
|
||||||
{lang === "ru"
|
{{ ru: "Ашхабад, Туркменистан", en: "Ashgabat, Turkmenistan", tm: "Aşgabat, Türkmenistan" }[lang]}
|
||||||
? "Ашхабад, Туркменистан"
|
|
||||||
: "Ashgabat, Turkmenistan"}
|
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -112,7 +110,7 @@ export const Header: FC = () => {
|
||||||
size={"sm"}
|
size={"sm"}
|
||||||
className="bg-white text-primary hover:bg-white/90 h-12 w-fit"
|
className="bg-white text-primary hover:bg-white/90 h-12 w-fit"
|
||||||
>
|
>
|
||||||
{lang === "ru" ? "Официальная поддержка" : "Official Support"}
|
{{ ru: "Официальная поддержка", en: "Official Support", tm: "Resmi goldaw" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
|
|
@ -122,7 +120,7 @@ export const Header: FC = () => {
|
||||||
size={"sm"}
|
size={"sm"}
|
||||||
className="bg-teritary text-white hover:bg-teritary/90 h-12 w-fit"
|
className="bg-teritary text-white hover:bg-teritary/90 h-12 w-fit"
|
||||||
>
|
>
|
||||||
{lang === "ru" ? "Стать спонсором" : "Become a sponsor"}
|
{{ ru: "Стать спонсором", en: "Become a sponsor", tm: "Hemaýatkär bolmak" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import { Button } from "@/components/ui/button";
|
||||||
import { Field } from "../field";
|
import { Field } from "../field";
|
||||||
import { b2bStage1 } from "@/data/b2b.data";
|
import { b2bStage1 } from "@/data/b2b.data";
|
||||||
import { useTranslate } from "@/hooks/use-translate";
|
import { useTranslate } from "@/hooks/use-translate";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { useScrollTop } from "@/hooks/use-scroll-top";
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
@ -43,7 +43,7 @@ export const Stage1: FC<Props> = ({ handleNext }) => {
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="space-y-3">
|
<FormItem className="space-y-3">
|
||||||
<FormLabel className="text-xl">
|
<FormLabel className="text-xl">
|
||||||
{lang === Language.RU ? "Тип:" : "Type:"}
|
{{ ru: "Тип:", en: "Type:", tm: "Görnüşi:" }[lang]}
|
||||||
</FormLabel>
|
</FormLabel>
|
||||||
|
|
||||||
<FormControl>
|
<FormControl>
|
||||||
|
|
@ -140,7 +140,7 @@ export const Stage1: FC<Props> = ({ handleNext }) => {
|
||||||
onClick={handleNext}
|
onClick={handleNext}
|
||||||
className="w-full mt-10"
|
className="w-full mt-10"
|
||||||
>
|
>
|
||||||
{lang === Language.RU ? "Далее" : "Next"}
|
{{ ru: "Далее", en: "Next", tm: "Indiki" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { FieldError, useFormContext } from "react-hook-form";
|
||||||
import { Field } from "../";
|
import { Field } from "../";
|
||||||
import { motion } from "motion/react";
|
import { motion } from "motion/react";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { useTranslate } from "@/hooks/use-translate";
|
import { useTranslate } from "@/hooks/use-translate";
|
||||||
import { b2bStage2 } from "@/data/b2b.data";
|
import { b2bStage2 } from "@/data/b2b.data";
|
||||||
import { useScrollTop } from "@/hooks/use-scroll-top";
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
|
@ -83,7 +83,7 @@ export const Stage2: FC<Props> = ({ handleNext, handlePrev }) => {
|
||||||
variant={"outline"}
|
variant={"outline"}
|
||||||
className="text-on_surface"
|
className="text-on_surface"
|
||||||
>
|
>
|
||||||
{lang === Language.RU ? "Назад" : "Back"}
|
{{ ru: "Назад", en: "Back", tm: "Yza" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
|
@ -92,7 +92,7 @@ export const Stage2: FC<Props> = ({ handleNext, handlePrev }) => {
|
||||||
onClick={handleNext}
|
onClick={handleNext}
|
||||||
className="w-full"
|
className="w-full"
|
||||||
>
|
>
|
||||||
{lang === Language.RU ? "Далее" : "Next"}
|
{{ ru: "Далее", en: "Next", tm: "Indiki" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { Button } from "@/components/ui/button";
|
||||||
import { Loader } from "lucide-react";
|
import { Loader } from "lucide-react";
|
||||||
import { b2bStage3 } from "@/data/b2b.data";
|
import { b2bStage3 } from "@/data/b2b.data";
|
||||||
import { useTranslate } from "@/hooks/use-translate";
|
import { useTranslate } from "@/hooks/use-translate";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { useScrollTop } from "@/hooks/use-scroll-top";
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
@ -98,7 +98,7 @@ export const Stage3: FC<Props> = ({ handlePrev }) => {
|
||||||
variant={"outline"}
|
variant={"outline"}
|
||||||
className="text-on_surface"
|
className="text-on_surface"
|
||||||
>
|
>
|
||||||
{lang === Language.RU ? "Назад" : "Back"}
|
{{ ru: "Назад", en: "Back", tm: "Yza" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,9 @@ export const DesignerCard: FC<Props> = ({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={cn("", className)}>
|
<div className={cn("", className)}>
|
||||||
<h3 className="text-xl mb-2.5">Работы дизайнера</h3>
|
<h3 className="text-xl mb-2.5">
|
||||||
|
{{ ru: "Работы дизайнера", en: "Designer works", tm: "Dizaýneriň işleri" }[lang]}
|
||||||
|
</h3>
|
||||||
<div ref={emblaRef} className="embla overflow-hidden">
|
<div ref={emblaRef} className="embla overflow-hidden">
|
||||||
<div className="embla__container items-center flex gap-4">
|
<div className="embla__container items-center flex gap-4">
|
||||||
{canScrollPrev && (
|
{canScrollPrev && (
|
||||||
|
|
@ -164,7 +166,7 @@ export const DesignerCard: FC<Props> = ({
|
||||||
className="flex items-center gap-2 mb-4"
|
className="flex items-center gap-2 mb-4"
|
||||||
>
|
>
|
||||||
<ChevronLeftIcon />
|
<ChevronLeftIcon />
|
||||||
Вернуться назад
|
{{ ru: "Вернуться назад", en: "Go back", tm: "Yza gaýdyň" }[lang]}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div className="2xl:h-[50vh] h-[40vh] bg-[#f4f4f4]">
|
<div className="2xl:h-[50vh] h-[40vh] bg-[#f4f4f4]">
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import { Input } from "../ui/input";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
import { LegacyRef } from "react";
|
import { LegacyRef } from "react";
|
||||||
import { Textarea } from "../ui/textarea";
|
import { Textarea } from "../ui/textarea";
|
||||||
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
control: any;
|
control: any;
|
||||||
|
|
@ -45,6 +46,8 @@ export const Field = ({
|
||||||
|
|
||||||
onPrimary = false,
|
onPrimary = false,
|
||||||
}: Props) => {
|
}: Props) => {
|
||||||
|
const lang = useLangStore((state) => state.lang);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<FormField
|
<FormField
|
||||||
control={control}
|
control={control}
|
||||||
|
|
@ -101,7 +104,7 @@ export const Field = ({
|
||||||
/>
|
/>
|
||||||
{field.value && (
|
{field.value && (
|
||||||
<div className="text-sm mt-2 text-gray-500 absolute top-8">
|
<div className="text-sm mt-2 text-gray-500 absolute top-8">
|
||||||
Выбранный файл: {field.value.name}
|
{{ ru: "Выбранный файл:", en: "Selected file:", tm: "Saýlanan faýl:" }[lang]} {field.value.name}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import { motion } from "motion/react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import { Button } from "../ui/button";
|
import { Button } from "../ui/button";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
className?: string;
|
className?: string;
|
||||||
|
|
@ -10,16 +11,22 @@ interface Props {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const FormSuccesStatus: FC<Props> = ({ className, delay = 0.15 }) => {
|
export const FormSuccesStatus: FC<Props> = ({ className, delay = 0.15 }) => {
|
||||||
|
const lang = useLangStore((state) => state.lang);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0, y: 50 }}
|
initial={{ opacity: 0, y: 50 }}
|
||||||
animate={{ opacity: 1, y: 0, transition: { delay: delay } }}
|
animate={{ opacity: 1, y: 0, transition: { delay: delay } }}
|
||||||
className={cn("flex flex-col gap-8 my-16", className)}
|
className={cn("flex flex-col gap-8 my-16", className)}
|
||||||
>
|
>
|
||||||
<h3 className="text-3xl text-center">Форма успешно отправлена!</h3>
|
<h3 className="text-3xl text-center">
|
||||||
|
{{ ru: "Форма успешно отправлена!", en: "Form submitted successfully!", tm: "Forma üstünlikli ugradyldy!" }[lang]}
|
||||||
|
</h3>
|
||||||
|
|
||||||
<Link className="w-fit mx-auto" to="/">
|
<Link className="w-fit mx-auto" to="/">
|
||||||
<Button variant={"outline"}>Вернуться на главную</Button>
|
<Button variant={"outline"}>
|
||||||
|
{{ ru: "Вернуться на главную", en: "Back to home", tm: "Baş sahypa gaýdyp barmak" }[lang]}
|
||||||
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,17 @@
|
||||||
import { AnimatePresence } from "motion/react";
|
import { AnimatePresence } from "motion/react";
|
||||||
import { FC } from "react";
|
import { FC, useMemo } from "react";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import {
|
import {
|
||||||
defaultValuesOfB2b,
|
defaultValuesOfB2b,
|
||||||
formSchema,
|
createFormSchema,
|
||||||
FormType,
|
FormType,
|
||||||
} from "@/lib/get-b2b-form-details";
|
} from "@/lib/get-b2b-form-details";
|
||||||
import { Form } from "@/components/ui/form";
|
import { Form } from "@/components/ui/form";
|
||||||
import { FormSuccesStatus } from "../form-succes-status";
|
import { FormSuccesStatus } from "../form-succes-status";
|
||||||
import { Stage1, Stage2, Stage3 } from "../b2b";
|
import { Stage1, Stage2, Stage3 } from "../b2b";
|
||||||
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
stage: number;
|
stage: number;
|
||||||
|
|
@ -26,6 +27,8 @@ export const B2bForm: FC<Props> = ({
|
||||||
success,
|
success,
|
||||||
setSuccess,
|
setSuccess,
|
||||||
}) => {
|
}) => {
|
||||||
|
const lang = useLangStore((state) => state.lang);
|
||||||
|
const formSchema = useMemo(() => createFormSchema(lang), [lang]);
|
||||||
const form = useForm<FormType>({
|
const form = useForm<FormType>({
|
||||||
resolver: zodResolver(formSchema),
|
resolver: zodResolver(formSchema),
|
||||||
defaultValues: defaultValuesOfB2b,
|
defaultValues: defaultValuesOfB2b,
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ export const SubscribeForm: FC<Props> = ({ modal = false }) => {
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<h2 className="h2 !text-left">
|
<h2 className="h2 !text-left">
|
||||||
{useLang("Подпишитесь на новости:", "Subscribe to the news:")}
|
{useLang("Подпишитесь на новости:", "Subscribe to the news:", "Täzeliklere ýazylyşyň:")}
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
|
|
@ -81,8 +81,8 @@ export const SubscribeForm: FC<Props> = ({ modal = false }) => {
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
{success
|
{success
|
||||||
? useLang("Отправлено", "Submitted")
|
? useLang("Отправлено", "Submitted", "Ugradyldy")
|
||||||
: useLang("Подписаться", "Subscribe")}
|
: useLang("Подписаться", "Subscribe", "Ýazylmak")}
|
||||||
</Button>
|
</Button>
|
||||||
</Container>
|
</Container>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ export const HomeNews: FC = () => {
|
||||||
<section className={cn("md:mb-[120px] mb-20")}>
|
<section className={cn("md:mb-[120px] mb-20")}>
|
||||||
<Container>
|
<Container>
|
||||||
<h2 className="h2 text-center md:mb-8 mb-6">
|
<h2 className="h2 text-center md:mb-8 mb-6">
|
||||||
{lang === "en" ? "News" : "Новости"}
|
{{ ru: "Новости", en: "News", tm: "Täzelikler" }[lang]}
|
||||||
</h2>
|
</h2>
|
||||||
<div className="grid md:grid-cols-3 grid-cols-1 gap-6">
|
<div className="grid md:grid-cols-3 grid-cols-1 gap-6">
|
||||||
{data?.slice(0, 3).map((item) => (
|
{data?.slice(0, 3).map((item) => (
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { Link } from "react-router-dom";
|
||||||
import { Container } from "@/components/layout";
|
import { Container } from "@/components/layout";
|
||||||
import { ContactCard, Loader, TimeCard } from "../";
|
import { ContactCard, Loader, TimeCard } from "../";
|
||||||
import { useTranslate } from "@/hooks/use-translate";
|
import { useTranslate } from "@/hooks/use-translate";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { times } from "@/data/home/home-time.data";
|
import { times } from "@/data/home/home-time.data";
|
||||||
import { useExhibitionTime } from "@/hooks/tanstack/use-exhibition-time";
|
import { useExhibitionTime } from "@/hooks/tanstack/use-exhibition-time";
|
||||||
import { useHomeContacts } from "@/hooks/tanstack/use-home-contacts";
|
import { useHomeContacts } from "@/hooks/tanstack/use-home-contacts";
|
||||||
|
|
@ -44,7 +44,7 @@ export const HomeTime: FC<Props> = ({ className }) => {
|
||||||
|
|
||||||
<Link to="/stend-form" className="md:w-fit w-full mx-auto">
|
<Link to="/stend-form" className="md:w-fit w-full mx-auto">
|
||||||
<Button className="w-full">
|
<Button className="w-full">
|
||||||
{lang === Language.RU ? "Забронируйте стенд" : "Book a stand"}
|
{{ ru: "Забронируйте стенд", en: "Book a stand", tm: "Stend bronlaň" }[lang]}
|
||||||
</Button>
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ const Hero = () => {
|
||||||
else return value2;
|
else return value2;
|
||||||
};
|
};
|
||||||
|
|
||||||
const banners = {
|
const banners: Record<string, string[]> = {
|
||||||
en: [
|
en: [
|
||||||
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_eng1.jpg",
|
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_eng1.jpg",
|
||||||
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_eng2.jpg",
|
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_eng2.jpg",
|
||||||
|
|
@ -52,9 +52,13 @@ const Hero = () => {
|
||||||
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_ru1.jpg",
|
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_ru1.jpg",
|
||||||
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_ru2.jpg",
|
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_ru2.jpg",
|
||||||
],
|
],
|
||||||
|
tm: [
|
||||||
|
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_eng1.jpg",
|
||||||
|
"https://turkmentextile.turkmenexpo.com/app/storage/app/media/new2/web_eng2.jpg",
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
const getBanners = () => (lang === "ru" ? banners.ru : banners.en);
|
const getBanners = () => banners[lang] ?? banners.en;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className="">
|
<section className="">
|
||||||
|
|
@ -74,7 +78,9 @@ const Hero = () => {
|
||||||
) : (
|
) : (
|
||||||
<img src={t("impressions.banner")} />
|
<img src={t("impressions.banner")} />
|
||||||
)}
|
)}
|
||||||
<h1 className="absolute opacity-0 top-0 left-0">Модные показы</h1>
|
<h1 className="absolute opacity-0 top-0 left-0">
|
||||||
|
{{ ru: "Модные показы", en: "Fashion shows", tm: "Moda görkezişler" }[lang]}
|
||||||
|
</h1>
|
||||||
|
|
||||||
<div className="bg-[url('/impressions-bg.png')]">
|
<div className="bg-[url('/impressions-bg.png')]">
|
||||||
<Container className="md:py-20 py-10">
|
<Container className="md:py-20 py-10">
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,29 @@ export const langs = [
|
||||||
{
|
{
|
||||||
lang: Language.EN,
|
lang: Language.EN,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
lang: Language.TM,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const flagMap: Record<string, string> = {
|
||||||
|
[Language.RU]: "/ru.svg",
|
||||||
|
[Language.EN]: "/english.svg",
|
||||||
|
[Language.TM]: "/tm.svg",
|
||||||
|
};
|
||||||
|
|
||||||
|
const labelMap: Record<string, string> = {
|
||||||
|
[Language.RU]: "Ру",
|
||||||
|
[Language.EN]: "En",
|
||||||
|
[Language.TM]: "Tm",
|
||||||
|
};
|
||||||
|
|
||||||
|
const nameMap: Record<string, string> = {
|
||||||
|
[Language.RU]: "Русский",
|
||||||
|
[Language.EN]: "English",
|
||||||
|
[Language.TM]: "Türkmen",
|
||||||
|
};
|
||||||
|
|
||||||
export const LangMenu: FC<Props> = ({ className, light = false }) => {
|
export const LangMenu: FC<Props> = ({ className, light = false }) => {
|
||||||
const lang = useLangStore((state) => state.lang);
|
const lang = useLangStore((state) => state.lang);
|
||||||
const setLang = useLangStore((state) => state.setLang);
|
const setLang = useLangStore((state) => state.setLang);
|
||||||
|
|
@ -32,8 +53,8 @@ export const LangMenu: FC<Props> = ({ className, light = false }) => {
|
||||||
className
|
className
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<img src={lang === Language.RU ? "/ru.svg" : "/english.svg"} alt="" />
|
<img src={flagMap[lang]} alt="" />
|
||||||
{lang === Language.RU ? "Ру" : "En"}
|
{labelMap[lang]}
|
||||||
<svg
|
<svg
|
||||||
width="20"
|
width="20"
|
||||||
height="20"
|
height="20"
|
||||||
|
|
@ -63,10 +84,10 @@ export const LangMenu: FC<Props> = ({ className, light = false }) => {
|
||||||
className="flex gap-3 py-2 items-center cursor-pointer"
|
className="flex gap-3 py-2 items-center cursor-pointer"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src={item.lang === Language.RU ? "/ru.svg" : "/english.svg"}
|
src={flagMap[item.lang]}
|
||||||
alt="flag"
|
alt="flag"
|
||||||
/>
|
/>
|
||||||
<h5>{item.lang === Language.RU ? "Русский" : "English"}</h5>
|
<h5>{nameMap[item.lang]}</h5>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</PopoverContent>
|
</PopoverContent>
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ export const ParticipantItem: FC<Props> = ({
|
||||||
<div className="flex items-center w-full">
|
<div className="flex items-center w-full">
|
||||||
<div className="flex items-center flex-[0_0_80%] gap-3">
|
<div className="flex items-center flex-[0_0_80%] gap-3">
|
||||||
<h3 className="text-xs normal flex-[0_0_90px]">
|
<h3 className="text-xs normal flex-[0_0_90px]">
|
||||||
{lang === "ru" ? "Название" : "Company"}:
|
{{ ru: "Название", en: "Company", tm: "Kompaniýa" }[lang]}:
|
||||||
</h3>
|
</h3>
|
||||||
<h4 className="text-xs flex-[0_0_70%]">{name}</h4>
|
<h4 className="text-xs flex-[0_0_70%]">{name}</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -53,7 +53,7 @@ export const ParticipantItem: FC<Props> = ({
|
||||||
<div className="flex items-center w-full">
|
<div className="flex items-center w-full">
|
||||||
<div className="flex items-center flex-[0_0_80%] gap-3">
|
<div className="flex items-center flex-[0_0_80%] gap-3">
|
||||||
<h3 className="text-xs normal flex-[0_0_90px]">
|
<h3 className="text-xs normal flex-[0_0_90px]">
|
||||||
{lang === "ru" ? "Страна" : "Country"}:
|
{{ ru: "Страна", en: "Country", tm: "Ýurt" }[lang]}:
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div className="flex items-center flex-[0_0_50%] gap-2">
|
<div className="flex items-center flex-[0_0_50%] gap-2">
|
||||||
|
|
@ -71,7 +71,7 @@ export const ParticipantItem: FC<Props> = ({
|
||||||
<div className="flex items-center ">
|
<div className="flex items-center ">
|
||||||
<div className="flex items-center flex-[0_0_80%] gap-3">
|
<div className="flex items-center flex-[0_0_80%] gap-3">
|
||||||
<h3 className="text-xs normal flex-[0_0_90px]">
|
<h3 className="text-xs normal flex-[0_0_90px]">
|
||||||
{lang === "ru" ? "Сфера" : "Industry"}:
|
{{ ru: "Сфера", en: "Industry", tm: "Pudak" }[lang]}:
|
||||||
</h3>
|
</h3>
|
||||||
<h4 className="text-xs flex-1">{about}</h4>
|
<h4 className="text-xs flex-1">{about}</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -5,21 +5,24 @@ import { useMediaQuery } from "usehooks-ts";
|
||||||
import { useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
const tabs = [
|
const tabs = [
|
||||||
{ id: 0, title: "Все компании", titleEn: "All companies" },
|
{ id: 0, title: "Все компании", titleEn: "All companies", titleTm: "Ähli kompaniýalar" },
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
title: "Государственные учреждения ",
|
title: "Государственные учреждения ",
|
||||||
titleEn: "Government Institutions",
|
titleEn: "Government Institutions",
|
||||||
|
titleTm: "Döwlet edaralary",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
title: "Местные компании",
|
title: "Местные компании",
|
||||||
titleEn: "Local companies",
|
titleEn: "Local companies",
|
||||||
|
titleTm: "Ýerli kompaniýalar",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
title: "Иностранные компании",
|
title: "Иностранные компании",
|
||||||
titleEn: "Foreign companies",
|
titleEn: "Foreign companies",
|
||||||
|
titleTm: "Daşary ýurt kompaniýalary",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -126,7 +129,7 @@ export const Tabs: FC<Props> = ({
|
||||||
)}
|
)}
|
||||||
onClick={() => handleTabClick(index)}
|
onClick={() => handleTabClick(index)}
|
||||||
>
|
>
|
||||||
{lang === "ru" ? tab.title : tab.titleEn}
|
{lang === "ru" ? tab.title : lang === "tm" ? tab.titleTm ?? tab.titleEn : tab.titleEn}
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -147,7 +150,7 @@ export const Tabs: FC<Props> = ({
|
||||||
)}
|
)}
|
||||||
onClick={() => handleTabClick(index)}
|
onClick={() => handleTabClick(index)}
|
||||||
>
|
>
|
||||||
{lang === "ru" ? tab.title : tab.titleEn}
|
{lang === "ru" ? tab.title : lang === "tm" ? tab.titleTm ?? tab.titleEn : tab.titleEn}
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,15 @@ export const aboutBron = [
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "Invitation to Participate",
|
title: "Invitation to Participate",
|
||||||
p: `Ministry of Textile Industry of Turkmenistan invites the global business community to join this unique event, which will be a significant step toward strengthening Turkmenistan’s position on the global economic stage`,
|
p: `Ministry of Textile Industry of Turkmenistan invites the global business community to join this unique event, which will be a significant step toward strengthening Turkmenistan's position on the global economic stage`,
|
||||||
button1: "Book a stand",
|
button1: "Book a stand",
|
||||||
button2: "B2B | B2G meetings",
|
button2: "B2B | B2G meetings",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "Gatnaşmaga çakylyk",
|
||||||
|
p: `Türkmenistanyň dokma senagaty Ministrligi Türkmenistanyň halkara ykdysady arenada orunlaryny berkitmekde wajyp ädim boljak bu uly waka gatnaşmaga bütin dünýäniň biznes-bileleşiklerini çagyrýar.`,
|
||||||
|
button1: "Stend bronlamak",
|
||||||
|
button2: "B2B | B2G duşuşyklar",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -66,4 +66,38 @@ export const aboutInfo = [
|
||||||
`Contribution to industry development — support for innovations, sustainable practices, and cultural heritage.`,
|
`Contribution to industry development — support for innovations, sustainable practices, and cultural heritage.`,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "«TurkmenTextile Expo-2025» sergi-ýarmarkasy",
|
||||||
|
p: [
|
||||||
|
`Pudagyň dünýä liderlerini, innowasion önümçileri we döredijilikli dizaýnerleri birleşdirjek halkara sergi-ýarmarka. Ol dokma we moda pudagynda işiňizi ösdürmek üçin özboluşly platformadyr.`,
|
||||||
|
`Bu serginiň maksady – Türkmenistany halkara dokma we moda senagatynda esasy merkez hökmünde görkezmek, ýurduň baý dokma mirasyny tanyşdyrmak, pudaga innowasiýalary ornaşdyrmaga ýardam etmek we halkara hyzmatdaşlygy berkitmek.`,
|
||||||
|
`Siz bu ýerde pudagyň öňdebaryjy oýunçylary bilen gatnaşyk gurup bilersiňiz, öz önümleriňizi ýa-da hyzmatlaryňyzy görkezip bilersiňiz, bazardaky soňky tendensiýalar bilen tanyşarsyňyz, şeýle hem täze hyzmatdaşlary we müşderileri taparsyňyz.`,
|
||||||
|
],
|
||||||
|
|
||||||
|
title_2: "Siz näme üçin barmaly?",
|
||||||
|
subtitle_2:
|
||||||
|
"TurkmenTextile Expo-2025 gatnaşyjylar üçin giň perspektiwalary açýar:",
|
||||||
|
|
||||||
|
p_2: [
|
||||||
|
`Türkmenistanyň dokma pudagynyň ýolbaşçylary bilen işewür duşuşyklar.`,
|
||||||
|
`Eksport ugurlaryny ösdürmek üçin Türkmenistanyň dokma senagatynyň kärhanalary we fabrikleri bilen işewür gatnaşyklary ýola goýmak mümkinçilikleri.`,
|
||||||
|
`Işewür gatnaşyklary giňeltmek – B2B we B2G duşuşyklary, söwda ylalaşyklaryny baglaşmak we strategiki hyzmatdaşlygy ýola goýmak üçin uly mümkinçilik.`,
|
||||||
|
`Öwrenmek we ösmek – öňdebaryjy dünýä ekspertleriniň master-klaslary we leksiýalary gatnaşyjylara bilimlerini çuňlaşdyrmaga we dokma senagatynda täze çemeleşmeleri özleşdirmäge kömek eder.`,
|
||||||
|
`Medeni alyş-çalyş – Türkmenistanyň baý dokma mirasynyň mümkinçiliklerini görkezmek we başga ýurtlaryň baý dokma mirasyndan ruhlanmak mümkinçiligi.`,
|
||||||
|
],
|
||||||
|
|
||||||
|
title_3: "Hyzmatdaşlyk we hemaýatkärlik",
|
||||||
|
subtitle_3: `
|
||||||
|
TurkmenTextile Expo-2025 halkara guramalaryny, assosiasiýalary we brendleri öz önümlerini we hyzmatlaryny öňe sürmek üçin hyzmatdaşlyga çagyrýar.
|
||||||
|
`,
|
||||||
|
subtitle_4: "Hyzmatdaşlar şulary alarlar:",
|
||||||
|
|
||||||
|
p_3: [
|
||||||
|
`Halkara arenasynda ykrar edilmek – dokma we moda industriýasynyň belli oýunçylaryny özüne çekýän uly waka gatnaşmak.`,
|
||||||
|
`Reklama mümkinçilikleri – brendiň serginiň marketing kampaniýasyna integrasiýasy, şol sanda dijital we oflaýn-kanallar.`,
|
||||||
|
`Auditoriýa göni rugsat – öndürijiler, dizaýnerler, enjamlary üpjün edijiler bilen bilelikdäki hereket.`,
|
||||||
|
`Senagatyň ösüşine goşant – innowasiýalaryň, durnukly praktikalaryň we medeni mirasyň goldawy.`,
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,13 @@ export const aboutPlace = [
|
||||||
`The centre is equipped with cutting-edge technical solutions, including multimedia equipment, sound and lighting systems, conference rooms with simultaneous translation, and comfortable areas for negotiations. Spacious exhibition pavilions provide ideal conditions for showcasing products and services.`,
|
`The centre is equipped with cutting-edge technical solutions, including multimedia equipment, sound and lighting systems, conference rooms with simultaneous translation, and comfortable areas for negotiations. Spacious exhibition pavilions provide ideal conditions for showcasing products and services.`,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "Geçirilýän ýeri",
|
||||||
|
|
||||||
|
data: [
|
||||||
|
`Türkmenistanyň Söwda-senagat edarasynyň Sergi merkezi – bu halkara sergileri, konferensiýalary, forumlary we işewür duşuşyklary geçirmek üçin häzirkizaman meýdançasydyr.`,
|
||||||
|
`Merkez öňdebaryjy tehniki çözgütler, şol sanda multimedia enjamlary, sesgüýçlendiriji we yşyklandyryjy sistemalar, sinhron terjimeli konferens-zallary, şeýle hem gepleşikler üçin oňaýly zonalar bilen abzallaşdyrylandyr. Giň sergi pawilýonlary önümleri görkezmek we hyzmatlar üçin rahat şertleri üpjün edýärler.`,
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -2,60 +2,42 @@ export const b2bStage1 = [
|
||||||
{
|
{
|
||||||
h2: "Информация об экспоненте:",
|
h2: "Информация об экспоненте:",
|
||||||
data: [
|
data: [
|
||||||
{
|
{ label: "Название компании/организации" },
|
||||||
label: "Название компании/организации",
|
{ label: "Имя представителя" },
|
||||||
},
|
{ label: "Название должности/позиция" },
|
||||||
{
|
{ label: "Количество участников" },
|
||||||
label: "Имя представителя",
|
{ label: "Страна" },
|
||||||
},
|
{ label: "Email адрес" },
|
||||||
{
|
{ label: "Номер телефона" },
|
||||||
label: "Название должности/позиция",
|
{ label: "Веб-сайт" },
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Количество участников",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Страна",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Email адрес",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Номер телефона",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Веб-сайт",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
h2: "Applicant Information:",
|
h2: "Applicant Information:",
|
||||||
data: [
|
data: [
|
||||||
{
|
{ label: "Company/Organization Name" },
|
||||||
label: "Company/Organization Name",
|
{ label: "Name of Representative" },
|
||||||
},
|
{ label: "Job title/Position" },
|
||||||
{
|
{ label: "Number of the participants" },
|
||||||
label: "Name of Representative",
|
{ label: "Country" },
|
||||||
},
|
{ label: "Email" },
|
||||||
{
|
{ label: "Phone number" },
|
||||||
label: "Job title/Position",
|
{ label: "Website" },
|
||||||
},
|
],
|
||||||
{
|
},
|
||||||
label: "Number of the participants",
|
|
||||||
},
|
{
|
||||||
{
|
h2: "Eksponent barada maglumat:",
|
||||||
label: "Country",
|
data: [
|
||||||
},
|
{ label: "Kompaniýanyň/guramanyň ady" },
|
||||||
{
|
{ label: "Wekiliniň ady" },
|
||||||
label: "Email",
|
{ label: "Wezipesi" },
|
||||||
},
|
{ label: "Gatnaşyjylaryň sany" },
|
||||||
{
|
{ label: "Ýurt" },
|
||||||
label: "Phone number",
|
{ label: "Email salgysy" },
|
||||||
},
|
{ label: "Telefon belgisi" },
|
||||||
{
|
{ label: "Web-saýt" },
|
||||||
label: "Website",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
@ -63,57 +45,40 @@ export const b2bStage1 = [
|
||||||
export const b2bStage2 = [
|
export const b2bStage2 = [
|
||||||
{
|
{
|
||||||
h2: "Цели встречи:",
|
h2: "Цели встречи:",
|
||||||
|
|
||||||
secondH2: "Информация о компании/организации:",
|
secondH2: "Информация о компании/организации:",
|
||||||
|
|
||||||
data: [
|
data: [
|
||||||
{
|
{ label: "Основная цель встречи" },
|
||||||
label: "Основная цель встречи",
|
{ label: "Краткое описание вашего предложения/проекта/запроса" },
|
||||||
},
|
{ label: "Соответствующее государственное учреждение/департамент" },
|
||||||
{
|
{ label: "Отраслевая промышленность" },
|
||||||
label: "Краткое описание вашего предложения/проекта/запроса",
|
{ label: "Ключевые услуги/продукты" },
|
||||||
},
|
{ label: "Предыдущий опыт работы с правительствами (если применимо)" },
|
||||||
{
|
|
||||||
label: "Соответствующее государственное учреждение/департамент",
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
label: "Отраслевая промышленность",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Ключевые услуги/продукты",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Предыдущий опыт работы с правительствами (если применимо)",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
h2: "Meeting Purpose: ",
|
h2: "Meeting Purpose: ",
|
||||||
|
|
||||||
secondH2: "Company/Organization Profile:",
|
secondH2: "Company/Organization Profile:",
|
||||||
|
|
||||||
data: [
|
data: [
|
||||||
{
|
{ label: "Primary objective of the meeting" },
|
||||||
label: "Primary objective of the meeting",
|
{ label: "Brief description of your proposal/project/request" },
|
||||||
},
|
{ label: "Relevant government agency/department" },
|
||||||
{
|
{ label: "Sector Industry " },
|
||||||
label: "Brief description of your proposal/project/request",
|
{ label: "Key Services/Products" },
|
||||||
},
|
{ label: "Previous Experience working with Governments (if applicable)" },
|
||||||
{
|
],
|
||||||
label: "Relevant government agency/department",
|
},
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
label: "Sector Industry ",
|
h2: "Duşuşygyň maksady:",
|
||||||
},
|
secondH2: "Kompaniýa/gurama barada maglumat:",
|
||||||
{
|
data: [
|
||||||
label: "Key Services/Products",
|
{ label: "Duşuşygyň esasy maksady" },
|
||||||
},
|
{ label: "Teklibiňiziň/taslamaňyzyň/islegiňiziň gysgaça beýany" },
|
||||||
{
|
{ label: "Degişli döwlet edarasy/bölümi" },
|
||||||
label: "Previous Experience working with Governments (if applicable)",
|
{ label: "Pudak senagaty" },
|
||||||
},
|
{ label: "Esasy hyzmatlar/önümler" },
|
||||||
|
{ label: "Hökümetler bilen ozalky iş tejribesi (eger bar bolsa)" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
@ -159,31 +124,33 @@ export const b2bStage3 = [
|
||||||
subtitle: "(Please attach the following documents as applicable)",
|
subtitle: "(Please attach the following documents as applicable)",
|
||||||
|
|
||||||
data: [
|
data: [
|
||||||
{
|
{ label: "Preferred date and time for the meeting" },
|
||||||
label: "Preferred date and time for the meeting",
|
{ label: "Preferred mode of meeting (in-person, virtual (via zoom/teams/other), hybrid)" },
|
||||||
},
|
{ label: "Language preference (English, turkmen, Russian, other)" },
|
||||||
{
|
{ label: "Additional technical or logistical requirements (e.g. AV equipment, interpreters, etc)" },
|
||||||
label:
|
{ label: "Company/organization profile" },
|
||||||
"Preferred mode of meeting (in-person, virtual (via zoom/teams/other), hybrid)",
|
{ label: "Proposal presentation" },
|
||||||
},
|
{ label: "Relevant certification/licenses" },
|
||||||
{
|
|
||||||
label: "Language preference (English, turkmen, Russian, other)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label:
|
|
||||||
"Additional technical or logistical requirements (e.g. AV equipment, interpreters, etc)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Company/organization profile",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Proposal presentation",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Relevant certification/licenses",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
|
|
||||||
button: "Send",
|
button: "Send",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
h2: "Duşuşygyň logistikasy:",
|
||||||
|
secondH2: "Goşmaçalar",
|
||||||
|
subtitle: "(Zerur bolsa aşakdaky resminamalary goşuň)",
|
||||||
|
|
||||||
|
data: [
|
||||||
|
{ label: "Duşuşyk üçin islenýän sene we wagt" },
|
||||||
|
{ label: "Duşuşygyň islenýän görnüşi (ýüzbe-ýüz, wirtual (zoom/teams/başga), gibrid)" },
|
||||||
|
{ label: "Dil saýlamasy (iňlis, türkmen, rus, başga)" },
|
||||||
|
{ label: "Goşmaça tehniki ýa-da logistik talaplar (meselem, AW enjamlar, terjimeçiler we ş.m.)" },
|
||||||
|
{ label: "Kompaniýanyň/guramanyň profili" },
|
||||||
|
{ label: "Teklip/prezentasiýa" },
|
||||||
|
{ label: "Degişli şahadatnama/ygtyýarnama" },
|
||||||
|
],
|
||||||
|
|
||||||
|
button: "Ugratmak",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -38,4 +38,24 @@ export const contacts = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
title: "contact@turkmenexpo.com",
|
||||||
|
subtitle: "Elektron poçtanyň salgysy",
|
||||||
|
img: "/contacts/home/mail.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Türkmenistanyň SSE-nyň binasy",
|
||||||
|
subtitle: "Serginiň salgysy",
|
||||||
|
img: "/contacts/home/location.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "+99371871812; 99363719588",
|
||||||
|
subtitle: "Habarlaşmak üçin belgiler",
|
||||||
|
img: "/contacts/home/mobile.svg",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -166,4 +166,81 @@ export const navData = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
title: "Ýol görkeziji",
|
||||||
|
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_eng.pdf",
|
||||||
|
blank: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Täzelikler",
|
||||||
|
dropDown: true,
|
||||||
|
|
||||||
|
dropDownContent: [
|
||||||
|
{ text: "Täzelikler", link: "" },
|
||||||
|
{ text: "Täzeliklere ýazylmak", modal: true },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Aragatnaşyk",
|
||||||
|
link: "/contacts",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Sergi hakynda",
|
||||||
|
dropDown: true,
|
||||||
|
|
||||||
|
dropDownContent: [
|
||||||
|
{
|
||||||
|
text: "Sergi hakynda",
|
||||||
|
link: "/about",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "Media",
|
||||||
|
link: "",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Gelýänlere",
|
||||||
|
dropDown: true,
|
||||||
|
dropDownContent: [
|
||||||
|
{
|
||||||
|
text: "Gatnaşanyňa näme üçin degýär?",
|
||||||
|
link: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "Gatnasyjylaryň sanawy",
|
||||||
|
link: "",
|
||||||
|
blank: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "Ýol görkeziji",
|
||||||
|
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_eng.pdf",
|
||||||
|
blank: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Gatnasyjylara",
|
||||||
|
|
||||||
|
dropDown: true,
|
||||||
|
dropDownContent: [
|
||||||
|
{
|
||||||
|
text: "Stend bronlamak",
|
||||||
|
link: "/stend-form",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "Näme sebäpli gatnaşanyňa degýär?",
|
||||||
|
link: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "Tematiki bölümler",
|
||||||
|
link: "",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -58,4 +58,33 @@ export const homeAbout = [
|
||||||
button: "Report",
|
button: "Report",
|
||||||
button2: "Catalog",
|
button2: "Catalog",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
h2: "Aşgabatda «TurkmenTextile Expo-2025» sergi-ýarmarkasy",
|
||||||
|
p: `Pudagyň dünýä liderlerini, innowasion önümçileri we döredijilikli dizaýnerleri birleşdirjek halkara sergi-ýarmarka.
|
||||||
|
Biziň maksadymyz – Türkmenistany dokma we moda senagatynyň esasy merkezi hökmünde berkitmek.
|
||||||
|
`,
|
||||||
|
p_2: `Sergi durnukly praktikalary, häzirkizaman tilsimatlary we dizaýn çözgütlerini öwrenmek üçin platforma bolar.
|
||||||
|
«TurkmenTextile Expo-2025» – bu däp-dessurlary we innowasiýalary, önüm öndürijileri we sarp edijileri, Türkmenistany we dünýäni birleşdirýän platformadyr!`,
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
nums: "10,000 m²",
|
||||||
|
text: "Sergi meýdanyňky",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: "10000+",
|
||||||
|
text: "Geljek adamlaryň garaşylýan sany",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: "100+",
|
||||||
|
text: "30 ýurtdan gowurak eksponentler",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: "80%",
|
||||||
|
text: "Top-menejmentden gatnaşyjylar",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
button: "Hasabat",
|
||||||
|
button2: "Katalog",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -46,4 +46,27 @@ export const btns = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
lang: Language.TM,
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
title: "Serginiň meýilnamasy",
|
||||||
|
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Floor%20plan/floor%20plan.pdf",
|
||||||
|
blank: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Stend bronlamak",
|
||||||
|
link: "/stend-form",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Gatnasyjylaryň sanawy",
|
||||||
|
link: "/participants",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "B2B | B2G duşuşyklar",
|
||||||
|
link: "/B2B-B2G",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,30 @@ export const offersData = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: "/offer-2.png",
|
img: "/offer-2.png",
|
||||||
title: "Explore “TurkmenTextile Expo-2025” plan;",
|
title: "Explore \u201CTurkmenTextile Expo-2025\u201D plan;",
|
||||||
btnText: "Download exhibition plan.",
|
btnText: "Download exhibition plan.",
|
||||||
text: `How to choose the best location at the exhibition? A prime spot increases your chances to attract potential clients;`,
|
text: `How to choose the best location at the exhibition? A prime spot increases your chances to attract potential clients;`,
|
||||||
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Floor%20plan/floor%20plan.pdf",
|
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Floor%20plan/floor%20plan.pdf",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
img: "/offer-1.png",
|
||||||
|
title: "Myhmanhanalar, transfer, wizalar",
|
||||||
|
btnText: "Ýol görkezijini ýüklemek",
|
||||||
|
text: "Myhmanhanalara ýerleşmek, wiza goldawy, ulag we ekskursiýa meseleleri boýunça Siz ýol görkezijiden tanyşyp bilersiňiz",
|
||||||
|
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_eng.pdf",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
img: "/offer-2.png",
|
||||||
|
title: "TurkmenTextile Expo 2026 serginiň meýilnamasy bilen tanyşmak",
|
||||||
|
btnText: "Serginiň meýilnamasyny ýüklemeli",
|
||||||
|
text: `Sergide oňat ýeri nädip saýlamaly? Sergi ekspozisiýasyny şowly ýerleşdirmegiň Siziň potensial müşderileriňizi çekmek boýunça mümkinçilikleriňizi has-da artdyrýandygyny Siz hemişe ýatda saklamalysyňyz.`,
|
||||||
|
link: "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Floor%20plan/floor%20plan.pdf",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -80,4 +80,45 @@ export const homeTheme = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "Serginiň tematiki ugurlary",
|
||||||
|
bottom_text: `
|
||||||
|
Gatnaşyjylar innowasion çözgütleri görkezip, özara peýdaly hyzmatdaşlyklary ýola goýup we täze bazarlara çykyp bilerler.`,
|
||||||
|
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
title: "Dokma maşynlary we enjamlary",
|
||||||
|
img: "/theme/1.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Eşik, aýakgap, deri önümleri",
|
||||||
|
img: "/theme/2.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Tebigy süýümleri gaýtadan işlemek",
|
||||||
|
img: "/theme/3.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Öý dokmasy we eko-dokma",
|
||||||
|
img: "/theme/4.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Ätiýaçlyk şaýlar we kömekçi materiallar",
|
||||||
|
img: "/theme/5.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Himiki serişdeler we boýaglar",
|
||||||
|
img: "/theme/6.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Aksessuarlar we tikin furniturasy",
|
||||||
|
img: "/theme/7.svg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Moda we bezeg (dizaýn)",
|
||||||
|
img: "/theme/8.svg",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -34,4 +34,22 @@ export const times = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: "Serginiň wagty",
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
name: "Sergini gurnamaklyk",
|
||||||
|
date: "2026-njy ýylyň 30 Maýy – 3 iýuny",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Işi",
|
||||||
|
date: "4-6 iýun 2026-njy ýyl",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Sökmek",
|
||||||
|
date: "7 iýun 2026 ýyl",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -44,4 +44,27 @@ export const stendData = [
|
||||||
|
|
||||||
button: "Send",
|
button: "Send",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
cover: "Stend bronlamak",
|
||||||
|
h2: "Wariantlaryň birini saýlaň:",
|
||||||
|
|
||||||
|
radio: "Enjamlaşdyrylmadyk meýdan",
|
||||||
|
radio_2: "Enjamlaşdyrylan meýdan",
|
||||||
|
|
||||||
|
label_1: "Kompaniýanyň/guramanyň ady",
|
||||||
|
label_2: "Wekiliniň ady",
|
||||||
|
label_3: "Wezipesi",
|
||||||
|
number_of_participants: "Gatnaşyjylaryň sany",
|
||||||
|
label_4: "Ýurt",
|
||||||
|
label_5: "Email salgysy",
|
||||||
|
label_6: "Telefon belgisi",
|
||||||
|
label_7: "Web-saýt",
|
||||||
|
|
||||||
|
visa: "Wiza goldawy:",
|
||||||
|
visa_radio: "Hawa",
|
||||||
|
visa_radio_2: "Ýok",
|
||||||
|
|
||||||
|
button: "Ugratmak",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { getNews } from "@/services/service";
|
import { getNews } from "@/services/service";
|
||||||
import { useQuery } from "@tanstack/react-query";
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
|
||||||
export const useNews = (lang: "ru" | "en") => {
|
export const useNews = (lang: "ru" | "en" | "tm") => {
|
||||||
const { data, isPending } = useQuery({
|
const { data, isPending } = useQuery({
|
||||||
queryKey: ["news", lang],
|
queryKey: ["news", lang],
|
||||||
queryFn: () => getNews(lang),
|
queryFn: () => getNews(lang),
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
import { useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
export const useLang = (data: string, data_2: string) => {
|
export const useLang = (data: string, data_2: string, data_3?: string) => {
|
||||||
const lang = useLangStore((state) => state.lang);
|
const lang = useLangStore((state) => state.lang);
|
||||||
if (lang === "ru") return data;
|
if (lang === "ru") return data;
|
||||||
else return data_2;
|
if (lang === "tm") return data_3 ?? data_2;
|
||||||
|
return data_2;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
import { Language } from "@/store/lang";
|
import { Language } from "@/store/lang";
|
||||||
|
|
||||||
export const useTranslate = (lang: "en" | "ru"): number => {
|
export const useTranslate = (lang: "en" | "ru" | "tm"): number => {
|
||||||
return lang === Language.RU ? 0 : 1;
|
if (lang === Language.RU) return 0;
|
||||||
|
if (lang === Language.TM) return 2;
|
||||||
|
return 1;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
15
src/i18n.ts
15
src/i18n.ts
|
|
@ -19,6 +19,13 @@ import mainRu from "./locales/ru/main.json";
|
||||||
import contactsEn from "./locales/en/contacts.json";
|
import contactsEn from "./locales/en/contacts.json";
|
||||||
import contactsRu from "./locales/ru/contacts.json";
|
import contactsRu from "./locales/ru/contacts.json";
|
||||||
|
|
||||||
|
import headerTm from "./locales/tm/header.json";
|
||||||
|
import navTm from "./locales/tm/nav.json";
|
||||||
|
import homeTm from "./locales/tm/home.json";
|
||||||
|
import aboutTm from "./locales/tm/about.json";
|
||||||
|
import mainTm from "./locales/tm/main.json";
|
||||||
|
import contactsTm from "./locales/tm/contacts.json";
|
||||||
|
|
||||||
import { useLangStore } from "./store/lang";
|
import { useLangStore } from "./store/lang";
|
||||||
|
|
||||||
const initialLanguage = useLangStore.getState().lang;
|
const initialLanguage = useLangStore.getState().lang;
|
||||||
|
|
@ -41,6 +48,14 @@ i18n.use(initReactI18next).init({
|
||||||
contacts: contactsRu,
|
contacts: contactsRu,
|
||||||
main: mainRu,
|
main: mainRu,
|
||||||
},
|
},
|
||||||
|
tm: {
|
||||||
|
nav: navTm,
|
||||||
|
header: headerTm,
|
||||||
|
home: homeTm,
|
||||||
|
about: aboutTm,
|
||||||
|
contacts: contactsTm,
|
||||||
|
main: mainTm,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
lng: initialLanguage, // Язык по умолчанию
|
lng: initialLanguage, // Язык по умолчанию
|
||||||
fallbackLng: "en",
|
fallbackLng: "en",
|
||||||
|
|
|
||||||
|
|
@ -2,85 +2,173 @@ import { z } from "zod";
|
||||||
|
|
||||||
export const MAX_FILE_SIZE = 2 * 1024 * 1024; // 2 МБ
|
export const MAX_FILE_SIZE = 2 * 1024 * 1024; // 2 МБ
|
||||||
|
|
||||||
export const formSchema = z.object({
|
const msg = (ru: string, en: string, tm: string, lang: string) =>
|
||||||
type: z.string(),
|
lang === "ru" ? ru : lang === "tm" ? tm : en;
|
||||||
company_name: z
|
|
||||||
.string()
|
|
||||||
.min(3, { message: "Название компании должно быть не менее 3 символов" }),
|
|
||||||
representative_name: z
|
|
||||||
.string()
|
|
||||||
.min(3, { message: "Имя представителя должно быть не менее 3 символов" }),
|
|
||||||
job_title: z
|
|
||||||
.string()
|
|
||||||
.min(3, { message: "Должность должна быть не менее 3 символов" }),
|
|
||||||
participants_number: z
|
|
||||||
.string()
|
|
||||||
.min(1, { message: "Укажите количество участников" }),
|
|
||||||
country: z
|
|
||||||
.string()
|
|
||||||
.min(3, { message: "Название страны должно быть не менее 3 символов" }),
|
|
||||||
email_address: z.string().email({ message: "Укажите корректный email" }),
|
|
||||||
phone_number: z
|
|
||||||
.string()
|
|
||||||
.min(8, { message: "Номер телефона должен быть не менее 8 символов" }),
|
|
||||||
website: z.string().optional(),
|
|
||||||
|
|
||||||
meeting_objective: z.string().min(3, { message: "Укажите цель встречи" }),
|
export const createFormSchema = (lang: string) =>
|
||||||
proposal_description: z.string().optional(),
|
z.object({
|
||||||
government_agency: z.string().optional(),
|
type: z.string(),
|
||||||
sector_industry: z.string().optional(),
|
company_name: z
|
||||||
key_services: z.string().optional(),
|
.string()
|
||||||
government_experience: z.string().optional(),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Название компании должно быть не менее 3 символов",
|
||||||
|
"Company name must be at least 3 characters",
|
||||||
|
"Kompaniýanyň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
representative_name: z
|
||||||
|
.string()
|
||||||
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Имя представителя должно быть не менее 3 символов",
|
||||||
|
"Representative name must be at least 3 characters",
|
||||||
|
"Wekiliniň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
job_title: z
|
||||||
|
.string()
|
||||||
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Должность должна быть не менее 3 символов",
|
||||||
|
"Job title must be at least 3 characters",
|
||||||
|
"Wezipesi azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
participants_number: z
|
||||||
|
.string()
|
||||||
|
.min(1, {
|
||||||
|
message: msg(
|
||||||
|
"Укажите количество участников",
|
||||||
|
"Specify the number of participants",
|
||||||
|
"Gatnaşyjylaryň sanyny görkeziň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
country: z
|
||||||
|
.string()
|
||||||
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Название страны должно быть не менее 3 символов",
|
||||||
|
"Country must be at least 3 characters",
|
||||||
|
"Ýurduň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
email_address: z.string().email({
|
||||||
|
message: msg(
|
||||||
|
"Укажите корректный email",
|
||||||
|
"Enter a valid email",
|
||||||
|
"Dogry email salgysyny giriziň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
phone_number: z
|
||||||
|
.string()
|
||||||
|
.min(8, {
|
||||||
|
message: msg(
|
||||||
|
"Номер телефона должен быть не менее 8 символов",
|
||||||
|
"Phone number must be at least 8 characters",
|
||||||
|
"Telefon belgisi azyndan 8 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
website: z.string().optional(),
|
||||||
|
|
||||||
preferred_meeting_datetime: z.string().optional(),
|
meeting_objective: z.string().min(3, {
|
||||||
meeting_mode: z.string().optional(),
|
message: msg(
|
||||||
language_preference: z.string().optional(),
|
"Укажите цель встречи",
|
||||||
technical_requirements: z.string().optional(),
|
"Specify the meeting objective",
|
||||||
company_profile: z
|
"Duşuşygyň maksadyny görkeziň",
|
||||||
.custom<File>((value) => value instanceof File, {
|
lang
|
||||||
message: "Выберите корректный файл",
|
),
|
||||||
})
|
}),
|
||||||
.refine(
|
proposal_description: z.string().optional(),
|
||||||
(file) =>
|
government_agency: z.string().optional(),
|
||||||
file &&
|
sector_industry: z.string().optional(),
|
||||||
["image/jpeg", "image/png", "application/pdf"].includes(file.type),
|
key_services: z.string().optional(),
|
||||||
{
|
government_experience: z.string().optional(),
|
||||||
message: "Допускаются только файлы JPG, PNG и PDF",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.optional(),
|
|
||||||
proposal_presentation: z
|
|
||||||
.custom<File>((value) => value instanceof File, {
|
|
||||||
message: "Выберите корректный файл",
|
|
||||||
})
|
|
||||||
.refine(
|
|
||||||
(file) =>
|
|
||||||
file &&
|
|
||||||
["image/jpeg", "image/png", "application/pdf"].includes(file.type),
|
|
||||||
{
|
|
||||||
message: "Допускаются только файлы JPG, PNG и PDF",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.optional(),
|
|
||||||
relevant_certification: z
|
|
||||||
.custom<File>((value) => value instanceof File, {
|
|
||||||
message: "Выберите корректный файл",
|
|
||||||
})
|
|
||||||
.refine(
|
|
||||||
(file) =>
|
|
||||||
file &&
|
|
||||||
["image/jpeg", "image/png", "application/pdf"].includes(file.type),
|
|
||||||
{
|
|
||||||
message: "Допускаются только файлы JPG, PNG и PDF",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.optional(),
|
|
||||||
});
|
|
||||||
|
|
||||||
// Тип для формы
|
preferred_meeting_datetime: z.string().optional(),
|
||||||
export type FormType = z.infer<typeof formSchema>;
|
meeting_mode: z.string().optional(),
|
||||||
|
language_preference: z.string().optional(),
|
||||||
|
technical_requirements: z.string().optional(),
|
||||||
|
company_profile: z
|
||||||
|
.custom<File>((value) => value instanceof File, {
|
||||||
|
message: msg(
|
||||||
|
"Выберите корректный файл",
|
||||||
|
"Select a valid file",
|
||||||
|
"Dogry faýly saýlaň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
})
|
||||||
|
.refine(
|
||||||
|
(file) =>
|
||||||
|
file &&
|
||||||
|
["image/jpeg", "image/png", "application/pdf"].includes(file.type),
|
||||||
|
{
|
||||||
|
message: msg(
|
||||||
|
"Допускаются только файлы JPG, PNG и PDF",
|
||||||
|
"Only JPG, PNG and PDF files are allowed",
|
||||||
|
"Diňe JPG, PNG we PDF faýllary kabul edilýär",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.optional(),
|
||||||
|
proposal_presentation: z
|
||||||
|
.custom<File>((value) => value instanceof File, {
|
||||||
|
message: msg(
|
||||||
|
"Выберите корректный файл",
|
||||||
|
"Select a valid file",
|
||||||
|
"Dogry faýly saýlaň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
})
|
||||||
|
.refine(
|
||||||
|
(file) =>
|
||||||
|
file &&
|
||||||
|
["image/jpeg", "image/png", "application/pdf"].includes(file.type),
|
||||||
|
{
|
||||||
|
message: msg(
|
||||||
|
"Допускаются только файлы JPG, PNG и PDF",
|
||||||
|
"Only JPG, PNG and PDF files are allowed",
|
||||||
|
"Diňe JPG, PNG we PDF faýllary kabul edilýär",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.optional(),
|
||||||
|
relevant_certification: z
|
||||||
|
.custom<File>((value) => value instanceof File, {
|
||||||
|
message: msg(
|
||||||
|
"Выберите корректный файл",
|
||||||
|
"Select a valid file",
|
||||||
|
"Dogry faýly saýlaň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
})
|
||||||
|
.refine(
|
||||||
|
(file) =>
|
||||||
|
file &&
|
||||||
|
["image/jpeg", "image/png", "application/pdf"].includes(file.type),
|
||||||
|
{
|
||||||
|
message: msg(
|
||||||
|
"Допускаются только файлы JPG, PNG и PDF",
|
||||||
|
"Only JPG, PNG and PDF files are allowed",
|
||||||
|
"Diňe JPG, PNG we PDF faýllary kabul edilýär",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.optional(),
|
||||||
|
});
|
||||||
|
|
||||||
|
export type FormType = z.infer<ReturnType<typeof createFormSchema>>;
|
||||||
|
|
||||||
// Значения по умолчанию
|
|
||||||
export const defaultValuesOfB2b = {
|
export const defaultValuesOfB2b = {
|
||||||
type: "B2B",
|
type: "B2B",
|
||||||
company_name: "",
|
company_name: "",
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,80 @@
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export type SponsorFormType = z.infer<typeof sponsorFormSchema>;
|
const msg = (ru: string, en: string, tm: string, lang: string) =>
|
||||||
|
lang === "ru" ? ru : lang === "tm" ? tm : en;
|
||||||
|
|
||||||
export const sponsorFormSchema = z.object({
|
export const createSponsorFormSchema = (lang: string) =>
|
||||||
company_name: z
|
z.object({
|
||||||
.string()
|
company_name: z
|
||||||
.min(3, { message: "Название компании должно быть не менее 3 символов" }),
|
.string()
|
||||||
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Название компании должно быть не менее 3 символов",
|
||||||
|
"Company name must be at least 3 characters",
|
||||||
|
"Kompaniýanyň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
rep_name: z
|
rep_name: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Имя представителя должно быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Имя представителя должно быть не менее 3 символов",
|
||||||
|
"Representative name must be at least 3 characters",
|
||||||
|
"Wekiliniň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
job_title: z
|
job_title: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Должность должна быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Должность должна быть не менее 3 символов",
|
||||||
|
"Job title must be at least 3 characters",
|
||||||
|
"Wezipesi azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
country: z
|
country: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Название страны должно быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Название страны должно быть не менее 3 символов",
|
||||||
|
"Country must be at least 3 characters",
|
||||||
|
"Ýurduň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
email: z.string().email({ message: "Укажите корректный email" }),
|
email: z.string().email({
|
||||||
|
message: msg(
|
||||||
|
"Укажите корректный email",
|
||||||
|
"Enter a valid email",
|
||||||
|
"Dogry email salgysyny giriziň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
phone: z
|
phone: z
|
||||||
.string()
|
.string()
|
||||||
.min(8, { message: "Номер телефона должен быть не менее 8 символов" }),
|
.min(8, {
|
||||||
|
message: msg(
|
||||||
|
"Номер телефона должен быть не менее 8 символов",
|
||||||
|
"Phone number must be at least 8 characters",
|
||||||
|
"Telefon belgisi azyndan 8 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
website: z.string().optional(),
|
website: z.string().optional(),
|
||||||
|
|
||||||
visa_support: z.string().optional(),
|
visa_support: z.string().optional(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export type SponsorFormType = z.infer<ReturnType<typeof createSponsorFormSchema>>;
|
||||||
|
|
||||||
export const sponsorDefaultValues = {
|
export const sponsorDefaultValues = {
|
||||||
company_name: "",
|
company_name: "",
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,92 @@
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export type StandFormType = z.infer<typeof standFormSchema>;
|
const msg = (ru: string, en: string, tm: string, lang: string) =>
|
||||||
|
lang === "ru" ? ru : lang === "tm" ? tm : en;
|
||||||
|
|
||||||
export const standFormSchema = z.object({
|
export const createStandFormSchema = (lang: string) =>
|
||||||
space_package: z.string(),
|
z.object({
|
||||||
|
space_package: z.string(),
|
||||||
|
|
||||||
company_name: z
|
company_name: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Название компании должно быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Название компании должно быть не менее 3 символов",
|
||||||
|
"Company name must be at least 3 characters",
|
||||||
|
"Kompaniýanyň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
rep_name: z
|
rep_name: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Имя представителя должно быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Имя представителя должно быть не менее 3 символов",
|
||||||
|
"Representative name must be at least 3 characters",
|
||||||
|
"Wekiliniň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
job_title: z
|
job_title: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Должность должна быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Должность должна быть не менее 3 символов",
|
||||||
|
"Job title must be at least 3 characters",
|
||||||
|
"Wezipesi azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
participants_number: z.preprocess(
|
participants_number: z.preprocess(
|
||||||
(val) => Number(val),
|
(val) => Number(val),
|
||||||
z.number().min(1, "Укажите количество участников")
|
z.number().min(1, msg(
|
||||||
),
|
"Укажите количество участников",
|
||||||
|
"Specify the number of participants",
|
||||||
|
"Gatnaşyjylaryň sanyny görkeziň",
|
||||||
|
lang
|
||||||
|
))
|
||||||
|
),
|
||||||
|
|
||||||
country: z
|
country: z
|
||||||
.string()
|
.string()
|
||||||
.min(3, { message: "Название страны должно быть не менее 3 символов" }),
|
.min(3, {
|
||||||
|
message: msg(
|
||||||
|
"Название страны должно быть не менее 3 символов",
|
||||||
|
"Country must be at least 3 characters",
|
||||||
|
"Ýurduň ady azyndan 3 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
email: z.string().email({ message: "Укажите корректный email" }),
|
email: z.string().email({
|
||||||
|
message: msg(
|
||||||
|
"Укажите корректный email",
|
||||||
|
"Enter a valid email",
|
||||||
|
"Dogry email salgysyny giriziň",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
phone: z
|
phone: z
|
||||||
.string()
|
.string()
|
||||||
.min(8, { message: "Номер телефона должен быть не менее 8 символов" }),
|
.min(8, {
|
||||||
|
message: msg(
|
||||||
|
"Номер телефона должен быть не менее 8 символов",
|
||||||
|
"Phone number must be at least 8 characters",
|
||||||
|
"Telefon belgisi azyndan 8 simwoldan ybarat bolmaly",
|
||||||
|
lang
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
|
||||||
website: z.string().optional(),
|
website: z.string().optional(),
|
||||||
|
|
||||||
visa_support: z.string().optional(),
|
visa_support: z.string().optional(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export type StandFormType = z.infer<ReturnType<typeof createStandFormSchema>>;
|
||||||
|
|
||||||
export const standDefaultValues = {
|
export const standDefaultValues = {
|
||||||
space_package: "space",
|
space_package: "space",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"block": {
|
||||||
|
"title": "Aşgabatda «TurkmenTextile Expo-2025» sergi-ýarmarkasy",
|
||||||
|
"texts": [
|
||||||
|
"Pudagyň dünýä liderlerini, innowasion önümçileri we döredijilikli dizaýnerleri birleşdirjek halkara sergi-ýarmarka. Ol dokma we moda pudagynda işiňizi ösdürmek üçin özboluşly platformadyr.",
|
||||||
|
"Bu serginiň maksady – Türkmenistany halkara dokma we moda senagatynda esasy merkez hökmünde görkezmek, ýurduň baý dokma mirasyny tanyşdyrmak, pudaga innowasiýalary ornaşdyrmaga ýardam etmek we halkara hyzmatdaşlygy berkitmek.",
|
||||||
|
"«TurkmenTextile Expo-2025» – bu däp-dessurlary we innowasiýalary, önüm öndürijileri we sarp edijileri, Türkmenistany we dünýäni birleşdirýän platformadyr!",
|
||||||
|
"Siz bu ýerde pudagyň öňdebaryjy oýunçylary bilen gatnaşyk gurup bilersiňiz, öz önümleriňizi ýa-da hyzmatlaryňyzy görkezip bilersiňiz, bazardaky soňky tendensiýalar bilen tanyşarsyňyz, şeýle hem täze hyzmatdaşlary we müşderileri taparsyňyz.",
|
||||||
|
"Biziň maksadymyz – Türkmenistanyň dokma we moda senagatynyň esasy merkezi hökmünde pozisiýasyny berkitmek. Sergi durnukly praktikalary, häzirkizaman tilsimatlary we täze dizaýn çözgütlerini öwrenmek üçin platforma bolup hyzmat eder."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"block_2": {
|
||||||
|
"title": "Siz näme üçin barmaly?",
|
||||||
|
"subtitle": "TurkmenTextile Expo-2025 gatnaşyjylar üçin giň perspektiwalary açýar:",
|
||||||
|
"texts": [
|
||||||
|
"Türkmenistanyň dokma pudagynyň ýolbaşçylary bilen işewür duşuşyklar.",
|
||||||
|
"Eksport ugurlaryny ösdürmek üçin Türkmenistanyň dokma senagatynyň kärhanalary we fabrikleri bilen işewür gatnaşyklary ýola goýmak mümkinçilikleri.",
|
||||||
|
"Işewür gatnaşyklary giňeltmek – B2B we B2G duşuşyklary, söwda ylalaşyklaryny baglaşmak we strategiki hyzmatdaşlygy ýola goýmak üçin uly mümkinçilik.",
|
||||||
|
"Öwrenmek we ösmek – öňdebaryjy dünýä ekspertleriniň master-klaslary we leksiýalary gatnaşyjylara bilimlerini çuňlaşdyrmaga we dokma senagatynda täze çemeleşmeleri özleşdirmäge kömek eder.",
|
||||||
|
"Medeni alyş-çalyş – Türkmenistanyň baý dokma mirasynyň mümkinçiliklerini görkezmek we başga ýurtlaryň baý dokma mirasyndan ruhlanmak mümkinçiligi."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"block_3": {
|
||||||
|
"title": "Hyzmatdaşlyk we hemaýatkärlik",
|
||||||
|
"subtitle": "TurkmenTextile Expo-2025 halkara guramalaryny, assosiasiýalary we brendleri öz önümlerini we hyzmatlaryny öňe sürmek üçin hyzmatdaşlyga çagyrýar. Hyzmatdaşlar şulary alarlar:",
|
||||||
|
"texts": [
|
||||||
|
"Halkara arenasynda ykrar edilmek – dokma we moda industriýasynyň belli oýunçylaryny özüne çekýän uly waka gatnaşmak.",
|
||||||
|
"Reklama mümkinçilikleri – brendiň serginiň marketing kampaniýasyna integrasiýasy, şol sanda dijital we oflaýn-kanallar.",
|
||||||
|
"Auditoriýa göni rugsat – öndürijiler, dizaýnerler, enjamlary üpjün edijiler bilen bilelikdäki hereket.",
|
||||||
|
"Senagatyň ösüşine goşant – innowasiýalaryň, durnukly praktikalaryň we medeni mirasyň goldawy."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"button": "Hemaýatkär bolmak"
|
||||||
|
},
|
||||||
|
|
||||||
|
"invataion": {
|
||||||
|
"title": "Gatnaşmaga çakylyk",
|
||||||
|
"text": "Türkmenistanyň dokma senagaty Ministrligi Türkmenistanyň halkara ykdysady arenada orunlaryny berkitmekde wajyp ädim boljak bu uly waka gatnaşmaga bütin dünýäniň biznes-bileleşiklerini çagyrýar."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"title": "Biziň bilen habarlaşmak",
|
||||||
|
"name": "Ady",
|
||||||
|
"phone": "Telefon",
|
||||||
|
"company": "Kompaniýanyň ady",
|
||||||
|
"message": "Habar",
|
||||||
|
"button": "Ugratmak",
|
||||||
|
|
||||||
|
"title_2": "Kontaktlar",
|
||||||
|
"address": "Salgy:",
|
||||||
|
"venue": "744000, Aşgabat ş., Bitarap Türkmenistan şaýoly, 183",
|
||||||
|
"submitted": "Habaryňyz ugradyldy"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,71 @@
|
||||||
|
{
|
||||||
|
"venue": "Aşgabat, Türkmenistan",
|
||||||
|
|
||||||
|
"guide": {
|
||||||
|
"title": "Ýol görkeziji"
|
||||||
|
},
|
||||||
|
|
||||||
|
"contacts": {
|
||||||
|
"title": "Aragatnaşyk",
|
||||||
|
"link": "/contacts"
|
||||||
|
},
|
||||||
|
|
||||||
|
"support": {
|
||||||
|
"text": "Resmi goldaw",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/official_support/official_support_eng.pdf"
|
||||||
|
},
|
||||||
|
|
||||||
|
"news": {
|
||||||
|
"trigger": "Täzelikler",
|
||||||
|
|
||||||
|
"item": ["Täzeliklere ýazylmak"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"": "",
|
||||||
|
|
||||||
|
"about": {
|
||||||
|
"trigger": "Sergi hakynda"
|
||||||
|
},
|
||||||
|
|
||||||
|
"visitors": {
|
||||||
|
"trigger": "Gelýänlere",
|
||||||
|
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "Gatnaşanyňa näme üçin degýär?",
|
||||||
|
"link": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Gatnasyjylaryň sanawy",
|
||||||
|
"link": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Meýilnama",
|
||||||
|
"link": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"exhibitors": {
|
||||||
|
"trigger": "Gatnasyjylara"
|
||||||
|
},
|
||||||
|
|
||||||
|
"participants": {
|
||||||
|
"trigger": "Gatnasyjylaryň sanawy",
|
||||||
|
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "Stend bronlamak",
|
||||||
|
"link": "/stend-form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Näme sebäpli gatnaşanyňa degýär?",
|
||||||
|
"link": "/stend-form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Tematiki bölümler",
|
||||||
|
"link": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,144 @@
|
||||||
|
{
|
||||||
|
"banners": {
|
||||||
|
"lg": [
|
||||||
|
{
|
||||||
|
"path": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/surat/05112025/1920x600_TEXTILE_WebBanners_eng.mp4",
|
||||||
|
"link": "/stend-form"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"md": [
|
||||||
|
{
|
||||||
|
"path": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/surat/05112025/1920x600_TEXTILE_WebBanners_eng.mp4",
|
||||||
|
"link": "/stend-form"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sm": [
|
||||||
|
{
|
||||||
|
"path": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/surat/05112025/1920x600_TEXTILE_WebBanners_eng.mp4",
|
||||||
|
"link": "/stend-form"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"timer": {
|
||||||
|
"title": "Çärä çenli:",
|
||||||
|
|
||||||
|
"days": "gün",
|
||||||
|
"hours": "sagat",
|
||||||
|
"minutes": "minut",
|
||||||
|
"seconds": "sekunt"
|
||||||
|
},
|
||||||
|
|
||||||
|
"reportLink": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Report/Post-Event%202025%20TurkmenTextile.pdf",
|
||||||
|
|
||||||
|
"buttons": {
|
||||||
|
"title": "Çalt hereketler",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"text": "Serginiň meýilnamasy",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Floor%20plan/floor%20plan.pdf",
|
||||||
|
"blank": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Stend bronlamak",
|
||||||
|
"link": "/stend-form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Gatnasyjylaryň sanawy",
|
||||||
|
"link": "/participants"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "B2B | B2G duşuşyklar",
|
||||||
|
"link": "/B2B-B2G"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Moda görkezişler",
|
||||||
|
"dropdown": true,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"text": "Daşary ýurt dizaýnerleri",
|
||||||
|
"link": "/impressions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Türkmen dizaýnerleri",
|
||||||
|
"link": "/impressions-tm"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Master-klasslar",
|
||||||
|
"dropdown": true,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"text": "Dizaýnerler üçin",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Masterclasses_d/Masterclasses_eng.pdf",
|
||||||
|
"blank": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Gelýänler üçin",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Masterclasses_v/Masterclasses_eng.pdf",
|
||||||
|
"blank": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"partners": {
|
||||||
|
"title": "Hyzmatdaşlar",
|
||||||
|
"button": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"about": {
|
||||||
|
"buttons": [
|
||||||
|
{
|
||||||
|
"title": "Serginiň meýilnamasy",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Floor%20plan/floor%20plan.pdf",
|
||||||
|
"blank": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Stend bronlamak",
|
||||||
|
"link": "/stend-form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Gatnasyjylaryň sanawy",
|
||||||
|
"link": "/participants"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "B2B | B2G duşuşyklar",
|
||||||
|
"link": "/B2B-B2G"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"title": "Aşgabatda «TurkmenTextile Expo-2025» sergi-ýarmarkasy",
|
||||||
|
"paragraphs": [
|
||||||
|
"Pudagyň dünýä liderlerini, innowasion önümçileri we döredijilikli dizaýnerleri birleşdirjek sergi-ýarmarka. Sergi pudagy ösdürmäge hyjuw bermek bilen, durnukly praktikalary, häzirkizaman tilsimatlary we täze dizaýn çözgütlerini öwrenmek üçin platforma bolar.",
|
||||||
|
"Serginiň esasy maksady – Türkmenistany halkara dokma we moda senagatynyň esasy merkezi hökmünde görkezmek, milli dokma mirasyny tanyşdyrmak, pudaga innowasiýalary ornaşdyrmaga ýardam etmek we halkara hyzmatdaşlygy berkitmek."
|
||||||
|
],
|
||||||
|
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"nums": "10,000 m²",
|
||||||
|
"text": "Sergi meýdanyňky"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nums": "10000+",
|
||||||
|
"text": "Geljek adamlaryň garaşylýan sany"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nums": "100+",
|
||||||
|
"text": "30 ýurtdan gowurak eksponentler"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nums": "80%",
|
||||||
|
"text": "Top-menejmentden gatnaşyjylar"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"button": "Köpräk"
|
||||||
|
},
|
||||||
|
|
||||||
|
"sponsors": {
|
||||||
|
"title": "Hemaýatkärler we hyzmatdaşlar"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"impressions": {
|
||||||
|
"banner": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/surat/new/web_eng.jpg",
|
||||||
|
"hero": {
|
||||||
|
"title": "TurkmenTextile Expo-2025 – Ýüpek Ýolunda stiliň çatrygy!",
|
||||||
|
"texts": [
|
||||||
|
"Beýik Ýüpek ýolunyň ýüreginden – dünýä modasynyň şöhle saçýan belentliklerine tarap!",
|
||||||
|
"TurkmenTextile Expo-2025 sizi syýahata çagyrýar, bu ýerde asyrlyk däpler, iň aktual trendler we tutuş dünýäden çäksiz talantly dizaýnerler duşuşýarlar. Bu joşgun we ussatlyk bilen döredilen owazly sazlaşykdyr.",
|
||||||
|
"Bu ägirt uly wakanyň bölegi bolmak mümkinçiligini elden bermäň! 11-13-nji iýunda Türkmenistanyň Söwda-senagat edarasynda bize goşulyň, Aşgabat ş."
|
||||||
|
],
|
||||||
|
"button": "Senenama goşmaly",
|
||||||
|
"button2": "Meýilnamany almaly",
|
||||||
|
"title2": "TurkmenTextile Expo-2025 – Ýüpek Ýolunda stiliň çatrygy!",
|
||||||
|
"texts2": [
|
||||||
|
"TurkmenTextile Expo-2025 sizi gyzykly syýahata çagyrýar, bu ýerde asyrlyk däpler, iň täze trendler we tutuş dünýäden çäksiz talantly dizaýnerler duşuşýarlar. Bu joşgunyň we ussatlygyň hakyky sazlaşygydyr.",
|
||||||
|
"Bu ägirt uly wakanyň bölegi bolmak mümkinçiligini elden bermäň! 11-13-nji iýunda Türkmenistanyň Söwda-senagat edarasynda bize goşulyň, Aşgabat ş."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"designers": {
|
||||||
|
"title": "Stil ussatlary bilen tanyşlyk: TurkmenTextile Expo-2025 türkmen dizaýnerlerini tanyşdyrýar!",
|
||||||
|
"text": "Biz Türkmenistanyň talantly dizaýnerlerini buýsanç bilen tanyşdyrýarys, olaryň batyrgaý toplumlary ýokary ussatlyk, birkemsiz biçüw we jikme-jikliklere üns bermek bilen tapawutlanýar. Olaryň geljege bolan batyrgaý garaýyşlary baý medeni miras bilen sazlaşykly birleşip, giň auditoriýany eýelemäge we türkmen moda dizaýnerleriniň dünýä derejesindäki ussatlygyny görkezmäge taýýar özboluşly eserleri döredýär.",
|
||||||
|
|
||||||
|
"title2": "Moda ussatlary bilen tanyşlyk: TurkmenTextile Expo-2025 dünýä dizaýnerlerini tanyşdyrýar!",
|
||||||
|
"text2": "TurkmenTextile Expo-2025 halkara sergisi aýratyn buýsanç bilen dünýä belli atly dizaýnerleri garşy alar. Olaryň gatnaşmagy çärä diňe bir täze tendensiýalary we innowasion tilsimatlary getirmän, eýsem moda industriýasynyň geljegine ajaýyp göz ýetirişi getirer. Biz uly höwes bilen bu görnükli dizaýnerleriň işlerini we portretlerini siziň dykgatyňyza ýetireris."
|
||||||
|
},
|
||||||
|
"videosTitle": "TurkmenTextile Expo-2025 podiumynda dizaýnerleriň triumfyna aralaşyň",
|
||||||
|
"videosTitle2": "Dünýä modasynyň elitasy: halkara dizaýnerleriň eksklýuziw toplumlary TurkmenTextile Expo-2025-de"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"button": "Köpüräk görkezmek"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
{
|
||||||
|
"navigation": [
|
||||||
|
{
|
||||||
|
"title": "Ýol görkeziji",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_eng.pdf",
|
||||||
|
"blank": "blank"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Täzelikler",
|
||||||
|
"drop": true,
|
||||||
|
"dropDownContent": [
|
||||||
|
{ "text": "Täzelikler", "link": "/news" },
|
||||||
|
{
|
||||||
|
"text": "Täzeliklere ýazylmak",
|
||||||
|
"modal": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ "title": "Aragatnaşyk", "link": "/contacts" },
|
||||||
|
|
||||||
|
{
|
||||||
|
"title": "Sergi hakynda",
|
||||||
|
"drop": true,
|
||||||
|
"dropDownContent": [
|
||||||
|
{ "text": "Sergi hakynda", "link": "/about" },
|
||||||
|
{
|
||||||
|
"text": "Media",
|
||||||
|
"link": "/media"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Moda görkezişler",
|
||||||
|
"hover": true,
|
||||||
|
"hoverItems": [
|
||||||
|
{
|
||||||
|
"text": "Daşary ýurt dizaýnerleri",
|
||||||
|
"link": "/impressions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Türkmen dizaýnerleri",
|
||||||
|
"link": "/impressions-tm"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Gelýänlere",
|
||||||
|
"drop": true,
|
||||||
|
"dropDownContent": [
|
||||||
|
{ "text": "Gatnaşanyňa näme üçin degýär?", "link": "" },
|
||||||
|
{
|
||||||
|
"text": "Gatnasyjylaryň sanawy",
|
||||||
|
"link": "/participants"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Meýilnama",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/agenda/agenda_en.pdf",
|
||||||
|
"blank": "blank"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Ýol görkeziji",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_eng.pdf",
|
||||||
|
"blank": "blank"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Master-klasslar",
|
||||||
|
"hover": true,
|
||||||
|
"hoverItems": [
|
||||||
|
{
|
||||||
|
"text": "Dizaýnerler üçin",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Masterclasses_d/Masterclasses_eng.pdf",
|
||||||
|
"blank": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Gelýänler üçin",
|
||||||
|
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/Masterclasses_v/Masterclasses_eng.pdf",
|
||||||
|
"blank": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Gatnasyjylara",
|
||||||
|
"drop": true,
|
||||||
|
"dropDownContent": [
|
||||||
|
{
|
||||||
|
"text": "Gatnaşmagyň görnüşleri",
|
||||||
|
"link": "/participation-options"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Hyzmatdaşlyk mümkinçilikleri",
|
||||||
|
"link": "/partner-opportunities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Stend bronlamak",
|
||||||
|
"link": "/stend-form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Näme sebäpli gatnaşanyňa degýär?",
|
||||||
|
"link": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Tematiki bölümler",
|
||||||
|
"link": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -8,7 +8,7 @@ import {
|
||||||
} from "@/components/shared";
|
} from "@/components/shared";
|
||||||
import { useScrollTop } from "@/hooks/use-scroll-top";
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
export default function About() {
|
export default function About() {
|
||||||
useScrollTop();
|
useScrollTop();
|
||||||
|
|
@ -17,7 +17,7 @@ export default function About() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={cn("")}>
|
<div className={cn("")}>
|
||||||
<Cover title={lang === Language.RU ? "О выставке" : "About exhibition"} />
|
<Cover title={{ ru: "О выставке", en: "About exhibition", tm: "Sergi hakynda" }[lang]} />
|
||||||
|
|
||||||
<AboutInfo />
|
<AboutInfo />
|
||||||
<AboutThemes />
|
<AboutThemes />
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { B2bFormProgress } from "@/components/shared";
|
||||||
import { B2bForm } from "@/components/shared/forms/b2b-form";
|
import { B2bForm } from "@/components/shared/forms/b2b-form";
|
||||||
import { useScrollTop } from "@/hooks/use-scroll-top";
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
export default function B2b() {
|
export default function B2b() {
|
||||||
|
|
@ -18,7 +18,7 @@ export default function B2b() {
|
||||||
<div className={"pb-[120px]"}>
|
<div className={"pb-[120px]"}>
|
||||||
<Cover
|
<Cover
|
||||||
title={
|
title={
|
||||||
lang === Language.RU ? "B2B | B2G встречи" : "B2B | B2G meetings"
|
{ ru: "B2B | B2G встречи", en: "B2B | B2G meetings", tm: "B2B | B2G duşuşyklar" }[lang]
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,17 +12,17 @@ import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group";
|
||||||
import { AnimatePresence, motion } from "motion/react";
|
import { AnimatePresence, motion } from "motion/react";
|
||||||
import {
|
import {
|
||||||
sponsorDefaultValues,
|
sponsorDefaultValues,
|
||||||
sponsorFormSchema,
|
createSponsorFormSchema,
|
||||||
SponsorFormType,
|
SponsorFormType,
|
||||||
} from "@/lib/get-sponsor-form-details";
|
} from "@/lib/get-sponsor-form-details";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
import { useState } from "react";
|
import { useMemo, useState } from "react";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { Loader } from "lucide-react";
|
import { Loader } from "lucide-react";
|
||||||
import { postSponsor } from "@/services/service";
|
import { postSponsor } from "@/services/service";
|
||||||
|
|
||||||
import { Cover } from "@/components/layout";
|
import { Cover } from "@/components/layout";
|
||||||
import { Language, useLangStore } from "@/store/lang";
|
import { useLangStore } from "@/store/lang";
|
||||||
import { stendData } from "@/data/stend.data";
|
import { stendData } from "@/data/stend.data";
|
||||||
import { useTranslate } from "@/hooks/use-translate";
|
import { useTranslate } from "@/hooks/use-translate";
|
||||||
import { useScrollTop } from "@/hooks/use-scroll-top";
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
|
@ -32,6 +32,7 @@ export default function BecomeSponsor() {
|
||||||
|
|
||||||
const lang = useLangStore((state) => state.lang);
|
const lang = useLangStore((state) => state.lang);
|
||||||
const [success, setSuccess] = useState(false);
|
const [success, setSuccess] = useState(false);
|
||||||
|
const sponsorFormSchema = useMemo(() => createSponsorFormSchema(lang), [lang]);
|
||||||
const form = useForm<SponsorFormType>({
|
const form = useForm<SponsorFormType>({
|
||||||
resolver: zodResolver(sponsorFormSchema),
|
resolver: zodResolver(sponsorFormSchema),
|
||||||
defaultValues: sponsorDefaultValues,
|
defaultValues: sponsorDefaultValues,
|
||||||
|
|
@ -52,7 +53,7 @@ export default function BecomeSponsor() {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Cover
|
<Cover
|
||||||
title={lang === Language.RU ? "Стать спонсором" : "Become a sponsor"}
|
title={{ ru: "Стать спонсором", en: "Become a sponsor", tm: "Hemaýatkär bolmak" }[lang]}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<AnimatePresence>
|
<AnimatePresence>
|
||||||
|
|
|
||||||
|
|
@ -20,11 +20,13 @@ const momentsTabs = [
|
||||||
id: 0,
|
id: 0,
|
||||||
title: "Фото",
|
title: "Фото",
|
||||||
titleEn: "Photo",
|
titleEn: "Photo",
|
||||||
|
titleTm: "Surat",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
title: "Видео",
|
title: "Видео",
|
||||||
titleEn: "Video",
|
titleEn: "Video",
|
||||||
|
titleTm: "Wideo",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -68,7 +70,7 @@ const Media: FC<Props> = ({ className }) => {
|
||||||
</AnimatePresence>
|
</AnimatePresence>
|
||||||
|
|
||||||
<section className={cn("md:mb-[120px] mb-20", className)}>
|
<section className={cn("md:mb-[120px] mb-20", className)}>
|
||||||
<Cover title={lang === "ru" ? "Моменты" : "Moments"} />
|
<Cover title={{ ru: "Моменты", en: "Moments", tm: "Pursatlar" }[lang]} />
|
||||||
|
|
||||||
<Container className="page-bottom md:pt-10 pt-6">
|
<Container className="page-bottom md:pt-10 pt-6">
|
||||||
<div className="flex justify-center flex-col">
|
<div className="flex justify-center flex-col">
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ export default function NewsInner() {
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2 className="h2 mb-6">
|
<h2 className="h2 mb-6">
|
||||||
{lang === "ru" ? "Читайте также:" : "Read more:"}
|
{{ ru: "Читайте также:", en: "Read more:", tm: "Şeýle hem okaň:" }[lang]}
|
||||||
</h2>
|
</h2>
|
||||||
<div className="grid md:grid-cols-3 grid-cols-1 gap-6">
|
<div className="grid md:grid-cols-3 grid-cols-1 gap-6">
|
||||||
{news
|
{news
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ export default function News() {
|
||||||
return (
|
return (
|
||||||
<Container className="page-padding">
|
<Container className="page-padding">
|
||||||
<h1 className="text-center md:text-5xl text-3xl mb-10">
|
<h1 className="text-center md:text-5xl text-3xl mb-10">
|
||||||
{lang === "ru" ? "Новости" : "News"}
|
{{ ru: "Новости", en: "News", tm: "Täzelikler" }[lang]}
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div className="grid md:grid-cols-3 grid-cols-1 gap-6">
|
<div className="grid md:grid-cols-3 grid-cols-1 gap-6">
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,9 @@ const Participants: FC<Props> = ({ className }) => {
|
||||||
const { data, isPending } = useParticipants();
|
const { data, isPending } = useParticipants();
|
||||||
|
|
||||||
const dataHeader = {
|
const dataHeader = {
|
||||||
company: lang === "ru" ? "Название компании" : "Company name",
|
company: { ru: "Название компании", en: "Company name", tm: "Kompaniýanyň ady" }[lang] as string,
|
||||||
country: lang === "ru" ? "Страна" : "Country",
|
country: { ru: "Страна", en: "Country", tm: "Ýurt" }[lang] as string,
|
||||||
industry: lang === "ru" ? "Сфера деятельности" : "Industry",
|
industry: { ru: "Сфера деятельности", en: "Industry", tm: "Pudak" }[lang] as string,
|
||||||
};
|
};
|
||||||
|
|
||||||
const [activeTab, setActiveTab] = useState(0);
|
const [activeTab, setActiveTab] = useState(0);
|
||||||
|
|
@ -43,7 +43,7 @@ const Participants: FC<Props> = ({ className }) => {
|
||||||
<Container>
|
<Container>
|
||||||
<section className={cn("page-padding overflow-x-hidden", className)}>
|
<section className={cn("page-padding overflow-x-hidden", className)}>
|
||||||
<h1 className="text-center md:text-5xl text-3xl mb-4">
|
<h1 className="text-center md:text-5xl text-3xl mb-4">
|
||||||
{lang === "ru" ? "Список участников" : "List of participants"}
|
{{ ru: "Список участников", en: "List of participants", tm: "Gatnasyjylaryň sanawy" }[lang]}
|
||||||
</h1>
|
</h1>
|
||||||
<Tabs
|
<Tabs
|
||||||
state={activeTab}
|
state={activeTab}
|
||||||
|
|
|
||||||
|
|
@ -9,93 +9,117 @@ const participationOptionsContent = {
|
||||||
title: {
|
title: {
|
||||||
ruText: "Варианты участия",
|
ruText: "Варианты участия",
|
||||||
enText: "Participation Options",
|
enText: "Participation Options",
|
||||||
|
tmText: "Gatnaşmagyň görnüşleri",
|
||||||
},
|
},
|
||||||
exhibitionSpace: {
|
exhibitionSpace: {
|
||||||
ruText: "Аренда выставочной площади",
|
ruText: "Аренда выставочной площади",
|
||||||
enText: "Exhibition Space Rental",
|
enText: "Exhibition Space Rental",
|
||||||
|
tmText: "Sergi meýdanyny kärendesine almak",
|
||||||
},
|
},
|
||||||
spaceOnly: {
|
spaceOnly: {
|
||||||
ruText: "Необорудованная площадь",
|
ruText: "Необорудованная площадь",
|
||||||
enText: "Space Only",
|
enText: "Space Only",
|
||||||
|
tmText: "Enjamlaşdyrylmadyk meýdan",
|
||||||
},
|
},
|
||||||
example: {
|
example: {
|
||||||
ruText: "Пример",
|
ruText: "Пример",
|
||||||
enText: "Example",
|
enText: "Example",
|
||||||
|
tmText: "Mysal",
|
||||||
},
|
},
|
||||||
spaceOnlyDescription: {
|
spaceOnlyDescription: {
|
||||||
ruText:
|
ruText:
|
||||||
"Чистая площадь для последующей застройки (стандартная застройка или по индивидуальному дизайну). Включает: общую уборку и охрану павильона. Электричество в стоимость не включено.",
|
"Чистая площадь для последующей застройки (стандартная застройка или по индивидуальному дизайну). Включает: общую уборку и охрану павильона. Электричество в стоимость не включено.",
|
||||||
enText:
|
enText:
|
||||||
"Raw exhibition space for subsequent construction (standard booth or customized design). Includes general cleaning and pavilion security. Electricity is not included in the price.",
|
"Raw exhibition space for subsequent construction (standard booth or customized design). Includes general cleaning and pavilion security. Electricity is not included in the price.",
|
||||||
|
tmText:
|
||||||
|
"Soňky gurluşyk üçin arassa meýdan (standart gurluşyk ýa-da indiwidual dizaýn). Öz içine alýar: umumy arassaçylyk we pawilýonyň goragy. Elektrik energiýasy bahasynyň içine girenok.",
|
||||||
},
|
},
|
||||||
standardBooth: {
|
standardBooth: {
|
||||||
ruText: "Стандартная застройка",
|
ruText: "Стандартная застройка",
|
||||||
enText: "Standard Booth Construction",
|
enText: "Standard Booth Construction",
|
||||||
|
tmText: "Standart gurluşyk",
|
||||||
},
|
},
|
||||||
customBooth: {
|
customBooth: {
|
||||||
ruText: "Индивидуальный дизайн",
|
ruText: "Индивидуальный дизайн",
|
||||||
enText: "Custom Booth Design",
|
enText: "Custom Booth Design",
|
||||||
|
tmText: "Indiwidual dizaýn",
|
||||||
},
|
},
|
||||||
boothExampleDescription: {
|
boothExampleDescription: {
|
||||||
ruText:
|
ruText:
|
||||||
"Включает: базовое электроподключение (220V - 2 кВт), стены (стандартные или индивидуальный дизайн). Общую уборку и охрану павильона.",
|
"Включает: базовое электроподключение (220V - 2 кВт), стены (стандартные или индивидуальный дизайн). Общую уборку и охрану павильона.",
|
||||||
enText:
|
enText:
|
||||||
"Includes: basic electrical connection (220V - 2 kW), walls (standard or customized design), general cleaning, and pavilion security.",
|
"Includes: basic electrical connection (220V - 2 kW), walls (standard or customized design), general cleaning, and pavilion security.",
|
||||||
|
tmText:
|
||||||
|
"Öz içine alýar: esasy elektrik birikdirmesi (220V - 2 kWt), diwarlar (standart ýa-da indiwidual dizaýn). Umumy arassaçylyk we pawilýonyň goragy.",
|
||||||
},
|
},
|
||||||
registrationFee: {
|
registrationFee: {
|
||||||
ruText: "Участие со стендом включает регистрационную оплату.",
|
ruText: "Участие со стендом включает регистрационную оплату.",
|
||||||
enText: "Participation with a booth includes a registration fee.",
|
enText: "Participation with a booth includes a registration fee.",
|
||||||
|
tmText: "Stend bilen gatnaşmak hasaba alyş tölegini öz içine alýar.",
|
||||||
},
|
},
|
||||||
pricingNote: {
|
pricingNote: {
|
||||||
ruText: "Пожалуйста уточните стоимость у менеджера проекта.",
|
ruText: "Пожалуйста уточните стоимость у менеджера проекта.",
|
||||||
enText: "Please check the pricing with the project manager.",
|
enText: "Please check the pricing with the project manager.",
|
||||||
|
tmText: "Bahany taslamanyň menejeri bilen anyklaň.",
|
||||||
},
|
},
|
||||||
partnershipTitle: {
|
partnershipTitle: {
|
||||||
ruText: "Партнёрские возможности",
|
ruText: "Партнёрские возможности",
|
||||||
enText: "Partnership Opportunities",
|
enText: "Partnership Opportunities",
|
||||||
|
tmText: "Hyzmatdaşlyk mümkinçilikleri",
|
||||||
},
|
},
|
||||||
partnershipIntro: {
|
partnershipIntro: {
|
||||||
ruText:
|
ruText:
|
||||||
'Если Вы заинтересованы в более активном выходе на рынок или целью Вашей компании является максимальное продвижение на рынок, используйте пакет "Партнерство выставки". Приобретая данную опцию, Вы получаете:',
|
'Если Вы заинтересованы в более активном выходе на рынок или целью Вашей компании является максимальное продвижение на рынок, используйте пакет "Партнерство выставки". Приобретая данную опцию, Вы получаете:',
|
||||||
enText:
|
enText:
|
||||||
'If your company is interested in a more active market presence or aims to maximize market promotion, we recommend the "Exhibition Partnership" package. By choosing this option, you will receive:',
|
'If your company is interested in a more active market presence or aims to maximize market promotion, we recommend the "Exhibition Partnership" package. By choosing this option, you will receive:',
|
||||||
|
tmText:
|
||||||
|
'Eger siziň kompaniýaňyz bazara has işjeň çykmaga gyzyklanýan bolsa, "Serginiň hyzmatdaşlygy" paketini ulanyň. Bu opsiýany alyp, siz şulary alarsyňyz:',
|
||||||
},
|
},
|
||||||
partnershipItems: [
|
partnershipItems: [
|
||||||
{
|
{
|
||||||
ruText: "Статус Партнера выставки, в зависимости от выбранного пакета",
|
ruText: "Статус Партнера выставки, в зависимости от выбранного пакета",
|
||||||
enText: "Exhibition Partner status, depending on the selected package",
|
enText: "Exhibition Partner status, depending on the selected package",
|
||||||
|
tmText: "Saýlanan pakete baglylykda Serginiň hyzmatdaşy statusy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText:
|
ruText:
|
||||||
"Масштабную рекламную кампанию (размещение логотипа компании на всей рекламной продукции выставки)",
|
"Масштабную рекламную кампанию (размещение логотипа компании на всей рекламной продукции выставки)",
|
||||||
enText:
|
enText:
|
||||||
"A large-scale advertising campaign (placement of your company logo on all exhibition promotional materials)",
|
"A large-scale advertising campaign (placement of your company logo on all exhibition promotional materials)",
|
||||||
|
tmText:
|
||||||
|
"Uly gerimli reklama kampaniýasy (kompaniýanyň logotipini serginiň ähli reklama önümlerinde ýerleşdirmek)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Широкую узнаваемость",
|
ruText: "Широкую узнаваемость",
|
||||||
enText: "Wide recognition",
|
enText: "Wide recognition",
|
||||||
|
tmText: "Giň tanalmaklyk",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Ассоциирование выставки с именем Вашей компании и др.",
|
ruText: "Ассоциирование выставки с именем Вашей компании и др.",
|
||||||
enText:
|
enText:
|
||||||
"Association of the exhibition with your company's name, and more",
|
"Association of the exhibition with your company's name, and more",
|
||||||
|
tmText: "Serginiň siziň kompaniýaňyzyň ady bilen assosiasiýasy we ş.m.",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
partnershipNote: {
|
partnershipNote: {
|
||||||
ruText: "Пожалуйста, уточните стоимость у менеджера проекта.",
|
ruText: "Пожалуйста, уточните стоимость у менеджера проекта.",
|
||||||
enText: "Please contact the project manager to clarify the cost.",
|
enText: "Please contact the project manager to clarify the cost.",
|
||||||
|
tmText: "Bahany taslamanyň menejeri bilen anyklaň.",
|
||||||
},
|
},
|
||||||
exampleImageAlt: {
|
exampleImageAlt: {
|
||||||
ruText: "Пример площадки",
|
ruText: "Пример площадки",
|
||||||
enText: "Example space",
|
enText: "Example space",
|
||||||
|
tmText: "Meýdançanyň mysaly",
|
||||||
},
|
},
|
||||||
standardExampleAlt: {
|
standardExampleAlt: {
|
||||||
ruText: "Пример стандартной застройки",
|
ruText: "Пример стандартной застройки",
|
||||||
enText: "Standard booth example",
|
enText: "Standard booth example",
|
||||||
|
tmText: "Standart gurluşygyň mysaly",
|
||||||
},
|
},
|
||||||
customExampleAlt: {
|
customExampleAlt: {
|
||||||
ruText: "Пример индивидуального дизайна",
|
ruText: "Пример индивидуального дизайна",
|
||||||
enText: "Custom booth example",
|
enText: "Custom booth example",
|
||||||
|
tmText: "Indiwidual dizaýnyň mysaly",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -121,8 +145,8 @@ const ArrowIcon = () => (
|
||||||
export default function ParticipationOptions() {
|
export default function ParticipationOptions() {
|
||||||
useScrollTop();
|
useScrollTop();
|
||||||
const lang = useLangStore((state) => state.lang);
|
const lang = useLangStore((state) => state.lang);
|
||||||
const getText = (item: { ruText: string; enText: string }) =>
|
const getText = (item: { ruText: string; enText: string; tmText?: string }) =>
|
||||||
lang === "ru" ? item.ruText : item.enText;
|
lang === "ru" ? item.ruText : lang === "tm" ? (item.tmText ?? item.enText) : item.enText;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -6,45 +6,57 @@ const partnerOpportunitiesContent = {
|
||||||
title: {
|
title: {
|
||||||
ruText: "Партнерские возможности",
|
ruText: "Партнерские возможности",
|
||||||
enText: "Partner opportunities",
|
enText: "Partner opportunities",
|
||||||
|
tmText: "Hyzmatdaşlyk mümkinçilikleri",
|
||||||
},
|
},
|
||||||
intro: {
|
intro: {
|
||||||
ruText:
|
ruText:
|
||||||
"Предлагаем Вам воспользоваться комплексными возможностями - партнерскими пакетами, разработанными под различные маркетинговые задачи компании-участника, которые позволят максимально использовать коммерческий потенциал выставки для усиления бренда Вашей компании и бесспорно повысят эффективность продвижения Вашей компании.",
|
"Предлагаем Вам воспользоваться комплексными возможностями - партнерскими пакетами, разработанными под различные маркетинговые задачи компании-участника, которые позволят максимально использовать коммерческий потенциал выставки для усиления бренда Вашей компании и бесспорно повысят эффективность продвижения Вашей компании.",
|
||||||
enText:
|
enText:
|
||||||
"We invite you to take advantage of integrated opportunities - partnership packages designed for various marketing objectives of the exhibiting company. They allow you to maximize the exhibition's commercial potential, strengthen your brand, and significantly increase the effectiveness of your promotion.",
|
"We invite you to take advantage of integrated opportunities - partnership packages designed for various marketing objectives of the exhibiting company. They allow you to maximize the exhibition's commercial potential, strengthen your brand, and significantly increase the effectiveness of your promotion.",
|
||||||
|
tmText:
|
||||||
|
"Size dürli marketing wezipelerine gönükdirilen hyzmatdaşlyk paketlerinden peýdalanmagy teklip edýäris. Olar serginiň söwda potensialyny iň ýokary derejede ulanmaga, brendiňizi güýçlendirmäge we kompaniýaňyzy öňe sürmegiň netijeliligini ep-esli artdyrmaga mümkinçilik berýär.",
|
||||||
},
|
},
|
||||||
partnership: {
|
partnership: {
|
||||||
ruText:
|
ruText:
|
||||||
"Партнерство выставки - это всегда больше, чем просто участие. Это прекрасная возможность выгодно подать Вашу продукцию широкой публике в соответствии с Вашими основными целями и задачами. В каждом партнерском пакете предоставлены уникальные позиции, специально сформированные таким образом, что Вы наиболее точно и эффективно передаете обращение к целевой аудитории.",
|
"Партнерство выставки - это всегда больше, чем просто участие. Это прекрасная возможность выгодно подать Вашу продукцию широкой публике в соответствии с Вашими основными целями и задачами. В каждом партнерском пакете предоставлены уникальные позиции, специально сформированные таким образом, что Вы наиболее точно и эффективно передаете обращение к целевой аудитории.",
|
||||||
enText:
|
enText:
|
||||||
"Exhibition partnership is always more than just participation. It is a great opportunity to present your products to a wide audience in line with your goals and objectives. Each partnership package includes unique placements structured so you can communicate your message to the target audience as precisely and effectively as possible.",
|
"Exhibition partnership is always more than just participation. It is a great opportunity to present your products to a wide audience in line with your goals and objectives. Each partnership package includes unique placements structured so you can communicate your message to the target audience as precisely and effectively as possible.",
|
||||||
|
tmText:
|
||||||
|
"Serginiň hyzmatdaşlygy – bu diňe bir gatnaşmakdan has köp zatdyr. Bu öz önümleriňizi giň köpçülige hödürlemek üçin ajaýyp mümkinçilikdir. Her hyzmatdaşlyk paketinde maksatly auditoriýa iň takyk we netijeli ýol bilen ýüzlenmegiňiz üçin ýörite düzülen özboluşly orunlar bar.",
|
||||||
},
|
},
|
||||||
benefitsTitle: {
|
benefitsTitle: {
|
||||||
ruText: "Партнерство выставки Turkmen Textile позволит:",
|
ruText: "Партнерство выставки Turkmen Textile позволит:",
|
||||||
enText: "Partnership with Turkmen Textile will allow you:",
|
enText: "Partnership with Turkmen Textile will allow you:",
|
||||||
|
tmText: "Turkmen Textile sergisiniň hyzmatdaşlygy mümkinçilik berer:",
|
||||||
},
|
},
|
||||||
benefits: [
|
benefits: [
|
||||||
{
|
{
|
||||||
ruText: "Укрепить позиции Вашей компании на рынке.",
|
ruText: "Укрепить позиции Вашей компании на рынке.",
|
||||||
enText: "Strengthen your company's position in the market.",
|
enText: "Strengthen your company's position in the market.",
|
||||||
|
tmText: "Kompaniýaňyzyň bazardaky pozisiýasyny berkitmek.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Обеспечить существенное преимущество в конкурентной среде.",
|
ruText: "Обеспечить существенное преимущество в конкурентной среде.",
|
||||||
enText: "Gain a significant advantage in the competitive environment.",
|
enText: "Gain a significant advantage in the competitive environment.",
|
||||||
|
tmText: "Bäsdeşlik gurşawynda ep-esli artykmaçlyk gazanmak.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Закрепить имидж успешного бренда Вашей компании.",
|
ruText: "Закрепить имидж успешного бренда Вашей компании.",
|
||||||
enText: "Reinforce the image of your company as a successful brand.",
|
enText: "Reinforce the image of your company as a successful brand.",
|
||||||
|
tmText: "Kompaniýaňyzyň üstünlikli brend hökmünde abraýyny berkitmek.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText:
|
ruText:
|
||||||
"Сделать Вашу торговую марку узнаваемой для широкого круга участников и посетителей выставки.",
|
"Сделать Вашу торговую марку узнаваемой для широкого круга участников и посетителей выставки.",
|
||||||
enText:
|
enText:
|
||||||
"Make your trademark recognizable to a wide range of exhibition participants and visitors.",
|
"Make your trademark recognizable to a wide range of exhibition participants and visitors.",
|
||||||
|
tmText:
|
||||||
|
"Söwda belgiňizi serginiň gatnaşyjylarynyň we gelýänleriniň giň topary üçin tanalýan etmek.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Выделить Вашу компанию среди других участников.",
|
ruText: "Выделить Вашу компанию среди других участников.",
|
||||||
enText: "Stand out among other exhibitors.",
|
enText: "Stand out among other exhibitors.",
|
||||||
|
tmText: "Kompaniýaňyzy beýleki gatnaşyjylaryň arasynda tapawutlandyrmak.",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
highlight: {
|
highlight: {
|
||||||
|
|
@ -52,43 +64,54 @@ const partnerOpportunitiesContent = {
|
||||||
"Вы хотите, чтобы в профессиональной среде именно Вашу компанию считали ключевым игроком на рынке? Тогда заявите о себе громче всех!",
|
"Вы хотите, чтобы в профессиональной среде именно Вашу компанию считали ключевым игроком на рынке? Тогда заявите о себе громче всех!",
|
||||||
enText:
|
enText:
|
||||||
"Do you want your company to be seen as a key player in the professional community? Then make yourself heard louder than anyone else!",
|
"Do you want your company to be seen as a key player in the professional community? Then make yourself heard louder than anyone else!",
|
||||||
|
tmText:
|
||||||
|
"Siz professional gurşawda kompaniýaňyzyň bazardaky esasy oýunçy hökmünde tanalmagyny isleýärsiňizmi? Onda hemmelerden has gaty sesleniniň!",
|
||||||
},
|
},
|
||||||
packagesTitle: {
|
packagesTitle: {
|
||||||
ruText: "Варианты партнерских пакетов:",
|
ruText: "Варианты партнерских пакетов:",
|
||||||
enText: "Partnership package options:",
|
enText: "Partnership package options:",
|
||||||
|
tmText: "Hyzmatdaşlyk paketleriniň görnüşleri:",
|
||||||
},
|
},
|
||||||
packages: [
|
packages: [
|
||||||
{
|
{
|
||||||
ruText: "Генеральный партнер выставки",
|
ruText: "Генеральный партнер выставки",
|
||||||
enText: "General partner of the exhibition.",
|
enText: "General partner of the exhibition.",
|
||||||
|
tmText: "Serginiň baş hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер Ленты Ведущих Посетителей",
|
ruText: "Партнер Ленты Ведущих Посетителей",
|
||||||
enText: "Lead visitor lanyard partner.",
|
enText: "Lead visitor lanyard partner.",
|
||||||
|
tmText: "Öňdebaryjy gelýänleriň lentasynyň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер деловой программы",
|
ruText: "Партнер деловой программы",
|
||||||
enText: "Business program partner.",
|
enText: "Business program partner.",
|
||||||
|
tmText: "Işewür programmanyň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер вечернего приема",
|
ruText: "Партнер вечернего приема",
|
||||||
enText: "Evening reception partner.",
|
enText: "Evening reception partner.",
|
||||||
|
tmText: "Agşamky kabul edişligiň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер пакетов посетителей",
|
ruText: "Партнер пакетов посетителей",
|
||||||
enText: "Visitor package partner.",
|
enText: "Visitor package partner.",
|
||||||
|
tmText: "Gelýänleriň paketiniň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер каталога выставки",
|
ruText: "Партнер каталога выставки",
|
||||||
enText: "Exhibition catalog partner.",
|
enText: "Exhibition catalog partner.",
|
||||||
|
tmText: "Serginiň katalogynyň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер VIP делегации",
|
ruText: "Партнер VIP делегации",
|
||||||
enText: "VIP delegation partner.",
|
enText: "VIP delegation partner.",
|
||||||
|
tmText: "VIP delegasiýanyň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ruText: "Партнер выставки",
|
ruText: "Партнер выставки",
|
||||||
enText: "Exhibition partner.",
|
enText: "Exhibition partner.",
|
||||||
|
tmText: "Serginiň hyzmatdaşy",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
optionsNote: {
|
optionsNote: {
|
||||||
|
|
@ -96,6 +119,8 @@ const partnerOpportunitiesContent = {
|
||||||
"Данные опции являются базовыми, но мы всегда готовы обсудить вопрос о специальных проектах в рамках партнерства выставки, которые будут соответствовать Вашему бюджету, потребностям и целям.",
|
"Данные опции являются базовыми, но мы всегда готовы обсудить вопрос о специальных проектах в рамках партнерства выставки, которые будут соответствовать Вашему бюджету, потребностям и целям.",
|
||||||
enText:
|
enText:
|
||||||
"These options are basic, but we are always ready to discuss special projects within the exhibition partnership that match your budget, needs, and goals.",
|
"These options are basic, but we are always ready to discuss special projects within the exhibition partnership that match your budget, needs, and goals.",
|
||||||
|
tmText:
|
||||||
|
"Bu opsiýalar esasy opsiýalardyr, emma biz elmydama siziň býudjetiňize, zerurlyklarňyza we maksatlaryňyza laýyk gelýän ýörite taslamalary ara alyp maslahatlaşmaga taýýardyrys.",
|
||||||
},
|
},
|
||||||
contactNote: {
|
contactNote: {
|
||||||
text: {
|
text: {
|
||||||
|
|
@ -103,10 +128,13 @@ const partnerOpportunitiesContent = {
|
||||||
"По вопросам цен и дополнительных опций партнерских пакетов выставки KIFT, пожалуйста, обращайтесь к ",
|
"По вопросам цен и дополнительных опций партнерских пакетов выставки KIFT, пожалуйста, обращайтесь к ",
|
||||||
enText:
|
enText:
|
||||||
"For pricing and additional options of KIFT exhibition partnership packages, please contact the ",
|
"For pricing and additional options of KIFT exhibition partnership packages, please contact the ",
|
||||||
|
tmText:
|
||||||
|
"Serginiň hyzmatdaşlyk paketleriniň bahalary we goşmaça opsiýalary boýunça haýyş edýäris, ýüz tutuň ",
|
||||||
},
|
},
|
||||||
linkText: {
|
linkText: {
|
||||||
ruText: "ОРГАНИЗАТОРАМ",
|
ruText: "ОРГАНИЗАТОРАМ",
|
||||||
enText: "ORGANIZERS",
|
enText: "ORGANIZERS",
|
||||||
|
tmText: "GURAMAÇYLARA",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
@ -114,8 +142,8 @@ const partnerOpportunitiesContent = {
|
||||||
export default function PartnerOpportunities() {
|
export default function PartnerOpportunities() {
|
||||||
useScrollTop();
|
useScrollTop();
|
||||||
const lang = useLangStore((state) => state.lang);
|
const lang = useLangStore((state) => state.lang);
|
||||||
const getText = (item: { ruText: string; enText: string }) =>
|
const getText = (item: { ruText: string; enText: string; tmText?: string }) =>
|
||||||
lang === "ru" ? item.ruText : item.enText;
|
lang === "ru" ? item.ruText : lang === "tm" ? (item.tmText ?? item.enText) : item.enText;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,11 @@ import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group";
|
||||||
import { AnimatePresence, motion } from "motion/react";
|
import { AnimatePresence, motion } from "motion/react";
|
||||||
import {
|
import {
|
||||||
standDefaultValues,
|
standDefaultValues,
|
||||||
standFormSchema,
|
createStandFormSchema,
|
||||||
StandFormType,
|
StandFormType,
|
||||||
} from "@/lib/get-stend-form-details";
|
} from "@/lib/get-stend-form-details";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { Loader } from "lucide-react";
|
import { Loader } from "lucide-react";
|
||||||
import { Cover } from "@/components/layout";
|
import { Cover } from "@/components/layout";
|
||||||
|
|
@ -30,6 +30,7 @@ export default function StendForm() {
|
||||||
|
|
||||||
const lang = useLangStore((state) => state.lang);
|
const lang = useLangStore((state) => state.lang);
|
||||||
const [success, setSuccess] = useState(false);
|
const [success, setSuccess] = useState(false);
|
||||||
|
const standFormSchema = useMemo(() => createStandFormSchema(lang), [lang]);
|
||||||
const form = useForm<StandFormType>({
|
const form = useForm<StandFormType>({
|
||||||
resolver: zodResolver(standFormSchema),
|
resolver: zodResolver(standFormSchema),
|
||||||
defaultValues: standDefaultValues,
|
defaultValues: standDefaultValues,
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ export const getExhibitionTime = async (lang: LangState["lang"]) => {
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getNews = async (lang: "ru" | "en") => {
|
export const getNews = async (lang: "ru" | "en" | "tm") => {
|
||||||
const data = axios_url.get<NewsType>(`news?per_page=100`, {
|
const data = axios_url.get<NewsType>(`news?per_page=100`, {
|
||||||
headers: {
|
headers: {
|
||||||
"Accept-Language": lang,
|
"Accept-Language": lang,
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,11 @@ import { persist } from "zustand/middleware";
|
||||||
export enum Language {
|
export enum Language {
|
||||||
EN = "en",
|
EN = "en",
|
||||||
RU = "ru",
|
RU = "ru",
|
||||||
|
TM = "tm",
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface LangState {
|
export interface LangState {
|
||||||
lang: "ru" | "en";
|
lang: "ru" | "en" | "tm";
|
||||||
setLang: (lang: Language) => void;
|
setLang: (lang: Language) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue