From 4cc8f2546825b9d2bfe600417bd211db2b9b4e04 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 3 Jan 2024 15:31:42 +0000 Subject: [PATCH] deploy: 91015f197ecebf34e80010ff5ee32fda1e250240 --- 404.html | 6 +- admin-panel/index.html | 6 +- ai-voice-generator/index.html | 6 +- ...tyles.2766a9d3.css => styles.d04ece21.css} | 2 +- assets/js/1842627e.682c2cc7.js | 1 - assets/js/1842627e.c9c18d2b.js | 1 + .../js/1df93b7f.c6a8adb1.js | 2 +- ...afaf9.fed72d30.js => 31eafaf9.0793747c.js} | 2 +- ...dfbd1.290b3f49.js => 354dfbd1.f561733e.js} | 2 +- ...a0203.dcaa8c98.js => 3dca0203.83242d7c.js} | 2 +- ...1f11b.6427c4cb.js => 4a61f11b.e71f3135.js} | 2 +- ...3e123.87ad660d.js => 4a83e123.4b7a7c32.js} | 2 +- assets/js/5cd65baf.a510e86e.js | 1 - assets/js/5cd65baf.e6f9c529.js | 1 + ...8ec6a.52e047f0.js => 5f78ec6a.eefa2441.js} | 2 +- ...9edbe.6c5927fc.js => 6d69edbe.e648c40c.js} | 2 +- assets/js/72d3bf7a.579d4e73.js | 1 - assets/js/72d3bf7a.d3ba1667.js | 1 + assets/js/88d8af9f.4464c94b.js | 1 - assets/js/88d8af9f.93f1c73b.js | 1 + assets/js/96447363.f6ed57ae.js | 1 + assets/js/96447363.f83450d4.js | 1 - ...b34d2.fbc47a25.js => b6eb34d2.b839fadc.js} | 2 +- assets/js/bb85b74d.f9f05281.js | 1 - assets/js/bb85b74d.fbdb2ae3.js | 1 + assets/js/e20c763e.923480b9.js | 1 - assets/js/e20c763e.99469908.js | 1 + assets/js/e765f05a.927194e9.js | 1 + assets/js/e765f05a.a65c114c.js | 1 - .../js/{main.2bb0cb21.js => main.f43b4b78.js} | 4 +- ...CENSE.txt => main.f43b4b78.js.LICENSE.txt} | 0 ...n.7345fa3c.js => runtime~main.cf8aea03.js} | 2 +- blog/atom.xml | 98 +++++++++---------- blog/backend-create-web-ui/index.html | 12 +-- blog/build-dashboard/index.html | 12 +-- blog/feed.json | 44 ++++----- blog/index.html | 8 +- blog/lowcode-vs-traditional/index.html | 12 +-- blog/mui-2024/index.html | 12 +-- blog/nvm-use-2024/index.html | 12 +-- blog/rss.xml | 90 ++++++++--------- blog/shadcn-ui-2024/index.html | 12 +-- blog/shadcn-vs-mui/index.html | 12 +-- blog/tags/admin-panel/index.html | 8 +- blog/tags/data-dashboard/index.html | 8 +- blog/tags/index.html | 6 +- blog/tags/internal-tools/index.html | 8 +- blog/tags/javascript/index.html | 8 +- blog/tags/low-code/index.html | 8 +- blog/tags/mac/index.html | 8 +- blog/tags/nodejs/index.html | 8 +- blog/tags/nvm/index.html | 8 +- blog/tags/open-source/index.html | 8 +- blog/tags/react/index.html | 8 +- blog/tags/shadcn-ui/index.html | 8 +- blog/tags/traditional-development/index.html | 8 +- blog/tags/ui-library/index.html | 8 +- .../index.html | 10 +- cms/index.html | 6 +- components/Audio/index.html | 6 +- components/BarProgress/index.html | 6 +- components/Button/index.html | 6 +- components/Carousel/index.html | 6 +- components/Cascader/index.html | 6 +- components/Chart/index.html | 6 +- components/CheckboxGroup/index.html | 6 +- components/CircleProgress/index.html | 6 +- components/Container/index.html | 6 +- components/Date/index.html | 6 +- components/DateRange/index.html | 6 +- components/DateTime/index.html | 6 +- components/Divider/index.html | 6 +- components/EditableText/index.html | 6 +- components/Form/index.html | 6 +- components/Icon/index.html | 6 +- components/Image/index.html | 6 +- components/Input/index.html | 6 +- components/List/index.html | 6 +- components/Menu/index.html | 6 +- components/Modal/index.html | 6 +- components/Multiselect/index.html | 6 +- components/NumberInput/index.html | 6 +- components/PDF/index.html | 6 +- components/RadioButton/index.html | 6 +- components/RadioGroup/index.html | 6 +- components/Rate/index.html | 6 +- components/Select/index.html | 6 +- components/Statistics/index.html | 6 +- components/Switch/index.html | 6 +- components/Tables/index.html | 6 +- components/Tabs/index.html | 6 +- components/Text/index.html | 6 +- components/Textarea%20Input/index.html | 6 +- components/Timeline/index.html | 6 +- components/Upload/index.html | 6 +- components/Video/index.html | 6 +- components/index.html | 6 +- crm/index.html | 6 +- dashboard/index.html | 6 +- de/404.html | 6 +- de/admin-panel/index.html | 6 +- de/ai-voice-generator/index.html | 6 +- ...tyles.37fd5ffb.css => styles.7a15e33f.css} | 2 +- de/assets/js/1842627e.50bd85e0.js | 1 + de/assets/js/1842627e.87b363d4.js | 1 - .../assets/js/1df93b7f.c6a8adb1.js | 2 +- ...afaf9.df3c804c.js => 31eafaf9.6987740c.js} | 2 +- ...dfbd1.9b5e4865.js => 354dfbd1.54489368.js} | 2 +- ...a0203.34d2e42b.js => 3dca0203.335ac0e2.js} | 2 +- ...1f11b.ee7c63e0.js => 4a61f11b.d53e6eae.js} | 2 +- ...3e123.9060f120.js => 4a83e123.534ac1a2.js} | 2 +- ...65baf.09a21917.js => 5cd65baf.306f314f.js} | 2 +- ...8ec6a.9de9618a.js => 5f78ec6a.e94c18cc.js} | 2 +- ...9edbe.b5f01cec.js => 6d69edbe.6b1f86d0.js} | 2 +- ...3bf7a.041a490a.js => 72d3bf7a.e46612c3.js} | 2 +- de/assets/js/88d8af9f.77ea1414.js | 1 + de/assets/js/88d8af9f.d9be0639.js | 1 - ...47363.957b338c.js => 96447363.a328ae39.js} | 2 +- ...b34d2.c892cbd0.js => b6eb34d2.0f328ea0.js} | 2 +- ...5b74d.76a61702.js => bb85b74d.3953cb9f.js} | 2 +- ...c763e.04cf3dc7.js => e20c763e.3f7c0bee.js} | 2 +- ...5f05a.40fbde2c.js => e765f05a.dc3e2a4b.js} | 2 +- .../js/{main.90fd4256.js => main.cde0ebb4.js} | 4 +- ...CENSE.txt => main.cde0ebb4.js.LICENSE.txt} | 0 ...n.5ee70e1a.js => runtime~main.3e9a9dd6.js} | 2 +- de/blog/atom.xml | 18 ++-- de/blog/backend-create-web-ui/index.html | 12 +-- de/blog/build-dashboard/index.html | 12 +-- de/blog/feed.json | 16 +-- de/blog/index.html | 8 +- de/blog/lowcode-vs-traditional/index.html | 12 +-- de/blog/mui-2024/index.html | 12 +-- de/blog/nvm-use-2024/index.html | 12 +-- de/blog/rss.xml | 18 ++-- de/blog/shadcn-ui-2024/index.html | 12 +-- de/blog/shadcn-vs-mui/index.html | 12 +-- de/blog/tags/admin-panel/index.html | 8 +- de/blog/tags/data-dashboard/index.html | 8 +- de/blog/tags/index.html | 6 +- de/blog/tags/internal-tools/index.html | 8 +- de/blog/tags/javascript/index.html | 8 +- de/blog/tags/low-code/index.html | 8 +- de/blog/tags/mac/index.html | 8 +- de/blog/tags/nodejs/index.html | 8 +- de/blog/tags/nvm/index.html | 8 +- de/blog/tags/open-source/index.html | 8 +- de/blog/tags/react/index.html | 8 +- de/blog/tags/shadcn-ui/index.html | 8 +- .../tags/traditional-development/index.html | 8 +- de/blog/tags/ui-library/index.html | 8 +- .../index.html | 10 +- de/cms/index.html | 6 +- de/components/Audio/index.html | 6 +- de/components/BarProgress/index.html | 6 +- de/components/Button/index.html | 6 +- de/components/Carousel/index.html | 6 +- de/components/Cascader/index.html | 6 +- de/components/Chart/index.html | 6 +- de/components/CheckboxGroup/index.html | 6 +- de/components/CircleProgress/index.html | 6 +- de/components/Container/index.html | 6 +- de/components/Date/index.html | 6 +- de/components/DateRange/index.html | 6 +- de/components/DateTime/index.html | 6 +- de/components/Divider/index.html | 6 +- de/components/EditableText/index.html | 6 +- de/components/Form/index.html | 6 +- de/components/Icon/index.html | 6 +- de/components/Image/index.html | 6 +- de/components/Input/index.html | 6 +- de/components/List/index.html | 6 +- de/components/Menu/index.html | 6 +- de/components/Modal/index.html | 6 +- de/components/Multiselect/index.html | 6 +- de/components/NumberInput/index.html | 6 +- de/components/PDF/index.html | 6 +- de/components/RadioButton/index.html | 6 +- de/components/RadioGroup/index.html | 6 +- de/components/Rate/index.html | 6 +- de/components/Select/index.html | 6 +- de/components/Statistics/index.html | 6 +- de/components/Switch/index.html | 6 +- de/components/Tables/index.html | 6 +- de/components/Tabs/index.html | 6 +- de/components/Text/index.html | 6 +- de/components/Textarea%20Input/index.html | 6 +- de/components/Timeline/index.html | 6 +- de/components/Upload/index.html | 6 +- de/components/Video/index.html | 6 +- de/components/index.html | 6 +- de/crm/index.html | 6 +- de/dashboard/index.html | 6 +- de/image-generator/index.html | 6 +- de/index.html | 8 +- de/integrations/Airtable/index.html | 6 +- de/integrations/AmazonDynamoDB/index.html | 6 +- de/integrations/Appwrite/index.html | 6 +- de/integrations/Clickhouse/index.html | 6 +- de/integrations/CouchDB/index.html | 6 +- de/integrations/ElasticSearch/index.html | 6 +- de/integrations/Firebase/index.html | 6 +- de/integrations/GoogleSheets/index.html | 6 +- de/integrations/GraphQL/index.html | 6 +- .../HuggingFaceInferenceAPI/index.html | 6 +- .../HuggingFaceInferenceEndpoint/index.html | 6 +- de/integrations/Hydra/index.html | 6 +- de/integrations/MariaDB/index.html | 6 +- de/integrations/MicrosoftSQLServer/index.html | 6 +- de/integrations/MongoDB/index.html | 6 +- de/integrations/MySQL/index.html | 6 +- de/integrations/Neon/index.html | 6 +- de/integrations/OracleDB/index.html | 6 +- de/integrations/PostgreSQL/index.html | 6 +- de/integrations/RESTAPI/index.html | 6 +- de/integrations/Redis/index.html | 6 +- de/integrations/S3/index.html | 6 +- de/integrations/SMTP/index.html | 6 +- de/integrations/Snowflake/index.html | 6 +- de/integrations/SupabaseDB/index.html | 6 +- de/integrations/TiDB/index.html | 6 +- de/integrations/index.html | 6 +- de/pricing/index.html | 6 +- image-generator/index.html | 6 +- index.html | 8 +- integrations/Airtable/index.html | 6 +- integrations/AmazonDynamoDB/index.html | 6 +- integrations/Appwrite/index.html | 6 +- integrations/Clickhouse/index.html | 6 +- integrations/CouchDB/index.html | 6 +- integrations/ElasticSearch/index.html | 6 +- integrations/Firebase/index.html | 6 +- integrations/GoogleSheets/index.html | 6 +- integrations/GraphQL/index.html | 6 +- .../HuggingFaceInferenceAPI/index.html | 6 +- .../HuggingFaceInferenceEndpoint/index.html | 6 +- integrations/Hydra/index.html | 6 +- integrations/MariaDB/index.html | 6 +- integrations/MicrosoftSQLServer/index.html | 6 +- integrations/MongoDB/index.html | 6 +- integrations/MySQL/index.html | 6 +- integrations/Neon/index.html | 6 +- integrations/OracleDB/index.html | 6 +- integrations/PostgreSQL/index.html | 6 +- integrations/RESTAPI/index.html | 6 +- integrations/Redis/index.html | 6 +- integrations/S3/index.html | 6 +- integrations/SMTP/index.html | 6 +- integrations/Snowflake/index.html | 6 +- integrations/SupabaseDB/index.html | 6 +- integrations/TiDB/index.html | 6 +- integrations/index.html | 6 +- ja/404.html | 6 +- ja/admin-panel/index.html | 6 +- ja/ai-voice-generator/index.html | 6 +- ...tyles.0c726779.css => styles.768af922.css} | 2 +- ja/assets/js/1842627e.7511c2ff.js | 1 + ja/assets/js/1842627e.deda726c.js | 1 - .../assets/js/1df93b7f.c6a8adb1.js | 2 +- ...afaf9.a0cdd077.js => 31eafaf9.e8785c7b.js} | 2 +- ...dfbd1.9fe06c27.js => 354dfbd1.91887c8a.js} | 2 +- ...a0203.0c12c321.js => 3dca0203.82332347.js} | 2 +- .../assets/js/4a61f11b.0dea53c0.js | 2 +- ...3e123.b0217b08.js => 4a83e123.ab6b9b15.js} | 2 +- ...65baf.9614bf49.js => 5cd65baf.2290cac6.js} | 2 +- ...8ec6a.0f2c3a59.js => 5f78ec6a.21f557b8.js} | 2 +- ...9edbe.26542af8.js => 6d69edbe.5fe8d533.js} | 2 +- ...3bf7a.aa1a9de1.js => 72d3bf7a.1e793f19.js} | 2 +- ja/assets/js/88d8af9f.2ce97f00.js | 1 + ja/assets/js/88d8af9f.bbcda779.js | 1 - ...47363.7e8b716f.js => 96447363.e38d70b3.js} | 2 +- .../assets/js/b6eb34d2.87ea1bbf.js | 2 +- ...5b74d.3804da13.js => bb85b74d.33fe1a0e.js} | 2 +- ...c763e.431fdc49.js => e20c763e.842e4bf1.js} | 2 +- ...5f05a.1f9a64fc.js => e765f05a.bc5cec9c.js} | 2 +- .../js/{main.c91ede21.js => main.7288e62e.js} | 4 +- ...CENSE.txt => main.7288e62e.js.LICENSE.txt} | 0 ...n.2124305a.js => runtime~main.106910cc.js} | 2 +- ja/blog/atom.xml | 18 ++-- ja/blog/backend-create-web-ui/index.html | 12 +-- ja/blog/build-dashboard/index.html | 12 +-- ja/blog/feed.json | 16 +-- ja/blog/index.html | 8 +- ja/blog/lowcode-vs-traditional/index.html | 12 +-- ja/blog/mui-2024/index.html | 12 +-- ja/blog/nvm-use-2024/index.html | 12 +-- ja/blog/rss.xml | 18 ++-- ja/blog/shadcn-ui-2024/index.html | 12 +-- ja/blog/shadcn-vs-mui/index.html | 12 +-- ja/blog/tags/admin-panel/index.html | 8 +- ja/blog/tags/data-dashboard/index.html | 8 +- ja/blog/tags/index.html | 6 +- ja/blog/tags/internal-tools/index.html | 8 +- ja/blog/tags/javascript/index.html | 8 +- ja/blog/tags/low-code/index.html | 8 +- ja/blog/tags/mac/index.html | 8 +- ja/blog/tags/nodejs/index.html | 8 +- ja/blog/tags/nvm/index.html | 8 +- ja/blog/tags/open-source/index.html | 8 +- ja/blog/tags/react/index.html | 8 +- ja/blog/tags/shadcn-ui/index.html | 8 +- .../tags/traditional-development/index.html | 8 +- ja/blog/tags/ui-library/index.html | 8 +- .../index.html | 10 +- ja/cms/index.html | 6 +- ja/components/Audio/index.html | 6 +- ja/components/BarProgress/index.html | 6 +- ja/components/Button/index.html | 6 +- ja/components/Carousel/index.html | 6 +- ja/components/Cascader/index.html | 6 +- ja/components/Chart/index.html | 6 +- ja/components/CheckboxGroup/index.html | 6 +- ja/components/CircleProgress/index.html | 6 +- ja/components/Container/index.html | 6 +- ja/components/Date/index.html | 6 +- ja/components/DateRange/index.html | 6 +- ja/components/DateTime/index.html | 6 +- ja/components/Divider/index.html | 6 +- ja/components/EditableText/index.html | 6 +- ja/components/Form/index.html | 6 +- ja/components/Icon/index.html | 6 +- ja/components/Image/index.html | 6 +- ja/components/Input/index.html | 6 +- ja/components/List/index.html | 6 +- ja/components/Menu/index.html | 6 +- ja/components/Modal/index.html | 6 +- ja/components/Multiselect/index.html | 6 +- ja/components/NumberInput/index.html | 6 +- ja/components/PDF/index.html | 6 +- ja/components/RadioButton/index.html | 6 +- ja/components/RadioGroup/index.html | 6 +- ja/components/Rate/index.html | 6 +- ja/components/Select/index.html | 6 +- ja/components/Statistics/index.html | 6 +- ja/components/Switch/index.html | 6 +- ja/components/Tables/index.html | 6 +- ja/components/Tabs/index.html | 6 +- ja/components/Text/index.html | 6 +- ja/components/Textarea%20Input/index.html | 6 +- ja/components/Timeline/index.html | 6 +- ja/components/Upload/index.html | 6 +- ja/components/Video/index.html | 6 +- ja/components/index.html | 6 +- ja/crm/index.html | 6 +- ja/dashboard/index.html | 6 +- ja/image-generator/index.html | 6 +- ja/index.html | 8 +- ja/integrations/Airtable/index.html | 6 +- ja/integrations/AmazonDynamoDB/index.html | 6 +- ja/integrations/Appwrite/index.html | 6 +- ja/integrations/Clickhouse/index.html | 6 +- ja/integrations/CouchDB/index.html | 6 +- ja/integrations/ElasticSearch/index.html | 6 +- ja/integrations/Firebase/index.html | 6 +- ja/integrations/GoogleSheets/index.html | 6 +- ja/integrations/GraphQL/index.html | 6 +- .../HuggingFaceInferenceAPI/index.html | 6 +- .../HuggingFaceInferenceEndpoint/index.html | 6 +- ja/integrations/Hydra/index.html | 6 +- ja/integrations/MariaDB/index.html | 6 +- ja/integrations/MicrosoftSQLServer/index.html | 6 +- ja/integrations/MongoDB/index.html | 6 +- ja/integrations/MySQL/index.html | 6 +- ja/integrations/Neon/index.html | 6 +- ja/integrations/OracleDB/index.html | 6 +- ja/integrations/PostgreSQL/index.html | 6 +- ja/integrations/RESTAPI/index.html | 6 +- ja/integrations/Redis/index.html | 6 +- ja/integrations/S3/index.html | 6 +- ja/integrations/SMTP/index.html | 6 +- ja/integrations/Snowflake/index.html | 6 +- ja/integrations/SupabaseDB/index.html | 6 +- ja/integrations/TiDB/index.html | 6 +- ja/integrations/index.html | 6 +- ja/pricing/index.html | 6 +- pricing/index.html | 6 +- zh/404.html | 6 +- zh/admin-panel/index.html | 6 +- zh/ai-voice-generator/index.html | 6 +- ...tyles.98309625.css => styles.dd55e9d7.css} | 2 +- zh/assets/js/1842627e.0eb71650.js | 1 + zh/assets/js/1842627e.609edd6c.js | 1 - ...93b7f.93c94f4a.js => 1df93b7f.c6a8adb1.js} | 2 +- ...afaf9.5a7759f0.js => 31eafaf9.6f926b61.js} | 2 +- ...dfbd1.678d2cef.js => 354dfbd1.354add21.js} | 2 +- ...a0203.b1b54c5e.js => 3dca0203.4cad25c7.js} | 2 +- .../assets/js/4a61f11b.1737b985.js | 2 +- ...3e123.24c53d6c.js => 4a83e123.1d8ebed7.js} | 2 +- ...65baf.37395c21.js => 5cd65baf.dd27b34b.js} | 2 +- ...8ec6a.c3229286.js => 5f78ec6a.04488960.js} | 2 +- ...9edbe.110568e5.js => 6d69edbe.0d1aed15.js} | 2 +- ...3bf7a.241cd4dc.js => 72d3bf7a.eacb88ac.js} | 2 +- zh/assets/js/771a2950.d12921b0.js | 1 - zh/assets/js/771a2950.ee265a88.js | 1 + zh/assets/js/88d8af9f.cc2c4f5f.js | 1 - zh/assets/js/88d8af9f.edf7174e.js | 1 + zh/assets/js/9591b7e9.196604a0.js | 1 - zh/assets/js/9591b7e9.dcedc0c4.js | 1 + ...47363.3dea38b5.js => 96447363.b71d4b1d.js} | 2 +- .../assets/js/b6eb34d2.d2f9f83c.js | 2 +- ...5b74d.5c5dc4ec.js => bb85b74d.17c03911.js} | 2 +- ...c763e.2bc10c76.js => e20c763e.37d16f91.js} | 2 +- ...5f05a.ebc845b4.js => e765f05a.2221d221.js} | 2 +- .../js/{main.7d876d53.js => main.c51e1297.js} | 4 +- ...CENSE.txt => main.c51e1297.js.LICENSE.txt} | 0 ...n.68dec3ea.js => runtime~main.3d9d8ec7.js} | 2 +- zh/blog/atom.xml | 18 ++-- zh/blog/backend-create-web-ui/index.html | 12 +-- zh/blog/build-dashboard/index.html | 12 +-- zh/blog/feed.json | 16 +-- zh/blog/index.html | 8 +- zh/blog/lowcode-vs-traditional/index.html | 12 +-- zh/blog/mui-2024/index.html | 12 +-- zh/blog/nvm-use-2024/index.html | 12 +-- zh/blog/rss.xml | 18 ++-- zh/blog/shadcn-ui-2024/index.html | 12 +-- zh/blog/shadcn-vs-mui/index.html | 12 +-- zh/blog/tags/admin-panel/index.html | 8 +- zh/blog/tags/data-dashboard/index.html | 8 +- zh/blog/tags/index.html | 6 +- zh/blog/tags/internal-tools/index.html | 8 +- zh/blog/tags/javascript/index.html | 8 +- zh/blog/tags/low-code/index.html | 8 +- zh/blog/tags/mac/index.html | 8 +- zh/blog/tags/nodejs/index.html | 8 +- zh/blog/tags/nvm/index.html | 8 +- zh/blog/tags/open-source/index.html | 8 +- zh/blog/tags/react/index.html | 8 +- zh/blog/tags/shadcn-ui/index.html | 8 +- .../tags/traditional-development/index.html | 8 +- zh/blog/tags/ui-library/index.html | 8 +- .../index.html | 10 +- zh/cms/index.html | 6 +- zh/components/Audio/index.html | 6 +- zh/components/BarProgress/index.html | 6 +- zh/components/Button/index.html | 6 +- zh/components/Carousel/index.html | 6 +- zh/components/Cascader/index.html | 6 +- zh/components/Chart/index.html | 6 +- zh/components/CheckboxGroup/index.html | 6 +- zh/components/CircleProgress/index.html | 6 +- zh/components/Container/index.html | 6 +- zh/components/Date/index.html | 6 +- zh/components/DateRange/index.html | 6 +- zh/components/DateTime/index.html | 6 +- zh/components/Divider/index.html | 6 +- zh/components/EditableText/index.html | 6 +- zh/components/Form/index.html | 6 +- zh/components/Icon/index.html | 6 +- zh/components/Image/index.html | 6 +- zh/components/Input/index.html | 6 +- zh/components/List/index.html | 6 +- zh/components/Menu/index.html | 6 +- zh/components/Modal/index.html | 6 +- zh/components/Multiselect/index.html | 6 +- zh/components/NumberInput/index.html | 6 +- zh/components/PDF/index.html | 6 +- zh/components/RadioButton/index.html | 6 +- zh/components/RadioGroup/index.html | 6 +- zh/components/Rate/index.html | 6 +- zh/components/Select/index.html | 6 +- zh/components/Statistics/index.html | 6 +- zh/components/Switch/index.html | 6 +- zh/components/Tables/index.html | 6 +- zh/components/Tabs/index.html | 6 +- zh/components/Text/index.html | 6 +- zh/components/Textarea%20Input/index.html | 6 +- zh/components/Timeline/index.html | 6 +- zh/components/Upload/index.html | 6 +- zh/components/Video/index.html | 6 +- zh/components/index.html | 6 +- zh/crm/index.html | 22 ++--- zh/dashboard/index.html | 26 +++-- zh/image-generator/index.html | 6 +- zh/index.html | 8 +- zh/integrations/Airtable/index.html | 6 +- zh/integrations/AmazonDynamoDB/index.html | 6 +- zh/integrations/Appwrite/index.html | 6 +- zh/integrations/Clickhouse/index.html | 6 +- zh/integrations/CouchDB/index.html | 6 +- zh/integrations/ElasticSearch/index.html | 6 +- zh/integrations/Firebase/index.html | 6 +- zh/integrations/GoogleSheets/index.html | 6 +- zh/integrations/GraphQL/index.html | 6 +- .../HuggingFaceInferenceAPI/index.html | 6 +- .../HuggingFaceInferenceEndpoint/index.html | 6 +- zh/integrations/Hydra/index.html | 6 +- zh/integrations/MariaDB/index.html | 6 +- zh/integrations/MicrosoftSQLServer/index.html | 6 +- zh/integrations/MongoDB/index.html | 6 +- zh/integrations/MySQL/index.html | 6 +- zh/integrations/Neon/index.html | 6 +- zh/integrations/OracleDB/index.html | 6 +- zh/integrations/PostgreSQL/index.html | 6 +- zh/integrations/RESTAPI/index.html | 6 +- zh/integrations/Redis/index.html | 6 +- zh/integrations/S3/index.html | 6 +- zh/integrations/SMTP/index.html | 6 +- zh/integrations/Snowflake/index.html | 6 +- zh/integrations/SupabaseDB/index.html | 6 +- zh/integrations/TiDB/index.html | 6 +- zh/integrations/index.html | 6 +- zh/pricing/index.html | 6 +- 502 files changed, 1610 insertions(+), 1618 deletions(-) rename assets/css/{styles.2766a9d3.css => styles.d04ece21.css} (99%) delete mode 100644 assets/js/1842627e.682c2cc7.js create mode 100644 assets/js/1842627e.c9c18d2b.js rename de/assets/js/1df93b7f.93c94f4a.js => assets/js/1df93b7f.c6a8adb1.js (84%) rename assets/js/{31eafaf9.fed72d30.js => 31eafaf9.0793747c.js} (99%) rename assets/js/{354dfbd1.290b3f49.js => 354dfbd1.f561733e.js} (99%) rename assets/js/{3dca0203.dcaa8c98.js => 3dca0203.83242d7c.js} (99%) rename assets/js/{4a61f11b.6427c4cb.js => 4a61f11b.e71f3135.js} (72%) rename assets/js/{4a83e123.87ad660d.js => 4a83e123.4b7a7c32.js} (99%) delete mode 100644 assets/js/5cd65baf.a510e86e.js create mode 100644 assets/js/5cd65baf.e6f9c529.js rename assets/js/{5f78ec6a.52e047f0.js => 5f78ec6a.eefa2441.js} (98%) rename assets/js/{6d69edbe.6c5927fc.js => 6d69edbe.e648c40c.js} (98%) delete mode 100644 assets/js/72d3bf7a.579d4e73.js create mode 100644 assets/js/72d3bf7a.d3ba1667.js delete mode 100644 assets/js/88d8af9f.4464c94b.js create mode 100644 assets/js/88d8af9f.93f1c73b.js create mode 100644 assets/js/96447363.f6ed57ae.js delete mode 100644 assets/js/96447363.f83450d4.js rename assets/js/{b6eb34d2.fbc47a25.js => b6eb34d2.b839fadc.js} (72%) delete mode 100644 assets/js/bb85b74d.f9f05281.js create mode 100644 assets/js/bb85b74d.fbdb2ae3.js delete mode 100644 assets/js/e20c763e.923480b9.js create mode 100644 assets/js/e20c763e.99469908.js create mode 100644 assets/js/e765f05a.927194e9.js delete mode 100644 assets/js/e765f05a.a65c114c.js rename assets/js/{main.2bb0cb21.js => main.f43b4b78.js} (96%) rename assets/js/{main.2bb0cb21.js.LICENSE.txt => main.f43b4b78.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.7345fa3c.js => runtime~main.cf8aea03.js} (90%) rename de/assets/css/{styles.37fd5ffb.css => styles.7a15e33f.css} (99%) create mode 100644 de/assets/js/1842627e.50bd85e0.js delete mode 100644 de/assets/js/1842627e.87b363d4.js rename ja/assets/js/1df93b7f.93c94f4a.js => de/assets/js/1df93b7f.c6a8adb1.js (84%) rename de/assets/js/{31eafaf9.df3c804c.js => 31eafaf9.6987740c.js} (99%) rename de/assets/js/{354dfbd1.9b5e4865.js => 354dfbd1.54489368.js} (99%) rename de/assets/js/{3dca0203.34d2e42b.js => 3dca0203.335ac0e2.js} (99%) rename de/assets/js/{4a61f11b.ee7c63e0.js => 4a61f11b.d53e6eae.js} (98%) rename de/assets/js/{4a83e123.9060f120.js => 4a83e123.534ac1a2.js} (99%) rename de/assets/js/{5cd65baf.09a21917.js => 5cd65baf.306f314f.js} (79%) rename de/assets/js/{5f78ec6a.9de9618a.js => 5f78ec6a.e94c18cc.js} (84%) rename de/assets/js/{6d69edbe.b5f01cec.js => 6d69edbe.6b1f86d0.js} (84%) rename de/assets/js/{72d3bf7a.041a490a.js => 72d3bf7a.e46612c3.js} (79%) create mode 100644 de/assets/js/88d8af9f.77ea1414.js delete mode 100644 de/assets/js/88d8af9f.d9be0639.js rename de/assets/js/{96447363.957b338c.js => 96447363.a328ae39.js} (98%) rename de/assets/js/{b6eb34d2.c892cbd0.js => b6eb34d2.0f328ea0.js} (98%) rename de/assets/js/{bb85b74d.76a61702.js => bb85b74d.3953cb9f.js} (98%) rename de/assets/js/{e20c763e.04cf3dc7.js => e20c763e.3f7c0bee.js} (98%) rename de/assets/js/{e765f05a.40fbde2c.js => e765f05a.dc3e2a4b.js} (98%) rename de/assets/js/{main.90fd4256.js => main.cde0ebb4.js} (74%) rename de/assets/js/{main.90fd4256.js.LICENSE.txt => main.cde0ebb4.js.LICENSE.txt} (100%) rename de/assets/js/{runtime~main.5ee70e1a.js => runtime~main.3e9a9dd6.js} (64%) rename ja/assets/css/{styles.0c726779.css => styles.768af922.css} (99%) create mode 100644 ja/assets/js/1842627e.7511c2ff.js delete mode 100644 ja/assets/js/1842627e.deda726c.js rename assets/js/1df93b7f.93c94f4a.js => ja/assets/js/1df93b7f.c6a8adb1.js (84%) rename ja/assets/js/{31eafaf9.a0cdd077.js => 31eafaf9.e8785c7b.js} (99%) rename ja/assets/js/{354dfbd1.9fe06c27.js => 354dfbd1.91887c8a.js} (99%) rename ja/assets/js/{3dca0203.0c12c321.js => 3dca0203.82332347.js} (99%) rename zh/assets/js/4a61f11b.11335b41.js => ja/assets/js/4a61f11b.0dea53c0.js (93%) rename ja/assets/js/{4a83e123.b0217b08.js => 4a83e123.ab6b9b15.js} (99%) rename ja/assets/js/{5cd65baf.9614bf49.js => 5cd65baf.2290cac6.js} (98%) rename ja/assets/js/{5f78ec6a.0f2c3a59.js => 5f78ec6a.21f557b8.js} (83%) rename ja/assets/js/{6d69edbe.26542af8.js => 6d69edbe.5fe8d533.js} (83%) rename ja/assets/js/{72d3bf7a.aa1a9de1.js => 72d3bf7a.1e793f19.js} (98%) create mode 100644 ja/assets/js/88d8af9f.2ce97f00.js delete mode 100644 ja/assets/js/88d8af9f.bbcda779.js rename ja/assets/js/{96447363.7e8b716f.js => 96447363.e38d70b3.js} (98%) rename zh/assets/js/b6eb34d2.6a391d11.js => ja/assets/js/b6eb34d2.87ea1bbf.js (93%) rename ja/assets/js/{bb85b74d.3804da13.js => bb85b74d.33fe1a0e.js} (98%) rename ja/assets/js/{e20c763e.431fdc49.js => e20c763e.842e4bf1.js} (98%) rename ja/assets/js/{e765f05a.1f9a64fc.js => e765f05a.bc5cec9c.js} (98%) rename ja/assets/js/{main.c91ede21.js => main.7288e62e.js} (87%) rename ja/assets/js/{main.c91ede21.js.LICENSE.txt => main.7288e62e.js.LICENSE.txt} (100%) rename ja/assets/js/{runtime~main.2124305a.js => runtime~main.106910cc.js} (89%) rename zh/assets/css/{styles.98309625.css => styles.dd55e9d7.css} (99%) create mode 100644 zh/assets/js/1842627e.0eb71650.js delete mode 100644 zh/assets/js/1842627e.609edd6c.js rename zh/assets/js/{1df93b7f.93c94f4a.js => 1df93b7f.c6a8adb1.js} (84%) rename zh/assets/js/{31eafaf9.5a7759f0.js => 31eafaf9.6f926b61.js} (99%) rename zh/assets/js/{354dfbd1.678d2cef.js => 354dfbd1.354add21.js} (99%) rename zh/assets/js/{3dca0203.b1b54c5e.js => 3dca0203.4cad25c7.js} (99%) rename ja/assets/js/4a61f11b.fb2cf724.js => zh/assets/js/4a61f11b.1737b985.js (75%) rename zh/assets/js/{4a83e123.24c53d6c.js => 4a83e123.1d8ebed7.js} (99%) rename zh/assets/js/{5cd65baf.37395c21.js => 5cd65baf.dd27b34b.js} (79%) rename zh/assets/js/{5f78ec6a.c3229286.js => 5f78ec6a.04488960.js} (83%) rename zh/assets/js/{6d69edbe.110568e5.js => 6d69edbe.0d1aed15.js} (83%) rename zh/assets/js/{72d3bf7a.241cd4dc.js => 72d3bf7a.eacb88ac.js} (79%) delete mode 100644 zh/assets/js/771a2950.d12921b0.js create mode 100644 zh/assets/js/771a2950.ee265a88.js delete mode 100644 zh/assets/js/88d8af9f.cc2c4f5f.js create mode 100644 zh/assets/js/88d8af9f.edf7174e.js delete mode 100644 zh/assets/js/9591b7e9.196604a0.js create mode 100644 zh/assets/js/9591b7e9.dcedc0c4.js rename zh/assets/js/{96447363.3dea38b5.js => 96447363.b71d4b1d.js} (98%) rename ja/assets/js/b6eb34d2.458b1e25.js => zh/assets/js/b6eb34d2.d2f9f83c.js (75%) rename zh/assets/js/{bb85b74d.5c5dc4ec.js => bb85b74d.17c03911.js} (98%) rename zh/assets/js/{e20c763e.2bc10c76.js => e20c763e.37d16f91.js} (98%) rename zh/assets/js/{e765f05a.ebc845b4.js => e765f05a.2221d221.js} (98%) rename zh/assets/js/{main.7d876d53.js => main.c51e1297.js} (79%) rename zh/assets/js/{main.7d876d53.js.LICENSE.txt => main.c51e1297.js.LICENSE.txt} (100%) rename zh/assets/js/{runtime~main.68dec3ea.js => runtime~main.3d9d8ec7.js} (89%) diff --git a/404.html b/404.html index 43f9b23a78..887ebd2231 100644 --- a/404.html +++ b/404.html @@ -13,9 +13,9 @@ - - - + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

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

Start Building Apps with ILLA Cloud

Any internal tool you need can be built using ILLA Cloud in 1 minute.

Try Cloud for free
diff --git a/admin-panel/index.html b/admin-panel/index.html index 0c02191d81..9892b31d3a 100644 --- a/admin-panel/index.html +++ b/admin-panel/index.html @@ -13,9 +13,9 @@ - - - + + +
Skip to main content

Build Customized Admin Panel for Website and Apps

Build admin panels at 10x speed to manage data or perform operations and allow developers to focus on business development.
Build admin panels at 10x speed to manage data or perform operations and allow developers to focus on business development.
Build admin panels at 10x speed to manage data or perform operations and allow developers to focus on business development.

What can we do

diff --git a/ai-voice-generator/index.html b/ai-voice-generator/index.html index c379a82953..71684c89fb 100644 --- a/ai-voice-generator/index.html +++ b/ai-voice-generator/index.html @@ -13,9 +13,9 @@ - - - + + +

Build AI Voice Generator for your business

Speech-to-text, transcribe the audio into text and translate or summarize it. Text-to-speech, create natural AI voices instantly in any language and let your content go beyond text.
Transcribe the audio into text in any language and process it, such as translate, summarize, store and share.
Transcribe the audio into text in any language and process it, such as translate, summarize, store and share.

What can we do

diff --git a/assets/css/styles.2766a9d3.css b/assets/css/styles.d04ece21.css similarity index 99% rename from assets/css/styles.2766a9d3.css rename to assets/css/styles.d04ece21.css index a5d67e82d3..696382a1a3 100644 --- a/assets/css/styles.2766a9d3.css +++ b/assets/css/styles.d04ece21.css @@ -1 +1 @@ -.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}*,:after,:before{box-sizing:border-box}.markdown li,body{word-wrap:break-word}.button,.dropdown__link,.text--truncate,.truncate,.whitespace-nowrap{white-space:nowrap}.toggleButton_C0po,html{-webkit-tap-highlight-color:transparent}#__docusaurus,.min-h-full{min-height:100%}.clean-list,.containsTaskList_aqzd,.details_GXzP>summary,.dropdown__menu,.menu__list,.swiper,menu,ol,ul{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#654aec;--ifm-color-primary-dark:#4d2ee9;--ifm-color-primary-darker:#4120e8;--ifm-color-primary-darkest:#3215c4;--ifm-color-primary-light:#7d66ef;--ifm-color-primary-lighter:#8974f0;--ifm-color-primary-lightest:#846ef0;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--swiper-theme-color:#007aff}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width);padding:0 var(--ifm-spacing-horizontal)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.\!mb-0,.margin-bottom--none,.margin-vert--none,.markdown>:last-child,.refine-details .refine-details-content>div>:last-child{margin-bottom:0!important}.\!mt-0,.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.px-0,.row--no-gutters>.col{padding-left:0;padding-right:0}.items-start,.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.items-center,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width);padding:0 var(--ifm-spacing-horizontal);width:100%}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.\!m-0,.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.\!py-4,.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.\!py-4,.padding-top--md,.padding-vert--md{padding-top:1rem!important}.\!px-4,.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.\!px-4,.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);overflow:auto;padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration);color:inherit;text-decoration:inherit}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_I8k2 .wordWrapButtonIcon_dUFy{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.inline-block{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child,.pt-0{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_UV2B:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links,.mb-4{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.footer__item{margin-top:0}.footer__items{margin-bottom:0}.codeBlockStandalone_BZ5x,.p-0,[type=checkbox],dialog,fieldset,legend{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle,.text-2xl{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child),.mt-1{margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_GXzP[data-collapsed=false].isBrowser_pHft>summary:before,.details_GXzP[open]:not(.isBrowser_pHft)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{opacity:0;top:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;visibility:hidden;left:0;bottom:0}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.filter,.hover\:brightness-90:hover{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.flex,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent__DAX,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.h-full,.navbar__logo img,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.m-0,.navbar__items--center .navbar__brand,blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.cursor-pointer,.dropdownNavbarItemMobile_JUhd,.footerItem_GsU2,.pills__item,.refine-toc-item,.tabs__item,[role=button],button{cursor:pointer}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items,.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.inline-flex,.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,html .no-underline{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.content_B3zk,.text-center{text-align:center}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.transition,.transition-colors,.transition-opacity,.transition-transform{transition-duration:.15s}.refine-details>summary .refine-details-triangle,.transition,.transition-colors,.transition-opacity,.transition-transform{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.blog-wrapper:root,.docs-wrapper:root{--primary-font-sans:"Inter"}.scrollbar-slim{scrollbar-color:red blue;scrollbar-width:thin}.scrollbar-slim::-webkit-scrollbar{width:12px}.scrollbar-slim::-webkit-scrollbar-track{background:#14141f;border-radius:5px}.scrollbar-slim::-webkit-scrollbar-thumb{background-color:#303450;border:3px solid #14141f;border-radius:12px}.refine-prose{color:var(--tw-prose-body);max-width:100%!important;--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75;--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders);font-weight:400;max-width:none}.refine-prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.refine-prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.refine-prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.refine-prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.refine-prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.refine-prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.refine-prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.refine-prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.refine-prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.refine-prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.refine-prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.refine-prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.refine-prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.refine-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.refine-prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.refine-prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.refine-prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-left-color:var(--tw-prose-quote-borders);border-left-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.refine-prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.refine-prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.refine-prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.refine-prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.refine-prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.refine-prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.refine-prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.refine-prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.refine-prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.refine-prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.refine-prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.refine-prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding:.1875em .375em}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.refine-prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.refine-prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.refine-prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.refine-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:initial;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.refine-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.refine-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.refine-prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.refine-prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.refine-prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}progress,sub,sup{vertical-align:initial}.refine-prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.refine-prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.refine-prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:initial}.refine-prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.refine-prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.refine-prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.refine-prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.refine-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-left:1.625em}.refine-prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.5714286em}.refine-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.refine-prose :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .refine-prose) :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(0 128 255/var(--tw-text-opacity));font-weight:400}:is(:where([data-theme=dark]) .refine-prose) :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(110 179 247/var(--tw-text-opacity))}.refine-prose :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(20 20 31/var(--tw-text-opacity));font-weight:600;font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.refine-prose :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(29 30 48/var(--tw-text-opacity));font-weight:600;font-size:1rem;line-height:1.5rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(237 242 247/var(--tw-text-opacity))}.refine-prose :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));font-weight:600;font-size:.875rem;line-height:2.5rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}.refine-prose :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(71 78 107/var(--tw-text-opacity));font-weight:600;font-size:.75rem;line-height:1.33rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));margin-bottom:1.25rem;margin-top:0;font-size:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.875rem;margin-bottom:0;margin-top:0}.refine-prose :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));margin-left:0;padding-left:2rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));margin-left:0;padding-left:2rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-left-width:4px;border-radius:.5rem;font-style:normal;font-weight:400;padding:1rem;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(244 248 251/var(--tw-bg-opacity));border-left-color:rgb(163 173 194/var(--tw-border-opacity));color:rgb(48 52 80/var(--tw-text-opacity))}.refine-prose:last-child :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){margin-bottom:0}:is(:where([data-theme=dark]) .refine-prose) :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(29 30 48/var(--tw-bg-opacity));border-left-color:rgb(71 78 107/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.625rem;line-height:.75rem;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(222 229 237/var(--tw-bg-opacity));color:rgb(48 52 80/var(--tw-text-opacity));border-radius:.25rem;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:2px .375rem 3px;border-style:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:400}:is(:where([data-theme=dark]) .refine-prose) :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(48 52 80/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):before{--tw-content:none;content:var(--tw-content)}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):after{--tw-content:none;content:var(--tw-content)}.refine-prose h1 code,.refine-prose h2 code,.refine-prose h3 code{font-size:inherit;line-height:inherit;vertical-align:bottom}.refine-prose blockquote p:after,.refine-prose blockquote p:before,.refine-prose blockquote:after,.refine-prose blockquote:before{--tw-content:none;content:var(--tw-content)}.refine-prose table :is(:where(table):not(:where([class~=not-prose],[class~=not-prose] *))){border-style:none}.refine-prose table tr{border-top:unset}.refine-prose table td,.refine-prose table th{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(222 229 237/var(--tw-border-opacity));border-width:1px;color:rgb(20 20 31/var(--tw-text-opacity));padding:.5rem;font-size:.875rem}:is(:where([data-theme=dark]) .refine-prose table td),:is(:where([data-theme=dark]) .refine-prose table th){--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(48 52 80/var(--tw-border-opacity));color:rgb(237 242 247/var(--tw-text-opacity))}.refine-prose table th{--tw-text-opacity:1;color:rgb(20 20 31/var(--tw-text-opacity));font-weight:600}:is(:where([data-theme=dark]) .refine-prose table th){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}.refine-prose table th,.refine-prose table th code,.text-sm{font-size:.875rem}:is(:where([data-theme=dark]) .refine-prose table tbody tr:nth-child(odd)){--tw-bg-opacity:0.3;background-color:rgb(48 52 80/var(--tw-bg-opacity))}.refine-prose table tbody tr:nth-child(odd){--tw-bg-opacity:0.1;background-color:rgb(244 248 251/var(--tw-bg-opacity))}.bg-gray-50,.refine-prose table tbody tr:nth-child(2n),.refine-prose table thead{--tw-bg-opacity:1;background-color:rgb(244 248 251/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .refine-prose table tbody tr:nth-child(2n)){--tw-bg-opacity:1;background-color:rgb(20 20 31/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .refine-prose table thead){--tw-bg-opacity:1;background-color:rgb(20 20 31/var(--tw-bg-opacity))}.refine-prose table thead tr{border-style:none}.refine-prose .table-container{margin-bottom:1rem;margin-top:2rem;max-width:100%;overflow:auto;padding-bottom:1rem}.refine-prose .table-container table{display:table;margin-bottom:0;margin-top:0;table-layout:auto}.refine-toc-item code:after,.refine-toc-item code:before{content:""}.refine-toc-item code{border-radius:.25rem;border-style:none!important;color:inherit!important;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:.125rem .25rem;vertical-align:bottom!important;font-size:12px}:is(:where([data-theme=dark]) .refine-toc-item code){--tw-bg-opacity:0.3;background-color:rgb(71 78 107/var(--tw-bg-opacity));color:inherit!important}a:has(>code){text-decoration:none!important}a:has(>code) code{--tw-text-opacity:1!important;color:rgb(0 128 255/var(--tw-text-opacity))!important;vertical-align:text-bottom!important}:is(:where([data-theme=dark]) a:has(>code) code){--tw-text-opacity:1!important;color:rgb(110 179 247/var(--tw-text-opacity))!important}p:has(>code) code{margin-left:.125rem;margin-right:.125rem;vertical-align:text-bottom!important}li a:has(>code) code{margin-left:0!important;margin-right:0!important;vertical-align:text-bottom!important}.admonition.admonition-caution code{--tw-bg-opacity:1;--tw-bg-opacity:15%;background-color:rgb(242 128 13/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-caution code){--tw-bg-opacity:15%;background-color:#ff99331a}.admonition.admonition-caution a{--tw-text-opacity:1;color:rgb(204 102 0/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-caution a){--tw-text-opacity:1;color:rgb(255 153 51/var(--tw-text-opacity))}.admonition.admonition-caution a code{--tw-text-opacity:1!important;color:rgb(204 102 0/var(--tw-text-opacity))!important}:is(:where([data-theme=dark]) .admonition.admonition-caution a code){--tw-text-opacity:1!important;color:rgb(255 153 51/var(--tw-text-opacity))!important}.admonition.admonition-caution li::marker{--tw-text-opacity:0.5;color:rgb(204 102 0/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-caution li)::marker{--tw-text-opacity:0.5;color:rgb(255 153 51/var(--tw-text-opacity))}.admonition.admonition-danger code{--tw-bg-opacity:1;--tw-bg-opacity:15%;background-color:rgb(255 76 77/var(--tw-bg-opacity))}.admonition.admonition-danger a{--tw-text-opacity:1;color:rgb(255 76 77/var(--tw-text-opacity))}.admonition.admonition-danger a code{--tw-text-opacity:1!important;color:rgb(255 76 77/var(--tw-text-opacity))!important}.admonition.admonition-info code{--tw-bg-opacity:15%;background-color:#0080ff1a}:is(:where([data-theme=dark]) .admonition.admonition-info code){--tw-bg-opacity:15%;background-color:#6eb3f71a}.admonition.admonition-info a,.admonition.admonition-info-tip a{--tw-text-opacity:1;color:rgb(0 128 255/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-info a){--tw-text-opacity:1;color:rgb(110 179 247/var(--tw-text-opacity))}.admonition.admonition-info li::marker{--tw-text-opacity:0.5;color:rgb(0 128 255/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-info li)::marker{--tw-text-opacity:0.5;color:rgb(110 179 247/var(--tw-text-opacity))}.admonition.admonition-tip code{--tw-bg-opacity:1;--tw-bg-opacity:15%;background-color:rgb(31 173 102/var(--tw-bg-opacity))}.admonition.admonition-note code,.bg-\[\#5865F2\],.bg-black,.bg-blue-100,.bg-gray-0,.bg-gray-100,.bg-gray-200,.bg-gray-600,.bg-gray-900,.bg-refine-blue,.bg-tech-purple-03,.bg-violet-800,.bg-white{--tw-bg-opacity:1}.admonition.admonition-tip a{--tw-text-opacity:1;color:rgb(31 173 102/var(--tw-text-opacity))}.admonition.admonition-tip a code{--tw-text-opacity:1!important;color:rgb(31 173 102/var(--tw-text-opacity))!important}.admonition.admonition-tip li::marker{--tw-text-opacity:0.5;color:rgb(31 173 102/var(--tw-text-opacity))}.admonition.admonition-note code{--tw-bg-opacity:15%;background-color:rgb(15 189 189/var(--tw-bg-opacity))}.admonition.admonition-additional a,.admonition.admonition-note a{--tw-text-opacity:1;color:rgb(15 189 189/var(--tw-text-opacity))}.admonition.admonition-note a code{--tw-text-opacity:1!important;color:rgb(15 189 189/var(--tw-text-opacity))!important}.admonition.admonition-note li::marker{--tw-text-opacity:0.5;color:rgb(15 189 189/var(--tw-text-opacity))}.admonition.admonition-additional code{--tw-bg-opacity:0.2;background-color:rgb(15 189 189/var(--tw-bg-opacity))}.admonition.admonition-info-tip code{--tw-bg-opacity:0.2;background-color:rgb(0 128 255/var(--tw-bg-opacity))}.admonition pre.prism-code code,.bg-transparent{background-color:initial}.refine-details>summary+div>div{border-top-width:0;margin-top:0;padding-top:0}.p-4,.refine-details-content{padding:1rem}.refine-details>summary .refine-details-triangle{--tw-rotate:-90deg;transition-duration:.2s;transition-property:transform}.-rotate-180,.-rotate-90,.refine-details>summary .refine-details-triangle,.refine-details[open]>summary .refine-details-triangle,.rotate-0,.scale-100,.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.refine-details[open]>summary .refine-details-triangle,.rotate-0{--tw-rotate:0deg}.max-w-screen-content{max-width:480px}html[data-active-page=index],html[data-active-page=index] body{--tw-bg-opacity:1;background-color:rgb(29 30 48/var(--tw-bg-opacity))}@keyframes a{0%,35%,to{opacity:0}30%,5%{opacity:1}}.landing-hero-mobile-svg .auth,.landing-hero-mobile-svg .backend,.landing-hero-mobile-svg .framework,.landing-hero-mobile-svg .platform{animation:24s infinite a;opacity:0;will-change:opacity}.landing-hero-mobile-svg .nextjs{animation-delay:0s}.landing-hero-mobile-svg .vite{animation-delay:8s}.landing-hero-mobile-svg .remix{animation-delay:16s}.landing-hero-mobile-svg .mui{animation-delay:-3s}.landing-hero-mobile-svg .antd{animation-delay:5s}.landing-hero-mobile-svg .chakra{animation-delay:13s}.landing-hero-mobile-svg .supabase{animation-delay:-6s}.landing-hero-mobile-svg .nest{animation-delay:2s}.landing-hero-mobile-svg .appwrite{animation-delay:10s}.landing-hero-mobile-svg .google{animation-delay:-9s}.landing-hero-mobile-svg .auth0{animation-delay:-1s}.landing-hero-mobile-svg .strapi{animation-delay:7s}.animation-parent{backface-visibility:hidden;perspective:1000;transform:translateZ(0)}#__docusaurus-base-url-issue-banner-container,.hidden,.sp-icon-standalone[title="Open in CodeSandbox"] svg+span,.sp-preview .sp-custom-loading,.sp-preview .sp-loading,.themedComponent_FXRw,[data-theme=dark] .lightToggleIcon__wwy,[data-theme=light] .darkToggleIcon_iyjK,[hidden],html[data-announcement-bar-initially-dismissed=true] .announcementBar_hbYq{display:none}.sp-preview .sp-loading+.sp-custom-loading{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:calc(var(--sp-zIndices-top) + 1)}button.sp-button.sp-icon-standalone[title="Open in CodeSandbox"]:has(svg+span){padding-left:0;padding-right:4px;width:26px}.admonition-simple .admonition-content :last-child,.admonitionContent_YstZ>:last-child,.collapsibleContent_uFAl p:last-child,.details_GXzP>summary>p:last-child,.mb-0,.refine-tab-content>:last-child{margin-bottom:0}.admonition-simple ul{list-style-position:outside;list-style-type:"- ";margin:0;padding-left:24px}.admonition-simple *{font-size:.875rem;line-height:1rem}.admonition-simple .admonition-content ul li::marker{--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition-simple .admonition-content ul li)::marker{--tw-text-opacity:1;color:rgb(237 242 247/var(--tw-text-opacity))}h4>del:has(code:only-child){text-decoration-line:none}html h4>del:has(code:only-child){text-decoration:none}h4>del:has(code:only-child) code{text-decoration-line:line-through}.font-\[500\],.font-medium,.sp-tab-button[data-active=true]{font-weight:500}*,:after,:before{border:0 solid #dee5ed}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--primary-font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{display:block;margin-bottom:var(--ifm-spacing-vertical);overflow:auto;border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}.admonitionHeading_wuvZ code,button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}menu,ol,ul{margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a3adc2;opacity:1}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container,.w-full{width:100%}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible,.swiper-slide-invisible-blank{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-\[24px\]{right:24px}.top-0{top:0}.top-2{top:.5rem}.top-32{top:8rem}.top-\[24px\]{top:24px}.top-\[67px\]{top:67px}.z-50{z-index:50}.z-\[100\],.z-modal{z-index:100}.z-\[1\]{z-index:1}.z-\[55\]{z-index:55}.m-1{margin:.25rem}.m-6{margin:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[40px\]{margin-bottom:40px}.ml-\[5px\]{margin-left:5px}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.line-clamp-3{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden}.block{display:block}.table{display:table}.grid{display:grid}.h-0{height:0}.h-0\.5{height:.125rem}.h-12{height:3rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[120px\]{height:120px}.h-\[12px\]{height:12px}.h-\[200px\]{height:200px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[40px\]{height:40px}.h-\[4px\]{height:4px}.h-\[64px\]{height:64px}.h-\[72px\]{height:72px}.h-\[calc\(100vh-67px\)\]{height:calc(100vh - 67px)}.h-auto,.img_CfaS,.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.h-screen{height:100vh}.max-h-\[180px\]{max-height:180px}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[10px\]{width:10px}.w-\[12px\]{width:12px}.w-\[142px\]{width:142px}.w-\[193px\]{width:193px}.w-\[24px\]{width:24px}.w-\[264px\]{width:264px}.w-\[280px\]{width:280px}.w-\[343px\]{width:343px}.w-\[40px\]{width:40px}.w-\[42\.5px\]{width:42.5px}.w-\[45px\]{width:45px}.w-\[4px\]{width:4px}.w-\[51px\]{width:51px}.w-auto{width:auto}.w-max{width:max-content}.min-w-0{min-width:0}.max-w-\[1600px\]{max-width:1600px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[512px\]{max-width:512px}.max-w-\[576px\]{max-width:576px}.max-w-md{max-width:28rem}.max-w-screen-blog-max{max-width:1408px}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.footerContentContainer_DQf_,.itemsContainer_OUc9,.logoContainerStyle_PeVm,.templateItemContainer_lyZ8{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col,.swiper-vertical>.swiper-wrapper{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-\[10px\]{gap:10px}.gap-\[16px\]{gap:16px}.gap-\[24px\]{gap:24px}.gap-\[40px\]{gap:40px}.gap-\[4px\]{gap:4px}.gap-\[60px\]{gap:60px}.gap-\[8px\]{gap:8px}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[4px\]{border-radius:4px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border,.border-\[1px\]{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-gray-02{border-color:#1f1f1f}.border-gray-100{--tw-border-opacity:1;border-color:rgb(237 242 247/var(--tw-border-opacity))}.border-white-01{border-color:#fff}.border-l-gray-100{--tw-border-opacity:1;border-left-color:rgb(237 242 247/var(--tw-border-opacity))}.border-t-gray-200{--tw-border-opacity:1;border-top-color:rgb(222 229 237/var(--tw-border-opacity))}.bg-\[\#000000bf\]{background-color:#000000bf}.bg-\[\#5865F2\]{background-color:rgb(88 101 242/var(--tw-bg-opacity))}.bg-\[rgba\(255\2c 255\2c 255\2c 0\.75\)\]{background-color:#ffffffbf}.bg-black{background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/\[0\.64\]{background-color:#000000a3}.bg-blue-100{background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-gray-0,.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-01{background-color:#000}.bg-gray-02{background-color:#1f1f1f}.bg-gray-100{background-color:rgb(237 242 247/var(--tw-bg-opacity))}.bg-gray-200{background-color:rgb(222 229 237/var(--tw-bg-opacity))}.bg-gray-600{background-color:rgb(71 78 107/var(--tw-bg-opacity))}.bg-gray-900{background-color:rgb(20 20 31/var(--tw-bg-opacity))}.bg-gray-900\/20{background-color:#14141f33}.bg-gray-900\/70{background-color:#14141fb3}.bg-refine-blue{background-color:rgb(0 128 255/var(--tw-bg-opacity))}.bg-tech-purple-03{background-color:rgb(101 74 236/var(--tw-bg-opacity))}.bg-violet-800{background-color:rgb(91 33 182/var(--tw-bg-opacity))}.bg-white-01{background-color:#fff}.bg-white-09,.hover\:bg-white-09:hover{background-color:#ffffff19}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-5{padding:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[20px\]{padding-left:20px;padding-right:20px}.px-\[24px\]{padding-left:24px;padding-right:24px}.px-\[4px\]{padding-left:4px;padding-right:4px}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-7{padding-bottom:1.75rem;padding-top:1.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-\[22px\]{padding-bottom:22px;padding-top:22px}.pb-10{padding-bottom:2.5rem}.pb-6{padding-bottom:1.5rem}.pb-\[100px\]{padding-bottom:100px}.pb-\[60px\]{padding-bottom:60px}.pl-1{padding-left:.25rem}.pl-11{padding-left:2.75rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-\[32px\]{padding-left:32px}.pr-3{padding-right:.75rem}.pt-6{padding-top:1.5rem}.pt-\[4px\]{padding-top:4px}.align-middle{vertical-align:middle}.font-\[\'Inter\'\]{font-family:Inter}.font-sans{font-family:var(--primary-font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.textTitleNumStyle_TEnk,.textTitleNumStyle_h7vB{font-family:Eurostile Becker,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-3xl{font-size:1.875rem}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-base{font-size:1rem}.text-xl{font-size:1.25rem}.text-xs{font-size:.75rem}.font-\[400\],.font-normal{font-weight:400}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-\[1\.5\]{line-height:1.5}.leading-\[17px\]{line-height:17px}.leading-\[22px\]{line-height:22px}.leading-\[28px\]{line-height:28px}.\!text-white-04{color:#ffffff80!important}.hover\:text-\[\#0b0c0f\]:hover,.text-\[\#0B0C0F\],.text-\[\#0b0c0f\]{--tw-text-opacity:1;color:rgb(11 12 15/var(--tw-text-opacity))}.text-\[\#1D2129\]{--tw-text-opacity:1;color:rgb(29 33 41/var(--tw-text-opacity))}.text-gray-0,.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:text-gray-02:hover,.text-gray-02{color:#1f1f1f}.hover\:text-gray-03:hover,.text-gray-03{color:#5c5c5c}.text-gray-100{--tw-text-opacity:1;color:rgb(237 242 247/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(163 173 194/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(108 119 147/var(--tw-text-opacity))}.hover\:text-gray-600:hover,.text-gray-600{--tw-text-opacity:1;color:rgb(71 78 107/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity))}.hover\:text-gray-800:hover,.text-gray-800{--tw-text-opacity:1;color:rgb(29 30 48/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(20 20 31/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-tech-purple-01{--tw-text-opacity:1;color:rgb(38 24 156/var(--tw-text-opacity))}.text-transparent{color:#0000}.hover\:text-white-01:hover,.text-white-01{color:#fff}.text-white-02{color:#ffffffe6}.hover\:text-white-03:hover,.text-white-03{color:#ffffffc0}.hover\:text-white-04:hover,.text-white-04{color:#ffffff80}.text-opacity-90{--tw-text-opacity:0.9}.faqListAnswer_uzUc a,.underline{text-decoration-line:underline}.baseLinkButtonStyle_PuMK:hover,.basePanelItemContainerStyle_IaDP:hover,.commBottomBtn_pFSF:hover,.hover\:no-underline:hover,.menuItemStyle_SQLa,.menuItemStyle_SQLa:active,.menuItemStyle_SQLa:hover,.menuItemStyle_a3Ir:hover,.no-underline,.operateItemStyle_quc4:hover,.panelItemStyle_VUhY:hover{text-decoration-line:none}.opacity-0{opacity:0}.footerLogoLink_K6r0:hover,.hash-link:focus,.opacity-100,.solutionSelectImageStyle_GSp1,:hover>.hash-link{opacity:1}.backdrop-blur-\[50px\]{--tw-backdrop-blur:blur(50px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-transform{transition-property:transform}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-grayBlue-09:hover,.lightPanelItemContainerStyle_OZnY:hover{background-color:#f2f3f5}.hover\:brightness-90:hover{--tw-brightness:brightness(.9)}.basePopoverPanelStyle_y9hq:focus,.focus\:outline-none:focus,.popoverPanelStyle_GNCw:focus{outline:#0000 solid 2px;outline-offset:2px}:is(:where([data-theme=dark]) .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(48 52 80/var(--tw-border-opacity))}:is(:where([data-theme=dark]) .dark\:border-l-gray-700){--tw-border-opacity:1;border-left-color:rgb(48 52 80/var(--tw-border-opacity))}:is(:where([data-theme=dark]) .dark\:border-t-gray-700){--tw-border-opacity:1;border-top-color:rgb(48 52 80/var(--tw-border-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-500){--tw-bg-opacity:1;background-color:rgb(108 119 147/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(71 78 107/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(48 52 80/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(29 30 48/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-0){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(163 173 194/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(108 119 147/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-white-01){color:#fff}:is(:where([data-theme=dark]) .dark\:text-white-04){color:#ffffff80}:is(:where([data-theme=dark]) .dark\:hover\:text-gray-200:hover){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:hover\:text-white-01:hover){color:#fff}:is(:where([data-theme=dark]) .hover\:dark\:text-white-01):hover{color:#fff}[data-theme=dark]{--ifm-color-primary:#9580ff;--ifm-color-primary-dark:#755aff;--ifm-color-primary-darker:#6547ff;--ifm-color-primary-darkest:#350dff;--ifm-color-primary-light:#b5a6ff;--ifm-color-primary-lighter:#c5b9ff;--ifm-color-primary-lightest:#f5f3ff;--ifm-background-color:#0a0a0a;--docusaurus-highlighted-code-line-bg:#0000004d}@font-face{font-family:Eurostile Becker;src:url("/illa-website/assets/fonts/Eurostile Becker Heavy Regular-99fb2b764178f7417346a5e3e15d5947.ttf") format("truetype")}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.skipToContent_YRel{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_YRel:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_r_Ma{line-height:0;padding:0}.content_B3zk{font-size:85%;padding:5px 0}.content_B3zk a{color:inherit;text-decoration:underline}.announcementBar_hbYq{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_nNiq{flex:0 0 10px}.announcementBarClose_S8lM{align-self:stretch;flex:0 0 30px}.toggle_Io7t{height:2rem;width:2rem}.toggleButton_C0po{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_C0po:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_IHuh{cursor:not-allowed}.darkNavbarColorModeToggle_jx_9:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_gZs3,[data-theme=light] .themedComponent--light_RIle,html:not([data-theme]) .themedComponent--light_RIle{display:initial}.iconExternalLink_ocOZ{margin-left:.3rem}.dropdownNavbarItemMobile_JUhd:after{margin-left:8px}.iconLanguage_DSK9{display:inline-block;margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Pu8E:not(:has(>*)){display:none}}.navbarHideable_QJhM{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_JLKf{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_t44J{color:red;white-space:pre-wrap}.errorBoundaryFallback_HTeJ{color:red;padding:.55rem}.footerLogoLink_K6r0{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.anchorWithStickyNavbar_dXVO{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_ZIVZ{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_Xc8_{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column}.menuItemContainerStyle_JXsu,.priceListTitleContainerStyle_MEs5{align-items:center;display:flex;gap:8px}.popoverContainerStyle_ZIFy{display:inline-block;font-weight:500;padding:12px 16px;position:relative;text-align:left}.basePopoverPanelStyle_y9hq,.popoverPanelStyle_GNCw{margin-top:8px;position:absolute;transform-origin:top right;left:0}.popoverItemStyle_wfx7{align-items:center;display:flex;font-size:14px;gap:8px}.popoverPanelStyle_GNCw{--tw-shadow:0px 2px 16px 0px #00000029;--tw-shadow-colored:0px 2px 16px 0px var(--tw-shadow-color);border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding-bottom:4px;padding-top:4px;right:0}.menuItemStyle_a3Ir{font-size:14px;font-weight:500;padding:12px 16px}.panelItemContainerStyle_xEK2{align-items:center;display:flex;justify-content:center;width:100%}.panelItemStyle_VUhY{font-size:14px;font-weight:500;line-height:40px}.operateItemStyle_quc4{align-items:center;border-radius:20px;display:flex;font-weight:500;gap:8px;justify-content:center;padding:8px 24px}.operateItemStyleBg_neML{border-color:#0000;border-width:1px;color:#fff;background:linear-gradient(90deg,#9734e4,#712eff)}.darkColorStyle_MxJT:hover,.operateItemStyleBg_neML:hover{color:#fff}.popoverItemStyle_WmOV{align-items:center;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px;text-align:left}.basePopoverPanelStyle_y9hq{border-radius:16px;border-width:1px;display:flex;flex-direction:column;gap:24px;padding:24px 16px;width:340px}.darkPopoverPanelStyle_sycJ{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(27 28 29/var(--tw-bg-opacity));border-color:rgb(46 46 48/var(--tw-border-opacity))}.lightPopoverPanelStyle_aRwx{background-color:#fff;border-color:#f2f3f5;box-shadow:0 2px 4px 0 #00000014}.subTitleStyle_GZ4H{font-size:16px;font-weight:700;line-height:24px;padding-left:16px;padding-right:16px;text-align:start}.basePanelItemContainerStyle_IaDP{align-items:flex-start;border-radius:8px;display:flex;gap:16px;padding:12px 16px;width:100%}.darkPanelItemContainerStyle_JqRZ:hover{background-color:#ffffff0a}.panelItemStyle_w8TD{font-size:14px;font-weight:500;line-height:22px}.footerBottom_L4UB,.footerItem_GsU2,.panelItemDescStyle_zY1Y{font-size:12px;font-weight:400;line-height:16px}.menuItemStyle_SQLa{align-items:center;cursor:pointer;display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;height:40px;width:100%;font-size:16px;font-weight:500}.footerContainer_lS9F{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:100px 20px 20px;width:100%}.footerContentContainer_DQf_{display:grid;justify-content:space-between;row-gap:40px;width:100%}.space_IcLX{background-color:#ffffff1a;height:1px;width:100%}.footerBottom_L4UB{align-items:center;color:#fff;display:flex;flex-direction:column;gap:24px;justify-content:space-between;width:100%}.localSelectContainer_aJ7M .dropdown__menu{bottom:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);top:unset}.lpHeader_rubd{align-items:flex-start;flex-wrap:wrap;gap:40px;justify-content:space-between;padding-top:30px}.lpHeaderLeft_Zvbf,.lpHeader_rubd,.premiumCardContainer_ArgU,.premiumHeaderStyle_yb36{display:flex;flex-direction:column}.lpHeaderLeft_Zvbf{align-items:center;gap:24px;text-align:center}.back_vGuo{--tw-text-opacity:1;align-items:center;color:rgb(101 74 236/var(--tw-text-opacity));cursor:pointer;display:none;flex-direction:row;font-size:18px;font-weight:600;gap:12px;line-height:32px;padding-bottom:12px;padding-top:12px}.headerGo_RttL,.itemImage_FU2S{align-items:center;--tw-bg-opacity:1}.headerTitle_URD5{font-size:40px;font-weight:700;line-height:48px}.headerDesc_zhHJ{font-weight:400;font-weight:16px;line-height:24px}.headerGo_RttL{background-color:rgb(101 74 236/var(--tw-bg-opacity));white-space:nowrap;border-radius:4px;color:#fff;display:flex;font-size:16px;font-weight:400;height:44px;justify-content:center;line-height:20px;padding:12px 16px}.headerGo_RttL:hover{--tw-bg-opacity:1;background-color:rgb(131 104 240/var(--tw-bg-opacity))}.headerGo_RttL:active{--tw-bg-opacity:1;background-color:rgb(66 46 196/var(--tw-bg-opacity))}.lpContainer_Zbon,.lpContainer_yWoG{--tw-text-opacity:1;color:rgb(29 33 41/var(--tw-text-opacity));margin-left:auto;margin-right:auto;max-width:1200px;padding-left:20px;padding-right:20px;width:100%}.tag_oKb5{display:inline-block;margin:.5rem .5rem 0 1rem}.contentTitle_b3GB{font-size:20px;font-weight:600;line-height:28px;margin-top:60px}.itemsContainer_OUc9{display:grid;gap:12px}.item_AuQF{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:16px}.itemBg_GUYW{background:linear-gradient(180deg,#dde1e833,#dde1e800)}.itemImage_FU2S{background-color:rgb(240 232 255/var(--tw-bg-opacity));border-radius:13px;display:flex;height:120px;justify-content:center;width:120px}.itemNameCommon_o16n{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.commBottomDesc_DyZe,.itemDescription_LA9o{-webkit-line-clamp:4;-webkit-box-orient:vertical;text-overflow:ellipsis}.itemNameIntegrations_ZIud{line-height:20px}.itemNameComponents_JcBj{line-height:24px}.itemDescription_LA9o{display:-webkit-box;font-size:12px;font-weight:400;line-height:16px;overflow:hidden}.contentContainer_c9t8{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));overflow-x:hidden;padding-top:40px;z-index:31}.contentContainer_c9t8,.content_jfit{align-items:center;display:flex;flex-direction:column;position:relative;width:100%}.content_jfit{color:#fff;gap:100px;padding-left:20px;padding-right:20px}.commBottomContainerStyle_CDHK{align-items:center;color:#fff;display:flex;margin-top:100px;width:100%}.allContentContainer_nVOG{align-items:center;display:flex;flex-direction:column;gap:32px;justify-content:center;text-align:center;width:100%}.allContentTitle_K0Y2{font-size:20px;font-weight:700;line-height:24px;text-align:center}.cardContainerStyle_Kvlw,.cardContentContainerStyle_kX6c{align-items:center;display:flex;flex-direction:column;gap:20px;width:100%}.headerContainerStyle_RgD_{align-items:center;display:flex;flex-direction:column;gap:16px}.textTitleStye_mJAH{color:#fff;font-size:20px;font-weight:700}.textTitleNumStyle_TEnk{font-size:24px;font-weight:400}.textDescStyle_NFkj{font-size:12px;font-weight:400;line-height:16px;max-width:100%;text-align:center}.imgStyle_GNQD{border-radius:8px;height:auto;width:100%}.cardContentItemNormalStyle_f4ow,.cardContentItemReverseStyle_DHTD{flex-direction:column-reverse}.cardIContentItemContainerStyle_rPYn{--tw-border-opacity:1;--tw-bg-opacity:1;align-items:flex-start;background-color:rgb(18 18 18/var(--tw-bg-opacity));border-color:rgb(42 42 42/var(--tw-border-opacity));border-radius:8px;border-width:1px;display:flex;flex-wrap:nowrap;gap:20px;padding:16px}.textContainerStyle_toav{align-items:flex-start;display:flex;flex-direction:column;gap:16px;width:100%}.textTitleStye_u6Ys{color:#fff;font-size:18px;font-weight:700;line-height:22px}.textTitleNumStyle_h7vB{font-size:20px;font-weight:400}.textDescStyle_vwoY{color:#ffffffe6;font-size:12px;font-weight:400;line-height:16px}.swipeMore_QWDA{align-items:center;cursor:pointer;display:flex;flex-direction:row;font-size:14px;font-weight:500;gap:8px;grid-column:1;grid-row:3;height:auto;line-height:17px}.builderListTitleStyle_ul1g,.swipeMore_QWDA,.swipeMore_QWDA:hover{--tw-text-opacity:1;color:rgb(101 74 236/var(--tw-text-opacity))}.buttonGroup_uxJT button,.codeBlockContainer_USIv{background:var(--prism-background-color);color:var(--prism-color)}.codeBlockContainer_USIv{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_PMfr{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_jXLV{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_IHkF{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_jXLV+.codeBlockContent_PMfr .codeBlock_IHkF{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_THA1{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_tjAB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_uxJT{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_uxJT button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_uxJT button:focus-visible,.buttonGroup_uxJT button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_uxJT button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_VZlW{counter-increment:a;display:table-row}.codeLineNumber_UV2B{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_UV2B:before{content:counter(a);opacity:.4}.codeLineContent_gotU{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_TPRR{opacity:1!important}.copyButtonIcons_LZ6a{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_H1v1,.copyButtonSuccessIcon_J5e4{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_J5e4{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_TPRR .copyButtonIcon_H1v1{opacity:0;transform:scale(.33)}.copyButtonCopied_TPRR .copyButtonSuccessIcon_J5e4{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_dUFy{height:1.2rem;width:1.2rem}.details_GXzP{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_GXzP>summary{cursor:pointer;padding-left:1rem;position:relative}.details_GXzP>summary::-webkit-details-marker{display:none}.details_GXzP>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_uFAl{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_B91m{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}:not(.containsTaskList_aqzd>li)>.containsTaskList_aqzd{padding-left:0}.admonition_Ztdk{margin-bottom:1em}.admonitionHeading_wuvZ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);text-transform:uppercase}.admonitionHeading_wuvZ:not(:last-child){margin-bottom:.3rem}.admonitionIcon_bKMe{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_bKMe svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.commBottomContainer_rcOJ{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:60px 20px 40px;position:relative}.commBottomBtnBg_ws3H,.commBottomContainer_rcOJ{border-bottom-left-radius:20px;border-bottom-right-radius:20px;width:100%}.commBottomBtnBg_ws3H{bottom:0;position:absolute;z-index:-1}.bottomBg_zy8j{background:linear-gradient(180deg,#654aec00,#654aec80)}.whiteBottomBg_HW9h{background:linear-gradient(180deg,#516ab500,#516ab514)}.commBottomTitle_zpUk{color:#fff;font-size:20px;font-weight:700;line-height:24px;text-align:center}.bottomTitle__Qxb{background:linear-gradient(90deg,#ffffff80,#fff 50%,#ffffff80);-webkit-background-clip:text;background-clip:text}.bottomTitle__Qxb,.whiteBottomTitle_r_oZ{-webkit-text-fill-color:#0000;color:#0000}.learnMore_Lb_l,.templateHeaderLabel_W4fj{color:rgb(101 74 236/var(--tw-text-opacity));--tw-text-opacity:1}.whiteBottomTitle_r_oZ{background:linear-gradient(90deg,#0b0c0f80,#0b0c0f 50%,#0b0c0f80);-webkit-background-clip:text;background-clip:text}.commBottomDesc_DyZe{display:-webkit-box;font-size:14px;font-weight:400;line-height:22px;overflow:hidden;text-align:center;width:100%}.commBottomBtn_pFSF{align-items:center;border-radius:24px;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:500;gap:10px;justify-content:center;line-height:28px;padding:10px 32px;width:100%}.commBottomBtn_pFSF svg{width:16px}.templateContainer_VElw{gap:20px;padding-bottom:30px}.templateContainer_VElw,.templateHeader_AQwG{display:flex;flex-direction:column;margin-top:30px}.templateHeader_AQwG{align-items:flex-start;gap:16px}.templateItemContainer_lyZ8{display:grid;gap:16px}.templateItem_Ji0p{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:12px;justify-content:center}.templateHeaderLabel_W4fj{font-size:14px;font-weight:600;line-height:32px}.templateHeaderTitle_yMrU{font-size:20px;font-weight:700;line-height:28px}.templateHeaderDesc_XN3P{font-size:14px;font-weight:400;line-height:17px}.templateItemName_yjoV{-webkit-line-clamp:1;font-size:16px;font-weight:600;line-height:24px}.templateItemDesc_NKfB,.templateItemName_yjoV{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.templateItemDesc_NKfB{-webkit-line-clamp:4;font-size:12px;font-weight:400;line-height:16px}.learnMore_Lb_l{align-items:center;cursor:pointer;display:flex;flex-direction:row;font-size:12px;font-weight:500;gap:4px;line-height:16px;text-decoration-line:underline}.operatingStyle_cGmQ,.wallContainerStyle_Ny01{align-items:center;display:flex;flex-direction:column;gap:16px;width:100%}.logoTitleStyle_hhN_{color:#fff;font-size:12px;font-weight:500;line-height:1.5;text-align:center;width:100%}.logoContainerStyle_PeVm{column-gap:12px;display:grid;row-gap:24px;width:100%}.logoStyle_ixBp{height:28px;width:auto}.commentsContainerStyle_ctEM{align-items:center;display:flex;flex-direction:column;gap:24px}.commentsTitleStyle_iQ9i{font-size:20px;font-weight:700;line-height:28px;text-align:center}.commentsItemsContainerStyle_Zw4J{column-count:2;gap:8px;width:100%}.borderStyle_jCx_{background:linear-gradient(0deg,#000,#242424);border-radius:8px;break-inside:avoid;padding:1px;width:100%}.commentsItemStyle_rd1k{--tw-bg-opacity:1;background-color:rgb(20 20 20/var(--tw-bg-opacity));border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:24px}.commentContentStyle_NzjM{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.contentTextStyle_PpXf{color:#ffffffc0;font-size:12px;font-weight:500;line-height:16px}.reverseQuoteStyle_waKq{align-self:flex-end;transform:rotate(180deg)}.userInfoContainerStyle_WdED img{border-radius:50%;flex:none;height:20px;width:20px}.commentUserNameStyle_D4y3{color:#fff;font-size:12px;font-weight:500;line-height:20px}.commentUserCompanyStyle_zWSD{color:#ffffffc0;font-size:10px;font-weight:400;line-height:16px}.mobileGap_cpxI:after{content:"";display:block;padding-bottom:8px}.faqContainer_vbEd{align-items:center;display:flex;flex-direction:column;gap:24px;width:100%}.faqTitle_s89i{font-size:24px;font-weight:700;line-height:28px}.faqListContainer_XW42{align-items:flex-start;display:flex;flex-direction:column;width:100%}.faqListQuestion_Y7ri{border-radius:8px 8px 2px 2px;cursor:pointer;flex-direction:row;font-size:14px;font-weight:500;gap:16px;justify-content:space-between;line-height:22px;padding:4px 24px}.faqListAnswer_uzUc,.faqListQuestion_Y7ri{align-items:center;display:flex;text-align:start;width:100%}.faqListAnswer_uzUc{background-color:#ffffff14;border-radius:2px 2px 8px 8px;font-size:12px;font-weight:400;line-height:16px;padding-bottom:12px;padding-left:24px;padding-right:24px;white-space:pre-line}.direction_IrxQ{height:12px;width:12px}.publicize_vEiD{--tw-text-opacity:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff0a;border:1px solid #ffffff1f;border-radius:20px;color:rgb(255 255 255/var(--tw-text-opacity));cursor:pointer;display:none;font-size:14px;font-weight:400;height:40px;line-height:22px;margin-left:auto;margin-right:auto;min-width:400px;overflow:hidden;padding-left:25px;padding-right:25px;position:relative}.publicizeStyle_C7Y6{align-items:center;background:linear-gradient(90deg,#ea984c,#5c9ac6 45.31%,#687100 91.49%);display:flex;filter:blur(23px);flex-direction:row;height:124px;justify-content:space-between;left:50%;object-fit:none;object-position:center;opacity:.16;position:absolute;top:50%;transform:translate(-50%,-50%);width:402px;z-index:0}.publicIntru_nEWo{align-items:center;display:flex;gap:11px}.bannerContainerStyle__SXx{align-items:center;color:#fff;display:none;flex-direction:column;flex-grow:0;font-size:2.5rem;font-weight:700;padding-left:20px;padding-right:20px}.canvasContainerStyle_h8pN{overflow:hidden;position:absolute;width:100%;z-index:-1}.bgStyle_xQ96{height:382px;object-fit:none;object-position:top;position:absolute;top:0;width:100%;z-index:0}.bannerContentContainer_RLp6{gap:186px;padding-top:24px}.bannerContentContainer_RLp6,.bannerTextContainerStyle_O5rS{align-items:center;display:flex;flex-direction:column;justify-content:center}.bannerTextContainerStyle_O5rS{gap:24px;position:relative;width:100%;z-index:2}.sloganStyle_zysD{font-size:56px;font-weight:800;line-height:88px;text-align:center}.descStyle_U78g{font-size:14px;font-weight:400;line-height:22px;padding-left:20px;padding-right:20px;text-align:center;width:100%}.buttonContainerStyle_UkM3,.buttonContainerStyle_ulq9{align-content:space-between;align-items:center;display:flex;flex-direction:column;font-size:16px;font-weight:500;gap:24px;line-height:28px}.bannerImageStyle_bakd,.bannerImageStyle_ppqY{align-items:center;display:flex;justify-content:center;padding-top:64px;width:100%}.colorDescAgentStyle_LHLV,.colorDescAgentStyle_x5xU{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#ff33ba .77%,#ffb7e7 100.77%);background-clip:text;-webkit-background-clip:text;font-weight:600}.colorDescAppStyle_An_L,.colorDescAppStyle_qG8r{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1effff,#c9ffff);background-clip:text;-webkit-background-clip:text;font-weight:600}.colorDescFlowStyle_VvqE,.colorDescFlowStyle_y9g7{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#8d33ff,#d1adff);background-clip:text;-webkit-background-clip:text;font-weight:600}.solutionContainerStyle_QwBc{display:flex;flex-direction:column;gap:32px;margin-top:62px}.tabsContainerStyle_DETz{--tw-bg-opacity:1;--tw-backdrop-blur:blur(13px);align-items:center;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:rgb(22 22 27/var(--tw-bg-opacity));border-color:#ffffff14;border-radius:36px;border-width:1px;display:flex;gap:2px;padding:2px;width:100%}.tabsItemStyle_TXig{align-items:center;border-radius:36px;color:#ffffff80;cursor:pointer;display:flex;flex:1 1 0%;font-size:14px;font-weight:500;height:100%;justify-content:center;line-height:20px;padding:14px 24px;position:relative;text-align:center;width:100%}.selectedTabStyle_CyW0{color:#fff;font-weight:600}.splitterItemStyle_gYQ6{background:linear-gradient(0deg,#0003,#0003),linear-gradient(180deg,#3f3849,#262a31);border-radius:34px;height:100%;position:absolute;top:0;width:100%;z-index:0}.solutionImageContainerStyle_LgpU{border-radius:12px;display:flex;flex-direction:row;overflow:hidden;position:relative;width:100%}.contentContainer_kErA svg,.solutionImageContainerStyle_LgpU svg{height:auto;width:100%}.solutionBaseBgStyle_nGRR{flex:none;transition-duration:.5s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.solutionSelectBgStyle_Xioy{opacity:1;position:relative}.solutionUnSelectBgStyle_RZeW{opacity:0;position:absolute;z-index:-1}.solutionBaseImageStyle_APzO{border-radius:8px;bottom:0;box-shadow:0 4px 24px 0 #0000002e;left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:opacity .5s cubic-bezier(.4,0,.2,1) .2s;z-index:1}.linkButtonStyle_b1Kn{bottom:40px;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.pricingMask_W_17{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));overflow:hidden;position:absolute;width:100%;z-index:1}.pricingContainer_Iia_{position:relative;width:100%;z-index:1}.pricingMaskLeft_XgjA{filter:blur(238.125px);left:-525px;opacity:.5;top:-40px;width:1155px}.pricingMaskLeft_XgjA,.pricingMaskRight_mQEj{--tw-bg-opacity:1;background-color:rgb(101 74 236/var(--tw-bg-opacity));display:none;height:453px;position:absolute}.pricingMaskRight_mQEj{filter:blur(238.125px);left:1004px;opacity:.3;top:109px;width:824px}.pricingMaskPhone_eCBF{background:radial-gradient(37% 76.28% at 48.58% 50.06%,#654aec 0,#654aec00 100%);display:block;filter:blur(50px);height:415.69px;left:-204px;opacity:.3;position:absolute;top:46.5px;transform:rotate(2.6deg);width:630px;z-index:-1}.pricingContent_kMON{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;margin:0 auto;padding-left:20px;padding-right:20px;width:100%}.pricingContentTitleExtra_U6Tm{background:linear-gradient(90deg,#fff0,#ffffff1a 50.38%,#fff0);border-radius:20px;color:#fff;display:block;font-size:14px;font-weight:500;line-height:26px;padding:3px 56px;text-align:center;width:-moz-fit-content;width:fit-content}.pricingContentTitle_tw94{font-size:40px;font-weight:700;justify-self:center;line-height:48px;padding-left:24px;padding-right:24px;text-align:center;width:100%}.cardContainerStyle_frTi{background:radial-gradient(98.85% 129.62% at 6.76% 2.06%,#bac1ff08 0,#dcdfff00 100%),#ffffff0f;border-color:#ffffff19;border-radius:8px;border-width:1px;display:flex;gap:20px;margin-top:8px;padding:24px;width:100%}.premiumCardContainer_ArgU{align-items:flex-start;gap:12px;width:100%}.premiumTitleStyle_pemo{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#9037ff,#f524ff);background-clip:text;-webkit-background-clip:text;font-size:20px;font-weight:700;line-height:30px}.premiumDescStyle_R6dg{color:#ffffffc0;display:block;font-size:12px;font-weight:400;line-height:15px}.premiumCardContainerStyle_zMC3{bottom:12px;display:flex;flex-direction:column;gap:12px;width:100%}.cardBaseStyle_lN8t{border-radius:8px;height:100%;overflow:hidden;padding:24px;position:relative;width:100%;z-index:1}.priceCardStyle_vDMh{background:linear-gradient(180deg,#ffffff0f,#fff0);display:flex;flex-direction:column;gap:12px}.cardBgStyle_q38d{bottom:0;height:auto;left:0;object-fit:cover;object-position:top;position:absolute;right:0;top:0;width:100%;z-index:-1}.cardIconStyle_UqGN{display:inline-flex;height:16px;width:16px}.agentListTitleStyle_sU8y{--tw-text-opacity:1;color:rgb(255 88 190/var(--tw-text-opacity))}.listIconStyle_TqyE{align-self:flex-start;padding-top:2px}.priceListTitleStyle_v2pp{font-size:16px;font-weight:600;line-height:22px}.priceListStyle_xBIv{display:flex;flex-direction:column;gap:4px}.listItemStyle_Pa3C{align-items:center;display:flex;gap:8px;padding-bottom:4px;padding-top:4px}.listItemNameStyle_YZOo{font-size:14px;font-weight:400;line-height:18px}.priceNumStyle_eiPz{font-size:28px;font-weight:700}.priceNumDescStyle_n2JG{color:#ffffffc0;font-size:12px;font-weight:400;line-height:16px}.upgradeButtonStyle_qpR6{--tw-bg-opacity:1;align-items:center;background-color:rgb(101 74 236/var(--tw-bg-opacity));border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:400;justify-content:center;line-height:22px;padding:9px 32px;width:100%}.containerStyle_IK43,.descStyle_uxY4,.textContainerStyle_j9Qp{padding-left:20px;padding-right:20px}.containerStyle_IK43{align-items:center;color:#fff;display:flex;flex-direction:column;flex-grow:0;font-size:2.5rem;font-weight:700;height:100%;margin-bottom:60px;overflow:hidden;position:relative}.indexBgStyle_Nusz{display:none;overflow:hidden;position:absolute;width:100%;z-index:-1}.indexBgStyle_Nusz img{bottom:0;height:auto;position:absolute;width:100%}.canvasContainerStyle_tBLh{height:100%;overflow:hidden;position:absolute;width:100%;z-index:-1}.contentContainer_kErA{align-items:center;display:flex;flex-direction:column;gap:24px;height:100%;justify-content:space-between;padding-top:64px;position:relative}.textContainerStyle_LZMZ{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;position:relative;width:100%;z-index:2}.sloganStyle_L8z2{font-size:36px;font-weight:800;line-height:40px;text-align:center}.colorSloganStyle_oMou{-webkit-text-fill-color:#0000;background-clip:text;-webkit-background-clip:text}.descStyle_uxY4{font-size:14px;font-weight:400;line-height:17px;text-align:center;width:100%}.demoContainerStyle_taMy{bottom:0;height:auto;perspective:1040px;width:100%;z-index:2}.demoImgStyle_SvRF{border-radius:12px 12px 0 0;display:none;max-width:100%;overflow:hidden;position:relative;transform-origin:center;width:100%}.linkButtonStyle_m6Tn{bottom:16px;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.baseLinkButtonStyle_PuMK{align-items:center;cursor:pointer;display:flex;font-weight:600;justify-content:center;line-height:28px;overflow:hidden;position:relative;text-align:center}.smallSizeStyle_AohM{border-radius:32px;font-size:14px;height:48px;min-width:240px}.normalSizeStyle_qzr1{border-radius:24px;font-size:16px;height:56px;min-width:320px}.largeSizeStyle_kJWZ{border-radius:32px;font-size:16px;height:64px;min-width:320px}.darkColorStyle_MxJT{background-color:#0b0c0f;box-shadow:0 4px 8px 0 #15151d73;color:#fff}.lightColorStyle_JCL1{background-color:#fff;box-shadow:0 2px 24.8px 0 #6100ff;color:#0b0c0f}.lightColorStyle_JCL1:hover{color:#0b0c0f}.baseArrowStyle_lXyW{align-items:center;border-radius:9999px;box-shadow:0 4px 8px #23152f9e;display:flex;justify-content:center}.baseArrowStyle_lXyW svg{height:auto;width:16px}.smallArrowStyle_XZaI{height:32px;margin-right:8px;width:32px}.normalArrowStyle_XxGa{height:40px;margin-right:8px;width:40px}.largeArrowStyle_sKWX{height:40px;margin-right:12px;width:40px}.linesStyle_lbFy,.linkButtonBgStyle_WFWO{position:absolute;width:100%;display:flex}.darkArrowStyle_go7n{background:linear-gradient(180deg,#d1ccf2,#fff);color:#0b0c0f}.lightArrowStyle_QtFv{background:linear-gradient(180deg,#312578,#0b0c0f);color:#fff}.linkButtonBgStyle_WFWO{align-items:center;height:100%;justify-content:flex-end;transition:.3s ease-in-out;z-index:0}.swiper-slide,.swiper-wrapper{transition-property:transform;height:100%}.baseLinkButtonStyle_PuMK:hover .linkButtonBgStyle_WFWO{transform:translateX(-10%)}.linesStyle_lbFy{align-items:center;gap:10px;height:100%;z-index:-1}.swiper,.swiper-wrapper{z-index:1;position:relative}.lineContainerStyle_Y3Ta{display:flex;flex:none;height:100%;justify-content:center;transform:rotate(20deg);width:26px}.lineStyle__sNm{background-color:#0b0c0f;height:100%;width:1px}.darkLineStyle__Ris{--tw-bg-opacity:1;background-color:rgb(57 57 62/var(--tw-bg-opacity))}.lightLineStyle_xduB{--tw-bg-opacity:1;background-color:rgb(240 240 244/var(--tw-bg-opacity))}.bannerContainer_oUHl{gap:32px;height:100%;justify-content:center;overflow:hidden;padding-bottom:32px;padding-top:32px;position:relative}.bannerContainer_oUHl,.textContainerStyle_j9Qp{align-items:center;display:flex;flex-direction:column;width:100%}.textContainerStyle_j9Qp{gap:24px}.sloganStyle_XKtE{color:#fff;font-size:36px;font-weight:700;line-height:40px;text-align:center}.contentLabelStyle_dif9,.descStyle_YqnZ{color:#fff;font-size:14px;text-align:center}.descStyle_YqnZ{line-height:17px}.linkGroupItemStyle_KQRV{align-items:center;display:flex;flex-direction:column;gap:8px}.contentContainerStyle_JEhu{align-items:center;display:flex;flex:none;flex-direction:column;gap:12px;padding-left:8px;padding-right:8px}.contentLabelStyle_dif9{font-weight:600;line-height:20px}.swiper-slide{width:320px!important}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;margin-left:auto;margin-right:auto;overflow:hidden;padding:0}.swiper-wrapper{box-sizing:initial;display:flex;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;position:relative}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:1s linear infinite b}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes b{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media (min-width:360px){.container{max-width:360px}}@media (min-width:480px){.container{max-width:480px}}@media (min-width:640px){.refine-prose :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:2.5rem;line-height:3rem;margin-bottom:2rem}.refine-prose :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:2rem;line-height:2.5rem;margin-bottom:1.5rem}.refine-prose :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.5rem;line-height:2rem;margin-bottom:1.5rem}.refine-prose :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.33rem;line-height:1.75rem;margin-bottom:1.5rem}.refine-prose :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){line-height:1.75rem}.refine-prose :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1.0625rem}.admonition-simple *{line-height:1.25rem}.container{max-width:640px}.sm\:h-\[232px\]{height:232px}.sm\:flex-row{flex-direction:row}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:text-2xl{font-size:1.5rem}.sm\:text-sm{font-size:.875rem}}@media (min-width:656px){.container{max-width:656px}}@media (min-width:688px){.blog-sm\:max-w-screen-blog-sm,.container{max-width:688px}.blog-sm\:mb-16{margin-bottom:4rem}.blog-sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.blog-sm\:py-12{padding-bottom:3rem;padding-top:3rem}.blog-sm\:pb-16{padding-bottom:4rem}.blog-sm\:text-4xl{font-size:2.25rem}}@media (min-width:720px){.container{max-width:720px}}@media (min-width:768px){.max-w-screen-content{max-width:656px}.container{max-width:768px}.md\:mb-4{margin-bottom:1rem}.md\:mt-4{margin-top:1rem}.md\:h-64{height:16rem}.md\:w-60{width:15rem}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem}.md\:text-4xl{font-size:2.25rem}.md\:text-base{font-size:1rem}}@media (min-width:864px){.container{max-width:864px}}@media (min-width:944px){.container{max-width:944px}}@media (min-width:960px){.cardContentItemNormalStyle_f4ow,.footerBottom_L4UB,.lg\:flex-row{flex-direction:row}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.875rem;line-height:1.125rem}.container{max-width:960px}.lg\:mb-8{margin-bottom:2rem}.lg\:mt-0{margin-top:0}.lg\:mt-\[16px\]{margin-top:16px}.demoImgStyle_SvRF,.lg\:block,.pricingMaskLeft_XgjA,.pricingMaskRight_mQEj,.publicize_vEiD{display:block}.back_vGuo,.bannerContainerStyle__SXx,.lg\:flex{display:flex}.bannerContainer_oUHl,.lg\:hidden,.mobileGap_cpxI:after,.pricingMaskPhone_eCBF{display:none}.itemDescription_LA9o,.templateItemDesc_NKfB{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box}.lg\:h-\[210px\]{height:210px}.lg\:h-\[26px\]{height:26px}.lg\:h-\[40px\],.logoStyle_ixBp{height:40px}.lg\:w-\[1040px\]{width:1040px}.lg\:w-\[550px\]{width:550px}.lg\:w-\[570px\]{width:570px}.lg\:w-\[800px\]{width:800px}.lg\:w-auto{width:auto}.lg\:max-w-\[680px\]{max-width:680px}.bannerContentContainer_RLp6,.content_jfit,.footerBottom_L4UB,.solutionContainerStyle_QwBc,.space_IcLX{max-width:1040px}.lg\:items-center{align-items:center}.lg\:gap-\[120px\]{gap:120px}.cardContainerStyle_Kvlw,.lg\:gap-\[32px\],.textContainerStyle_toav,.wallContainerStyle_Ny01{gap:32px}.lg\:gap-\[8px\]{gap:8px}.lg\:px-\[40px\]{padding-left:40px;padding-right:40px}.lg\:py-\[16px\]{padding-bottom:16px;padding-top:16px}.lg\:pb-\[100px\]{padding-bottom:100px}.lg\:pb-\[200px\]{padding-bottom:200px}.lg\:pl-\[30px\]{padding-left:30px}.lg\:pt-\[40px\]{padding-top:40px}.lg\:pt-\[48px\]{padding-top:48px}.lg\:text-\[16px\]{font-size:16px}.lg\:text-base{font-size:1rem}.lg\:text-sm{font-size:.875rem}.lg\:leading-\[19px\]{line-height:19px}.footerContainer_lS9F{gap:40px;padding:80px 120px 40px}.footerContentContainer_DQf_{column-gap:40px;flex-wrap:nowrap;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1040px}.footerBottom_L4UB{gap:48px}.footerBottom_L4UB,.footerItem_GsU2,.textDescStyle_vwoY{font-size:14px;line-height:22px}.lpHeader_rubd{flex-direction:row;flex-wrap:nowrap}.lpHeaderLeft_Zvbf{align-items:flex-start;gap:40px;justify-content:flex-start;text-align:left}.headerTitle_URD5{font-size:48px;line-height:56px}.headerGo_RttL{border-radius:8px;font-size:20px;font-weight:500;height:48px;line-height:28px;padding:10px 32px}.lpContainer_Zbon,.lpContainer_yWoG{padding-left:0;padding-right:0}.contentTitle_b3GB{margin-top:100px}.itemsContainer_OUc9{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.item_AuQF{gap:24px;padding:32px}.itemNameCommon_o16n,.templateHeaderLabel_W4fj{font-size:18px}.itemNameIntegrations_ZIud{line-height:26px}.itemDescription_LA9o{font-size:14px;line-height:24px;overflow:hidden}.contentContainer_c9t8{overflow:visible;padding-top:200px}.content_jfit{gap:200px}.commBottomContainerStyle_CDHK{margin-top:200px}.cardContentContainerStyle_kX6c{gap:64px}.textTitleNumStyle_h7vB,.textTitleStye_mJAH{font-size:40px}.textTitleNumStyle_TEnk{font-size:48px}.textDescStyle_NFkj{font-size:14px;line-height:22px;max-width:488px}.imgStyle_GNQD{width:431px}.cardContentItemReverseStyle_DHTD{flex-direction:row-reverse}.cardIContentItemContainerStyle_rPYn{border-radius:16px;gap:40px;padding:48px}.textTitleStye_u6Ys{font-size:36px;line-height:44px}.swipeMore_QWDA{font-size:16px;line-height:19px}.commBottomContainer_rcOJ{border-bottom-left-radius:40px;border-bottom-right-radius:40px;height:410px;padding:120px 120px 80px}.commBottomTitle_zpUk{font-size:40px;line-height:48px}.commBottomDesc_DyZe{width:600px}.commBottomBtn_pFSF{width:320px}.templateContainer_VElw{gap:40px;padding-bottom:100px}.templateHeader_AQwG{gap:24px;margin-top:60px}.templateItemContainer_lyZ8{gap:40px;grid-template-columns:repeat(4,minmax(0,1fr))}.templateItem_Ji0p{gap:24px}.templateHeaderTitle_yMrU{font-size:32px;line-height:56px}.templateHeaderDesc_XN3P{font-size:16px;line-height:24px}.templateItemDesc_NKfB{line-height:20px;overflow:hidden}.learnMore_Lb_l{font-size:14px;gap:8px;line-height:22px}.logoTitleStyle_hhN_{font-size:16px;line-height:28px}.logoContainerStyle_PeVm{align-items:center;column-gap:40px;display:flex;justify-content:center}.commentsContainerStyle_ctEM{gap:48px}.commentsTitleStyle_iQ9i{font-size:40px;line-height:56px}.commentsItemsContainerStyle_Zw4J{column-count:3;gap:16px}.userInfoContainerStyle_WdED img{height:32px;width:32px}.faqContainer_vbEd{gap:48px;width:800px}.faqTitle_s89i{line-height:56px}.faqListQuestion_Y7ri{border-top-left-radius:16px;border-top-right-radius:16px;font-size:16px}.faqListAnswer_uzUc{border-bottom-left-radius:16px;border-bottom-right-radius:16px;font-size:14px;line-height:22px}.publicizeStyle_C7Y6{height:179px;width:579px}.solutionBaseImageStyle_APzO{width:715px}.pricingContent_kMON{gap:24px;max-width:1200px}.pricingContentTitle_tw94{font-size:64px;line-height:72px}.cardContainerStyle_frTi{gap:40px}.premiumCardContainer_ArgU{border-radius:16px;gap:24px}.premiumTitleStyle_pemo{font-size:24px;line-height:28px}.premiumDescStyle_R6dg{line-height:20px}.premiumCardContainerStyle_zMC3{bottom:0;flex-direction:row;gap:24px}.priceCardStyle_vDMh{gap:20px}.operatingStyle_cGmQ{align-items:flex-start;justify-content:flex-start}.upgradeButtonStyle_qpR6{width:208px}.containerStyle_IK43{margin-bottom:120px}.indexBgStyle_Nusz{display:block;min-height:1200px}.indexBgStyle_Nusz img{height:1034px}.contentContainer_kErA{gap:56px;max-width:1040px;min-height:1200px;padding-top:150px}.sloganStyle_L8z2{font-size:56px;line-height:88px}.descStyle_uxY4{line-height:22px;max-width:800px}.demoContainerStyle_taMy{position:relative}.linkButtonStyle_m6Tn{bottom:40px}}@media (min-width:976px){.container{max-width:976px}}@media (min-width:997px){:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_S8lM,.announcementBarPlaceholder_nNiq{flex-basis:50px}.navbarSearchContainer_Pu8E{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}}@media (min-width:1000px){.blog-md\:max-w-screen-blog-md,.container{max-width:1000px}.blog-md\:mb-8{margin-bottom:2rem}.blog-md\:block{display:block}.blog-md\:max-w-\[624px\]{max-width:624px}.blog-md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-md\:flex-row{flex-direction:row}.blog-md\:border-t{border-top-width:1px}.blog-md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.blog-md\:py-16{padding-bottom:4rem;padding-top:4rem}.blog-md\:pb-8{padding-bottom:2rem}.blog-md\:pt-0{padding-top:0}.blog-md\:pt-12{padding-top:3rem}.blog-md\:pt-16{padding-top:4rem}.blog-md\:text-base{font-size:1rem}}@media (min-width:1200px){.container{max-width:1200px}}@media (min-width:1264px){.container{max-width:1264px}}@media (min-width:1280px){.container{max-width:1280px}.blog-lg\:mb-12{margin-bottom:3rem}.blog-lg\:max-w-screen-content-2xl{max-width:864px}.blog-lg\:gap-12{gap:3rem}.blog-lg\:text-5xl{font-size:3rem}.blog-lg\:text-xl{font-size:1.25rem}}@media (min-width:1296px){.container{max-width:1296px}}@media (min-width:1408px){.container{max-width:1408px}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl);max-width:1440px}.xl\:block{display:block}.xl\:hidden{display:none}.xl\:h-\[152px\]{height:152px}.xl\:h-\[192px\]{height:192px}.xl\:h-\[80px\]{height:80px}.xl\:h-\[96px\]{height:96px}.xl\:w-\[250px\]{width:250px}.xl\:w-\[400px\]{width:400px}.xl\:w-auto{width:auto}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:px-\[200px\]{padding-left:200px;padding-right:200px}.xl\:text-\[14px\]{font-size:14px}.bannerContentContainer_RLp6,.content_jfit,.footerBottom_L4UB,.footerContentContainer_DQf_,.solutionContainerStyle_QwBc,.space_IcLX{max-width:1200px}.content_jfit{padding:0}.allContentContainer_nVOG{gap:64px}.allContentTitle_K0Y2{font-size:40px;line-height:48px}.imgStyle_GNQD{width:532px}.faqTitle_s89i{font-size:48px}.solutionBaseImageStyle_APzO{width:825px}.contentContainer_kErA{max-width:1200px;width:1200px}}@media (min-width:1536px){.refine-prose{font-size:1rem;line-height:1.75}.refine-prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.refine-prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-left:1em}.refine-prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.refine-prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.refine-prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.refine-prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.refine-prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.875em;padding:.1875em .375em}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.refine-prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.refine-prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.refine-prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.875em;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;padding:.8571429em 1.1428571em}.refine-prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.refine-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(.\32xl\:prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(.\32xl\:prose-base>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.\32xl\:prose-base>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(.\32xl\:prose-base>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.\32xl\:prose-base>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-left:1.625em}.refine-prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.refine-prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.refine-prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em}.refine-prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.5714286em}.refine-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.refine-prose :where(.\32xl\:prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(.\32xl\:prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.refine-prose :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem}.max-w-screen-content{max-width:864px}.container{max-width:1536px}.\32xl\:mb-6{margin-bottom:1.5rem}.\32xl\:p-6{padding:1.5rem}.\32xl\:text-\[32px\]{font-size:32px}.\32xl\:text-base{font-size:1rem}.\32xl\:text-lg{font-size:1.125rem}.\32xl\:text-xl{font-size:1.25rem}.\32xl\:leading-10{line-height:2.5rem}}@media (min-width:1584px){.container{max-width:1584px}.blog-2xl\:mb-20{margin-bottom:5rem}.blog-2xl\:max-w-screen-blog-md{max-width:1000px}.blog-2xl\:px-0{padding-left:0;padding-right:0}.blog-2xl\:pb-12{padding-bottom:3rem}.blog-2xl\:pt-20{padding-top:5rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_Kblj,.footer__link-separator,.navbar__item{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Pu8E{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media screen and (max-width:960px){.mobileFooterContainer_tpXD{transform:translateY(0)!important}.linkButtonBgStyle_WFWO{transform:translateX(0)!important}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_hbYq,.footer,.menu,.navbar,.pagination-nav,.table-of-contents{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_THA1{white-space:pre-wrap}} \ No newline at end of file +.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}*,:after,:before{box-sizing:border-box}.markdown li,body{word-wrap:break-word}.button,.dropdown__link,.text--truncate,.truncate,.whitespace-nowrap{white-space:nowrap}.toggleButton_C0po,html{-webkit-tap-highlight-color:transparent}#__docusaurus,.min-h-full{min-height:100%}.clean-list,.containsTaskList_aqzd,.details_GXzP>summary,.dropdown__menu,.menu__list,.swiper,menu,ol,ul{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#654aec;--ifm-color-primary-dark:#4d2ee9;--ifm-color-primary-darker:#4120e8;--ifm-color-primary-darkest:#3215c4;--ifm-color-primary-light:#7d66ef;--ifm-color-primary-lighter:#8974f0;--ifm-color-primary-lightest:#846ef0;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--swiper-theme-color:#007aff}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width);padding:0 var(--ifm-spacing-horizontal)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.\!mb-0,.margin-bottom--none,.margin-vert--none,.markdown>:last-child,.refine-details .refine-details-content>div>:last-child{margin-bottom:0!important}.\!mt-0,.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.px-0,.row--no-gutters>.col{padding-left:0;padding-right:0}.items-start,.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.items-center,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width);padding:0 var(--ifm-spacing-horizontal);width:100%}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.\!m-0,.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.\!py-4,.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.\!py-4,.padding-top--md,.padding-vert--md{padding-top:1rem!important}.\!px-4,.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.\!px-4,.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);overflow:auto;padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration);color:inherit;text-decoration:inherit}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_I8k2 .wordWrapButtonIcon_dUFy{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.inline-block{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child,.pt-0{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_UV2B:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links,.mb-4{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.footer__item{margin-top:0}.footer__items{margin-bottom:0}.codeBlockStandalone_BZ5x,.p-0,[type=checkbox],dialog,fieldset,legend{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle,.text-2xl{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child),.mt-1{margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_GXzP[data-collapsed=false].isBrowser_pHft>summary:before,.details_GXzP[open]:not(.isBrowser_pHft)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{opacity:0;top:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;visibility:hidden;left:0;bottom:0}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.filter,.hover\:brightness-90:hover{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.flex,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent__DAX,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.h-full,.navbar__logo img,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.m-0,.navbar__items--center .navbar__brand,blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.cursor-pointer,.dropdownNavbarItemMobile_JUhd,.footerItem_GsU2,.pills__item,.refine-toc-item,.tabs__item,[role=button],button{cursor:pointer}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items,.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.inline-flex,.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,html .no-underline{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.content_B3zk,.text-center{text-align:center}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.transition,.transition-colors,.transition-opacity,.transition-transform{transition-duration:.15s}.refine-details>summary .refine-details-triangle,.transition,.transition-colors,.transition-opacity,.transition-transform{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.blog-wrapper:root,.docs-wrapper:root{--primary-font-sans:"Inter"}.scrollbar-slim{scrollbar-color:red blue;scrollbar-width:thin}.scrollbar-slim::-webkit-scrollbar{width:12px}.scrollbar-slim::-webkit-scrollbar-track{background:#14141f;border-radius:5px}.scrollbar-slim::-webkit-scrollbar-thumb{background-color:#303450;border:3px solid #14141f;border-radius:12px}.refine-prose{color:var(--tw-prose-body);max-width:100%!important;--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75;--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders);font-weight:400;max-width:none}.refine-prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.refine-prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.refine-prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.refine-prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.refine-prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.refine-prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.refine-prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.refine-prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.refine-prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.refine-prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.refine-prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.refine-prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.refine-prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.refine-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.refine-prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.refine-prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.refine-prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-left-color:var(--tw-prose-quote-borders);border-left-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.refine-prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.refine-prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.refine-prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.refine-prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.refine-prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.refine-prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.refine-prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.refine-prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.refine-prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.refine-prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.refine-prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.refine-prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding:.1875em .375em}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.refine-prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.refine-prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.refine-prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.refine-prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.refine-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:initial;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.refine-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.refine-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.refine-prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.refine-prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.refine-prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}progress,sub,sup{vertical-align:initial}.refine-prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.refine-prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.refine-prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:initial}.refine-prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.refine-prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.refine-prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.refine-prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.refine-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-left:1.625em}.refine-prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.5714286em}.refine-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.refine-prose :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .refine-prose) :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(0 128 255/var(--tw-text-opacity));font-weight:400}:is(:where([data-theme=dark]) .refine-prose) :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(110 179 247/var(--tw-text-opacity))}.refine-prose :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(20 20 31/var(--tw-text-opacity));font-weight:600;font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.refine-prose :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(29 30 48/var(--tw-text-opacity));font-weight:600;font-size:1rem;line-height:1.5rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(237 242 247/var(--tw-text-opacity))}.refine-prose :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));font-weight:600;font-size:.875rem;line-height:2.5rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}.refine-prose :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(71 78 107/var(--tw-text-opacity));font-weight:600;font-size:.75rem;line-height:1.33rem;margin-bottom:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));margin-bottom:1.25rem;margin-top:0;font-size:1rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.875rem;margin-bottom:0;margin-top:0}.refine-prose :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));margin-left:0;padding-left:2rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity));margin-left:0;padding-left:2rem}:is(:where([data-theme=dark]) .refine-prose) :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}.refine-prose :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-left-width:4px;border-radius:.5rem;font-style:normal;font-weight:400;padding:1rem;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(244 248 251/var(--tw-bg-opacity));border-left-color:rgb(163 173 194/var(--tw-border-opacity));color:rgb(48 52 80/var(--tw-text-opacity))}.refine-prose:last-child :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){margin-bottom:0}:is(:where([data-theme=dark]) .refine-prose) :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(29 30 48/var(--tw-bg-opacity));border-left-color:rgb(71 78 107/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.625rem;line-height:.75rem;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(222 229 237/var(--tw-bg-opacity));color:rgb(48 52 80/var(--tw-text-opacity));border-radius:.25rem;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:2px .375rem 3px;border-style:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:400}:is(:where([data-theme=dark]) .refine-prose) :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(48 52 80/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):before{--tw-content:none;content:var(--tw-content)}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):after{--tw-content:none;content:var(--tw-content)}.refine-prose h1 code,.refine-prose h2 code,.refine-prose h3 code{font-size:inherit;line-height:inherit;vertical-align:bottom}.refine-prose blockquote p:after,.refine-prose blockquote p:before,.refine-prose blockquote:after,.refine-prose blockquote:before{--tw-content:none;content:var(--tw-content)}.refine-prose table :is(:where(table):not(:where([class~=not-prose],[class~=not-prose] *))){border-style:none}.refine-prose table tr{border-top:unset}.refine-prose table td,.refine-prose table th{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(222 229 237/var(--tw-border-opacity));border-width:1px;color:rgb(20 20 31/var(--tw-text-opacity));padding:.5rem;font-size:.875rem}:is(:where([data-theme=dark]) .refine-prose table td),:is(:where([data-theme=dark]) .refine-prose table th){--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(48 52 80/var(--tw-border-opacity));color:rgb(237 242 247/var(--tw-text-opacity))}.refine-prose table th{--tw-text-opacity:1;color:rgb(20 20 31/var(--tw-text-opacity));font-weight:600}:is(:where([data-theme=dark]) .refine-prose table th){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}.refine-prose table th,.refine-prose table th code,.text-sm{font-size:.875rem}:is(:where([data-theme=dark]) .refine-prose table tbody tr:nth-child(odd)){--tw-bg-opacity:0.3;background-color:rgb(48 52 80/var(--tw-bg-opacity))}.refine-prose table tbody tr:nth-child(odd){--tw-bg-opacity:0.1;background-color:rgb(244 248 251/var(--tw-bg-opacity))}.bg-gray-50,.refine-prose table tbody tr:nth-child(2n),.refine-prose table thead{--tw-bg-opacity:1;background-color:rgb(244 248 251/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .refine-prose table tbody tr:nth-child(2n)){--tw-bg-opacity:1;background-color:rgb(20 20 31/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .refine-prose table thead){--tw-bg-opacity:1;background-color:rgb(20 20 31/var(--tw-bg-opacity))}.refine-prose table thead tr{border-style:none}.refine-prose .table-container{margin-bottom:1rem;margin-top:2rem;max-width:100%;overflow:auto;padding-bottom:1rem}.refine-prose .table-container table{display:table;margin-bottom:0;margin-top:0;table-layout:auto}.refine-toc-item code:after,.refine-toc-item code:before{content:""}.refine-toc-item code{border-radius:.25rem;border-style:none!important;color:inherit!important;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:.125rem .25rem;vertical-align:bottom!important;font-size:12px}:is(:where([data-theme=dark]) .refine-toc-item code){--tw-bg-opacity:0.3;background-color:rgb(71 78 107/var(--tw-bg-opacity));color:inherit!important}a:has(>code){text-decoration:none!important}a:has(>code) code{--tw-text-opacity:1!important;color:rgb(0 128 255/var(--tw-text-opacity))!important;vertical-align:text-bottom!important}:is(:where([data-theme=dark]) a:has(>code) code){--tw-text-opacity:1!important;color:rgb(110 179 247/var(--tw-text-opacity))!important}p:has(>code) code{margin-left:.125rem;margin-right:.125rem;vertical-align:text-bottom!important}li a:has(>code) code{margin-left:0!important;margin-right:0!important;vertical-align:text-bottom!important}.admonition.admonition-caution code{--tw-bg-opacity:1;--tw-bg-opacity:15%;background-color:rgb(242 128 13/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-caution code){--tw-bg-opacity:15%;background-color:#ff99331a}.admonition.admonition-caution a{--tw-text-opacity:1;color:rgb(204 102 0/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-caution a){--tw-text-opacity:1;color:rgb(255 153 51/var(--tw-text-opacity))}.admonition.admonition-caution a code{--tw-text-opacity:1!important;color:rgb(204 102 0/var(--tw-text-opacity))!important}:is(:where([data-theme=dark]) .admonition.admonition-caution a code){--tw-text-opacity:1!important;color:rgb(255 153 51/var(--tw-text-opacity))!important}.admonition.admonition-caution li::marker{--tw-text-opacity:0.5;color:rgb(204 102 0/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-caution li)::marker{--tw-text-opacity:0.5;color:rgb(255 153 51/var(--tw-text-opacity))}.admonition.admonition-danger code{--tw-bg-opacity:1;--tw-bg-opacity:15%;background-color:rgb(255 76 77/var(--tw-bg-opacity))}.admonition.admonition-danger a{--tw-text-opacity:1;color:rgb(255 76 77/var(--tw-text-opacity))}.admonition.admonition-danger a code{--tw-text-opacity:1!important;color:rgb(255 76 77/var(--tw-text-opacity))!important}.admonition.admonition-info code{--tw-bg-opacity:15%;background-color:#0080ff1a}:is(:where([data-theme=dark]) .admonition.admonition-info code){--tw-bg-opacity:15%;background-color:#6eb3f71a}.admonition.admonition-info a,.admonition.admonition-info-tip a{--tw-text-opacity:1;color:rgb(0 128 255/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-info a){--tw-text-opacity:1;color:rgb(110 179 247/var(--tw-text-opacity))}.admonition.admonition-info li::marker{--tw-text-opacity:0.5;color:rgb(0 128 255/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition.admonition-info li)::marker{--tw-text-opacity:0.5;color:rgb(110 179 247/var(--tw-text-opacity))}.admonition.admonition-tip code{--tw-bg-opacity:1;--tw-bg-opacity:15%;background-color:rgb(31 173 102/var(--tw-bg-opacity))}.admonition.admonition-note code,.bg-\[\#5865F2\],.bg-black,.bg-blue-100,.bg-gray-0,.bg-gray-100,.bg-gray-200,.bg-gray-600,.bg-gray-900,.bg-refine-blue,.bg-tech-purple-03,.bg-violet-800,.bg-white{--tw-bg-opacity:1}.admonition.admonition-tip a{--tw-text-opacity:1;color:rgb(31 173 102/var(--tw-text-opacity))}.admonition.admonition-tip a code{--tw-text-opacity:1!important;color:rgb(31 173 102/var(--tw-text-opacity))!important}.admonition.admonition-tip li::marker{--tw-text-opacity:0.5;color:rgb(31 173 102/var(--tw-text-opacity))}.admonition.admonition-note code{--tw-bg-opacity:15%;background-color:rgb(15 189 189/var(--tw-bg-opacity))}.admonition.admonition-additional a,.admonition.admonition-note a{--tw-text-opacity:1;color:rgb(15 189 189/var(--tw-text-opacity))}.admonition.admonition-note a code{--tw-text-opacity:1!important;color:rgb(15 189 189/var(--tw-text-opacity))!important}.admonition.admonition-note li::marker{--tw-text-opacity:0.5;color:rgb(15 189 189/var(--tw-text-opacity))}.admonition.admonition-additional code{--tw-bg-opacity:0.2;background-color:rgb(15 189 189/var(--tw-bg-opacity))}.admonition.admonition-info-tip code{--tw-bg-opacity:0.2;background-color:rgb(0 128 255/var(--tw-bg-opacity))}.admonition pre.prism-code code,.bg-transparent{background-color:initial}.refine-details>summary+div>div{border-top-width:0;margin-top:0;padding-top:0}.p-4,.refine-details-content{padding:1rem}.refine-details>summary .refine-details-triangle{--tw-rotate:-90deg;transition-duration:.2s;transition-property:transform}.-rotate-180,.-rotate-90,.refine-details>summary .refine-details-triangle,.refine-details[open]>summary .refine-details-triangle,.rotate-0,.scale-100,.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.refine-details[open]>summary .refine-details-triangle,.rotate-0{--tw-rotate:0deg}.max-w-screen-content{max-width:480px}html[data-active-page=index],html[data-active-page=index] body{--tw-bg-opacity:1;background-color:rgb(29 30 48/var(--tw-bg-opacity))}@keyframes a{0%,35%,to{opacity:0}30%,5%{opacity:1}}.landing-hero-mobile-svg .auth,.landing-hero-mobile-svg .backend,.landing-hero-mobile-svg .framework,.landing-hero-mobile-svg .platform{animation:24s infinite a;opacity:0;will-change:opacity}.landing-hero-mobile-svg .nextjs{animation-delay:0s}.landing-hero-mobile-svg .vite{animation-delay:8s}.landing-hero-mobile-svg .remix{animation-delay:16s}.landing-hero-mobile-svg .mui{animation-delay:-3s}.landing-hero-mobile-svg .antd{animation-delay:5s}.landing-hero-mobile-svg .chakra{animation-delay:13s}.landing-hero-mobile-svg .supabase{animation-delay:-6s}.landing-hero-mobile-svg .nest{animation-delay:2s}.landing-hero-mobile-svg .appwrite{animation-delay:10s}.landing-hero-mobile-svg .google{animation-delay:-9s}.landing-hero-mobile-svg .auth0{animation-delay:-1s}.landing-hero-mobile-svg .strapi{animation-delay:7s}.animation-parent{backface-visibility:hidden;perspective:1000;transform:translateZ(0)}#__docusaurus-base-url-issue-banner-container,.hidden,.sp-icon-standalone[title="Open in CodeSandbox"] svg+span,.sp-preview .sp-custom-loading,.sp-preview .sp-loading,.themedComponent_FXRw,[data-theme=dark] .lightToggleIcon__wwy,[data-theme=light] .darkToggleIcon_iyjK,[hidden],html[data-announcement-bar-initially-dismissed=true] .announcementBar_hbYq{display:none}.sp-preview .sp-loading+.sp-custom-loading{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:calc(var(--sp-zIndices-top) + 1)}button.sp-button.sp-icon-standalone[title="Open in CodeSandbox"]:has(svg+span){padding-left:0;padding-right:4px;width:26px}.admonition-simple .admonition-content :last-child,.admonitionContent_YstZ>:last-child,.collapsibleContent_uFAl p:last-child,.details_GXzP>summary>p:last-child,.mb-0,.refine-tab-content>:last-child{margin-bottom:0}.admonition-simple ul{list-style-position:outside;list-style-type:"- ";margin:0;padding-left:24px}.admonition-simple *{font-size:.875rem;line-height:1rem}.admonition-simple .admonition-content ul li::marker{--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .admonition-simple .admonition-content ul li)::marker{--tw-text-opacity:1;color:rgb(237 242 247/var(--tw-text-opacity))}h4>del:has(code:only-child){text-decoration-line:none}html h4>del:has(code:only-child){text-decoration:none}h4>del:has(code:only-child) code{text-decoration-line:line-through}.font-\[500\],.font-medium,.sp-tab-button[data-active=true]{font-weight:500}*,:after,:before{border:0 solid #dee5ed}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--primary-font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{display:block;margin-bottom:var(--ifm-spacing-vertical);overflow:auto;border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}.admonitionHeading_wuvZ code,button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}menu,ol,ul{margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a3adc2;opacity:1}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container,.w-full{width:100%}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible,.swiper-slide-invisible-blank{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-\[24px\]{right:24px}.top-0{top:0}.top-2{top:.5rem}.top-32{top:8rem}.top-\[24px\]{top:24px}.top-\[67px\]{top:67px}.z-50{z-index:50}.z-\[100\],.z-modal{z-index:100}.z-\[1\]{z-index:1}.z-\[55\]{z-index:55}.m-1{margin:.25rem}.m-6{margin:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[40px\]{margin-bottom:40px}.ml-\[5px\]{margin-left:5px}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.line-clamp-3{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden}.block{display:block}.table{display:table}.grid{display:grid}.h-0{height:0}.h-0\.5{height:.125rem}.h-12{height:3rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[120px\]{height:120px}.h-\[12px\]{height:12px}.h-\[200px\]{height:200px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[40px\]{height:40px}.h-\[4px\]{height:4px}.h-\[64px\]{height:64px}.h-\[72px\]{height:72px}.h-\[calc\(100vh-67px\)\]{height:calc(100vh - 67px)}.h-auto,.img_CfaS,.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.h-screen{height:100vh}.max-h-\[180px\]{max-height:180px}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[10px\]{width:10px}.w-\[12px\]{width:12px}.w-\[142px\]{width:142px}.w-\[193px\]{width:193px}.w-\[24px\]{width:24px}.w-\[264px\]{width:264px}.w-\[280px\]{width:280px}.w-\[343px\]{width:343px}.w-\[40px\]{width:40px}.w-\[42\.5px\]{width:42.5px}.w-\[45px\]{width:45px}.w-\[4px\]{width:4px}.w-\[51px\]{width:51px}.w-auto{width:auto}.w-max{width:max-content}.min-w-0{min-width:0}.max-w-\[1600px\]{max-width:1600px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[512px\]{max-width:512px}.max-w-\[576px\]{max-width:576px}.max-w-md{max-width:28rem}.max-w-screen-blog-max{max-width:1408px}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.footerContentContainer_DQf_,.itemsContainer_OUc9,.logoContainerStyle_PeVm,.templateItemContainer_lyZ8{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col,.swiper-vertical>.swiper-wrapper{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-\[10px\]{gap:10px}.gap-\[16px\]{gap:16px}.gap-\[24px\]{gap:24px}.gap-\[40px\]{gap:40px}.gap-\[4px\]{gap:4px}.gap-\[60px\]{gap:60px}.gap-\[8px\]{gap:8px}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[4px\]{border-radius:4px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border,.border-\[1px\]{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-gray-02{border-color:#1f1f1f}.border-gray-100{--tw-border-opacity:1;border-color:rgb(237 242 247/var(--tw-border-opacity))}.border-white-01{border-color:#fff}.border-l-gray-100{--tw-border-opacity:1;border-left-color:rgb(237 242 247/var(--tw-border-opacity))}.border-t-gray-200{--tw-border-opacity:1;border-top-color:rgb(222 229 237/var(--tw-border-opacity))}.bg-\[\#000000bf\]{background-color:#000000bf}.bg-\[\#5865F2\]{background-color:rgb(88 101 242/var(--tw-bg-opacity))}.bg-\[rgba\(255\2c 255\2c 255\2c 0\.75\)\]{background-color:#ffffffbf}.bg-black{background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/\[0\.64\]{background-color:#000000a3}.bg-blue-100{background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-gray-0,.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-01{background-color:#000}.bg-gray-02{background-color:#1f1f1f}.bg-gray-100{background-color:rgb(237 242 247/var(--tw-bg-opacity))}.bg-gray-200{background-color:rgb(222 229 237/var(--tw-bg-opacity))}.bg-gray-600{background-color:rgb(71 78 107/var(--tw-bg-opacity))}.bg-gray-900{background-color:rgb(20 20 31/var(--tw-bg-opacity))}.bg-gray-900\/20{background-color:#14141f33}.bg-gray-900\/70{background-color:#14141fb3}.bg-refine-blue{background-color:rgb(0 128 255/var(--tw-bg-opacity))}.bg-tech-purple-03{background-color:rgb(101 74 236/var(--tw-bg-opacity))}.bg-violet-800{background-color:rgb(91 33 182/var(--tw-bg-opacity))}.bg-white-01{background-color:#fff}.bg-white-09,.hover\:bg-white-09:hover{background-color:#ffffff19}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-5{padding:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[20px\]{padding-left:20px;padding-right:20px}.px-\[24px\]{padding-left:24px;padding-right:24px}.px-\[4px\]{padding-left:4px;padding-right:4px}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-7{padding-bottom:1.75rem;padding-top:1.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-\[22px\]{padding-bottom:22px;padding-top:22px}.pb-10{padding-bottom:2.5rem}.pb-6{padding-bottom:1.5rem}.pb-\[100px\]{padding-bottom:100px}.pb-\[60px\]{padding-bottom:60px}.pl-1{padding-left:.25rem}.pl-11{padding-left:2.75rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-\[32px\]{padding-left:32px}.pr-3{padding-right:.75rem}.pt-6{padding-top:1.5rem}.pt-\[4px\]{padding-top:4px}.align-middle{vertical-align:middle}.font-\[\'Inter\'\]{font-family:Inter}.font-sans{font-family:var(--primary-font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.textTitleNumStyle_TEnk,.textTitleNumStyle_h7vB{font-family:Eurostile Becker,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-3xl{font-size:1.875rem}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-base{font-size:1rem}.text-xl{font-size:1.25rem}.text-xs{font-size:.75rem}.font-\[400\],.font-normal{font-weight:400}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-\[1\.5\]{line-height:1.5}.leading-\[17px\]{line-height:17px}.leading-\[22px\]{line-height:22px}.leading-\[28px\]{line-height:28px}.\!text-white-04{color:#ffffff80!important}.hover\:text-\[\#0b0c0f\]:hover,.text-\[\#0B0C0F\],.text-\[\#0b0c0f\]{--tw-text-opacity:1;color:rgb(11 12 15/var(--tw-text-opacity))}.text-\[\#1D2129\]{--tw-text-opacity:1;color:rgb(29 33 41/var(--tw-text-opacity))}.text-gray-0,.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:text-gray-02:hover,.text-gray-02{color:#1f1f1f}.hover\:text-gray-03:hover,.text-gray-03{color:#5c5c5c}.text-gray-100{--tw-text-opacity:1;color:rgb(237 242 247/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(163 173 194/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(108 119 147/var(--tw-text-opacity))}.hover\:text-gray-600:hover,.text-gray-600{--tw-text-opacity:1;color:rgb(71 78 107/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(48 52 80/var(--tw-text-opacity))}.hover\:text-gray-800:hover,.text-gray-800{--tw-text-opacity:1;color:rgb(29 30 48/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(20 20 31/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-tech-purple-01{--tw-text-opacity:1;color:rgb(38 24 156/var(--tw-text-opacity))}.text-transparent{color:#0000}.hover\:text-white-01:hover,.text-white-01{color:#fff}.text-white-02{color:#ffffffe6}.hover\:text-white-03:hover,.text-white-03{color:#ffffffc0}.hover\:text-white-04:hover,.text-white-04{color:#ffffff80}.text-opacity-90{--tw-text-opacity:0.9}.faqListAnswer_uzUc a,.underline{text-decoration-line:underline}.baseLinkButtonStyle_PuMK:hover,.basePanelItemContainerStyle_IaDP:hover,.commBottomBtn_pFSF:hover,.hover\:no-underline:hover,.menuItemStyle_SQLa,.menuItemStyle_SQLa:active,.menuItemStyle_SQLa:hover,.menuItemStyle_a3Ir:hover,.no-underline,.operateItemStyle_quc4:hover,.panelItemStyle_VUhY:hover{text-decoration-line:none}.opacity-0{opacity:0}.footerLogoLink_K6r0:hover,.hash-link:focus,.opacity-100,.solutionSelectImageStyle_GSp1,:hover>.hash-link{opacity:1}.backdrop-blur-\[50px\]{--tw-backdrop-blur:blur(50px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-transform{transition-property:transform}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-grayBlue-09:hover,.lightPanelItemContainerStyle_OZnY:hover{background-color:#f2f3f5}.hover\:brightness-90:hover{--tw-brightness:brightness(.9)}.basePopoverPanelStyle_y9hq:focus,.focus\:outline-none:focus,.popoverPanelStyle_GNCw:focus{outline:#0000 solid 2px;outline-offset:2px}:is(:where([data-theme=dark]) .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(48 52 80/var(--tw-border-opacity))}:is(:where([data-theme=dark]) .dark\:border-l-gray-700){--tw-border-opacity:1;border-left-color:rgb(48 52 80/var(--tw-border-opacity))}:is(:where([data-theme=dark]) .dark\:border-t-gray-700){--tw-border-opacity:1;border-top-color:rgb(48 52 80/var(--tw-border-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-500){--tw-bg-opacity:1;background-color:rgb(108 119 147/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(71 78 107/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(48 52 80/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(29 30 48/var(--tw-bg-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-0){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(207 215 226/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(163 173 194/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(108 119 147/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:text-white-01){color:#fff}:is(:where([data-theme=dark]) .dark\:text-white-04){color:#ffffff80}:is(:where([data-theme=dark]) .dark\:hover\:text-gray-200:hover){--tw-text-opacity:1;color:rgb(222 229 237/var(--tw-text-opacity))}:is(:where([data-theme=dark]) .dark\:hover\:text-white-01:hover){color:#fff}:is(:where([data-theme=dark]) .hover\:dark\:text-white-01):hover{color:#fff}[data-theme=dark]{--ifm-color-primary:#9580ff;--ifm-color-primary-dark:#755aff;--ifm-color-primary-darker:#6547ff;--ifm-color-primary-darkest:#350dff;--ifm-color-primary-light:#b5a6ff;--ifm-color-primary-lighter:#c5b9ff;--ifm-color-primary-lightest:#f5f3ff;--ifm-background-color:#0a0a0a;--docusaurus-highlighted-code-line-bg:#0000004d}@font-face{font-family:Eurostile Becker;src:url("/illa-website/assets/fonts/Eurostile Becker Heavy Regular-99fb2b764178f7417346a5e3e15d5947.ttf") format("truetype")}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.skipToContent_YRel{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_YRel:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_r_Ma{line-height:0;padding:0}.content_B3zk{font-size:85%;padding:5px 0}.content_B3zk a{color:inherit;text-decoration:underline}.announcementBar_hbYq{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_nNiq{flex:0 0 10px}.announcementBarClose_S8lM{align-self:stretch;flex:0 0 30px}.toggle_Io7t{height:2rem;width:2rem}.toggleButton_C0po{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_C0po:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_IHuh{cursor:not-allowed}.darkNavbarColorModeToggle_jx_9:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_gZs3,[data-theme=light] .themedComponent--light_RIle,html:not([data-theme]) .themedComponent--light_RIle{display:initial}.iconExternalLink_ocOZ{margin-left:.3rem}.dropdownNavbarItemMobile_JUhd:after{margin-left:8px}.iconLanguage_DSK9{display:inline-block;margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Pu8E:not(:has(>*)){display:none}}.navbarHideable_QJhM{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_JLKf{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_t44J{color:red;white-space:pre-wrap}.errorBoundaryFallback_HTeJ{color:red;padding:.55rem}.footerLogoLink_K6r0{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.anchorWithStickyNavbar_dXVO{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_ZIVZ{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_Xc8_{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column}.menuItemContainerStyle_JXsu,.priceListTitleContainerStyle_MEs5{align-items:center;display:flex;gap:8px}.popoverContainerStyle_ZIFy{display:inline-block;font-weight:500;padding:12px 16px;position:relative;text-align:left}.basePopoverPanelStyle_y9hq,.popoverPanelStyle_GNCw{margin-top:8px;position:absolute;transform-origin:top right;left:0}.popoverItemStyle_wfx7{align-items:center;display:flex;font-size:14px;gap:8px}.popoverPanelStyle_GNCw{--tw-shadow:0px 2px 16px 0px #00000029;--tw-shadow-colored:0px 2px 16px 0px var(--tw-shadow-color);border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding-bottom:4px;padding-top:4px;right:0}.menuItemStyle_a3Ir{font-size:14px;font-weight:500;padding:12px 16px}.panelItemContainerStyle_xEK2{align-items:center;display:flex;justify-content:center;width:100%}.panelItemStyle_VUhY{font-size:14px;font-weight:500;line-height:40px}.operateItemStyle_quc4{align-items:center;border-radius:20px;display:flex;font-weight:500;gap:8px;justify-content:center;padding:8px 24px}.operateItemStyleBg_neML{border-color:#0000;border-width:1px;color:#fff;background:linear-gradient(90deg,#9734e4,#712eff)}.darkColorStyle_MxJT:hover,.operateItemStyleBg_neML:hover{color:#fff}.popoverItemStyle_WmOV{align-items:center;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px;text-align:left}.basePopoverPanelStyle_y9hq{border-radius:16px;border-width:1px;display:flex;flex-direction:column;gap:24px;padding:24px 16px;width:340px}.darkPopoverPanelStyle_sycJ{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(27 28 29/var(--tw-bg-opacity));border-color:rgb(46 46 48/var(--tw-border-opacity))}.lightPopoverPanelStyle_aRwx{background-color:#fff;border-color:#f2f3f5;box-shadow:0 2px 4px 0 #00000014}.subTitleStyle_GZ4H{font-size:16px;font-weight:700;line-height:24px;padding-left:16px;padding-right:16px;text-align:start}.basePanelItemContainerStyle_IaDP{align-items:flex-start;border-radius:8px;display:flex;gap:16px;padding:12px 16px;width:100%}.darkPanelItemContainerStyle_JqRZ:hover{background-color:#ffffff0a}.panelItemStyle_w8TD{font-size:14px;font-weight:500;line-height:22px}.footerBottom_L4UB,.footerItem_GsU2,.panelItemDescStyle_zY1Y{font-size:12px;font-weight:400;line-height:16px}.menuItemStyle_SQLa{align-items:center;cursor:pointer;display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;height:40px;width:100%;font-size:16px;font-weight:500}.footerContainer_lS9F{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:100px 20px 20px;width:100%}.footerContentContainer_DQf_{display:grid;justify-content:space-between;row-gap:40px;width:100%}.space_IcLX{background-color:#ffffff1a;height:1px;width:100%}.footerBottom_L4UB{align-items:center;color:#fff;display:flex;flex-direction:column;gap:24px;justify-content:space-between;width:100%}.localSelectContainer_aJ7M .dropdown__menu{bottom:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);top:unset}.lpHeader_rubd{align-items:flex-start;flex-wrap:wrap;gap:40px;justify-content:space-between;padding-top:30px}.lpHeaderLeft_Zvbf,.lpHeader_rubd,.premiumCardContainer_ArgU,.premiumHeaderStyle_yb36{display:flex;flex-direction:column}.lpHeaderLeft_Zvbf{align-items:center;gap:24px;text-align:center}.back_vGuo{--tw-text-opacity:1;align-items:center;color:rgb(101 74 236/var(--tw-text-opacity));cursor:pointer;display:none;flex-direction:row;font-size:18px;font-weight:600;gap:12px;line-height:32px;padding-bottom:12px;padding-top:12px}.headerGo_RttL,.itemImage_FU2S{align-items:center;--tw-bg-opacity:1}.headerTitle_URD5{font-size:40px;font-weight:700;line-height:48px}.headerDesc_zhHJ{font-weight:400;font-weight:16px;line-height:24px}.headerGo_RttL{background-color:rgb(101 74 236/var(--tw-bg-opacity));white-space:nowrap;border-radius:4px;color:#fff;display:flex;font-size:16px;font-weight:400;height:44px;justify-content:center;line-height:20px;padding:12px 16px}.headerGo_RttL:hover{--tw-bg-opacity:1;background-color:rgb(131 104 240/var(--tw-bg-opacity))}.headerGo_RttL:active{--tw-bg-opacity:1;background-color:rgb(66 46 196/var(--tw-bg-opacity))}.lpContainer_Zbon,.lpContainer_yWoG{--tw-text-opacity:1;color:rgb(29 33 41/var(--tw-text-opacity));margin-left:auto;margin-right:auto;max-width:1200px;padding-left:20px;padding-right:20px;width:100%}.tag_oKb5{display:inline-block;margin:.5rem .5rem 0 1rem}.contentTitle_b3GB{font-size:20px;font-weight:600;line-height:28px;margin-top:60px}.itemsContainer_OUc9{display:grid;gap:12px}.item_AuQF{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:16px}.itemBg_GUYW{background:linear-gradient(180deg,#dde1e833,#dde1e800)}.itemImage_FU2S{background-color:rgb(240 232 255/var(--tw-bg-opacity));border-radius:13px;display:flex;height:120px;justify-content:center;width:120px}.itemNameCommon_o16n{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.commBottomDesc_DyZe,.itemDescription_LA9o{-webkit-line-clamp:4;-webkit-box-orient:vertical;text-overflow:ellipsis}.itemNameIntegrations_ZIud{line-height:20px}.itemNameComponents_JcBj{line-height:24px}.itemDescription_LA9o{display:-webkit-box;font-size:12px;font-weight:400;line-height:16px;overflow:hidden}.contentContainer_c9t8{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));overflow-x:hidden;padding-top:40px;z-index:31}.contentContainer_c9t8,.content_jfit{align-items:center;display:flex;flex-direction:column;position:relative;width:100%}.content_jfit{color:#fff;gap:100px;padding-left:20px;padding-right:20px}.commBottomContainerStyle_CDHK{align-items:center;color:#fff;display:flex;margin-top:100px;width:100%}.allContentContainer_nVOG{align-items:center;display:flex;flex-direction:column;gap:32px;justify-content:center;text-align:center;width:100%}.allContentTitle_K0Y2{font-size:20px;font-weight:700;line-height:24px;text-align:center}.cardContainerStyle_Kvlw,.cardContentContainerStyle_kX6c{align-items:center;display:flex;flex-direction:column;gap:20px;width:100%}.headerContainerStyle_RgD_{align-items:center;display:flex;flex-direction:column;gap:16px}.textTitleStye_mJAH{color:#fff;font-size:20px;font-weight:700}.textTitleNumStyle_TEnk{font-size:24px;font-weight:400}.textDescStyle_NFkj{font-size:12px;font-weight:400;line-height:16px;max-width:100%;text-align:center}.imgStyle_GNQD{border-radius:8px;height:auto;width:100%}.cardContentItemNormalStyle_f4ow,.cardContentItemReverseStyle_DHTD{flex-direction:column-reverse}.cardIContentItemContainerStyle_rPYn{--tw-border-opacity:1;--tw-bg-opacity:1;align-items:flex-start;background-color:rgb(18 18 18/var(--tw-bg-opacity));border-color:rgb(42 42 42/var(--tw-border-opacity));border-radius:8px;border-width:1px;display:flex;flex-wrap:nowrap;gap:20px;padding:16px}.textContainerStyle_toav{align-items:flex-start;display:flex;flex-direction:column;gap:16px;width:100%}.textTitleStye_u6Ys{color:#fff;font-size:18px;font-weight:700;line-height:22px}.textTitleNumStyle_h7vB{font-size:20px;font-weight:400}.textDescStyle_vwoY{color:#ffffffe6;font-size:12px;font-weight:400;line-height:16px}.swipeMore_QWDA{align-items:center;cursor:pointer;display:flex;flex-direction:row;font-size:14px;font-weight:500;gap:8px;grid-column:1;grid-row:3;height:auto;line-height:17px}.builderListTitleStyle_ul1g,.swipeMore_QWDA,.swipeMore_QWDA:hover{--tw-text-opacity:1;color:rgb(101 74 236/var(--tw-text-opacity))}.buttonGroup_uxJT button,.codeBlockContainer_USIv{background:var(--prism-background-color);color:var(--prism-color)}.codeBlockContainer_USIv{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_PMfr{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_jXLV{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_IHkF{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_jXLV+.codeBlockContent_PMfr .codeBlock_IHkF{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_THA1{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_tjAB{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_uxJT{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_uxJT button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_uxJT button:focus-visible,.buttonGroup_uxJT button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_uxJT button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_VZlW{counter-increment:a;display:table-row}.codeLineNumber_UV2B{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_UV2B:before{content:counter(a);opacity:.4}.codeLineContent_gotU{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_TPRR{opacity:1!important}.copyButtonIcons_LZ6a{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_H1v1,.copyButtonSuccessIcon_J5e4{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_J5e4{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_TPRR .copyButtonIcon_H1v1{opacity:0;transform:scale(.33)}.copyButtonCopied_TPRR .copyButtonSuccessIcon_J5e4{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_dUFy{height:1.2rem;width:1.2rem}.details_GXzP{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_GXzP>summary{cursor:pointer;padding-left:1rem;position:relative}.details_GXzP>summary::-webkit-details-marker{display:none}.details_GXzP>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_uFAl{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_B91m{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}:not(.containsTaskList_aqzd>li)>.containsTaskList_aqzd{padding-left:0}.admonition_Ztdk{margin-bottom:1em}.admonitionHeading_wuvZ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);text-transform:uppercase}.admonitionHeading_wuvZ:not(:last-child){margin-bottom:.3rem}.admonitionIcon_bKMe{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_bKMe svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.commBottomContainer_rcOJ{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:60px 20px 40px;position:relative}.commBottomBtnBg_ws3H,.commBottomContainer_rcOJ{border-bottom-left-radius:20px;border-bottom-right-radius:20px;width:100%}.commBottomBtnBg_ws3H{bottom:0;position:absolute;z-index:-1}.bottomBg_zy8j{background:linear-gradient(180deg,#654aec00,#654aec80)}.whiteBottomBg_HW9h{background:linear-gradient(180deg,#516ab500,#516ab514)}.commBottomTitle_zpUk{color:#fff;font-size:20px;font-weight:700;line-height:24px;text-align:center}.bottomTitle__Qxb{background:linear-gradient(90deg,#ffffff80,#fff 50%,#ffffff80);-webkit-background-clip:text;background-clip:text}.bottomTitle__Qxb,.whiteBottomTitle_r_oZ{-webkit-text-fill-color:#0000;color:#0000}.learnMore_Lb_l,.templateHeaderLabel_W4fj{color:rgb(101 74 236/var(--tw-text-opacity));--tw-text-opacity:1}.whiteBottomTitle_r_oZ{background:linear-gradient(90deg,#0b0c0f80,#0b0c0f 50%,#0b0c0f80);-webkit-background-clip:text;background-clip:text}.commBottomDesc_DyZe{display:-webkit-box;font-size:14px;font-weight:400;line-height:22px;overflow:hidden;text-align:center;width:100%}.commBottomBtn_pFSF{align-items:center;border-radius:24px;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:500;gap:10px;justify-content:center;line-height:28px;padding:10px 32px;width:100%}.commBottomBtn_pFSF svg{width:16px}.templateContainer_VElw{gap:20px;padding-bottom:30px}.templateContainer_VElw,.templateHeader_AQwG{display:flex;flex-direction:column;margin-top:30px}.templateHeader_AQwG{align-items:flex-start;gap:16px}.templateItemContainer_lyZ8{display:grid;gap:16px}.templateItem_Ji0p{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:12px;justify-content:center}.templateHeaderLabel_W4fj{font-size:14px;font-weight:600;line-height:32px}.templateHeaderTitle_yMrU{font-size:20px;font-weight:700;line-height:28px}.templateHeaderDesc_XN3P{font-size:14px;font-weight:400;line-height:17px}.templateItemName_yjoV{-webkit-line-clamp:1;font-size:16px;font-weight:600;line-height:24px}.templateItemDesc_NKfB,.templateItemName_yjoV{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.templateItemDesc_NKfB{-webkit-line-clamp:4;font-size:12px;font-weight:400;line-height:16px}.learnMore_Lb_l{align-items:center;cursor:pointer;display:flex;flex-direction:row;font-size:12px;font-weight:500;gap:4px;line-height:16px;text-decoration-line:underline}.operatingStyle_cGmQ,.wallContainerStyle_Ny01{align-items:center;display:flex;flex-direction:column;gap:16px;width:100%}.logoTitleStyle_hhN_{color:#fff;font-size:12px;font-weight:500;line-height:1.5;text-align:center;width:100%}.logoContainerStyle_PeVm{column-gap:12px;display:grid;row-gap:24px;width:100%}.logoStyle_ixBp{height:28px;width:auto}.commentsContainerStyle_ctEM{align-items:center;display:flex;flex-direction:column;gap:24px}.commentsTitleStyle_iQ9i{font-size:20px;font-weight:700;line-height:28px;text-align:center}.commentsItemsContainerStyle_Zw4J{column-count:2;gap:8px;width:100%}.borderStyle_jCx_{background:linear-gradient(0deg,#000,#242424);border-radius:8px;break-inside:avoid;padding:1px;width:100%}.commentsItemStyle_rd1k{--tw-bg-opacity:1;background-color:rgb(20 20 20/var(--tw-bg-opacity));border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:24px}.commentContentStyle_NzjM{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.contentTextStyle_PpXf{color:#ffffffc0;font-size:12px;font-weight:500;line-height:16px}.reverseQuoteStyle_waKq{align-self:flex-end;transform:rotate(180deg)}.userInfoContainerStyle_WdED img{border-radius:50%;flex:none;height:20px;width:20px}.commentUserNameStyle_D4y3{color:#fff;font-size:12px;font-weight:500;line-height:20px}.commentUserCompanyStyle_zWSD{color:#ffffffc0;font-size:10px;font-weight:400;line-height:16px}.mobileGap_cpxI:after{content:"";display:block;padding-bottom:8px}.faqContainer_vbEd{align-items:center;display:flex;flex-direction:column;gap:24px;width:100%}.faqTitle_s89i{font-size:24px;font-weight:700;line-height:28px}.faqListContainer_XW42{align-items:flex-start;display:flex;flex-direction:column;width:100%}.faqListQuestion_Y7ri{border-radius:8px 8px 2px 2px;cursor:pointer;flex-direction:row;font-size:14px;font-weight:500;gap:16px;justify-content:space-between;line-height:22px;padding:4px 24px}.faqListAnswer_uzUc,.faqListQuestion_Y7ri{align-items:center;display:flex;text-align:start;width:100%}.faqListAnswer_uzUc{background-color:#ffffff14;border-radius:2px 2px 8px 8px;font-size:12px;font-weight:400;line-height:16px;padding-bottom:12px;padding-left:24px;padding-right:24px;white-space:pre-line}.direction_IrxQ{height:12px;width:12px}.publicize_vEiD{--tw-text-opacity:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff0a;border:1px solid #ffffff1f;border-radius:20px;color:rgb(255 255 255/var(--tw-text-opacity));cursor:pointer;display:none;font-size:14px;font-weight:400;height:40px;line-height:22px;margin-left:auto;margin-right:auto;min-width:400px;overflow:hidden;padding-left:25px;padding-right:25px;position:relative}.publicizeStyle_C7Y6{align-items:center;background:linear-gradient(90deg,#ea984c,#5c9ac6 45.31%,#687100 91.49%);display:flex;filter:blur(23px);flex-direction:row;height:124px;justify-content:space-between;left:50%;object-fit:none;object-position:center;opacity:.16;position:absolute;top:50%;transform:translate(-50%,-50%);width:402px;z-index:0}.publicIntru_nEWo{align-items:center;display:flex;gap:11px}.bannerContainerStyle__SXx{align-items:center;color:#fff;display:none;flex-direction:column;flex-grow:0;font-size:2.5rem;font-weight:700;padding-left:20px;padding-right:20px}.canvasContainerStyle_h8pN{overflow:hidden;position:absolute;width:100%;z-index:-1}.bgStyle_xQ96{height:382px;object-fit:none;object-position:top;position:absolute;top:0;width:100%;z-index:0}.bannerContentContainer_RLp6{gap:186px;padding-top:24px}.bannerContentContainer_RLp6,.bannerTextContainerStyle_O5rS{align-items:center;display:flex;flex-direction:column;justify-content:center}.bannerTextContainerStyle_O5rS{gap:24px;position:relative;width:100%;z-index:2}.sloganStyle_zysD{font-size:56px;font-weight:800;line-height:88px;text-align:center}.descStyle_U78g{font-size:14px;font-weight:400;line-height:22px;padding-left:20px;padding-right:20px;text-align:center;width:100%}.buttonContainerStyle_UkM3,.buttonContainerStyle_ulq9{align-content:space-between;align-items:center;display:flex;flex-direction:column;font-size:16px;font-weight:500;gap:24px;line-height:28px}.bannerImageStyle_bakd,.bannerImageStyle_ppqY{align-items:center;display:flex;justify-content:center;padding-top:64px;width:100%}.colorDescAgentStyle_LHLV,.colorDescAgentStyle_x5xU{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#ff33ba .77%,#ffb7e7 100.77%);background-clip:text;-webkit-background-clip:text;font-weight:600}.colorDescAppStyle_An_L,.colorDescAppStyle_qG8r{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1effff,#c9ffff);background-clip:text;-webkit-background-clip:text;font-weight:600}.colorDescFlowStyle_VvqE,.colorDescFlowStyle_y9g7{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#8d33ff,#d1adff);background-clip:text;-webkit-background-clip:text;font-weight:600}.solutionContainerStyle_QwBc{display:flex;flex-direction:column;gap:32px;margin-top:62px}.tabsContainerStyle_DETz{--tw-bg-opacity:1;--tw-backdrop-blur:blur(13px);align-items:center;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:rgb(22 22 27/var(--tw-bg-opacity));border-color:#ffffff14;border-radius:36px;border-width:1px;display:flex;gap:2px;padding:2px;width:100%}.tabsItemStyle_TXig{align-items:center;border-radius:36px;color:#ffffff80;cursor:pointer;display:flex;flex:1 1 0%;font-size:14px;font-weight:500;height:100%;justify-content:center;line-height:20px;padding:14px 24px;position:relative;text-align:center;width:100%}.selectedTabStyle_CyW0{color:#fff;font-weight:600}.splitterItemStyle_gYQ6{background:linear-gradient(0deg,#0003,#0003),linear-gradient(180deg,#3f3849,#262a31);border-radius:34px;height:100%;position:absolute;top:0;width:100%;z-index:0}.solutionImageContainerStyle_LgpU{border-radius:12px;display:flex;flex-direction:row;overflow:hidden;position:relative;width:100%}.contentContainer_kErA svg,.solutionImageContainerStyle_LgpU svg{height:auto;width:100%}.solutionBaseBgStyle_nGRR{flex:none;transition-duration:.5s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.solutionSelectBgStyle_Xioy{opacity:1;position:relative}.solutionUnSelectBgStyle_RZeW{opacity:0;position:absolute;z-index:-1}.solutionBaseImageStyle_APzO{border-radius:8px;bottom:0;box-shadow:0 4px 24px 0 #0000002e;left:50%;opacity:1;position:absolute;transform:translateX(-50%);transition:opacity .5s cubic-bezier(.4,0,.2,1) .2s;z-index:1}.linkButtonStyle_b1Kn{bottom:40px;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.pricingMask_W_17{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));overflow:hidden;position:absolute;width:100%;z-index:1}.pricingContainer_Iia_{position:relative;width:100%;z-index:1}.pricingMaskLeft_XgjA{filter:blur(238.125px);left:-525px;opacity:.5;top:-40px;width:1155px}.pricingMaskLeft_XgjA,.pricingMaskRight_mQEj{--tw-bg-opacity:1;background-color:rgb(101 74 236/var(--tw-bg-opacity));display:none;height:453px;position:absolute}.pricingMaskRight_mQEj{filter:blur(238.125px);left:1004px;opacity:.3;top:109px;width:824px}.pricingMaskPhone_eCBF{background:radial-gradient(37% 76.28% at 48.58% 50.06%,#654aec 0,#654aec00 100%);display:block;filter:blur(50px);height:415.69px;left:-204px;opacity:.3;position:absolute;top:46.5px;transform:rotate(2.6deg);width:630px;z-index:-1}.pricingContent_kMON{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;margin:0 auto;padding-left:20px;padding-right:20px;width:100%}.pricingContentTitleExtra_U6Tm{background:linear-gradient(90deg,#fff0,#ffffff1a 50.38%,#fff0);border-radius:20px;color:#fff;display:block;font-size:14px;font-weight:500;line-height:26px;padding:3px 56px;text-align:center;width:-moz-fit-content;width:fit-content}.pricingContentTitle_tw94{font-size:40px;font-weight:700;justify-self:center;line-height:48px;padding-left:24px;padding-right:24px;text-align:center;width:100%}.cardContainerStyle_frTi{background:radial-gradient(98.85% 129.62% at 6.76% 2.06%,#bac1ff08 0,#dcdfff00 100%),#ffffff0f;border-color:#ffffff19;border-radius:8px;border-width:1px;display:flex;gap:20px;margin-top:8px;padding:24px;width:100%}.premiumCardContainer_ArgU{align-items:flex-start;gap:12px;width:100%}.premiumTitleStyle_pemo{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#9037ff,#f524ff);background-clip:text;-webkit-background-clip:text;font-size:20px;font-weight:700;line-height:30px}.premiumDescStyle_R6dg{color:#ffffffc0;display:block;font-size:12px;font-weight:400;line-height:15px}.premiumCardContainerStyle_zMC3{bottom:12px;display:flex;flex-direction:column;gap:12px;width:100%}.cardBaseStyle_lN8t{border-radius:8px;height:100%;overflow:hidden;padding:24px;position:relative;width:100%;z-index:1}.priceCardStyle_vDMh{background:linear-gradient(180deg,#ffffff0f,#fff0);display:flex;flex-direction:column;gap:12px}.cardBgStyle_q38d{bottom:0;height:auto;left:0;object-fit:cover;object-position:top;position:absolute;right:0;top:0;width:100%;z-index:-1}.cardIconStyle_UqGN{display:inline-flex;height:16px;width:16px}.agentListTitleStyle_sU8y{--tw-text-opacity:1;color:rgb(255 88 190/var(--tw-text-opacity))}.listIconStyle_TqyE{align-self:flex-start;padding-top:2px}.priceListTitleStyle_v2pp{font-size:16px;font-weight:600;line-height:22px}.priceListStyle_xBIv{display:flex;flex-direction:column;gap:4px}.listItemStyle_Pa3C{align-items:center;display:flex;gap:8px;padding-bottom:4px;padding-top:4px}.listItemNameStyle_YZOo{font-size:14px;font-weight:400;line-height:18px}.priceNumStyle_eiPz{font-size:28px;font-weight:700}.priceNumDescStyle_n2JG{color:#ffffffc0;font-size:12px;font-weight:400;line-height:16px}.upgradeButtonStyle_qpR6{--tw-bg-opacity:1;align-items:center;background-color:rgb(101 74 236/var(--tw-bg-opacity));border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:400;justify-content:center;line-height:22px;padding:9px 32px;width:100%}.containerStyle_IK43,.descStyle_uxY4,.textContainerStyle_j9Qp{padding-left:20px;padding-right:20px}.containerStyle_IK43{align-items:center;color:#fff;display:flex;flex-direction:column;flex-grow:0;font-size:2.5rem;font-weight:700;height:100%;margin-bottom:60px;overflow:hidden;position:relative}.indexBgStyle_Nusz{display:none;overflow:hidden;position:absolute;width:100%;z-index:-1}.indexBgStyle_Nusz img{bottom:0;height:auto;position:absolute;width:100%}.canvasContainerStyle_tBLh{height:100%;overflow:hidden;position:absolute;width:100%;z-index:-1}.contentContainer_kErA{align-items:center;display:flex;flex-direction:column;gap:24px;height:100%;justify-content:space-between;padding-top:64px;position:relative}.textContainerStyle_LZMZ{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;position:relative;width:100%;z-index:2}.sloganStyle_L8z2{font-size:36px;font-weight:800;line-height:40px;text-align:center}.colorSloganStyle_oMou{-webkit-text-fill-color:#0000;background-clip:text;-webkit-background-clip:text}.descStyle_uxY4{font-size:14px;font-weight:400;line-height:17px;text-align:center;width:100%}.demoContainerStyle_taMy{bottom:0;height:auto;perspective:1040px;width:100%;z-index:2}.demoImgStyle_SvRF{border-radius:12px 12px 0 0;display:none;max-width:100%;overflow:hidden;position:relative;transform-origin:center;width:100%}.linkButtonStyle_m6Tn{bottom:16px;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.baseLinkButtonStyle_PuMK{align-items:center;cursor:pointer;display:flex;font-weight:600;justify-content:center;line-height:28px;overflow:hidden;position:relative;text-align:center}.smallSizeStyle_AohM{border-radius:32px;font-size:14px;height:48px;min-width:240px}.normalSizeStyle_qzr1{border-radius:24px;font-size:16px;height:56px;min-width:320px}.largeSizeStyle_kJWZ{border-radius:32px;font-size:16px;height:64px;min-width:320px}.darkColorStyle_MxJT{background-color:#0b0c0f;box-shadow:0 4px 8px 0 #15151d73;color:#fff}.lightColorStyle_JCL1{background-color:#fff;box-shadow:0 2px 24.8px 0 #6100ff;color:#0b0c0f}.lightColorStyle_JCL1:hover{color:#0b0c0f}.baseArrowStyle_lXyW{align-items:center;border-radius:9999px;box-shadow:0 4px 8px #23152f9e;display:flex;justify-content:center}.baseArrowStyle_lXyW svg{height:auto;width:16px}.smallArrowStyle_XZaI{height:32px;margin-right:8px;width:32px}.normalArrowStyle_XxGa{height:40px;margin-right:8px;width:40px}.largeArrowStyle_sKWX{height:40px;margin-right:12px;width:40px}.linesStyle_lbFy,.linkButtonBgStyle_WFWO{position:absolute;width:100%;display:flex}.darkArrowStyle_go7n{background:linear-gradient(180deg,#d1ccf2,#fff);color:#0b0c0f}.lightArrowStyle_QtFv{background:linear-gradient(180deg,#312578,#0b0c0f);color:#fff}.linkButtonBgStyle_WFWO{align-items:center;height:100%;justify-content:flex-end;transition:.3s ease-in-out;z-index:0}.swiper-slide,.swiper-wrapper{transition-property:transform;height:100%}.baseLinkButtonStyle_PuMK:hover .linkButtonBgStyle_WFWO{transform:translateX(-10%)}.linesStyle_lbFy{align-items:center;gap:10px;height:100%;z-index:-1}.swiper,.swiper-wrapper{z-index:1;position:relative}.lineContainerStyle_Y3Ta{display:flex;flex:none;height:100%;justify-content:center;transform:rotate(20deg);width:26px}.lineStyle__sNm{background-color:#0b0c0f;height:100%;width:1px}.darkLineStyle__Ris{--tw-bg-opacity:1;background-color:rgb(57 57 62/var(--tw-bg-opacity))}.lightLineStyle_xduB{--tw-bg-opacity:1;background-color:rgb(240 240 244/var(--tw-bg-opacity))}.bannerContainer_oUHl{gap:32px;height:100%;justify-content:center;overflow:hidden;padding-bottom:32px;padding-top:32px;position:relative}.bannerContainer_oUHl,.textContainerStyle_j9Qp{align-items:center;display:flex;flex-direction:column;width:100%}.textContainerStyle_j9Qp{gap:24px}.sloganStyle_XKtE{color:#fff;font-size:36px;font-weight:700;line-height:40px;text-align:center}.contentLabelStyle_dif9,.descStyle_YqnZ{color:#fff;font-size:14px;text-align:center}.descStyle_YqnZ{line-height:17px}.linkGroupItemStyle_KQRV{align-items:center;display:flex;flex-direction:column;gap:8px}.contentContainerStyle_JEhu{align-items:center;display:flex;flex:none;flex-direction:column;gap:12px;padding-left:8px;padding-right:8px}.contentLabelStyle_dif9{font-weight:600;line-height:20px}.swiper-slide{width:320px!important}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;margin-left:auto;margin-right:auto;overflow:hidden;padding:0}.swiper-wrapper{box-sizing:initial;display:flex;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;position:relative}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:1s linear infinite b}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes b{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media (min-width:360px){.container{max-width:360px}}@media (min-width:480px){.container{max-width:480px}}@media (min-width:640px){.refine-prose :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:2.5rem;line-height:3rem;margin-bottom:2rem}.refine-prose :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:2rem;line-height:2.5rem;margin-bottom:1.5rem}.refine-prose :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.5rem;line-height:2rem;margin-bottom:1.5rem}.refine-prose :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.33rem;line-height:1.75rem;margin-bottom:1.5rem}.refine-prose :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){line-height:1.75rem}.refine-prose :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1.0625rem}.admonition-simple *{line-height:1.25rem}.container{max-width:640px}.sm\:h-\[232px\]{height:232px}.sm\:flex-row{flex-direction:row}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:text-2xl{font-size:1.5rem}.sm\:text-sm{font-size:.875rem}}@media (min-width:656px){.container{max-width:656px}}@media (min-width:688px){.blog-sm\:max-w-screen-blog-sm,.container{max-width:688px}.blog-sm\:mb-16{margin-bottom:4rem}.blog-sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.blog-sm\:py-12{padding-bottom:3rem;padding-top:3rem}.blog-sm\:pb-16{padding-bottom:4rem}.blog-sm\:text-4xl{font-size:2.25rem}}@media (min-width:720px){.container{max-width:720px}}@media (min-width:768px){.max-w-screen-content{max-width:656px}.container{max-width:768px}.md\:mb-4{margin-bottom:1rem}.md\:mt-4{margin-top:1rem}.md\:h-64{height:16rem}.md\:w-60{width:15rem}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem}.md\:text-4xl{font-size:2.25rem}.md\:text-base{font-size:1rem}}@media (min-width:864px){.container{max-width:864px}}@media (min-width:944px){.container{max-width:944px}}@media (min-width:960px){.cardContentItemNormalStyle_f4ow,.footerBottom_L4UB,.lg\:flex-row{flex-direction:row}.refine-prose :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.875rem;line-height:1.125rem}.container{max-width:960px}.lg\:mb-8{margin-bottom:2rem}.lg\:mt-0{margin-top:0}.lg\:mt-\[16px\]{margin-top:16px}.demoImgStyle_SvRF,.lg\:block,.pricingMaskLeft_XgjA,.pricingMaskRight_mQEj,.publicize_vEiD{display:block}.back_vGuo,.bannerContainerStyle__SXx,.lg\:flex{display:flex}.bannerContainer_oUHl,.lg\:hidden,.mobileGap_cpxI:after,.pricingMaskPhone_eCBF{display:none}.itemDescription_LA9o,.templateItemDesc_NKfB{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box}.lg\:h-\[210px\]{height:210px}.lg\:h-\[26px\]{height:26px}.lg\:h-\[40px\],.logoStyle_ixBp{height:40px}.lg\:w-\[1040px\]{width:1040px}.lg\:w-\[550px\]{width:550px}.lg\:w-\[570px\]{width:570px}.lg\:w-\[800px\]{width:800px}.lg\:w-auto{width:auto}.lg\:max-w-\[680px\]{max-width:680px}.bannerContentContainer_RLp6,.content_jfit,.footerBottom_L4UB,.solutionContainerStyle_QwBc,.space_IcLX{max-width:1040px}.lg\:items-center{align-items:center}.lg\:gap-\[120px\]{gap:120px}.cardContainerStyle_Kvlw,.lg\:gap-\[32px\],.textContainerStyle_toav,.wallContainerStyle_Ny01{gap:32px}.lg\:gap-\[8px\]{gap:8px}.lg\:px-\[40px\]{padding-left:40px;padding-right:40px}.lg\:py-\[16px\]{padding-bottom:16px;padding-top:16px}.lg\:pb-\[100px\]{padding-bottom:100px}.lg\:pb-\[200px\]{padding-bottom:200px}.lg\:pl-\[30px\]{padding-left:30px}.lg\:pt-\[40px\]{padding-top:40px}.lg\:pt-\[48px\]{padding-top:48px}.lg\:text-\[16px\]{font-size:16px}.lg\:text-base{font-size:1rem}.lg\:text-sm{font-size:.875rem}.lg\:leading-\[19px\]{line-height:19px}.footerContainer_lS9F{gap:40px;padding:80px 120px 40px}.footerContentContainer_DQf_{column-gap:40px;flex-wrap:nowrap;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1040px}.footerBottom_L4UB{gap:48px}.footerBottom_L4UB,.footerItem_GsU2,.textDescStyle_vwoY{font-size:14px;line-height:22px}.lpHeader_rubd{flex-direction:row;flex-wrap:nowrap}.lpHeaderLeft_Zvbf{align-items:flex-start;gap:40px;justify-content:flex-start;text-align:left}.headerTitle_URD5{font-size:48px;line-height:56px}.headerGo_RttL{border-radius:8px;font-size:20px;font-weight:500;height:48px;line-height:28px;padding:10px 32px}.lpContainer_Zbon,.lpContainer_yWoG{padding-left:0;padding-right:0}.contentTitle_b3GB{margin-top:100px}.itemsContainer_OUc9{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.item_AuQF{gap:24px;padding:32px}.itemNameCommon_o16n,.templateHeaderLabel_W4fj{font-size:18px}.itemNameIntegrations_ZIud{line-height:26px}.itemDescription_LA9o{font-size:14px;line-height:24px;overflow:hidden}.contentContainer_c9t8{overflow:visible;padding-top:200px}.content_jfit{gap:200px}.commBottomContainerStyle_CDHK{margin-top:200px}.cardContentContainerStyle_kX6c{gap:64px}.textTitleNumStyle_h7vB,.textTitleStye_mJAH{font-size:40px}.textTitleNumStyle_TEnk{font-size:48px}.textDescStyle_NFkj{font-size:14px;line-height:22px;max-width:488px}.imgStyle_GNQD{width:431px}.cardContentItemReverseStyle_DHTD{flex-direction:row-reverse}.cardIContentItemContainerStyle_rPYn{border-radius:16px;gap:40px;padding:48px}.textTitleStye_u6Ys{font-size:36px;line-height:44px}.swipeMore_QWDA{font-size:16px;line-height:19px}.commBottomContainer_rcOJ{border-bottom-left-radius:40px;border-bottom-right-radius:40px;height:410px;padding:120px 120px 80px}.commBottomTitle_zpUk{font-size:40px;line-height:48px}.commBottomDesc_DyZe{width:600px}.commBottomBtn_pFSF{width:320px}.templateContainer_VElw{gap:40px;padding-bottom:100px}.templateHeader_AQwG{gap:24px;margin-top:60px}.templateItemContainer_lyZ8{gap:40px;grid-template-columns:repeat(4,minmax(0,1fr))}.templateItem_Ji0p{gap:24px}.templateHeaderTitle_yMrU{font-size:32px;line-height:56px}.templateHeaderDesc_XN3P{font-size:16px;line-height:24px}.templateItemDesc_NKfB{line-height:20px;overflow:hidden}.learnMore_Lb_l{font-size:14px;gap:8px;line-height:22px}.logoTitleStyle_hhN_{font-size:16px;line-height:28px}.logoContainerStyle_PeVm{align-items:center;column-gap:40px;display:flex;justify-content:center}.commentsContainerStyle_ctEM{gap:48px}.commentsTitleStyle_iQ9i{font-size:40px;line-height:56px}.commentsItemsContainerStyle_Zw4J{column-count:3;gap:16px}.userInfoContainerStyle_WdED img{height:32px;width:32px}.faqContainer_vbEd{gap:48px;width:800px}.faqTitle_s89i{line-height:56px}.faqListQuestion_Y7ri{border-top-left-radius:16px;border-top-right-radius:16px;font-size:16px}.faqListAnswer_uzUc{border-bottom-left-radius:16px;border-bottom-right-radius:16px;font-size:14px;line-height:22px}.publicizeStyle_C7Y6{height:179px;width:579px}.solutionBaseImageStyle_APzO{width:715px}.pricingContent_kMON{gap:24px;max-width:1200px}.pricingContentTitle_tw94{font-size:64px;line-height:72px}.cardContainerStyle_frTi{gap:40px}.premiumCardContainer_ArgU{border-radius:16px;gap:24px}.premiumTitleStyle_pemo{font-size:24px;line-height:28px}.premiumDescStyle_R6dg{line-height:20px}.premiumCardContainerStyle_zMC3{bottom:0;flex-direction:row;gap:24px}.priceCardStyle_vDMh{gap:20px}.operatingStyle_cGmQ{align-items:flex-start;justify-content:flex-start}.upgradeButtonStyle_qpR6{width:208px}.containerStyle_IK43{margin-bottom:120px}.indexBgStyle_Nusz{display:block;min-height:1200px}.indexBgStyle_Nusz img{height:1034px}.contentContainer_kErA{gap:56px;max-width:1040px;min-height:1200px;padding-top:150px}.sloganStyle_L8z2{font-size:56px;line-height:88px}.descStyle_uxY4{line-height:22px;max-width:800px}.demoContainerStyle_taMy{position:relative}.linkButtonStyle_m6Tn{bottom:40px}}@media (min-width:976px){.container{max-width:976px}}@media (min-width:997px){:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_S8lM,.announcementBarPlaceholder_nNiq{flex-basis:50px}.navbarSearchContainer_Pu8E{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}}@media (min-width:1000px){.blog-md\:max-w-screen-blog-md,.container{max-width:1000px}.blog-md\:mb-8{margin-bottom:2rem}.blog-md\:block{display:block}.blog-md\:max-w-\[624px\]{max-width:624px}.blog-md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-md\:flex-row{flex-direction:row}.blog-md\:border-t{border-top-width:1px}.blog-md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.blog-md\:py-16{padding-bottom:4rem;padding-top:4rem}.blog-md\:pb-8{padding-bottom:2rem}.blog-md\:pt-0{padding-top:0}.blog-md\:pt-12{padding-top:3rem}.blog-md\:pt-16{padding-top:4rem}.blog-md\:text-base{font-size:1rem}}@media (min-width:1200px){.container{max-width:1200px}}@media (min-width:1264px){.container{max-width:1264px}}@media (min-width:1280px){.container{max-width:1280px}.blog-lg\:mb-12{margin-bottom:3rem}.blog-lg\:max-w-screen-content-2xl{max-width:864px}.blog-lg\:gap-12{gap:3rem}.blog-lg\:text-5xl{font-size:3rem}.blog-lg\:text-xl{font-size:1.25rem}}@media (min-width:1296px){.container{max-width:1296px}}@media (min-width:1408px){.container{max-width:1408px}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl);max-width:1440px}.xl\:block{display:block}.xl\:hidden{display:none}.xl\:h-\[152px\]{height:152px}.xl\:h-\[192px\]{height:192px}.xl\:h-\[80px\]{height:80px}.xl\:h-\[96px\]{height:96px}.xl\:w-\[250px\]{width:250px}.xl\:w-\[400px\]{width:400px}.xl\:w-auto{width:auto}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:px-\[200px\]{padding-left:200px;padding-right:200px}.xl\:text-\[14px\]{font-size:14px}.bannerContentContainer_RLp6,.content_jfit,.footerBottom_L4UB,.footerContentContainer_DQf_,.solutionContainerStyle_QwBc,.space_IcLX{max-width:1200px}.content_jfit{padding:0}.allContentContainer_nVOG{gap:64px}.allContentTitle_K0Y2{font-size:40px;line-height:48px}.imgStyle_GNQD{width:532px}.faqTitle_s89i{font-size:48px}.solutionBaseImageStyle_APzO{width:825px}.contentContainer_kErA{max-width:1200px;width:1200px}}@media (min-width:1536px){.refine-prose{font-size:1rem;line-height:1.75}.refine-prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.refine-prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-left:1em}.refine-prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.refine-prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.refine-prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.refine-prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.refine-prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.875em;padding:.1875em .375em}.refine-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.refine-prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.refine-prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.refine-prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.875em;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;padding:.8571429em 1.1428571em}.refine-prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.refine-prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.refine-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.refine-prose :where(.\32xl\:prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(.\32xl\:prose-base>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.\32xl\:prose-base>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(.\32xl\:prose-base>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(.\32xl\:prose-base>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.refine-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.refine-prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.refine-prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.refine-prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-left:1.625em}.refine-prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.refine-prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.refine-prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em}.refine-prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.5714286em}.refine-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.refine-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.refine-prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.refine-prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.refine-prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.refine-prose :where(.\32xl\:prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.refine-prose :where(.\32xl\:prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.refine-prose :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem}.max-w-screen-content{max-width:864px}.container{max-width:1536px}.\32xl\:mb-6{margin-bottom:1.5rem}.\32xl\:p-6{padding:1.5rem}.\32xl\:text-\[32px\]{font-size:32px}.\32xl\:text-base{font-size:1rem}.\32xl\:text-lg{font-size:1.125rem}.\32xl\:text-xl{font-size:1.25rem}.\32xl\:leading-10{line-height:2.5rem}}@media (min-width:1584px){.container{max-width:1584px}.blog-2xl\:mb-20{margin-bottom:5rem}.blog-2xl\:max-w-screen-blog-md{max-width:1000px}.blog-2xl\:px-0{padding-left:0;padding-right:0}.blog-2xl\:pb-12{padding-bottom:3rem}.blog-2xl\:pt-20{padding-top:5rem}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_Kblj,.footer__link-separator,.navbar__item{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Pu8E{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media screen and (max-width:960px){.mobileFooterContainer_tpXD{transform:translateY(0)!important}.linkButtonBgStyle_WFWO{transform:translateX(0)!important}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_hbYq,.footer,.menu,.navbar,.pagination-nav,.table-of-contents{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_THA1{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/1842627e.682c2cc7.js b/assets/js/1842627e.682c2cc7.js deleted file mode 100644 index e9a53d484b..0000000000 --- a/assets/js/1842627e.682c2cc7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5037],{2640:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=t(1527),n=t(7214);const s={title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},a=void 0,r={permalink:"/illa-website/blog/mui-2024",source:"@site/blog/mui-2024/mui.md",title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.265,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},unlisted:!1,prevItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},nextItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},relatedPosts:[{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:08:52.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:08:52.000Z"},{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const o={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains highly prosperous. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(o.p,{children:"In general, every company building web applications tends to select a component library. These libraries address a significant amount of repetitive work, offering readily usable components such as Select, Input, CheckBox, and more. These components, customizable through styles or pre-existing attractive styles, enable the rapid creation of beautiful websites without the need to build extensive foundational features from scratch."}),"\n",(0,i.jsx)(o.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"External tools: Directly targeted at company users, usually adhering to the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(o.li,{children:"Internal tools: Aimed at internal use by company employees, focusing on aesthetic design while prioritizing rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Next, we will analyze two component libraries based on the following points:"}),"\n",(0,i.jsxs)(o.ol,{children:["\n",(0,i.jsx)(o.li,{children:"Design"}),"\n",(0,i.jsx)(o.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(o.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,i.jsx)(o.p,{children:"Some detailed data about MUI:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,i.jsx)(o.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,i.jsx)(o.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"MUI, as a longstanding project maintained since 2014, boasts almost a decade of stability. Its high star count and weekly download numbers ensure that the community remains consistently active."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/mui.png",alt:"mui"})}),"\n",(0,i.jsx)(o.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(o.p,{children:"In terms of design, MUI strictly adheres to Google's renowned Material Design. MUI's customization capabilities are extensive, catering to a wide range of internal and external scenarios. Many well-known open-source projects use MUI for front-end development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,i.jsx)(o.p,{children:"In addition to common features like:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Colors"}),"\n",(0,i.jsx)(o.li,{children:"Border radii"}),"\n",(0,i.jsx)(o.li,{children:"Dark mode / Light mode"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"MUI supports complete configurations of fonts, font sizes, colors, and margins, making it a powerful tool as a project with ten years of development."}),"\n",(0,i.jsx)(o.p,{children:"Regarding CSS support, MUI has its custom system, utilizing emotionjs for style adjustments in the overall layout. This may come with a learning curve and may not be as developer-friendly for direct development, requiring documentation consultation for certain style modifications."}),"\n",(0,i.jsx)(o.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(o.p,{children:"MUI's component types are highly complex, divided into several dimensions:"}),"\n",(0,i.jsx)(o.p,{children:"These include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"MUI Core: Basic functional components of MUI, including a multitude of foundational components and a style system."}),"\n",(0,i.jsx)(o.li,{children:"MUI X: High-performance and complex components of MUI, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"If you are developing a highly complex system, you can use MUI's full suite solution. However, MUI X is a paid component library, and a subscription fee may be required."}),"\n",(0,i.jsx)(o.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history. Its high customizability makes it suitable for large projects. In the MUI repository, you can find a wealth of features."}),"\n",(0,i.jsx)(o.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(o.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(o.p,{children:"If you want to develop large projects, have high customization requirements, and wish to use high-performance data components and chart components, especially in scenarios with high business complexity and are willing to subscribe to MUI X, it is recommended to use MUI for development. Its flexible configuration and plethora of components can fully meet your requirements."}),"\n",(0,i.jsx)(o.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(o.p,{children:"If you need a lightweight framework and prefer to use a CSS-only solution for layout adjustments, it is not recommended here. MUI has a comprehensive proprietary design system, comes with a certain learning curve, and Material Design's aesthetics may not suit everyone. In such cases, exploring other open-source repositories might be more suitable."})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>a});var i=t(959);const n={},s=i.createContext(n);function a(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1842627e.c9c18d2b.js b/assets/js/1842627e.c9c18d2b.js new file mode 100644 index 0000000000..6f1d19096b --- /dev/null +++ b/assets/js/1842627e.c9c18d2b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5037],{2640:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=o(1527),n=o(7214);const s={title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},a=void 0,r={permalink:"/illa-website/blog/mui-2024",source:"@site/blog/mui-2024/mui.md",title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.265,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},unlisted:!1,prevItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},nextItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},relatedPosts:[{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:28:24.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:28:24.000Z"},{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",permalink:"/illa-website/blog/shadcn-vs-mui",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.12,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains highly prosperous. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(t.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(t.p,{children:"In general, every company building web applications tends to select a component library. These libraries address a significant amount of repetitive work, offering readily usable components such as Select, Input, CheckBox, and more. These components, customizable through styles or pre-existing attractive styles, enable the rapid creation of beautiful websites without the need to build extensive foundational features from scratch."}),"\n",(0,i.jsx)(t.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"External tools: Directly targeted at company users, usually adhering to the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(t.li,{children:"Internal tools: Aimed at internal use by company employees, focusing on aesthetic design while prioritizing rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Next, we will analyze two component libraries based on the following points:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Design"}),"\n",(0,i.jsx)(t.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(t.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(t.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(t.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,i.jsx)(t.p,{children:"Some detailed data about MUI:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,i.jsx)(t.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,i.jsx)(t.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"MUI, as a longstanding project maintained since 2014, boasts almost a decade of stability. Its high star count and weekly download numbers ensure that the community remains consistently active."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/mui.png",alt:"mui"})}),"\n",(0,i.jsx)(t.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(t.p,{children:"In terms of design, MUI strictly adheres to Google's renowned Material Design. MUI's customization capabilities are extensive, catering to a wide range of internal and external scenarios. Many well-known open-source projects use MUI for front-end development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,i.jsx)(t.p,{children:"In addition to common features like:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Colors"}),"\n",(0,i.jsx)(t.li,{children:"Border radii"}),"\n",(0,i.jsx)(t.li,{children:"Dark mode / Light mode"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"MUI supports complete configurations of fonts, font sizes, colors, and margins, making it a powerful tool as a project with ten years of development."}),"\n",(0,i.jsx)(t.p,{children:"Regarding CSS support, MUI has its custom system, utilizing emotionjs for style adjustments in the overall layout. This may come with a learning curve and may not be as developer-friendly for direct development, requiring documentation consultation for certain style modifications."}),"\n",(0,i.jsx)(t.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(t.p,{children:"MUI's component types are highly complex, divided into several dimensions:"}),"\n",(0,i.jsx)(t.p,{children:"These include:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"MUI Core: Basic functional components of MUI, including a multitude of foundational components and a style system."}),"\n",(0,i.jsx)(t.li,{children:"MUI X: High-performance and complex components of MUI, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"If you are developing a highly complex system, you can use MUI's full suite solution. However, MUI X is a paid component library, and a subscription fee may be required."}),"\n",(0,i.jsx)(t.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history. Its high customizability makes it suitable for large projects. In the MUI repository, you can find a wealth of features."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(t.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(t.p,{children:"If you want to develop large projects, have high customization requirements, and wish to use high-performance data components and chart components, especially in scenarios with high business complexity and are willing to subscribe to MUI X, it is recommended to use MUI for development. Its flexible configuration and plethora of components can fully meet your requirements."}),"\n",(0,i.jsx)(t.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(t.p,{children:"If you need a lightweight framework and prefer to use a CSS-only solution for layout adjustments, it is not recommended here. MUI has a comprehensive proprietary design system, comes with a certain learning curve, and Material Design's aesthetics may not suit everyone. In such cases, exploring other open-source repositories might be more suitable."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var i=o(959);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/de/assets/js/1df93b7f.93c94f4a.js b/assets/js/1df93b7f.c6a8adb1.js similarity index 84% rename from de/assets/js/1df93b7f.93c94f4a.js rename to assets/js/1df93b7f.c6a8adb1.js index c6426bb606..dfa1a8d870 100644 --- a/de/assets/js/1df93b7f.93c94f4a.js +++ b/assets/js/1df93b7f.c6a8adb1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[3237],{1641:(e,t,s)=>{s.d(t,{Z:()=>i});var a,l=s(959);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...i}=e;return l.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:15,height:13,viewBox:"0 0 15 13",fill:"none","aria-labelledby":s},i),t?l.createElement("title",{id:s},t):null,a||(a=l.createElement("path",{d:"M1 6.5h13m0 0L8.5 1M14 6.5 8.5 12",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}},7812:(e,t,s)=>{s.d(t,{Z:()=>u});const a="faqContainer_vbEd",l="faqTitle_s89i",n="faqListQuestion_Y7ri",i="faqListAnswer_uzUc",o="direction_IrxQ";var c=s(3023),r=s(3473),d=s(5341),m=s(1527);const u=e=>{let{title:t,content:s}=e;const u="transform rotate-0",h="transform -rotate-180",p="bg-white/[0.08]";return(0,m.jsxs)("div",{className:a,children:[(0,m.jsx)("h2",{className:l,children:t}),(0,m.jsx)("div",{className:"w-full flex flex-col gap-[8px]",children:s.map((e=>(0,m.jsx)(c.p,{as:"div",className:"w-full",children:t=>{let{open:s}=t;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(c.p.Button,{className:(0,d.Z)(n,s?`${p}`:""),children:[(0,m.jsx)("span",{children:e.question}),(0,m.jsx)(r.Z,{className:(0,d.Z)(s?`${h}`:`${u}`,o)})]}),s&&(0,m.jsx)(c.p.Panel,{className:i,children:e.answer})]})}},e.question)))})]})}},117:(e,t,s)=>{s.d(t,{Z:()=>A});var a=s(0),l=s(5341);const n="baseLinkButtonStyle_PuMK",i="smallSizeStyle_AohM",o="normalSizeStyle_qzr1",c="largeSizeStyle_kJWZ",r="darkColorStyle_MxJT",d="lightColorStyle_JCL1",m="baseArrowStyle_lXyW",u="smallArrowStyle_XZaI",h="normalArrowStyle_XxGa",p="largeArrowStyle_sKWX",g="darkArrowStyle_go7n",f="lightArrowStyle_QtFv",v="linkButtonBgStyle_WFWO",b="linesStyle_lbFy",w="lineContainerStyle_Y3Ta",y="lineStyle__sNm",_="darkLineStyle__Ris",x="lightLineStyle_xduB";var I=s(1641),j=s(1527);const A=e=>{let{href:t,children:s,size:A,colorType:L,handleClick:S}=e;return(0,j.jsxs)(a.Z,{to:t,onClick:S,className:(0,l.Z)(n,"small"===A&&i,"normal"===A&&o,"large"===A&&c,"dark"===L?r:d),children:[(0,j.jsxs)("span",{className:v,children:[(0,j.jsx)("span",{className:b,children:Array.from({length:10}).map(((e,t)=>(0,j.jsx)("span",{className:w,children:(0,j.jsx)("span",{className:(0,l.Z)(y,"dark"===L?_:x)},t)},t)))}),(0,j.jsx)("span",{className:(0,l.Z)(m,"small"===A&&u,"normal"===A&&h,"large"===A&&p,"dark"===L?g:f),children:(0,j.jsx)(I.Z,{})})]}),(0,j.jsx)("span",{className:"relative z-[1]",children:s})]})}},3090:(e,t,s)=>{s.d(t,{G:()=>l});var a=s(959);const l=(e,t)=>{const s=(0,a.useRef)(null),l=(0,a.useCallback)((()=>{const a=e.current;if(!a)return;const l=a.getContext("2d");a.width=t.current.clientWidth,a.height=t.current.clientHeight;s.current=(l.clearRect(0,0,a.width,a.height),void(()=>{l.strokeStyle="rgba(255, 255, 255, 0.1)";for(let e=0;e<=a.height;e+=56)l.beginPath(),l.moveTo(0,e),l.lineTo(a.width,e),l.stroke();for(let e=0;e<=a.width;e+=56)l.beginPath(),l.moveTo(e,0),l.lineTo(e,a.height),l.stroke()})())}),[e]);(0,a.useEffect)((()=>{const e=t.current,a=new ResizeObserver((()=>{s.current&&cancelAnimationFrame(s.current),l()}));return a.observe(e),l(),()=>{a&&a.unobserve(e)}}),[t,l]),(0,a.useEffect)((()=>()=>{s.current&&cancelAnimationFrame(s.current),s.current=null}),[])}},7518:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Tt});var a=s(4491),l=s(1153),n=s(2204),i=s(7546),o=s(5374);const c={title:(0,o.I)({id:"meta.title",message:"ILLA Cloud | Build AI Driven Business App"}),description:(0,o.I)({id:"meta.description",message:"Empower your team with AI Agent and advanced low-code tools to create business apps"}),keywords:"illa,illacloud,illa cloud,\u827e\u62c9\u4e91\u79d1,Retool,Budibase,Tooljet,UIBakery, Low-code,open-source, developers, developer tool, internal, rust,illa, illabuilder, illa-builder, retool alternative, Appsmith, Appsmith alternative, open-source alternative, budibase alternative,\u30ed\u30fc\u30b3\u30fc\u30c9,\u4f4e\u4ee3\u7801,\u5f00\u53d1\u8005\u5de5\u5177,\ub0ae\uc740 \ucf54\ub4dc,\uc624\ud508 \uc18c\uc2a4,\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9"},r={title:(0,o.I)({id:"faq.title",message:"Frequently Asked Questions"}),content:[{question:(0,o.I)({id:"faq.content.0.question",message:"What kind of content can I build with ILLA AI?"}),answer:(0,o.I)({id:"faq.content.0.answer",message:"You can build any internal application or AI tool you need, and you can also integrate AI with internal applications. For example, a dashboard, an admin panel, file content management, customer management system, text generation tool, image generation tool, email generation tool, and so on."})},{question:(0,o.I)({id:"faq.content.1.question",message:"Who can use ILLA Cloud?"}),answer:(0,o.I)({id:"faq.content.1.answer",message:"Whether you are a product manager, full-stack developer, project manager, data analyst...anyone can use ILLA Cloud to build tools: From designing front-end interfaces with drag-and-drop components to integrating with data sources and generating queries using AI assistance, ILLA provides a streamlined experience that removes unnecessary complexities. You don't need to be a tech expert to create your own applications."})},{question:(0,o.I)({id:"faq.content.2.question",message:"How can I benefit from ILLA Cloud?"}),answer:(0,o.I)({id:"faq.content.2.answer",message:"ILLA AI not only reduces the cost of building your tools but also integrates any AI capabilities you desire, making your work more efficient and enabling you to generate more valuable content in less time."})},{question:(0,o.I)({id:"faq.content.3.question",message:"Can I customize the AI Agent for my specific business needs?"}),answer:(0,o.I)({id:"faq.content.3.answer",message:"Yes, you can! AI Agent is based on a large language model and can be customized to perform specific tasks. You can define the behavior of the AI Agent based on your business requirements. By using ILLA Builder, you can feed data into the AI Agent and train it to accomplish designated tasks such as text processing, image recognition, and natural language processing."})},{question:(0,o.I)({id:"faq.content.4.question",message:"What data sources does ILLA support?"}),answer:(0,o.I)({id:"faq.content.4.answer",message:"ILLA supports integration with a variety of data sources, including PostgreSQL, MongoDB, REST API, GraphQL, Google Sheets, and more. You can swiftly connect to any data source without writing code, enabling seamless access to your desired data."})},{question:(0,o.I)({id:"faq.content.5.question",message:"Is there any technical support available for ILLA Cloud users?"}),answer:(0,o.I)({id:"faq.content.5.answer",message:"Yes, ILLA Cloud offers technical support to its users. If you encounter any issues or have questions about the platform's features, you can reach out to our support team for assistance. We are dedicated to helping you have a seamless experience with ILLA Cloud."})}]},d={"@context":"https://schema.org","@graph":[{"@type":"Organization",name:"ILLA Cloud",url:"https://www.illacloud.com/#organization",logo:"https://www.illacloud.com/#logo",sameAs:["https://twitter.com/illacloudhq","https://github.com/illacloud/illa-builder","https://www.illacloud.com/","https://www.youtube.com/@illacloud","https://www.linkedin.com/company/illacloud/"]},{"@type":"WebSite",name:"ILLA Cloud",url:"https://www.illacloud.com/#Website",potentialAction:{"@type":"SearchAction",target:"https://www.illacloud.com/?search={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"WebPage",url:"www.illacloud.com/illadrive/#WebPage",name:"ILLA Cloud",description:"An open-source low-code platform with react component library to build AI native internal applications in minutes."},{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is ILLA Cloud?",acceptedAnswer:{"@type":"Answer",text:"ILLA Cloud is a low-code platform that inherits multiple capabilities from ILLA Builder and ILLA Drive. It provides a seamless experience by allowing users to log in and register to access its features. With ILLA Cloud, you can effortlessly build internal tools, dashboards, CRUD (create, read, update, delete) applications, and more. The platform significantly improves work efficiency and helps companies save costs."}},{"@type":"Question",name:"Who can use ILLA Cloud",acceptedAnswer:{"@type":"Answer",text:"Whether you are a product manager, full-stack developer, project manager, data analyst...anyone can use ILLA Cloud to build tools: From designing front-end interfaces with drag-and-drop components to integrating with data sources and generating queries using AI assistance, ILLA provides a streamlined experience that removes unnecessary complexities. You don't need to be a tech expert to create your own applications."}},{"@type":"Question",name:"What kinds of applications can you develop using ILLA Cloud?",acceptedAnswer:{"@type":"Answer",text:"1. Rapid idea implementation: When enterprises experience a high demand for internal tools during rapid growth, ILLA can significantly accelerate the development speed and quality of your internal applications. This helps expedite your company's growth by quickly addressing the tooling needs. 2. No skill limitations for editors: With ILLA, any individual within the organization can build the tools they need without requiring specialized teams or technical skills. This empowers employees across various roles to create their own solutions, fostering innovation and productivity. 3. Cost reduction: By leveraging ILLA, enterprises can allocate their time, workforce, and financial resources towards core business activities. This results in reduced costs as ILLA streamlines the development process, eliminates the need for specialized teams, and minimizes the investment required for tooling development."}},{"@type":"Question",name:"What problems can ILLA Cloud solve?",acceptedAnswer:{"@type":"Answer",text:"With ILLA Cloud, you can build any application you need, such as commonly used internal tools like Dashboards, Admin Panels, CRUD apps, CRM, CMS, and more. Additionally, you can develop AI applications, such as text-to-image applications with Stable Diffusion, audio-to-text applications with Whisper, and even embed OpenAI's GPT models to assist you in completing various tasks."}},{"@type":"Question",name:"Which data sources does ILLA support?",acceptedAnswer:{"@type":"Answer",text:"ILLA supports integration with a variety of data sources, including PostgreSQL, MongoDB, REST API, GraphQL, Google Sheets, and more. You can swiftly connect to any data source without writing code, enabling seamless access to your desired data."}}]},{"@type":"VideoObject",name:"What is ILLA Cloud",description:"ILLA Cloud is a low-code platform to make users build internal tools faster.",thumbnailUrl:"https://cdn.illacloud.com/official-website/img/home/playVideoCover.png",uploadDate:"2023-06-15",duration:"PT1M20S",contentUrl:"https://cdn.illacloud.com/official-website/img/home/video.webm"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203341.svg",datePublished:"2023-06-15",description:"40+ components in ILLA Cloud",name:"ILLA Cloud components"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203340.svg",datePublished:"2023-06-15",description:"SQL Generation based on OpenAI in ILLA Cloud",name:"ILLA Cloud SQL Generation"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203340%20(1).svg",datePublished:"2023-06-15",description:"Real-time collaboration based on OpenAI in ILLA Cloud",name:"ILLA Cloud real-time collaboration"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/datasource/datasource.svg",datePublished:"2023-06-15",description:"ILLA Cloud supports to connect multiple datasource with GUI mode. No code required. ",name:"ILLA Cloud data source integration"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Codepartbgweb.svg",datePublished:"2023-06-15",description:"Build dashboard or any other internal tools with ILLA Cloud in minutes",name:"Build dashboard with ILLA Cloud"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203356.svg",datePublished:"2023-06-15",description:"Friendly CDN.Register to use, no configure required",name:"ILLA Drive"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203356%20(1).svg",datePublished:"2023-06-15",description:"Friendly CDN.Register to use, no configure required. Support anti-leech links",name:"Storage and share files via ILLA Drive"}]},m="contentContainer_c9t8",u="content_jfit",h="commBottomContainerStyle_CDHK",p="allContentContainer_nVOG",g="allContentTitle_K0Y2";var f=s(1527);const v=()=>(0,f.jsxs)("div",{className:p,children:[(0,f.jsx)("h2",{className:g,children:(0,f.jsx)(o.Z,{id:"content.all.title",children:"ILLA Cloud integrates everything"})}),(0,f.jsx)("img",{className:"w-full h-auto",src:"https://cdn.illacloud.com/illa-website/home/all-content/all-content.webp",alt:"ILLA Cloud integrates everything"})]}),b="cardContentContainerStyle_kX6c",w="headerContainerStyle_RgD_",y="textTitleStye_mJAH",_="textTitleNumStyle_TEnk",x="textDescStyle_NFkj",I="imgStyle_GNQD",j="cardContainerStyle_Kvlw",A={cardContentItemReverseStyle:"cardContentItemReverseStyle_DHTD",cardContentItemNormalStyle:"cardContentItemNormalStyle_f4ow",cardIContentItemContainerStyle:"cardIContentItemContainerStyle_rPYn",textContainerStyle:"textContainerStyle_toav",textTitleStye:"textTitleStye_u6Ys",textTitleNumStyle:"textTitleNumStyle_h7vB",textDescStyle:"textDescStyle_vwoY"},L="swipeMore_QWDA";var S=s(0),N=s(5341),C=s(700),Z=s(1641);const k=e=>{let{href:t,title:s,category:a,leftPadding:l=!1}=e;return(0,f.jsxs)(S.Z,{className:(0,N.Z)(L,l?"lg:pl-[30px]":""),to:t,onClick:()=>{(0,C.l)({action:"click",category:a})},children:[(0,f.jsx)("span",{className:"underline",children:s}),(0,f.jsx)(Z.Z,{})]})};var E=s(5628);const O=e=>{let{imageIcon:t,stepNum:s,title:a,desc:l,moreTitle:n,moreHref:i,reverse:o}=e;const c=(0,E.f)();return(0,f.jsxs)("div",{className:(0,N.Z)(A.cardIContentItemContainerStyle,o?A.cardContentItemReverseStyle:A.cardContentItemNormalStyle),children:[t,(0,f.jsxs)("div",{className:A.textContainerStyle,children:[(0,f.jsxs)("h3",{className:A.textTitleStye,children:[(0,f.jsxs)("span",{className:A.textTitleNumStye,children:[s,"."]}),(0,f.jsx)("br",{}),(0,f.jsx)("span",{children:a})]}),(0,f.jsx)("span",{className:A.textDescStyle,children:l}),(0,f.jsx)(k,{title:n,href:c(i)??""})]})]})};var B=s(8930);const q={title:(0,o.I)({id:"how_to_use.title.3_steps_to_customize",message:"steps to customize your business apps"}),desc:(0,o.I)({id:"how_to_use.description.build_tools_through",message:"Build tools through drag-and-drop components, customize your AI Agent, connect to your data sources, and make AI a smart tool tailored to your needs and data, making your work more intelligent."}),items:[{imageIcon:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/step/step1.webp",className:I}),title:(0,o.I)({id:"how_to_use.step1_title.create_ai_agent_for",message:"Drag and drop components to design UI"}),desc:(0,o.I)({id:"how_to_use.step1_description.you_can_create_an_ai",message:"By dragging and dropping components, you can quickly build the UI of the apps and implement any functionality you desire."}),moreTitle:(0,o.I)({id:"how_to_use.step1_button.ai_agent_marketplace",message:"Start building UI with ILLA"}),moreHref:B.E},{imageIcon:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/step/step2.webp",className:I}),title:(0,o.I)({id:"how_to_use.step2_title.build_the_frontend_p",message:"Connect to your data sources"}),desc:(0,o.I)({id:"how_to_use.step2_description.by_dragging_and_drop",message:"Connect to your own data sources, including MySQL, PostgreSQL, and other databases, REST APIs, GraphQL, etc. Build CRUD apps in just one minute."}),moreTitle:(0,o.I)({id:"how_to_use.step2_button.illa_app_marketplace",message:"Start building Apps with your data sources"}),moreHref:B.E,reverse:!0},{imageIcon:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/step/step3.webp",className:I}),title:(0,o.I)({id:"how_to_use.step3_title.connect_to_your_data",message:"Configure and connect to AI agents"}),desc:(0,o.I)({id:"how_to_use.step3_description.enable_data_integrat",message:"Integrating AI agents into your app and empower it with AI capabilities such as intelligent analysis, content generation, and more, without AI development skills."}),moreTitle:(0,o.I)({id:"how_to_use.step3_button.supported_data_sourc",message:"Start building AI driven apps"}),moreHref:B.E}]},D=()=>(0,f.jsxs)("div",{className:b,children:[(0,f.jsxs)("div",{className:w,children:[(0,f.jsxs)("h2",{className:y,children:[(0,f.jsx)("span",{className:_,children:"3\xa0"}),q.title]}),(0,f.jsx)("span",{className:x,children:q.desc})]}),(0,f.jsx)("div",{className:j,children:q.items.map(((e,t)=>{let{imageIcon:s,title:a,desc:l,moreHref:n,moreTitle:i,reverse:o}=e;return(0,f.jsx)(O,{imageIcon:s,desc:l,title:a,moreTitle:i,reverse:o,moreHref:n,stepNum:t+1},a)}))})]});var M=s(2330);const T="wallContainerStyle_Ny01",P="logoTitleStyle_hhN_",z="logoContainerStyle_PeVm",V="logoStyle_ixBp";var W,U=s(959);function R(){return R=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",R({width:121,height:40,viewBox:"0 0 121 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,W||(W=U.createElement("path",{d:"M31.138 16.446h-12.52v3.715h8.88c-.44 5.2-4.773 7.432-8.865 7.432a9.76 9.76 0 0 1-9.802-9.891c0-5.624 4.354-9.954 9.814-9.954 4.212 0 6.694 2.685 6.694 2.685l2.6-2.694s-3.34-3.717-9.43-3.717c-7.755 0-13.754 6.545-13.754 13.614 0 6.927 5.643 13.682 13.95 13.682 7.307 0 12.656-5.006 12.656-12.408 0-1.562-.227-2.464-.227-2.464h.004ZM41.395 13.755c-5.138 0-8.82 4.017-8.82 8.7 0 4.754 3.57 8.845 8.88 8.845 4.806 0 8.743-3.673 8.743-8.743 0-5.8-4.58-8.803-8.803-8.803Zm.05 3.446c2.526 0 4.92 2.043 4.92 5.334 0 3.22-2.384 5.322-4.932 5.322-2.8 0-5-2.242-5-5.348 0-3.04 2.18-5.308 5.02-5.308h-.008ZM60.576 13.755c-5.138 0-8.82 4.017-8.82 8.7 0 4.754 3.57 8.845 8.88 8.845 4.806 0 8.743-3.673 8.743-8.743 0-5.8-4.58-8.803-8.803-8.803Zm.05 3.446c2.526 0 4.92 2.043 4.92 5.334 0 3.22-2.384 5.322-4.932 5.322-2.8 0-5-2.242-5-5.348 0-3.04 2.18-5.308 5.02-5.308h-.008ZM79.39 13.765c-4.717 0-8.423 4.13-8.423 8.766 0 5.28 4.297 8.782 8.34 8.782 2.5 0 3.83-.993 4.8-2.132v1.73c0 3.027-1.838 4.84-4.612 4.84-2.68 0-4.024-1.993-4.5-3.123l-3.372 1.4c1.196 2.53 3.604 5.167 7.9 5.167 4.7 0 8.262-2.953 8.262-9.147V14.292h-3.664v1.486c-1.13-1.22-2.678-2.013-4.73-2.013h-.002Zm.34 3.44c2.311 0 4.685 1.974 4.685 5.345 0 3.427-2.37 5.315-4.737 5.315-2.514 0-4.853-2.04-4.853-5.283 0-3.368 2.43-5.377 4.904-5.377ZM104.161 13.744c-4.448 0-8.183 3.54-8.183 8.76 0 5.526 4.163 8.803 8.6 8.803 3.712 0 6-2.03 7.35-3.85l-3.033-2.018c-.787 1.22-2.103 2.415-4.298 2.415-2.466 0-3.6-1.35-4.303-2.66l11.763-4.88-.6-1.43c-1.136-2.8-3.788-5.14-7.296-5.14Zm.153 3.374c1.603 0 2.756.852 3.246 1.874l-7.856 3.283c-.34-2.542 2.07-5.157 4.6-5.157h.01ZM90.361 30.787h3.864V4.93h-3.864v25.857Z",fill:"#fff"})))};var H,Q;function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",F({width:121,height:40,viewBox:"0 0 121 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,H||(H=U.createElement("g",{clipPath:"url(#metaIcon_svg__a)",fill:"#fff"},U.createElement("path",{d:"M3.93 23.757c0 1.378.303 2.437.698 3.077.519.838 1.292 1.194 2.08 1.194 1.017 0 1.947-.252 3.74-2.732 1.436-1.987 3.128-4.776 4.267-6.526l1.928-2.963c1.34-2.058 2.89-4.345 4.668-5.895 1.45-1.266 3.016-1.97 4.593-1.97 2.644 0 5.165 1.533 7.093 4.408 2.11 3.149 3.135 7.115 3.135 11.207 0 2.433-.48 4.221-1.296 5.633-.788 1.366-2.325 2.731-4.91 2.731v-3.894c2.214 0 2.765-2.034 2.765-4.361 0-3.317-.773-6.998-2.477-9.628-1.208-1.866-2.775-3.006-4.5-3.006-1.864 0-3.364 1.406-5.05 3.913-.896 1.331-1.817 2.955-2.85 4.787l-1.137 2.015c-2.285 4.052-2.864 4.973-4.005 6.497C10.67 30.91 8.96 31.92 6.71 31.92c-2.67 0-4.359-1.156-5.405-2.898C.45 27.602.03 25.74.03 23.617l3.9.14Z"}),U.createElement("path",{d:"M3.105 12.627c1.788-2.756 4.368-4.683 7.327-4.683 1.714 0 3.417.508 5.195 1.96 1.947 1.588 4.02 4.202 6.608 8.513l.929 1.547c2.24 3.732 3.513 5.65 4.259 6.556.959 1.163 1.63 1.51 2.503 1.51 2.214 0 2.765-2.035 2.765-4.362l3.44-.108c0 2.433-.48 4.22-1.296 5.633-.788 1.366-2.325 2.73-4.91 2.73-1.607 0-3.031-.348-4.605-1.833-1.21-1.14-2.625-3.165-3.713-4.986l-3.237-5.408c-1.624-2.715-3.114-4.738-3.978-5.655-.928-.985-2.12-2.175-4.024-2.175-1.54 0-2.848 1.08-3.943 2.735l-3.32-1.975Z"}),U.createElement("path",{d:"M10.368 11.864c-1.54 0-2.848 1.08-3.943 2.734-1.548 2.337-2.495 5.816-2.495 9.159 0 1.378.303 2.437.698 3.077l-3.324 2.19C.45 27.604.03 25.74.03 23.617c0-3.86 1.06-7.884 3.075-10.992 1.788-2.755 4.368-4.682 7.327-4.682l-.064 3.92ZM43.71 8.702h4.51l7.67 13.874 7.672-13.874h4.412V31.5h-3.68V14.027l-6.727 12.1h-3.452l-6.726-12.1v17.472h-3.68V8.702h.001Zm35.794 8.5c-2.64 0-4.228 1.986-4.609 4.446h8.957c-.186-2.534-1.647-4.446-4.348-4.446Zm-8.257 5.846c0-5.174 3.344-8.94 8.32-8.94 4.896 0 7.818 3.718 7.818 9.216v1.01h-12.49c.443 2.676 2.22 4.478 5.08 4.478 2.285 0 3.711-.697 5.065-1.971l1.955 2.393c-1.842 1.694-4.184 2.67-7.15 2.67-5.387.003-8.598-3.926-8.598-8.856Zm20.6-5.52H88.46v-3.012h3.387V9.534h3.55v4.982h5.145v3.013h-5.145v7.636c0 2.608.833 3.534 2.883 3.534.935 0 1.472-.081 2.264-.212v2.98c-.987.28-1.928.408-2.948.408-3.832 0-5.748-2.095-5.748-6.285l-.001-8.061Zm23.645 2.93c-.713-1.799-2.304-3.125-4.642-3.125-3.037 0-4.982 2.155-4.982 5.666 0 3.424 1.79 5.684 4.837 5.684 2.394 0 4.104-1.394 4.787-3.128V20.46Zm3.55 11.041h-3.484v-2.377c-.975 1.4-2.747 2.785-5.618 2.785-4.617 0-7.702-3.866-7.702-8.908 0-5.09 3.16-8.891 7.898-8.891 2.343 0 4.18.936 5.422 2.59v-2.182h3.484V31.5Z"}))),Q||(Q=U.createElement("defs",null,U.createElement("clipPath",{id:"metaIcon_svg__a"},U.createElement("path",{fill:"#fff",transform:"translate(.1)",d:"M0 0h120.8v40H0z"})))))};var X,K;function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",J({width:171,height:40,viewBox:"0 0 171 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,X||(X=U.createElement("g",{clipPath:"url(#byteDanceIcon_svg__a)",fill:"#fff"},U.createElement("path",{d:"M52.472 19.064a4.609 4.609 0 0 0 1.334-1.4 4.264 4.264 0 0 0 .634-2.277c0-.985-.23-1.883-.681-2.674-.452-.791-1.114-1.448-1.968-1.96-.508-.299-1.142-.52-1.9-.656-.749-.125-1.766-.193-3.033-.193h-4.75v19.797h7.217c1.823 0 3.378-.55 4.606-1.622 1.238-1.081 1.872-2.442 1.872-4.035 0-1.274-.327-2.364-.98-3.233-.546-.753-1.343-1.342-2.35-1.747Zm-1.823-1.593c-.576.493-1.41.744-2.495.744h-3.052v-5.637h2.889c1.19 0 2.082.241 2.668.724.575.473.854 1.168.854 2.114-.02.897-.298 1.573-.864 2.055Zm-5.556 3.465h3.637c1.343 0 2.37.261 3.042.773.662.502.979 1.225.979 2.21 0 1.004-.326 1.737-1.008 2.24-.69.51-1.737.771-3.11.771h-3.53v-5.994h-.01ZM75.86 12.714h-2.84v3.233H67.646l-3.513 8.542c-.058.145-.173.454-.336.946-.096.29-.201.627-.326.994-.115-.396-.211-.743-.307-1.033-.202-.646-.279-.83-.307-.907l-3.455-8.542h-3.148l5.614 13.503-2.418 5.753h2.898l7.332-16.785h3.35v8.281c0 1.178.278 2.037.825 2.558.547.512 1.449.782 2.687.782h1.554v-2.732H76.62c-.279 0-.47-.057-.586-.183-.115-.135-.173-.367-.173-.695v-8.001h2.236v-2.48H75.86v-3.234ZM86.456 15.618c-2.083 0-3.791.686-5.087 2.027-1.295 1.342-1.948 3.118-1.948 5.28 0 .917.153 1.805.47 2.635.307.84.768 1.583 1.353 2.22a6.925 6.925 0 0 0 2.4 1.68 7.757 7.757 0 0 0 3.004.588c1.286 0 2.466-.241 3.493-.724 1.027-.482 1.987-1.235 2.85-2.249l.163-.193-2.063-1.67-.153.184c-.586.675-1.238 1.197-1.95 1.544-.7.348-1.458.521-2.273.521-1.257 0-2.313-.357-3.129-1.071-.758-.656-1.19-1.486-1.305-2.52h11.325v-.424c0-2.326-.663-4.227-1.968-5.646-1.324-1.458-3.062-2.182-5.182-2.182Zm-2.851 3.572c.777-.666 1.728-1.004 2.822-1.004 1.075 0 2.005.328 2.754.984.681.599 1.113 1.37 1.296 2.297H82.29a3.817 3.817 0 0 1 1.315-2.277ZM109.325 12.424c-1.909-1.67-4.731-2.52-8.369-2.52h-4.222v19.797h4.222c3.638 0 6.46-.85 8.369-2.52 1.919-1.68 2.899-4.16 2.899-7.374 0-3.214-.98-5.694-2.899-7.383Zm-7.994 14.516h-1.593V12.684h1.593c2.61 0 4.587.599 5.902 1.795 1.305 1.188 1.958 2.973 1.958 5.338 0 2.345-.662 4.14-1.958 5.328-1.305 1.187-3.292 1.795-5.902 1.795ZM125.093 17.684a6.478 6.478 0 0 0-1.804-1.351c-.873-.434-1.843-.647-2.889-.647-2.073 0-3.762.657-5.029 1.96s-1.9 3.03-1.9 5.134c0 .975.163 1.883.48 2.713.317.83.806 1.592 1.439 2.258a7.056 7.056 0 0 0 2.294 1.583c.854.357 1.766.54 2.716.54 1.066 0 2.025-.202 2.85-.607a5.466 5.466 0 0 0 1.67-1.274v1.718h2.822V15.947h-2.649v1.737Zm-1.267 1.853c.806.85 1.219 1.95 1.219 3.272 0 1.332-.413 2.433-1.219 3.282-.806.84-1.852 1.264-3.109 1.264s-2.303-.424-3.109-1.264c-.807-.84-1.22-1.94-1.22-3.282 0-1.332.413-2.432 1.22-3.281.806-.84 1.852-1.265 3.109-1.265s2.303.425 3.109 1.274ZM136.427 15.686c-.767 0-1.497.155-2.169.463a6.018 6.018 0 0 0-1.487.985v-1.187h-2.803V29.7h2.803v-7.596c0-1.303.278-2.288.815-2.925.528-.627 1.354-.946 2.428-.946.95 0 1.622.28 2.054.869.442.598.672 1.573.672 2.905v7.703h2.822v-7.934c0-1.873-.461-3.36-1.373-4.44-.911-1.09-2.179-1.65-3.762-1.65ZM152.876 26.071a3.336 3.336 0 0 1-1.276 1.023c-.499.232-1.084.348-1.746.348-1.22 0-2.189-.415-2.947-1.274-.758-.85-1.142-1.979-1.142-3.34 0-1.36.393-2.49 1.161-3.359.768-.868 1.728-1.293 2.937-1.293.614 0 1.171.106 1.651.309.47.203.902.521 1.276.956l.182.212 1.834-2.124-.183-.164a6.498 6.498 0 0 0-2.149-1.322c-.778-.29-1.661-.434-2.62-.434a7.695 7.695 0 0 0-2.794.502 6.267 6.267 0 0 0-2.226 1.496 6.653 6.653 0 0 0-1.516 2.355c-.346.878-.518 1.843-.518 2.866 0 1.023.172 1.989.518 2.857a6.98 6.98 0 0 0 1.516 2.346 6.32 6.32 0 0 0 2.236 1.486 7.526 7.526 0 0 0 2.793.512c.969 0 1.862-.155 2.649-.454.787-.3 1.535-.782 2.246-1.438l.182-.164-1.862-2.153-.202.251ZM170.247 23.427c0-2.326-.662-4.228-1.967-5.646-1.315-1.429-3.052-2.163-5.183-2.163-2.083 0-3.791.686-5.086 2.027-1.296 1.342-1.949 3.118-1.949 5.28 0 .917.154 1.805.471 2.635.307.84.767 1.583 1.353 2.22a6.926 6.926 0 0 0 2.399 1.68 7.757 7.757 0 0 0 3.004.588c1.286 0 2.467-.241 3.493-.724 1.027-.482 1.987-1.235 2.851-2.249l.163-.193-2.064-1.67-.153.184c-.585.675-1.247 1.197-1.948 1.544a5.05 5.05 0 0 1-2.275.521c-1.257 0-2.312-.357-3.128-1.071-.758-.666-1.19-1.486-1.306-2.52h11.316v-.443h.009Zm-10-4.237c.777-.666 1.727-1.004 2.821-1.004 1.075 0 2.006.328 2.755.984.681.599 1.113 1.37 1.295 2.297h-8.186a3.913 3.913 0 0 1 1.315-2.277ZM7.952 29.479l-5.038 1.293V7.685l5.038 1.303v20.491ZM32.3 30.83l-5.048 1.293V6.333L32.3 7.636V30.83ZM15.946 30.174l-5.038 1.303v-13.6l5.038 1.303v10.994ZM19.238 15.87l5.048-1.304v13.6l-5.048-1.303V15.87Z"}))),K||(K=U.createElement("defs",null,U.createElement("clipPath",{id:"byteDanceIcon_svg__a"},U.createElement("path",{fill:"#fff",transform:"translate(.9)",d:"M0 0h170v40H0z"})))))};var ee,te;function se(){return se=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",se({width:194,height:40,viewBox:"0 0 194 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,ee||(ee=U.createElement("g",{clipPath:"url(#alibaba_svg__a)"},U.createElement("path",{d:"M137.023 25.022v-1.224h-2.187c-1.519 0-2.11.252-2.11 1.284 0 .804.527 1.1 1.609 1.1 1.349 0 2.32-.48 2.688-1.13v-.03Zm3.796-4.742v8.534h-3.424l-.321-1.314c-.479.787-1.711 1.545-3.817 1.545-2.692 0-4.215-1.216-4.215-3.822 0-2.872 1.711-3.912 5.135-3.912h2.859v-.072c0-1.473-.428-1.866-2.508-1.866-1.042 0-2.083.07-3.116.21V16.39a32.575 32.575 0 0 1 3.595-.206c4.212 0 5.778 1.366 5.778 4.096h.034Zm-77.034.924-1.862-6.055h-.278l-1.909 6.055h4.05Zm1.109 3.565H58.64l-1.284 4.023h-4.164l5.914-17.43h5.41l5.867 17.43H66.13l-1.236-4.023Zm58.511-2.14c0-2.165-.321-3.663-2.345-3.663s-2.508 1.314-2.508 3.69c0 2.229.479 3.611 2.508 3.611s2.345-1.613 2.345-3.637Zm3.89 0c0 3.613-.924 6.42-4.9 6.42-2.345 0-3.269-.71-3.727-1.819l-.231 1.58h-3.501V11.322h3.821v6.325c.527-.736 1.52-1.476 3.638-1.476 3.98 0 4.9 2.43 4.9 6.419v.039Zm-19.348 2.419v-1.224h-2.165c-1.52 0-2.11.252-2.11 1.284 0 .8.526 1.1 1.613 1.1 1.327 0 2.294-.48 2.662-1.13v-.03Zm3.796-4.742v8.533h-3.424l-.321-1.313c-.483.787-1.711 1.544-3.821 1.544-2.692 0-4.216-1.215-4.216-3.821 0-2.872 1.712-3.912 5.136-3.912h2.85v-.073c0-1.472-.428-1.866-2.508-1.866a22.112 22.112 0 0 0-3.111.21v-3.192a32.512 32.512 0 0 1 3.595-.206c4.241 0 5.803 1.365 5.803 4.096h.017Zm-17.44 2.324c0-2.14-.32-3.66-2.345-3.66-2.024 0-2.512 1.314-2.512 3.66 0 2.234.484 3.616 2.508 3.616s2.354-1.613 2.354-3.642l-.005.026Zm3.89 0c0 3.616-.924 6.445-4.9 6.445-2.345 0-3.27-.715-3.727-1.82l-.231 1.58h-3.497V11.327h3.818v6.325c.526-.732 1.519-1.472 3.637-1.472 3.98 0 4.9 2.418 4.9 6.42v.03Zm-19.185-6.206h3.822v12.411h-3.822V16.424Zm-.184-3.5c0-1.798.368-1.935 2.11-1.935s2.11.137 2.11 1.934c0 1.798-.347 1.977-2.11 1.977s-2.106-.23-2.106-2.002l-.004.025Zm-6.625-1.576h3.852v17.487h-3.852V11.348Zm119.792 5.936a4.276 4.276 0 0 1 .993 2.996v8.542h-1.977v-7.87a3.845 3.845 0 0 0-.527-2.268 2.107 2.107 0 0 0-1.865-.75 3.977 3.977 0 0 0-2.033.471 2.786 2.786 0 0 0-1.203 1.712v8.705h-1.977v-7.87a4.128 4.128 0 0 0-.497-2.281 2 2 0 0 0-1.746-.732 3.973 3.973 0 0 0-2.067.458 3.076 3.076 0 0 0-1.249 1.789v8.636h-1.956v-12.41h1.977v1.634a3.028 3.028 0 0 1 1.438-1.45 5.134 5.134 0 0 1 2.14-.429c1.84 0 3.047.68 3.616 2.029.612-1.348 1.905-2.029 3.852-2.029 1.374 0 2.405.368 3.064 1.096l.017.021Zm-22.712 9.484a2.364 2.364 0 0 0 1.087-1.425c.243-.921.35-1.873.317-2.825a9.42 9.42 0 0 0-.338-2.824 2.44 2.44 0 0 0-1.113-1.442 4.279 4.279 0 0 0-2.11-.428 4.31 4.31 0 0 0-2.14.427 2.41 2.41 0 0 0-1.087 1.434 9.599 9.599 0 0 0-.325 2.838c-.035.95.079 1.9.338 2.816.173.601.57 1.114 1.108 1.433.656.32 1.382.468 2.11.428.754.049 1.507-.099 2.187-.428l-.034-.004Zm-5.273 1.494a3.853 3.853 0 0 1-1.887-1.978 11.243 11.243 0 0 1 0-7.527 3.853 3.853 0 0 1 1.887-1.978 7.212 7.212 0 0 1 3.116-.59 7.119 7.119 0 0 1 3.12.59 3.915 3.915 0 0 1 1.866 1.977 11.33 11.33 0 0 1 0 7.528 3.915 3.915 0 0 1-1.866 1.978 7.048 7.048 0 0 1-3.12.59 7.13 7.13 0 0 1-3.107-.62l-.009.03Zm-11.229 0a3.897 3.897 0 0 1-1.892-1.978 11.33 11.33 0 0 1 0-7.527 3.897 3.897 0 0 1 1.892-1.978 7.205 7.205 0 0 1 3.115-.59c1.08-.021 2.157.132 3.189.453v1.79a8.832 8.832 0 0 0-3.163-.527 4.54 4.54 0 0 0-2.14.428 2.406 2.406 0 0 0-1.108 1.43 9.056 9.056 0 0 0-.338 2.807c-.035.939.079 1.878.338 2.781a2.363 2.363 0 0 0 1.108 1.404c.68.307 1.424.446 2.17.407a8.354 8.354 0 0 0 3.162-.527v1.79c-.472.149-.958.255-1.45.316-.593.089-1.19.134-1.789.137a7.129 7.129 0 0 1-3.09-.6l-.004-.016Zm-7.563.479a.719.719 0 0 1-.475-.428 2.614 2.614 0 0 1-.124-1.031 1.628 1.628 0 0 1 .326-1.216 2.79 2.79 0 0 1 2.435 0 1.631 1.631 0 0 1 .325 1.216 1.669 1.669 0 0 1-.325 1.253 1.816 1.816 0 0 1-1.216.291 2.987 2.987 0 0 1-.941-.115l-.005.03Zm-113.663.428c-2.11.094-1.875-.993-.655-2.67 2.859-3.852 8.277-9.176 8.435-12.96.36-4.921-4.614-6.552-9.723-6.505-3.33.134-6.616.797-9.737 1.965-8.67 3.051-14.123 7.947-17.546 13.365-3.638 5.371-2.44 10.494 5.23 10.67 5.88-.236 9.701-1.866 13.694-3.908 0 0-11.02 3.163-15.081.835a1.78 1.78 0 0 1-.993-1.481c0-1.917 3.163-3.907 4.947-4.545v-3.321a11.713 11.713 0 0 0 11.76-1.952c.08.315.102.64.07.963h.8a2.319 2.319 0 0 0-.373-1.528 2.44 2.44 0 0 0-1.981-1.13c.467.226.864.575 1.147 1.01a10.745 10.745 0 0 1-10.109 2.02l2.636-2.602-.727-1.891a94.97 94.97 0 0 1 16.913-4.515L28.64 9.666l.856-.526c4.353 1.207 7.224 2.11 7.049 4.42-.089.457-.232.901-.428 1.323-1.284 2.508-5.037 6.694-6.56 8.436a32.426 32.426 0 0 0-2.701 3.385 5.88 5.88 0 0 0-1.19 3.09c.09 7.596 22.391-3.548 26.7-6.505C46 25.998 39.13 28.655 31.556 29.143l-.004.026Z",fill:"#fff"}))),te||(te=U.createElement("defs",null,U.createElement("clipPath",{id:"alibaba_svg__a"},U.createElement("path",{fill:"#fff",transform:"translate(.9)",d:"M0 0h193v40H0z"})))))};var le;function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",ne({width:41,height:40,viewBox:"0 0 41 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,le||(le=U.createElement("path",{d:"M29.258 13.546c-.162.126-3.03 1.742-3.03 5.335 0 4.155 3.649 5.625 3.758 5.662-.017.09-.58 2.013-1.924 3.974-1.198 1.724-2.45 3.447-4.354 3.447s-2.394-1.106-4.593-1.106c-2.142 0-2.904 1.142-4.645 1.142-1.742 0-2.958-1.596-4.355-3.556-1.618-2.302-2.926-5.878-2.926-9.272 0-5.444 3.54-8.33 7.023-8.33 1.851 0 3.394 1.214 4.556 1.214 1.106 0 2.831-1.288 4.937-1.288.798 0 3.666.073 5.553 2.778Zm-6.553-5.082c.871-1.034 1.487-2.467 1.487-3.901 0-.199-.017-.4-.053-.563-1.417.053-3.103.944-4.12 2.123-.797.907-1.542 2.34-1.542 3.794 0 .218.036.437.053.507.09.017.235.036.38.036 1.272 0 2.871-.851 3.795-1.996Z",fill:"#fff"})))};var oe;function ce(){return ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",ce({width:33,height:40,viewBox:"0 0 33 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,oe||(oe=U.createElement("path",{d:"M22.784 7c1.658 0 3.242.659 4.42 1.827a6.269 6.269 0 0 1 1.83 4.422v13.502A6.248 6.248 0 0 1 22.783 33H9.283a6.27 6.27 0 0 1-4.423-1.83 6.272 6.272 0 0 1-1.827-4.42v-13.5A6.28 6.28 0 0 1 4.86 8.826 6.28 6.28 0 0 1 9.283 7h13.501Zm-5.323 4.334-1.431 2.674-1.422-2.674a.74.74 0 0 0-1.301 0l-5.12 9.62a1.128 1.128 0 0 0 0 1.04l3.245 6.093c.195.357.568.587.983.587h7.24c.411 0 .784-.23.982-.587l3.241-6.094c.17-.324.17-.714 0-1.038l-5.12-9.62a.727.727 0 0 0-.308-.303.726.726 0 0 0-.99.302Zm.969 3.32 3.491 6.557c.09.162.09.357 0 .52l-2.557 4.801a.56.56 0 0 1-.49.292H13.19a.56.56 0 0 1-.49-.292l-2.556-4.802a.528.528 0 0 1 0-.52l3.49-6.557a.395.395 0 0 1 .147-.155.385.385 0 0 1 .506.155l.698 1.324-2.048 3.842a3.315 3.315 0 0 0-.237.571l-.006.023-.032.09c-.091.309-.14.633-.14.974a3.517 3.517 0 0 0 3.51 3.51 3.511 3.511 0 0 0 3.512-3.51c0-.633-.163-1.227-.455-1.73l-.976-1.83-1.048 1.967.431.805c.13.243.195.512.195.782h.006v.032a1.66 1.66 0 0 1-1.664 1.632c-.918 0-1.658-.74-1.658-1.658v-.006c0-.108.01-.211.032-.325v-.026a2.16 2.16 0 0 1 .046-.156c.035-.11.078-.214.133-.308v-.006l1.447-2.716v.01l1.048-1.967.697-1.324a.51.51 0 0 1 .156-.155.375.375 0 0 1 .497.155Z",fill:"#fff"})))},de=[{id:"google",icon:(0,f.jsx)(G,{className:V})},{id:"meta",icon:(0,f.jsx)(Y,{className:V})},{id:"byteDance",icon:(0,f.jsx)($,{className:V})},{id:"aliBaba",icon:(0,f.jsx)(ae,{className:V})},{id:"iPhone",icon:(0,f.jsx)(ie,{className:V})},{id:"jsDesign",icon:(0,f.jsx)(re,{className:V})}];const me=function(){return(0,f.jsxs)("div",{className:T,children:[(0,f.jsx)("span",{className:P,children:(0,f.jsx)(o.Z,{id:"customer.title",children:"Trusted by thousands of teams"})}),(0,f.jsx)("div",{className:z,children:de.map(((e,t)=>{let{id:s,icon:a}=e;return(0,f.jsx)("span",{className:(0,N.Z)(t%2==0?"flex justify-end":"flex justify-start"),children:a},s)}))})]})},ue="commentsContainerStyle_ctEM",he="commentsTitleStyle_iQ9i",pe="commentsItemsContainerStyle_Zw4J",ge="borderStyle_jCx_",fe="commentsItemStyle_rd1k",ve="commentContentStyle_NzjM",be="contentTextStyle_PpXf",we="reverseQuoteStyle_waKq",ye="commentUserNameStyle_D4y3",_e="commentUserCompanyStyle_zWSD",xe="mobileGap_cpxI";var Ie;function je(){return je=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",je({width:10,height:8,viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,Ie||(Ie=U.createElement("path",{d:"M5.736 8V4.046c0-1.318.137-2.227.41-2.728C6.63.439 7.668 0 9.256 0c.162 0 .41.01.744.03V1.9h-.167c-.708 0-1.184.164-1.426.49-.132.164-.208.42-.228.767v.613h1.533V8H5.736ZM0 8V4.046c0-1.318.137-2.227.41-2.728C.895.439 1.932 0 3.52 0c.152 0 .395.01.729.03V1.9h-.167c-.688 0-1.158.164-1.411.49-.132.174-.208.43-.228.767v.613h1.533V8H0Z",fill:"#fff",fillOpacity:.5})))},Le={title:(0,o.I)({id:"testimonial.title.user_testimonials",message:"User Testimonials"}),items:[{content:(0,o.I)({id:"testimonial.testimonial1_content.illa_cloud_has_been",message:"ILLA Cloud has been a game-changer for me. It helps me generate highly efficient content in less time. The customized AI Agent and App perfectly cater to my business needs."}),userName:(0,o.I)({id:"testimonial.testimonial1_username.christopher",message:"Christopher"}),company:(0,o.I)({id:"testimonial.testimonial1_usertitle.seo_specialist",message:"SEO Specialist"})},{content:(0,o.I)({id:"testimonial.testimonial2_content.i_think_i_become_a_b",message:"I think I become a BlogMaster now! This tool has revolutionized my content generation process, saving me valuable time. Whether it's generating blog ideas or structuring articles, the AI Agents have been a tremendous asset to me and my team."}),userName:(0,o.I)({id:"testimonial.testimonial2_username.lucas",message:"Lucas"}),company:(0,o.I)({id:"testimonial.testimonial2_usertitle.content_strategist",message:"Content Strategist"})},{content:(0,o.I)({id:"testimonial.testimonial3_content.it_empowers_me_to_pr",message:"It empowers me to provide exceptional customer support with minimal effort. The pre-built AI Agent and App, along with the ability to customize them for our specific needs, have significantly enhanced our team's effectiveness."}),userName:(0,o.I)({id:"testimonial.testimonial3_username.harper",message:"Harper"}),company:(0,o.I)({id:"testimonial.testimonial3_usertitle.customer_service_man",message:"Customer Service Manager"})},{content:(0,o.I)({id:"testimonial.testimonial4_content.ai_agent_low_code",message:"AI Agent & low-code has transformed my email writing process. It streamlines the creation of impactful emails, enabling me to craft engaging and persuasive messages effortlessly. ILLA Cloud has elevated our email communication to new heights."}),userName:(0,o.I)({id:"testimonial.testimonial4_username.abigail",message:"Abigail"}),company:(0,o.I)({id:"testimonial.testimonial4_usertitle.communication_specia",message:"Communication Specialist"})},{content:(0,o.I)({id:"testimonial.testimonial5_content.i_need_to_oversee_va",message:"I need to oversee various aspects of my company. ILLA Cloud provides me with a comprehensive solution. It not only saves me time and effort in development and design but also allows me to manage and monitor my business better. "}),userName:(0,o.I)({id:"testimonial.testimonial5_username.matthew",message:"Matthew"}),company:(0,o.I)({id:"testimonial.testimonial5_usertitle.business_founder",message:"Business Founder"})},{content:(0,o.I)({id:"testimonial.testimonial6_content.using_illa_cloud_to",message:"Using ILLA Cloud to build a management dashboard has been incredibly easy. After just one day of work, we were able to accomplish tasks such as monitoring project progress and allocating resources within this dashboard."}),userName:(0,o.I)({id:"testimonial.testimonial6_username.samuel",message:"Samuel"}),company:(0,o.I)({id:"testimonial.testimonial6_usertitle.website_administrato",message:"Website Administrator"})}]},Se=()=>(0,f.jsxs)("div",{className:ue,children:[(0,f.jsx)("h2",{className:he,children:Le.title}),(0,f.jsx)("div",{className:pe,children:Le.items.map(((e,t)=>{let{content:s,userName:a,company:l}=e;return(0,f.jsx)("div",{className:(0,N.Z)(ge,xe,0!==t?"lg:mt-[16px]":""),children:(0,f.jsxs)("div",{className:fe,children:[(0,f.jsxs)("div",{className:ve,children:[(0,f.jsx)(Ae,{className:"w-[10px]"}),(0,f.jsx)("span",{className:be,children:s}),(0,f.jsx)(Ae,{className:we})]}),(0,f.jsxs)("span",{className:"flex flex-col",children:[(0,f.jsx)("span",{className:ye,children:a}),(0,f.jsx)("span",{className:_e,children:l})]})]})},a)}))})]});var Ne=s(7812);const Ce=()=>(0,f.jsxs)("div",{className:m,children:[(0,f.jsxs)("div",{className:u,children:[(0,f.jsx)(me,{}),(0,f.jsx)(D,{}),(0,f.jsx)(Se,{}),(0,f.jsx)(v,{}),(0,f.jsx)(Ne.Z,{title:r.title,content:r.content})]}),(0,f.jsx)("div",{className:h,children:(0,f.jsx)(M.Z,{scrollStart:.9368,scrollEnd:1})})]}),Ze={publicize:"publicize_vEiD",publicizeStyle:"publicizeStyle_C7Y6",publicIntru:"publicIntru_nEWo"};var ke=s(8848);const Ee=e=>{let{stars:t}=e;return(0,f.jsx)(S.Z,{href:"https://github.com/illacloud/illa-builder",className:"hover:no-underline",children:(0,f.jsxs)("div",{className:Ze.publicize,onClick:()=>{(0,C.l)({action:"click",category:"homepage_body_github_banner_click"})},children:[(0,f.jsx)("span",{className:Ze.publicizeStyle}),(0,f.jsxs)("span",{className:"flex flex-row justify-between items-center h-full gap-[16px] relative z-[1]",children:[(0,f.jsx)("span",{className:"flex flex-row justify-between",children:(0,f.jsxs)("span",{className:Ze.publicIntru,children:[(0,f.jsx)(ke.Z,{className:"h-[24px] w-[24px]"}),(0,f.jsxs)("span",{children:[(0,f.jsx)("span",{children:(0,f.jsx)(o.Z,{id:"title.github",children:"Github"})}),(0,f.jsx)("span",{className:"inline-block w-[45px] text-center",children:t}),(0,f.jsx)("span",{children:(0,f.jsx)(o.Z,{id:"title.stars",children:"Stars"})})]})]})}),(0,f.jsxs)("span",{className:Ze.publicSlogan,role:"img","aria-label":"star us",children:[(0,f.jsx)(o.Z,{id:"title.star-us",children:"Star us"})," \ud83d\udc49"]})]})]})})};var Oe=s(3090);const Be="bannerContainerStyle__SXx",qe="canvasContainerStyle_h8pN",De="bgStyle_xQ96",Me="bannerContentContainer_RLp6",Te="bannerTextContainerStyle_O5rS",Pe="sloganStyle_zysD",ze="descStyle_U78g",Ve="buttonContainerStyle_ulq9",We="colorDescAgentStyle_LHLV",Ue="colorDescAppStyle_qG8r",Re="colorDescFlowStyle_VvqE";var Ge=s(7224);const He="solutionContainerStyle_QwBc",Qe="tabsContainerStyle_DETz",Fe="tabsItemStyle_TXig",Ye="selectedTabStyle_CyW0",Xe="splitterItemStyle_gYQ6",Ke="solutionImageContainerStyle_LgpU",Je="solutionBaseBgStyle_nGRR",$e="solutionSelectBgStyle_Xioy",et="solutionUnSelectBgStyle_RZeW",tt="solutionBaseImageStyle_APzO",st="solutionSelectImageStyle_GSp1",at="linkButtonStyle_b1Kn",lt=[{label:(0,o.I)({id:"ai_header.solutions_title.dashboard",message:"Data Analysis Dashboard"}),value:0},{label:(0,o.I)({id:"ai_header.solutions_title.image_generator",message:"AI Image Generator"}),value:1},{label:(0,o.I)({id:"ai_header.solutions_title.ai_voice_generator",message:"AI Voice Generator"}),value:2},{label:(0,o.I)({id:"ai_header.solutions_title.cms",message:"Content Management"}),value:3},{label:(0,o.I)({id:"ai_header.solutions_title.crm",message:"Sales CRM"}),value:4},{label:(0,o.I)({id:"ai_header.solutions_title.admin_panel",message:"Admin Panel"}),value:5}],nt=[{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/dashboard_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/dashboard_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Xz",value:0},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/image_generate_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/image_generate_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Bc",value:1},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/ai_voice_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/ai_voice_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Bb",value:2},{contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/cms_bg.webp",className:"w-full"}),appID:"ILAcx4p1C72G",value:3},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/crm_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/crm_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7N5",value:4},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/admin_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/admin_panel_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Oy",value:5}],it=[{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_dashboard.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_image_generator.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_ai_voice.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/cms_bg.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_crm.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_admin_panel.webp",className:"w-full max-w-[320px]"})}].map(((e,t)=>({...e,...lt[t]})));var ot=s(117),ct=s(8618);const rt=()=>{const[e,t]=(0,U.useState)(0),s=(0,U.useRef)(null),a=(0,E.f)(),l=e=>{const t=(0,ct.M)(`${B.kS}/${e}/detail`,{operateType:"fork"});return a(`${B.E}?redirectURL=${encodeURIComponent(t)}`)};return(0,U.useEffect)((()=>(s.current&&clearInterval(s.current),s.current=setInterval((()=>{t((e=>e===lt.length-1?0:e+1))}),3e3),()=>{s.current&&clearInterval(s.current)})),[]),(0,f.jsxs)("div",{className:He,children:[(0,f.jsx)("div",{className:Qe,children:lt.map((a=>(0,f.jsxs)("div",{className:(0,N.Z)(Fe,a.value===e&&Ye),onClick:()=>{return e=a.value,t(e),s.current&&clearInterval(s.current),void(s.current=setInterval((()=>{t((e=>e===lt.length-1?0:e+1))}),3e3));var e},children:[(0,f.jsx)("span",{className:"w-full h-full relative z-[1] text-nowrap",children:a.label}),a.value===e&&(0,f.jsx)(Ge.E.div,{layout:"position",className:Xe,layoutId:"underline"})]},a.value)))}),(0,f.jsx)("div",{className:Ke,children:nt.map((t=>(0,f.jsxs)(U.Fragment,{children:[(0,f.jsxs)("div",{className:(0,N.Z)(Je,e===t.value?$e:et),children:[t.contentBg,(0,f.jsx)("div",{className:(0,N.Z)(tt,e===t.value&&st),children:t.content})]}),(0,f.jsx)("div",{className:at,children:(0,f.jsx)(ot.Z,{href:l(t.appID),size:"small",colorType:"dark",handleClick:()=>{(0,C.l)({action:"solution_try_for_free"})},children:(0,f.jsx)(o.Z,{id:"website_4.solution.use_this_template",children:"Try now"})})})]},t.value)))})]})};var dt=s(3630);const mt=(0,o.I)({id:"description",message:"Build { businessApp } with low code, make automated { flow }, create { AIAgent } easily"}),ut=e=>{const{githubStarts:t}=e,a=(0,E.f)(),l=(0,U.useRef)(null),n=(0,U.useRef)(null);return(0,Oe.G)(l,n),(0,f.jsxs)("div",{ref:n,className:Be,children:[(0,f.jsx)("div",{className:qe,children:(0,f.jsx)("canvas",{ref:l})}),(0,f.jsx)("video",{className:De,loop:!0,autoPlay:!0,muted:!0,children:(0,f.jsx)("source",{src:s(139).Z,type:"video/mp4"})}),(0,f.jsxs)("div",{className:Me,children:[(0,f.jsx)(Ee,{stars:t}),(0,f.jsxs)("div",{className:Te,children:[(0,f.jsxs)("div",{className:"flex flex-col gap-[16px]",children:[(0,f.jsx)("h1",{className:Pe,children:(0,f.jsx)(o.Z,{id:"slogan-1",children:"Build AI Driven Business App"})}),(0,f.jsx)("span",{className:ze,children:(0,f.jsx)(dt.Z,{values:{AIAgent:(0,f.jsx)("span",{className:We,children:(0,f.jsx)(o.Z,{id:"website_4.description.ai_agent",children:"AI Agent"})}),businessApp:(0,f.jsx)("span",{className:Ue,children:(0,f.jsx)(o.Z,{id:"website_4.description.business_app",children:"website&app"})}),flow:(0,f.jsx)("span",{className:Re,children:(0,f.jsx)(o.Z,{id:"website_4.description.flow",children:"flow"})})},children:mt})})]}),(0,f.jsx)("div",{className:Ve,children:(0,f.jsx)(ot.Z,{href:a(B.E),colorType:"light",size:"large",handleClick:()=>{(0,C.l)({action:"click",category:"homepage_body_try_cloud_free_click"}),(0,C.l)({action:"click_try"})},children:(0,f.jsx)(o.Z,{id:"first_button",children:"Get started"})})})]})]}),(0,f.jsx)(rt,{})]})};var ht,pt,gt;function ft(){return ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",ft({width:44,height:44,viewBox:"0 0 88 88",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,ht||(ht=U.createElement("rect",{y:-.001,width:88,height:88,rx:44,fill:"url(#linearGithub_svg__a)"})),pt||(pt=U.createElement("path",{d:"M20 43.993c0 10.48 6.716 19.39 16.077 22.662 1.262.32 1.07-.58 1.07-1.19v-4.157c-7.28.853-7.57-3.964-8.062-4.767-.99-1.687-3.32-2.118-2.625-2.92 1.658-.853 3.347.216 5.301 3.108 1.416 2.096 4.176 1.742 5.58 1.392a6.787 6.787 0 0 1 1.861-3.263c-7.539-1.35-10.684-5.952-10.684-11.427 0-2.655.877-5.095 2.593-7.065-1.093-3.247.102-6.024.26-6.436 3.119-.28 6.354 2.232 6.606 2.428 1.772-.478 3.792-.73 6.052-.73 2.272 0 4.304.26 6.086.744.6-.46 3.607-2.616 6.506-2.352.154.412 1.321 3.125.294 6.326 1.74 1.974 2.625 4.436 2.625 7.099 0 5.483-3.163 10.09-10.724 11.423a6.845 6.845 0 0 1 2.042 4.884v6.036c.042.483 0 .961.806.961C61.161 63.548 68 54.571 68 43.997c0-13.26-10.748-23.999-23.997-23.999C30.738 19.992 20 30.733 20 43.993Z",fill:"#fff"})),gt||(gt=U.createElement("defs",null,U.createElement("linearGradient",{id:"linearGithub_svg__a",x1:44,y1:-.001,x2:44,y2:87.999,gradientUnits:"userSpaceOnUse"},U.createElement("stop",{stopColor:"#fff",stopOpacity:.2}),U.createElement("stop",{offset:1,stopColor:"#fff",stopOpacity:.02})))))};var bt,wt,yt;function _t(){return _t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",_t({width:44,height:44,viewBox:"0 0 89 88",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,bt||(bt=U.createElement("rect",{x:.5,y:-.001,width:88,height:88,rx:44,fill:"url(#linearDiscord_svg__a)"})),wt||(wt=U.createElement("path",{d:"M60.995 28.487a.12.12 0 0 0-.062-.057 39.12 39.12 0 0 0-9.652-2.992.146.146 0 0 0-.155.073 27.22 27.22 0 0 0-1.202 2.468 36.118 36.118 0 0 0-10.84 0 24.96 24.96 0 0 0-1.221-2.468.153.153 0 0 0-.155-.073 39.006 39.006 0 0 0-9.653 2.992.138.138 0 0 0-.063.055c-6.148 9.18-7.832 18.135-7.006 26.979a.162.162 0 0 0 .062.11 39.326 39.326 0 0 0 11.84 5.984.153.153 0 0 0 .167-.055 28.087 28.087 0 0 0 2.422-3.938.15.15 0 0 0-.082-.21 25.895 25.895 0 0 1-3.699-1.761.152.152 0 0 1-.015-.253c.25-.186.494-.378.735-.575a.146.146 0 0 1 .153-.02c7.76 3.54 16.162 3.54 23.83 0a.145.145 0 0 1 .156.018c.24.198.486.391.736.577a.151.151 0 0 1-.013.252 24.317 24.317 0 0 1-3.7 1.76.153.153 0 0 0-.088.088.15.15 0 0 0 .007.123 31.542 31.542 0 0 0 2.42 3.937.15.15 0 0 0 .167.057 39.197 39.197 0 0 0 11.86-5.983.15.15 0 0 0 .061-.11c.99-10.224-1.655-19.105-7.01-26.978ZM36.636 50.079c-2.336 0-4.261-2.144-4.261-4.777s1.888-4.778 4.261-4.778c2.393 0 4.3 2.163 4.262 4.777 0 2.634-1.888 4.778-4.262 4.778Zm15.757 0c-2.337 0-4.262-2.144-4.262-4.777s1.888-4.778 4.262-4.778c2.392 0 4.299 2.163 4.261 4.777 0 2.634-1.869 4.778-4.261 4.778Z",fill:"#fff"})),yt||(yt=U.createElement("defs",null,U.createElement("linearGradient",{id:"linearDiscord_svg__a",x1:44.5,y1:-.001,x2:44.5,y2:87.999,gradientUnits:"userSpaceOnUse"},U.createElement("stop",{stopColor:"#fff",stopOpacity:.2}),U.createElement("stop",{offset:1,stopColor:"#fff",stopOpacity:.02})))))},It="bannerContainer_oUHl",jt="textContainerStyle_j9Qp",At="sloganStyle_XKtE",Lt="descStyle_YqnZ",St="linkGroupItemStyle_KQRV",Nt="colorDescAgentStyle_x5xU",Ct="colorDescAppStyle_An_L",Zt="colorDescFlowStyle_y9g7",kt="contentContainerStyle_JEhu",Et="contentLabelStyle_dif9";var Ot=s(5676),Bt=s(929);const qt=()=>(0,f.jsx)(Ot.tq,{modules:[Bt.pt],centeredSlides:!0,slidesPerView:"auto",spaceBetween:0,className:"w-full",autoplay:{delay:3e3},children:it.map((e=>(0,f.jsx)(Ot.o5,{children:(0,f.jsxs)("div",{className:kt,children:[e.content,(0,f.jsx)("span",{className:Et,children:e.label})]})},e.label)))}),Dt=e=>{const[t]=(0,U.useState)(!1),{githubStarts:s}=e,a=(0,E.f)(),l=(0,o.I)({id:"description",message:"Build { businessApp } with low code, make automated { flow }, create { AIAgent } easily"});return(0,U.useEffect)((()=>{document.body.style.overflow=t?"hidden":"auto"}),[t]),(0,f.jsxs)("div",{className:It,children:[(0,f.jsxs)("div",{className:jt,children:[(0,f.jsx)("h1",{className:At,children:(0,f.jsx)(o.Z,{id:"slogan-1",children:"Build AI Driven Business App"})}),(0,f.jsx)("span",{className:Lt,children:(0,f.jsx)(dt.Z,{values:{AIAgent:(0,f.jsx)("span",{className:Nt,children:(0,f.jsx)(o.Z,{id:"website_4.description.ai_agent",children:"AI Agent"})}),businessApp:(0,f.jsx)("span",{className:Ct,children:(0,f.jsx)(o.Z,{id:"website_4.description.business_app",children:"website&app"})}),flow:(0,f.jsx)("span",{className:Zt,children:(0,f.jsx)(o.Z,{id:"website_4.description.flow",children:"flow"})})},children:l})}),(0,f.jsx)(ot.Z,{href:a(B.E),colorType:"light",size:"normal",handleClick:()=>{(0,C.l)({action:"click",category:"homepage_body_try_cloud_free_click"}),(0,C.l)({action:"click_try"})},children:(0,f.jsx)(o.Z,{id:"first_button",children:"Get started"})})]}),(0,f.jsxs)("div",{className:"flex items-center gap-[40px]",children:[(0,f.jsxs)(S.Z,{href:"https://github.com/illacloud/illa-builder",className:St,onClick:()=>{(0,C.l)({action:"click",category:"homepage_body_github_mob_click"})},children:[(0,f.jsx)(vt,{}),(0,f.jsx)("div",{className:"text-white-01 text-[13px] flex items-center font-medium",children:(0,f.jsxs)("span",{className:"ml-[5px]",children:[s,(0,f.jsx)(o.Z,{id:"title.stars",children:"Stars"})]})})]}),(0,f.jsxs)(S.Z,{href:"https://discord.com/invite/illacloud",className:"flex flex-col items-center gap-[8px]",onClick:()=>{(0,C.l)({action:"click",category:"homepage_body_discord_mob_click"})},children:[(0,f.jsx)(xt,{}),(0,f.jsx)("div",{className:"text-white-01 text-[13px] flex items-center font-medium",children:(0,f.jsx)("span",{className:"ml-[5px] align-middle",children:(0,f.jsx)(o.Z,{id:"join-community",children:"Join Discord"})})})]})]}),(0,f.jsx)(qt,{})]})},Mt=()=>{const[e,t]=(0,U.useState)(!0),[s,a]=(0,U.useState)(0),l=(0,U.useCallback)((async e=>{try{const t=await fetch("https://api.github.com/repos/illacloud/illa-builder",{signal:e}),s=await t.json();return s?.stargazers_count||1e4}catch{return 1e4}}),[]);return(0,U.useEffect)((()=>{const e=new AbortController;return t(!0),l(e.signal).then((e=>{a(e),t(!1)})),()=>{e.abort()}}),[]),[e,(n=s,`${(n/1e3).toFixed(1)}k`)];var n};function Tt(){const[,e]=Mt();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(a.Z,{children:[(0,f.jsx)("html",{"data-active-page":"index"}),(0,f.jsx)("meta",{name:"twitter:title",content:c.title}),(0,f.jsx)("meta",{name:"twitter:description",content:c.description}),(0,f.jsx)("script",{type:"application/ld+json",children:JSON.stringify(d)})]}),(0,f.jsx)(l.j,{...c,children:(0,f.jsxs)("div",{className:"bg-black overflow-visible w-full relative z-[1] font-sans",children:[(0,f.jsx)(n.f,{}),(0,f.jsx)(ut,{githubStarts:e}),(0,f.jsx)(Dt,{githubStarts:e}),(0,f.jsx)(Ce,{}),(0,f.jsx)(i.Z,{scrollStart:.939,scrollEnd:1})]})})]})}},8618:(e,t,s)=>{s.d(t,{M:()=>a});const a=(e,t)=>{const s=new URL(e);for(const a in t)t[a]&&s.searchParams.append(a,t[a]);return s.toString()}},139:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/medias/bannerBg-11c671f26ad5aeb99fa331a20887b2c5.mp4"}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[3237],{1641:(e,t,s)=>{s.d(t,{Z:()=>i});var a,l=s(959);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...i}=e;return l.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:15,height:13,viewBox:"0 0 15 13",fill:"none","aria-labelledby":s},i),t?l.createElement("title",{id:s},t):null,a||(a=l.createElement("path",{d:"M1 6.5h13m0 0L8.5 1M14 6.5 8.5 12",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}},7812:(e,t,s)=>{s.d(t,{Z:()=>u});const a="faqContainer_vbEd",l="faqTitle_s89i",n="faqListQuestion_Y7ri",i="faqListAnswer_uzUc",o="direction_IrxQ";var c=s(3023),r=s(3473),d=s(5341),m=s(1527);const u=e=>{let{title:t,content:s}=e;const u="transform rotate-0",h="transform -rotate-180",p="bg-white/[0.08]";return(0,m.jsxs)("div",{className:a,children:[(0,m.jsx)("h2",{className:l,children:t}),(0,m.jsx)("div",{className:"w-full flex flex-col gap-[8px]",children:s.map((e=>(0,m.jsx)(c.p,{as:"div",className:"w-full",children:t=>{let{open:s}=t;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(c.p.Button,{className:(0,d.Z)(n,s?`${p}`:""),children:[(0,m.jsx)("span",{children:e.question}),(0,m.jsx)(r.Z,{className:(0,d.Z)(s?`${h}`:`${u}`,o)})]}),s&&(0,m.jsx)(c.p.Panel,{className:i,children:e.answer})]})}},e.question)))})]})}},117:(e,t,s)=>{s.d(t,{Z:()=>A});var a=s(0),l=s(5341);const n="baseLinkButtonStyle_PuMK",i="smallSizeStyle_AohM",o="normalSizeStyle_qzr1",c="largeSizeStyle_kJWZ",r="darkColorStyle_MxJT",d="lightColorStyle_JCL1",m="baseArrowStyle_lXyW",u="smallArrowStyle_XZaI",h="normalArrowStyle_XxGa",p="largeArrowStyle_sKWX",g="darkArrowStyle_go7n",f="lightArrowStyle_QtFv",v="linkButtonBgStyle_WFWO",b="linesStyle_lbFy",w="lineContainerStyle_Y3Ta",y="lineStyle__sNm",_="darkLineStyle__Ris",x="lightLineStyle_xduB";var I=s(1641),j=s(1527);const A=e=>{let{href:t,children:s,size:A,colorType:L,handleClick:S}=e;return(0,j.jsxs)(a.Z,{to:t,onClick:S,className:(0,l.Z)(n,"small"===A&&i,"normal"===A&&o,"large"===A&&c,"dark"===L?r:d),children:[(0,j.jsxs)("span",{className:v,children:[(0,j.jsx)("span",{className:b,children:Array.from({length:10}).map(((e,t)=>(0,j.jsx)("span",{className:w,children:(0,j.jsx)("span",{className:(0,l.Z)(y,"dark"===L?_:x)},t)},t)))}),(0,j.jsx)("span",{className:(0,l.Z)(m,"small"===A&&u,"normal"===A&&h,"large"===A&&p,"dark"===L?g:f),children:(0,j.jsx)(I.Z,{})})]}),(0,j.jsx)("span",{className:"relative z-[1]",children:s})]})}},3090:(e,t,s)=>{s.d(t,{G:()=>l});var a=s(959);const l=(e,t)=>{const s=(0,a.useRef)(null),l=(0,a.useCallback)((()=>{const a=e.current;if(!a)return;const l=a.getContext("2d");a.width=t.current.clientWidth,a.height=t.current.clientHeight;s.current=(l.clearRect(0,0,a.width,a.height),void(()=>{l.strokeStyle="rgba(255, 255, 255, 0.1)";for(let e=0;e<=a.height;e+=56)l.beginPath(),l.moveTo(0,e),l.lineTo(a.width,e),l.stroke();for(let e=0;e<=a.width;e+=56)l.beginPath(),l.moveTo(e,0),l.lineTo(e,a.height),l.stroke()})())}),[e]);(0,a.useEffect)((()=>{const e=t.current,a=new ResizeObserver((()=>{s.current&&cancelAnimationFrame(s.current),l()}));return a.observe(e),l(),()=>{a&&a.unobserve(e)}}),[t,l]),(0,a.useEffect)((()=>()=>{s.current&&cancelAnimationFrame(s.current),s.current=null}),[])}},7518:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Tt});var a=s(4491),l=s(1153),n=s(2204),i=s(7546),o=s(5374);const c={title:(0,o.I)({id:"meta.title",message:"ILLA Cloud | Build AI Driven Business App"}),description:(0,o.I)({id:"meta.description",message:"Empower your team with AI Agent and advanced low-code tools to create business apps"}),keywords:"illa,illacloud,illa cloud,\u827e\u62c9\u4e91\u79d1,Retool,Budibase,Tooljet,UIBakery, Low-code,open-source, developers, developer tool, internal, rust,illa, illabuilder, illa-builder, retool alternative, Appsmith, Appsmith alternative, open-source alternative, budibase alternative,\u30ed\u30fc\u30b3\u30fc\u30c9,\u4f4e\u4ee3\u7801,\u5f00\u53d1\u8005\u5de5\u5177,\ub0ae\uc740 \ucf54\ub4dc,\uc624\ud508 \uc18c\uc2a4,\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9"},r={title:(0,o.I)({id:"faq.title",message:"Frequently Asked Questions"}),content:[{question:(0,o.I)({id:"faq.content.0.question",message:"What kind of content can I build with ILLA AI?"}),answer:(0,o.I)({id:"faq.content.0.answer",message:"You can build any internal application or AI tool you need, and you can also integrate AI with internal applications. For example, a dashboard, an admin panel, file content management, customer management system, text generation tool, image generation tool, email generation tool, and so on."})},{question:(0,o.I)({id:"faq.content.1.question",message:"Who can use ILLA Cloud?"}),answer:(0,o.I)({id:"faq.content.1.answer",message:"Whether you are a product manager, full-stack developer, project manager, data analyst...anyone can use ILLA Cloud to build tools: From designing front-end interfaces with drag-and-drop components to integrating with data sources and generating queries using AI assistance, ILLA provides a streamlined experience that removes unnecessary complexities. You don't need to be a tech expert to create your own applications."})},{question:(0,o.I)({id:"faq.content.2.question",message:"How can I benefit from ILLA Cloud?"}),answer:(0,o.I)({id:"faq.content.2.answer",message:"ILLA AI not only reduces the cost of building your tools but also integrates any AI capabilities you desire, making your work more efficient and enabling you to generate more valuable content in less time."})},{question:(0,o.I)({id:"faq.content.3.question",message:"Can I customize the AI Agent for my specific business needs?"}),answer:(0,o.I)({id:"faq.content.3.answer",message:"Yes, you can! AI Agent is based on a large language model and can be customized to perform specific tasks. You can define the behavior of the AI Agent based on your business requirements. By using ILLA Builder, you can feed data into the AI Agent and train it to accomplish designated tasks such as text processing, image recognition, and natural language processing."})},{question:(0,o.I)({id:"faq.content.4.question",message:"What data sources does ILLA support?"}),answer:(0,o.I)({id:"faq.content.4.answer",message:"ILLA supports integration with a variety of data sources, including PostgreSQL, MongoDB, REST API, GraphQL, Google Sheets, and more. You can swiftly connect to any data source without writing code, enabling seamless access to your desired data."})},{question:(0,o.I)({id:"faq.content.5.question",message:"Is there any technical support available for ILLA Cloud users?"}),answer:(0,o.I)({id:"faq.content.5.answer",message:"Yes, ILLA Cloud offers technical support to its users. If you encounter any issues or have questions about the platform's features, you can reach out to our support team for assistance. We are dedicated to helping you have a seamless experience with ILLA Cloud."})}]},d={"@context":"https://schema.org","@graph":[{"@type":"Organization",name:"ILLA Cloud",url:"https://www.illacloud.com/#organization",logo:"https://www.illacloud.com/#logo",sameAs:["https://twitter.com/illacloudhq","https://github.com/illacloud/illa-builder","https://www.illacloud.com/","https://www.youtube.com/@illacloud","https://www.linkedin.com/company/illacloud/"]},{"@type":"WebSite",name:"ILLA Cloud",url:"https://www.illacloud.com/#Website",potentialAction:{"@type":"SearchAction",target:"https://www.illacloud.com/?search={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"WebPage",url:"www.illacloud.com/illadrive/#WebPage",name:"ILLA Cloud",description:"An open-source low-code platform with react component library to build AI native internal applications in minutes."},{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is ILLA Cloud?",acceptedAnswer:{"@type":"Answer",text:"ILLA Cloud is a low-code platform that inherits multiple capabilities from ILLA Builder and ILLA Drive. It provides a seamless experience by allowing users to log in and register to access its features. With ILLA Cloud, you can effortlessly build internal tools, dashboards, CRUD (create, read, update, delete) applications, and more. The platform significantly improves work efficiency and helps companies save costs."}},{"@type":"Question",name:"Who can use ILLA Cloud",acceptedAnswer:{"@type":"Answer",text:"Whether you are a product manager, full-stack developer, project manager, data analyst...anyone can use ILLA Cloud to build tools: From designing front-end interfaces with drag-and-drop components to integrating with data sources and generating queries using AI assistance, ILLA provides a streamlined experience that removes unnecessary complexities. You don't need to be a tech expert to create your own applications."}},{"@type":"Question",name:"What kinds of applications can you develop using ILLA Cloud?",acceptedAnswer:{"@type":"Answer",text:"1. Rapid idea implementation: When enterprises experience a high demand for internal tools during rapid growth, ILLA can significantly accelerate the development speed and quality of your internal applications. This helps expedite your company's growth by quickly addressing the tooling needs. 2. No skill limitations for editors: With ILLA, any individual within the organization can build the tools they need without requiring specialized teams or technical skills. This empowers employees across various roles to create their own solutions, fostering innovation and productivity. 3. Cost reduction: By leveraging ILLA, enterprises can allocate their time, workforce, and financial resources towards core business activities. This results in reduced costs as ILLA streamlines the development process, eliminates the need for specialized teams, and minimizes the investment required for tooling development."}},{"@type":"Question",name:"What problems can ILLA Cloud solve?",acceptedAnswer:{"@type":"Answer",text:"With ILLA Cloud, you can build any application you need, such as commonly used internal tools like Dashboards, Admin Panels, CRUD apps, CRM, CMS, and more. Additionally, you can develop AI applications, such as text-to-image applications with Stable Diffusion, audio-to-text applications with Whisper, and even embed OpenAI's GPT models to assist you in completing various tasks."}},{"@type":"Question",name:"Which data sources does ILLA support?",acceptedAnswer:{"@type":"Answer",text:"ILLA supports integration with a variety of data sources, including PostgreSQL, MongoDB, REST API, GraphQL, Google Sheets, and more. You can swiftly connect to any data source without writing code, enabling seamless access to your desired data."}}]},{"@type":"VideoObject",name:"What is ILLA Cloud",description:"ILLA Cloud is a low-code platform to make users build internal tools faster.",thumbnailUrl:"https://cdn.illacloud.com/official-website/img/home/playVideoCover.png",uploadDate:"2023-06-15",duration:"PT1M20S",contentUrl:"https://cdn.illacloud.com/official-website/img/home/video.webm"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203341.svg",datePublished:"2023-06-15",description:"40+ components in ILLA Cloud",name:"ILLA Cloud components"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203340.svg",datePublished:"2023-06-15",description:"SQL Generation based on OpenAI in ILLA Cloud",name:"ILLA Cloud SQL Generation"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203340%20(1).svg",datePublished:"2023-06-15",description:"Real-time collaboration based on OpenAI in ILLA Cloud",name:"ILLA Cloud real-time collaboration"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/datasource/datasource.svg",datePublished:"2023-06-15",description:"ILLA Cloud supports to connect multiple datasource with GUI mode. No code required. ",name:"ILLA Cloud data source integration"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Codepartbgweb.svg",datePublished:"2023-06-15",description:"Build dashboard or any other internal tools with ILLA Cloud in minutes",name:"Build dashboard with ILLA Cloud"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203356.svg",datePublished:"2023-06-15",description:"Friendly CDN.Register to use, no configure required",name:"ILLA Drive"},{"@type":"ImageObject",author:"ILLA Cloud",contentUrl:"https://cdn.illacloud.com/official-website/img/home/home3/Frame%203356%20(1).svg",datePublished:"2023-06-15",description:"Friendly CDN.Register to use, no configure required. Support anti-leech links",name:"Storage and share files via ILLA Drive"}]},m="contentContainer_c9t8",u="content_jfit",h="commBottomContainerStyle_CDHK",p="allContentContainer_nVOG",g="allContentTitle_K0Y2";var f=s(1527);const v=()=>(0,f.jsxs)("div",{className:p,children:[(0,f.jsx)("h2",{className:g,children:(0,f.jsx)(o.Z,{id:"content.all.title",children:"ILLA Cloud integrates everything"})}),(0,f.jsx)("img",{className:"w-full h-auto",src:"https://cdn.illacloud.com/illa-website/home/all-content/all-content.webp",alt:"ILLA Cloud integrates everything"})]}),b="cardContentContainerStyle_kX6c",w="headerContainerStyle_RgD_",y="textTitleStye_mJAH",_="textTitleNumStyle_TEnk",x="textDescStyle_NFkj",I="imgStyle_GNQD",j="cardContainerStyle_Kvlw",A={cardContentItemReverseStyle:"cardContentItemReverseStyle_DHTD",cardContentItemNormalStyle:"cardContentItemNormalStyle_f4ow",cardIContentItemContainerStyle:"cardIContentItemContainerStyle_rPYn",textContainerStyle:"textContainerStyle_toav",textTitleStye:"textTitleStye_u6Ys",textTitleNumStyle:"textTitleNumStyle_h7vB",textDescStyle:"textDescStyle_vwoY"},L="swipeMore_QWDA";var S=s(0),N=s(5341),C=s(700),Z=s(1641);const k=e=>{let{href:t,title:s,category:a,leftPadding:l=!1}=e;return(0,f.jsxs)(S.Z,{className:(0,N.Z)(L,l?"lg:pl-[30px]":""),to:t,onClick:()=>{(0,C.l)({action:"click",category:a})},children:[(0,f.jsx)("span",{className:"underline",children:s}),(0,f.jsx)(Z.Z,{})]})};var E=s(5628);const O=e=>{let{imageIcon:t,stepNum:s,title:a,desc:l,moreTitle:n,moreHref:i,reverse:o}=e;const c=(0,E.f)();return(0,f.jsxs)("div",{className:(0,N.Z)(A.cardIContentItemContainerStyle,o?A.cardContentItemReverseStyle:A.cardContentItemNormalStyle),children:[t,(0,f.jsxs)("div",{className:A.textContainerStyle,children:[(0,f.jsxs)("h3",{className:A.textTitleStye,children:[(0,f.jsxs)("span",{className:A.textTitleNumStye,children:[s,"."]}),(0,f.jsx)("br",{}),(0,f.jsx)("span",{children:a})]}),(0,f.jsx)("span",{className:A.textDescStyle,children:l}),(0,f.jsx)(k,{title:n,href:c(i)??""})]})]})};var B=s(8930);const q={title:(0,o.I)({id:"how_to_use.title.3_steps_to_customize",message:"steps to customize your business apps"}),desc:(0,o.I)({id:"how_to_use.description.build_tools_through",message:"Build tools through drag-and-drop components, customize your AI Agent, connect to your data sources, and make AI a smart tool tailored to your needs and data, making your work more intelligent."}),items:[{imageIcon:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/step/step1.webp",className:I}),title:(0,o.I)({id:"how_to_use.step1_title.create_ai_agent_for",message:"Drag and drop components to design UI"}),desc:(0,o.I)({id:"how_to_use.step1_description.you_can_create_an_ai",message:"By dragging and dropping components, you can quickly build the UI of the apps and implement any functionality you desire."}),moreTitle:(0,o.I)({id:"how_to_use.step1_button.ai_agent_marketplace",message:"Start building UI with ILLA"}),moreHref:B.E},{imageIcon:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/step/step2.webp",className:I}),title:(0,o.I)({id:"how_to_use.step2_title.build_the_frontend_p",message:"Connect to your data sources"}),desc:(0,o.I)({id:"how_to_use.step2_description.by_dragging_and_drop",message:"Connect to your own data sources, including MySQL, PostgreSQL, and other databases, REST APIs, GraphQL, etc. Build CRUD apps in just one minute."}),moreTitle:(0,o.I)({id:"how_to_use.step2_button.illa_app_marketplace",message:"Start building Apps with your data sources"}),moreHref:B.E,reverse:!0},{imageIcon:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/step/step3.webp",className:I}),title:(0,o.I)({id:"how_to_use.step3_title.connect_to_your_data",message:"Configure and connect to AI agents"}),desc:(0,o.I)({id:"how_to_use.step3_description.enable_data_integrat",message:"Integrating AI agents into your app and empower it with AI capabilities such as intelligent analysis, content generation, and more, without AI development skills."}),moreTitle:(0,o.I)({id:"how_to_use.step3_button.supported_data_sourc",message:"Start building AI driven apps"}),moreHref:B.E}]},D=()=>(0,f.jsxs)("div",{className:b,children:[(0,f.jsxs)("div",{className:w,children:[(0,f.jsxs)("h2",{className:y,children:[(0,f.jsx)("span",{className:_,children:"3\xa0"}),q.title]}),(0,f.jsx)("span",{className:x,children:q.desc})]}),(0,f.jsx)("div",{className:j,children:q.items.map(((e,t)=>{let{imageIcon:s,title:a,desc:l,moreHref:n,moreTitle:i,reverse:o}=e;return(0,f.jsx)(O,{imageIcon:s,desc:l,title:a,moreTitle:i,reverse:o,moreHref:n,stepNum:t+1},a)}))})]});var M=s(2330);const T="wallContainerStyle_Ny01",P="logoTitleStyle_hhN_",z="logoContainerStyle_PeVm",V="logoStyle_ixBp";var W,U=s(959);function R(){return R=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",R({width:121,height:40,viewBox:"0 0 121 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,W||(W=U.createElement("path",{d:"M31.138 16.446h-12.52v3.715h8.88c-.44 5.2-4.773 7.432-8.865 7.432a9.76 9.76 0 0 1-9.802-9.891c0-5.624 4.354-9.954 9.814-9.954 4.212 0 6.694 2.685 6.694 2.685l2.6-2.694s-3.34-3.717-9.43-3.717c-7.755 0-13.754 6.545-13.754 13.614 0 6.927 5.643 13.682 13.95 13.682 7.307 0 12.656-5.006 12.656-12.408 0-1.562-.227-2.464-.227-2.464h.004ZM41.395 13.755c-5.138 0-8.82 4.017-8.82 8.7 0 4.754 3.57 8.845 8.88 8.845 4.806 0 8.743-3.673 8.743-8.743 0-5.8-4.58-8.803-8.803-8.803Zm.05 3.446c2.526 0 4.92 2.043 4.92 5.334 0 3.22-2.384 5.322-4.932 5.322-2.8 0-5-2.242-5-5.348 0-3.04 2.18-5.308 5.02-5.308h-.008ZM60.576 13.755c-5.138 0-8.82 4.017-8.82 8.7 0 4.754 3.57 8.845 8.88 8.845 4.806 0 8.743-3.673 8.743-8.743 0-5.8-4.58-8.803-8.803-8.803Zm.05 3.446c2.526 0 4.92 2.043 4.92 5.334 0 3.22-2.384 5.322-4.932 5.322-2.8 0-5-2.242-5-5.348 0-3.04 2.18-5.308 5.02-5.308h-.008ZM79.39 13.765c-4.717 0-8.423 4.13-8.423 8.766 0 5.28 4.297 8.782 8.34 8.782 2.5 0 3.83-.993 4.8-2.132v1.73c0 3.027-1.838 4.84-4.612 4.84-2.68 0-4.024-1.993-4.5-3.123l-3.372 1.4c1.196 2.53 3.604 5.167 7.9 5.167 4.7 0 8.262-2.953 8.262-9.147V14.292h-3.664v1.486c-1.13-1.22-2.678-2.013-4.73-2.013h-.002Zm.34 3.44c2.311 0 4.685 1.974 4.685 5.345 0 3.427-2.37 5.315-4.737 5.315-2.514 0-4.853-2.04-4.853-5.283 0-3.368 2.43-5.377 4.904-5.377ZM104.161 13.744c-4.448 0-8.183 3.54-8.183 8.76 0 5.526 4.163 8.803 8.6 8.803 3.712 0 6-2.03 7.35-3.85l-3.033-2.018c-.787 1.22-2.103 2.415-4.298 2.415-2.466 0-3.6-1.35-4.303-2.66l11.763-4.88-.6-1.43c-1.136-2.8-3.788-5.14-7.296-5.14Zm.153 3.374c1.603 0 2.756.852 3.246 1.874l-7.856 3.283c-.34-2.542 2.07-5.157 4.6-5.157h.01ZM90.361 30.787h3.864V4.93h-3.864v25.857Z",fill:"#fff"})))};var H,Q;function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",F({width:121,height:40,viewBox:"0 0 121 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,H||(H=U.createElement("g",{clipPath:"url(#metaIcon_svg__a)",fill:"#fff"},U.createElement("path",{d:"M3.93 23.757c0 1.378.303 2.437.698 3.077.519.838 1.292 1.194 2.08 1.194 1.017 0 1.947-.252 3.74-2.732 1.436-1.987 3.128-4.776 4.267-6.526l1.928-2.963c1.34-2.058 2.89-4.345 4.668-5.895 1.45-1.266 3.016-1.97 4.593-1.97 2.644 0 5.165 1.533 7.093 4.408 2.11 3.149 3.135 7.115 3.135 11.207 0 2.433-.48 4.221-1.296 5.633-.788 1.366-2.325 2.731-4.91 2.731v-3.894c2.214 0 2.765-2.034 2.765-4.361 0-3.317-.773-6.998-2.477-9.628-1.208-1.866-2.775-3.006-4.5-3.006-1.864 0-3.364 1.406-5.05 3.913-.896 1.331-1.817 2.955-2.85 4.787l-1.137 2.015c-2.285 4.052-2.864 4.973-4.005 6.497C10.67 30.91 8.96 31.92 6.71 31.92c-2.67 0-4.359-1.156-5.405-2.898C.45 27.602.03 25.74.03 23.617l3.9.14Z"}),U.createElement("path",{d:"M3.105 12.627c1.788-2.756 4.368-4.683 7.327-4.683 1.714 0 3.417.508 5.195 1.96 1.947 1.588 4.02 4.202 6.608 8.513l.929 1.547c2.24 3.732 3.513 5.65 4.259 6.556.959 1.163 1.63 1.51 2.503 1.51 2.214 0 2.765-2.035 2.765-4.362l3.44-.108c0 2.433-.48 4.22-1.296 5.633-.788 1.366-2.325 2.73-4.91 2.73-1.607 0-3.031-.348-4.605-1.833-1.21-1.14-2.625-3.165-3.713-4.986l-3.237-5.408c-1.624-2.715-3.114-4.738-3.978-5.655-.928-.985-2.12-2.175-4.024-2.175-1.54 0-2.848 1.08-3.943 2.735l-3.32-1.975Z"}),U.createElement("path",{d:"M10.368 11.864c-1.54 0-2.848 1.08-3.943 2.734-1.548 2.337-2.495 5.816-2.495 9.159 0 1.378.303 2.437.698 3.077l-3.324 2.19C.45 27.604.03 25.74.03 23.617c0-3.86 1.06-7.884 3.075-10.992 1.788-2.755 4.368-4.682 7.327-4.682l-.064 3.92ZM43.71 8.702h4.51l7.67 13.874 7.672-13.874h4.412V31.5h-3.68V14.027l-6.727 12.1h-3.452l-6.726-12.1v17.472h-3.68V8.702h.001Zm35.794 8.5c-2.64 0-4.228 1.986-4.609 4.446h8.957c-.186-2.534-1.647-4.446-4.348-4.446Zm-8.257 5.846c0-5.174 3.344-8.94 8.32-8.94 4.896 0 7.818 3.718 7.818 9.216v1.01h-12.49c.443 2.676 2.22 4.478 5.08 4.478 2.285 0 3.711-.697 5.065-1.971l1.955 2.393c-1.842 1.694-4.184 2.67-7.15 2.67-5.387.003-8.598-3.926-8.598-8.856Zm20.6-5.52H88.46v-3.012h3.387V9.534h3.55v4.982h5.145v3.013h-5.145v7.636c0 2.608.833 3.534 2.883 3.534.935 0 1.472-.081 2.264-.212v2.98c-.987.28-1.928.408-2.948.408-3.832 0-5.748-2.095-5.748-6.285l-.001-8.061Zm23.645 2.93c-.713-1.799-2.304-3.125-4.642-3.125-3.037 0-4.982 2.155-4.982 5.666 0 3.424 1.79 5.684 4.837 5.684 2.394 0 4.104-1.394 4.787-3.128V20.46Zm3.55 11.041h-3.484v-2.377c-.975 1.4-2.747 2.785-5.618 2.785-4.617 0-7.702-3.866-7.702-8.908 0-5.09 3.16-8.891 7.898-8.891 2.343 0 4.18.936 5.422 2.59v-2.182h3.484V31.5Z"}))),Q||(Q=U.createElement("defs",null,U.createElement("clipPath",{id:"metaIcon_svg__a"},U.createElement("path",{fill:"#fff",transform:"translate(.1)",d:"M0 0h120.8v40H0z"})))))};var X,K;function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",J({width:171,height:40,viewBox:"0 0 171 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,X||(X=U.createElement("g",{clipPath:"url(#byteDanceIcon_svg__a)",fill:"#fff"},U.createElement("path",{d:"M52.472 19.064a4.609 4.609 0 0 0 1.334-1.4 4.264 4.264 0 0 0 .634-2.277c0-.985-.23-1.883-.681-2.674-.452-.791-1.114-1.448-1.968-1.96-.508-.299-1.142-.52-1.9-.656-.749-.125-1.766-.193-3.033-.193h-4.75v19.797h7.217c1.823 0 3.378-.55 4.606-1.622 1.238-1.081 1.872-2.442 1.872-4.035 0-1.274-.327-2.364-.98-3.233-.546-.753-1.343-1.342-2.35-1.747Zm-1.823-1.593c-.576.493-1.41.744-2.495.744h-3.052v-5.637h2.889c1.19 0 2.082.241 2.668.724.575.473.854 1.168.854 2.114-.02.897-.298 1.573-.864 2.055Zm-5.556 3.465h3.637c1.343 0 2.37.261 3.042.773.662.502.979 1.225.979 2.21 0 1.004-.326 1.737-1.008 2.24-.69.51-1.737.771-3.11.771h-3.53v-5.994h-.01ZM75.86 12.714h-2.84v3.233H67.646l-3.513 8.542c-.058.145-.173.454-.336.946-.096.29-.201.627-.326.994-.115-.396-.211-.743-.307-1.033-.202-.646-.279-.83-.307-.907l-3.455-8.542h-3.148l5.614 13.503-2.418 5.753h2.898l7.332-16.785h3.35v8.281c0 1.178.278 2.037.825 2.558.547.512 1.449.782 2.687.782h1.554v-2.732H76.62c-.279 0-.47-.057-.586-.183-.115-.135-.173-.367-.173-.695v-8.001h2.236v-2.48H75.86v-3.234ZM86.456 15.618c-2.083 0-3.791.686-5.087 2.027-1.295 1.342-1.948 3.118-1.948 5.28 0 .917.153 1.805.47 2.635.307.84.768 1.583 1.353 2.22a6.925 6.925 0 0 0 2.4 1.68 7.757 7.757 0 0 0 3.004.588c1.286 0 2.466-.241 3.493-.724 1.027-.482 1.987-1.235 2.85-2.249l.163-.193-2.063-1.67-.153.184c-.586.675-1.238 1.197-1.95 1.544-.7.348-1.458.521-2.273.521-1.257 0-2.313-.357-3.129-1.071-.758-.656-1.19-1.486-1.305-2.52h11.325v-.424c0-2.326-.663-4.227-1.968-5.646-1.324-1.458-3.062-2.182-5.182-2.182Zm-2.851 3.572c.777-.666 1.728-1.004 2.822-1.004 1.075 0 2.005.328 2.754.984.681.599 1.113 1.37 1.296 2.297H82.29a3.817 3.817 0 0 1 1.315-2.277ZM109.325 12.424c-1.909-1.67-4.731-2.52-8.369-2.52h-4.222v19.797h4.222c3.638 0 6.46-.85 8.369-2.52 1.919-1.68 2.899-4.16 2.899-7.374 0-3.214-.98-5.694-2.899-7.383Zm-7.994 14.516h-1.593V12.684h1.593c2.61 0 4.587.599 5.902 1.795 1.305 1.188 1.958 2.973 1.958 5.338 0 2.345-.662 4.14-1.958 5.328-1.305 1.187-3.292 1.795-5.902 1.795ZM125.093 17.684a6.478 6.478 0 0 0-1.804-1.351c-.873-.434-1.843-.647-2.889-.647-2.073 0-3.762.657-5.029 1.96s-1.9 3.03-1.9 5.134c0 .975.163 1.883.48 2.713.317.83.806 1.592 1.439 2.258a7.056 7.056 0 0 0 2.294 1.583c.854.357 1.766.54 2.716.54 1.066 0 2.025-.202 2.85-.607a5.466 5.466 0 0 0 1.67-1.274v1.718h2.822V15.947h-2.649v1.737Zm-1.267 1.853c.806.85 1.219 1.95 1.219 3.272 0 1.332-.413 2.433-1.219 3.282-.806.84-1.852 1.264-3.109 1.264s-2.303-.424-3.109-1.264c-.807-.84-1.22-1.94-1.22-3.282 0-1.332.413-2.432 1.22-3.281.806-.84 1.852-1.265 3.109-1.265s2.303.425 3.109 1.274ZM136.427 15.686c-.767 0-1.497.155-2.169.463a6.018 6.018 0 0 0-1.487.985v-1.187h-2.803V29.7h2.803v-7.596c0-1.303.278-2.288.815-2.925.528-.627 1.354-.946 2.428-.946.95 0 1.622.28 2.054.869.442.598.672 1.573.672 2.905v7.703h2.822v-7.934c0-1.873-.461-3.36-1.373-4.44-.911-1.09-2.179-1.65-3.762-1.65ZM152.876 26.071a3.336 3.336 0 0 1-1.276 1.023c-.499.232-1.084.348-1.746.348-1.22 0-2.189-.415-2.947-1.274-.758-.85-1.142-1.979-1.142-3.34 0-1.36.393-2.49 1.161-3.359.768-.868 1.728-1.293 2.937-1.293.614 0 1.171.106 1.651.309.47.203.902.521 1.276.956l.182.212 1.834-2.124-.183-.164a6.498 6.498 0 0 0-2.149-1.322c-.778-.29-1.661-.434-2.62-.434a7.695 7.695 0 0 0-2.794.502 6.267 6.267 0 0 0-2.226 1.496 6.653 6.653 0 0 0-1.516 2.355c-.346.878-.518 1.843-.518 2.866 0 1.023.172 1.989.518 2.857a6.98 6.98 0 0 0 1.516 2.346 6.32 6.32 0 0 0 2.236 1.486 7.526 7.526 0 0 0 2.793.512c.969 0 1.862-.155 2.649-.454.787-.3 1.535-.782 2.246-1.438l.182-.164-1.862-2.153-.202.251ZM170.247 23.427c0-2.326-.662-4.228-1.967-5.646-1.315-1.429-3.052-2.163-5.183-2.163-2.083 0-3.791.686-5.086 2.027-1.296 1.342-1.949 3.118-1.949 5.28 0 .917.154 1.805.471 2.635.307.84.767 1.583 1.353 2.22a6.926 6.926 0 0 0 2.399 1.68 7.757 7.757 0 0 0 3.004.588c1.286 0 2.467-.241 3.493-.724 1.027-.482 1.987-1.235 2.851-2.249l.163-.193-2.064-1.67-.153.184c-.585.675-1.247 1.197-1.948 1.544a5.05 5.05 0 0 1-2.275.521c-1.257 0-2.312-.357-3.128-1.071-.758-.666-1.19-1.486-1.306-2.52h11.316v-.443h.009Zm-10-4.237c.777-.666 1.727-1.004 2.821-1.004 1.075 0 2.006.328 2.755.984.681.599 1.113 1.37 1.295 2.297h-8.186a3.913 3.913 0 0 1 1.315-2.277ZM7.952 29.479l-5.038 1.293V7.685l5.038 1.303v20.491ZM32.3 30.83l-5.048 1.293V6.333L32.3 7.636V30.83ZM15.946 30.174l-5.038 1.303v-13.6l5.038 1.303v10.994ZM19.238 15.87l5.048-1.304v13.6l-5.048-1.303V15.87Z"}))),K||(K=U.createElement("defs",null,U.createElement("clipPath",{id:"byteDanceIcon_svg__a"},U.createElement("path",{fill:"#fff",transform:"translate(.9)",d:"M0 0h170v40H0z"})))))};var ee,te;function se(){return se=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",se({width:194,height:40,viewBox:"0 0 194 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,ee||(ee=U.createElement("g",{clipPath:"url(#alibaba_svg__a)"},U.createElement("path",{d:"M137.023 25.022v-1.224h-2.187c-1.519 0-2.11.252-2.11 1.284 0 .804.527 1.1 1.609 1.1 1.349 0 2.32-.48 2.688-1.13v-.03Zm3.796-4.742v8.534h-3.424l-.321-1.314c-.479.787-1.711 1.545-3.817 1.545-2.692 0-4.215-1.216-4.215-3.822 0-2.872 1.711-3.912 5.135-3.912h2.859v-.072c0-1.473-.428-1.866-2.508-1.866-1.042 0-2.083.07-3.116.21V16.39a32.575 32.575 0 0 1 3.595-.206c4.212 0 5.778 1.366 5.778 4.096h.034Zm-77.034.924-1.862-6.055h-.278l-1.909 6.055h4.05Zm1.109 3.565H58.64l-1.284 4.023h-4.164l5.914-17.43h5.41l5.867 17.43H66.13l-1.236-4.023Zm58.511-2.14c0-2.165-.321-3.663-2.345-3.663s-2.508 1.314-2.508 3.69c0 2.229.479 3.611 2.508 3.611s2.345-1.613 2.345-3.637Zm3.89 0c0 3.613-.924 6.42-4.9 6.42-2.345 0-3.269-.71-3.727-1.819l-.231 1.58h-3.501V11.322h3.821v6.325c.527-.736 1.52-1.476 3.638-1.476 3.98 0 4.9 2.43 4.9 6.419v.039Zm-19.348 2.419v-1.224h-2.165c-1.52 0-2.11.252-2.11 1.284 0 .8.526 1.1 1.613 1.1 1.327 0 2.294-.48 2.662-1.13v-.03Zm3.796-4.742v8.533h-3.424l-.321-1.313c-.483.787-1.711 1.544-3.821 1.544-2.692 0-4.216-1.215-4.216-3.821 0-2.872 1.712-3.912 5.136-3.912h2.85v-.073c0-1.472-.428-1.866-2.508-1.866a22.112 22.112 0 0 0-3.111.21v-3.192a32.512 32.512 0 0 1 3.595-.206c4.241 0 5.803 1.365 5.803 4.096h.017Zm-17.44 2.324c0-2.14-.32-3.66-2.345-3.66-2.024 0-2.512 1.314-2.512 3.66 0 2.234.484 3.616 2.508 3.616s2.354-1.613 2.354-3.642l-.005.026Zm3.89 0c0 3.616-.924 6.445-4.9 6.445-2.345 0-3.27-.715-3.727-1.82l-.231 1.58h-3.497V11.327h3.818v6.325c.526-.732 1.519-1.472 3.637-1.472 3.98 0 4.9 2.418 4.9 6.42v.03Zm-19.185-6.206h3.822v12.411h-3.822V16.424Zm-.184-3.5c0-1.798.368-1.935 2.11-1.935s2.11.137 2.11 1.934c0 1.798-.347 1.977-2.11 1.977s-2.106-.23-2.106-2.002l-.004.025Zm-6.625-1.576h3.852v17.487h-3.852V11.348Zm119.792 5.936a4.276 4.276 0 0 1 .993 2.996v8.542h-1.977v-7.87a3.845 3.845 0 0 0-.527-2.268 2.107 2.107 0 0 0-1.865-.75 3.977 3.977 0 0 0-2.033.471 2.786 2.786 0 0 0-1.203 1.712v8.705h-1.977v-7.87a4.128 4.128 0 0 0-.497-2.281 2 2 0 0 0-1.746-.732 3.973 3.973 0 0 0-2.067.458 3.076 3.076 0 0 0-1.249 1.789v8.636h-1.956v-12.41h1.977v1.634a3.028 3.028 0 0 1 1.438-1.45 5.134 5.134 0 0 1 2.14-.429c1.84 0 3.047.68 3.616 2.029.612-1.348 1.905-2.029 3.852-2.029 1.374 0 2.405.368 3.064 1.096l.017.021Zm-22.712 9.484a2.364 2.364 0 0 0 1.087-1.425c.243-.921.35-1.873.317-2.825a9.42 9.42 0 0 0-.338-2.824 2.44 2.44 0 0 0-1.113-1.442 4.279 4.279 0 0 0-2.11-.428 4.31 4.31 0 0 0-2.14.427 2.41 2.41 0 0 0-1.087 1.434 9.599 9.599 0 0 0-.325 2.838c-.035.95.079 1.9.338 2.816.173.601.57 1.114 1.108 1.433.656.32 1.382.468 2.11.428.754.049 1.507-.099 2.187-.428l-.034-.004Zm-5.273 1.494a3.853 3.853 0 0 1-1.887-1.978 11.243 11.243 0 0 1 0-7.527 3.853 3.853 0 0 1 1.887-1.978 7.212 7.212 0 0 1 3.116-.59 7.119 7.119 0 0 1 3.12.59 3.915 3.915 0 0 1 1.866 1.977 11.33 11.33 0 0 1 0 7.528 3.915 3.915 0 0 1-1.866 1.978 7.048 7.048 0 0 1-3.12.59 7.13 7.13 0 0 1-3.107-.62l-.009.03Zm-11.229 0a3.897 3.897 0 0 1-1.892-1.978 11.33 11.33 0 0 1 0-7.527 3.897 3.897 0 0 1 1.892-1.978 7.205 7.205 0 0 1 3.115-.59c1.08-.021 2.157.132 3.189.453v1.79a8.832 8.832 0 0 0-3.163-.527 4.54 4.54 0 0 0-2.14.428 2.406 2.406 0 0 0-1.108 1.43 9.056 9.056 0 0 0-.338 2.807c-.035.939.079 1.878.338 2.781a2.363 2.363 0 0 0 1.108 1.404c.68.307 1.424.446 2.17.407a8.354 8.354 0 0 0 3.162-.527v1.79c-.472.149-.958.255-1.45.316-.593.089-1.19.134-1.789.137a7.129 7.129 0 0 1-3.09-.6l-.004-.016Zm-7.563.479a.719.719 0 0 1-.475-.428 2.614 2.614 0 0 1-.124-1.031 1.628 1.628 0 0 1 .326-1.216 2.79 2.79 0 0 1 2.435 0 1.631 1.631 0 0 1 .325 1.216 1.669 1.669 0 0 1-.325 1.253 1.816 1.816 0 0 1-1.216.291 2.987 2.987 0 0 1-.941-.115l-.005.03Zm-113.663.428c-2.11.094-1.875-.993-.655-2.67 2.859-3.852 8.277-9.176 8.435-12.96.36-4.921-4.614-6.552-9.723-6.505-3.33.134-6.616.797-9.737 1.965-8.67 3.051-14.123 7.947-17.546 13.365-3.638 5.371-2.44 10.494 5.23 10.67 5.88-.236 9.701-1.866 13.694-3.908 0 0-11.02 3.163-15.081.835a1.78 1.78 0 0 1-.993-1.481c0-1.917 3.163-3.907 4.947-4.545v-3.321a11.713 11.713 0 0 0 11.76-1.952c.08.315.102.64.07.963h.8a2.319 2.319 0 0 0-.373-1.528 2.44 2.44 0 0 0-1.981-1.13c.467.226.864.575 1.147 1.01a10.745 10.745 0 0 1-10.109 2.02l2.636-2.602-.727-1.891a94.97 94.97 0 0 1 16.913-4.515L28.64 9.666l.856-.526c4.353 1.207 7.224 2.11 7.049 4.42-.089.457-.232.901-.428 1.323-1.284 2.508-5.037 6.694-6.56 8.436a32.426 32.426 0 0 0-2.701 3.385 5.88 5.88 0 0 0-1.19 3.09c.09 7.596 22.391-3.548 26.7-6.505C46 25.998 39.13 28.655 31.556 29.143l-.004.026Z",fill:"#fff"}))),te||(te=U.createElement("defs",null,U.createElement("clipPath",{id:"alibaba_svg__a"},U.createElement("path",{fill:"#fff",transform:"translate(.9)",d:"M0 0h193v40H0z"})))))};var le;function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",ne({width:41,height:40,viewBox:"0 0 41 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,le||(le=U.createElement("path",{d:"M29.258 13.546c-.162.126-3.03 1.742-3.03 5.335 0 4.155 3.649 5.625 3.758 5.662-.017.09-.58 2.013-1.924 3.974-1.198 1.724-2.45 3.447-4.354 3.447s-2.394-1.106-4.593-1.106c-2.142 0-2.904 1.142-4.645 1.142-1.742 0-2.958-1.596-4.355-3.556-1.618-2.302-2.926-5.878-2.926-9.272 0-5.444 3.54-8.33 7.023-8.33 1.851 0 3.394 1.214 4.556 1.214 1.106 0 2.831-1.288 4.937-1.288.798 0 3.666.073 5.553 2.778Zm-6.553-5.082c.871-1.034 1.487-2.467 1.487-3.901 0-.199-.017-.4-.053-.563-1.417.053-3.103.944-4.12 2.123-.797.907-1.542 2.34-1.542 3.794 0 .218.036.437.053.507.09.017.235.036.38.036 1.272 0 2.871-.851 3.795-1.996Z",fill:"#fff"})))};var oe;function ce(){return ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",ce({width:33,height:40,viewBox:"0 0 33 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,oe||(oe=U.createElement("path",{d:"M22.784 7c1.658 0 3.242.659 4.42 1.827a6.269 6.269 0 0 1 1.83 4.422v13.502A6.248 6.248 0 0 1 22.783 33H9.283a6.27 6.27 0 0 1-4.423-1.83 6.272 6.272 0 0 1-1.827-4.42v-13.5A6.28 6.28 0 0 1 4.86 8.826 6.28 6.28 0 0 1 9.283 7h13.501Zm-5.323 4.334-1.431 2.674-1.422-2.674a.74.74 0 0 0-1.301 0l-5.12 9.62a1.128 1.128 0 0 0 0 1.04l3.245 6.093c.195.357.568.587.983.587h7.24c.411 0 .784-.23.982-.587l3.241-6.094c.17-.324.17-.714 0-1.038l-5.12-9.62a.727.727 0 0 0-.308-.303.726.726 0 0 0-.99.302Zm.969 3.32 3.491 6.557c.09.162.09.357 0 .52l-2.557 4.801a.56.56 0 0 1-.49.292H13.19a.56.56 0 0 1-.49-.292l-2.556-4.802a.528.528 0 0 1 0-.52l3.49-6.557a.395.395 0 0 1 .147-.155.385.385 0 0 1 .506.155l.698 1.324-2.048 3.842a3.315 3.315 0 0 0-.237.571l-.006.023-.032.09c-.091.309-.14.633-.14.974a3.517 3.517 0 0 0 3.51 3.51 3.511 3.511 0 0 0 3.512-3.51c0-.633-.163-1.227-.455-1.73l-.976-1.83-1.048 1.967.431.805c.13.243.195.512.195.782h.006v.032a1.66 1.66 0 0 1-1.664 1.632c-.918 0-1.658-.74-1.658-1.658v-.006c0-.108.01-.211.032-.325v-.026a2.16 2.16 0 0 1 .046-.156c.035-.11.078-.214.133-.308v-.006l1.447-2.716v.01l1.048-1.967.697-1.324a.51.51 0 0 1 .156-.155.375.375 0 0 1 .497.155Z",fill:"#fff"})))},de=[{id:"google",icon:(0,f.jsx)(G,{className:V})},{id:"meta",icon:(0,f.jsx)(Y,{className:V})},{id:"byteDance",icon:(0,f.jsx)($,{className:V})},{id:"aliBaba",icon:(0,f.jsx)(ae,{className:V})},{id:"iPhone",icon:(0,f.jsx)(ie,{className:V})},{id:"jsDesign",icon:(0,f.jsx)(re,{className:V})}];const me=function(){return(0,f.jsxs)("div",{className:T,children:[(0,f.jsx)("span",{className:P,children:(0,f.jsx)(o.Z,{id:"customer.title",children:"Trusted by thousands of teams"})}),(0,f.jsx)("div",{className:z,children:de.map(((e,t)=>{let{id:s,icon:a}=e;return(0,f.jsx)("span",{className:(0,N.Z)(t%2==0?"flex justify-end":"flex justify-start"),children:a},s)}))})]})},ue="commentsContainerStyle_ctEM",he="commentsTitleStyle_iQ9i",pe="commentsItemsContainerStyle_Zw4J",ge="borderStyle_jCx_",fe="commentsItemStyle_rd1k",ve="commentContentStyle_NzjM",be="contentTextStyle_PpXf",we="reverseQuoteStyle_waKq",ye="commentUserNameStyle_D4y3",_e="commentUserCompanyStyle_zWSD",xe="mobileGap_cpxI";var Ie;function je(){return je=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",je({width:10,height:8,viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,Ie||(Ie=U.createElement("path",{d:"M5.736 8V4.046c0-1.318.137-2.227.41-2.728C6.63.439 7.668 0 9.256 0c.162 0 .41.01.744.03V1.9h-.167c-.708 0-1.184.164-1.426.49-.132.164-.208.42-.228.767v.613h1.533V8H5.736ZM0 8V4.046c0-1.318.137-2.227.41-2.728C.895.439 1.932 0 3.52 0c.152 0 .395.01.729.03V1.9h-.167c-.688 0-1.158.164-1.411.49-.132.174-.208.43-.228.767v.613h1.533V8H0Z",fill:"#fff",fillOpacity:.5})))},Le={title:(0,o.I)({id:"testimonial.title.user_testimonials",message:"User Testimonials"}),items:[{content:(0,o.I)({id:"testimonial.testimonial1_content.illa_cloud_has_been",message:"ILLA Cloud has been a game-changer for me. It helps me generate highly efficient content in less time. The customized AI Agent and App perfectly cater to my business needs."}),userName:(0,o.I)({id:"testimonial.testimonial1_username.christopher",message:"Christopher"}),company:(0,o.I)({id:"testimonial.testimonial1_usertitle.seo_specialist",message:"SEO Specialist"})},{content:(0,o.I)({id:"testimonial.testimonial2_content.i_think_i_become_a_b",message:"I think I become a BlogMaster now! This tool has revolutionized my content generation process, saving me valuable time. Whether it's generating blog ideas or structuring articles, the AI Agents have been a tremendous asset to me and my team."}),userName:(0,o.I)({id:"testimonial.testimonial2_username.lucas",message:"Lucas"}),company:(0,o.I)({id:"testimonial.testimonial2_usertitle.content_strategist",message:"Content Strategist"})},{content:(0,o.I)({id:"testimonial.testimonial3_content.it_empowers_me_to_pr",message:"It empowers me to provide exceptional customer support with minimal effort. The pre-built AI Agent and App, along with the ability to customize them for our specific needs, have significantly enhanced our team's effectiveness."}),userName:(0,o.I)({id:"testimonial.testimonial3_username.harper",message:"Harper"}),company:(0,o.I)({id:"testimonial.testimonial3_usertitle.customer_service_man",message:"Customer Service Manager"})},{content:(0,o.I)({id:"testimonial.testimonial4_content.ai_agent_low_code",message:"AI Agent & low-code has transformed my email writing process. It streamlines the creation of impactful emails, enabling me to craft engaging and persuasive messages effortlessly. ILLA Cloud has elevated our email communication to new heights."}),userName:(0,o.I)({id:"testimonial.testimonial4_username.abigail",message:"Abigail"}),company:(0,o.I)({id:"testimonial.testimonial4_usertitle.communication_specia",message:"Communication Specialist"})},{content:(0,o.I)({id:"testimonial.testimonial5_content.i_need_to_oversee_va",message:"I need to oversee various aspects of my company. ILLA Cloud provides me with a comprehensive solution. It not only saves me time and effort in development and design but also allows me to manage and monitor my business better. "}),userName:(0,o.I)({id:"testimonial.testimonial5_username.matthew",message:"Matthew"}),company:(0,o.I)({id:"testimonial.testimonial5_usertitle.business_founder",message:"Business Founder"})},{content:(0,o.I)({id:"testimonial.testimonial6_content.using_illa_cloud_to",message:"Using ILLA Cloud to build a management dashboard has been incredibly easy. After just one day of work, we were able to accomplish tasks such as monitoring project progress and allocating resources within this dashboard."}),userName:(0,o.I)({id:"testimonial.testimonial6_username.samuel",message:"Samuel"}),company:(0,o.I)({id:"testimonial.testimonial6_usertitle.website_administrato",message:"Website Administrator"})}]},Se=()=>(0,f.jsxs)("div",{className:ue,children:[(0,f.jsx)("h2",{className:he,children:Le.title}),(0,f.jsx)("div",{className:pe,children:Le.items.map(((e,t)=>{let{content:s,userName:a,company:l}=e;return(0,f.jsx)("div",{className:(0,N.Z)(ge,xe,0!==t?"lg:mt-[16px]":""),children:(0,f.jsxs)("div",{className:fe,children:[(0,f.jsxs)("div",{className:ve,children:[(0,f.jsx)(Ae,{className:"w-[10px]"}),(0,f.jsx)("span",{className:be,children:s}),(0,f.jsx)(Ae,{className:we})]}),(0,f.jsxs)("span",{className:"flex flex-col",children:[(0,f.jsx)("span",{className:ye,children:a}),(0,f.jsx)("span",{className:_e,children:l})]})]})},a)}))})]});var Ne=s(7812);const Ce=()=>(0,f.jsxs)("div",{className:m,children:[(0,f.jsxs)("div",{className:u,children:[(0,f.jsx)(me,{}),(0,f.jsx)(D,{}),(0,f.jsx)(Se,{}),(0,f.jsx)(v,{}),(0,f.jsx)(Ne.Z,{title:r.title,content:r.content})]}),(0,f.jsx)("div",{className:h,children:(0,f.jsx)(M.Z,{scrollStart:.9368,scrollEnd:1})})]}),Ze={publicize:"publicize_vEiD",publicizeStyle:"publicizeStyle_C7Y6",publicIntru:"publicIntru_nEWo"};var ke=s(8848);const Ee=e=>{let{stars:t}=e;return(0,f.jsx)(S.Z,{href:"https://github.com/illacloud/illa-builder",className:"hover:no-underline",children:(0,f.jsxs)("div",{className:Ze.publicize,onClick:()=>{(0,C.l)({action:"click",category:"homepage_body_github_banner_click"})},children:[(0,f.jsx)("span",{className:Ze.publicizeStyle}),(0,f.jsxs)("span",{className:"flex flex-row justify-between items-center h-full gap-[16px] relative z-[1]",children:[(0,f.jsx)("span",{className:"flex flex-row justify-between",children:(0,f.jsxs)("span",{className:Ze.publicIntru,children:[(0,f.jsx)(ke.Z,{className:"h-[24px] w-[24px]"}),(0,f.jsxs)("span",{children:[(0,f.jsx)("span",{children:(0,f.jsx)(o.Z,{id:"title.github",children:"Github"})}),(0,f.jsx)("span",{className:"inline-block w-[45px] text-center",children:t}),(0,f.jsx)("span",{children:(0,f.jsx)(o.Z,{id:"title.stars",children:"Stars"})})]})]})}),(0,f.jsxs)("span",{className:Ze.publicSlogan,role:"img","aria-label":"star us",children:[(0,f.jsx)(o.Z,{id:"title.star-us",children:"Star us"})," \ud83d\udc49"]})]})]})})};var Oe=s(3090);const Be="bannerContainerStyle__SXx",qe="canvasContainerStyle_h8pN",De="bgStyle_xQ96",Me="bannerContentContainer_RLp6",Te="bannerTextContainerStyle_O5rS",Pe="sloganStyle_zysD",ze="descStyle_U78g",Ve="buttonContainerStyle_ulq9",We="colorDescAgentStyle_LHLV",Ue="colorDescAppStyle_qG8r",Re="colorDescFlowStyle_VvqE";var Ge=s(7224);const He="solutionContainerStyle_QwBc",Qe="tabsContainerStyle_DETz",Fe="tabsItemStyle_TXig",Ye="selectedTabStyle_CyW0",Xe="splitterItemStyle_gYQ6",Ke="solutionImageContainerStyle_LgpU",Je="solutionBaseBgStyle_nGRR",$e="solutionSelectBgStyle_Xioy",et="solutionUnSelectBgStyle_RZeW",tt="solutionBaseImageStyle_APzO",st="solutionSelectImageStyle_GSp1",at="linkButtonStyle_b1Kn",lt=[{label:(0,o.I)({id:"ai_header.solutions_title.dashboard",message:"Data Analysis Dashboard"}),value:0},{label:(0,o.I)({id:"ai_header.solutions_title.image_generator",message:"AI Image Generator"}),value:1},{label:(0,o.I)({id:"ai_header.solutions_title.ai_voice_generator",message:"AI Voice Generator"}),value:2},{label:(0,o.I)({id:"ai_header.solutions_title.cms",message:"Content Management"}),value:3},{label:(0,o.I)({id:"ai_header.solutions_title.crm",message:"Sales CRM"}),value:4},{label:(0,o.I)({id:"ai_header.solutions_title.admin_panel",message:"Admin Panel"}),value:5}],nt=[{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/dashboard_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/dashboard_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Xz",value:0},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/image_generate_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/image_generate_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Bc",value:1},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/ai_voice_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/ai_voice_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Bb",value:2},{contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/cms_bg.webp",className:"w-full"}),appID:"ILAcx4p1C72G",value:3},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/crm_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/crm_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7N5",value:4},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/admin_content.webp",className:"w-full"}),contentBg:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/admin_panel_bg.webp",className:"w-full"}),appID:"ILAcx4p1C7Oy",value:5}],it=[{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_dashboard.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_image_generator.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_ai_voice.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/cms_bg.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_crm.webp",className:"w-full max-w-[320px]"})},{content:(0,f.jsx)("img",{src:"https://cdn.illacloud.com/illa-website/home/solutions/mix_admin_panel.webp",className:"w-full max-w-[320px]"})}].map(((e,t)=>({...e,...lt[t]})));var ot=s(117),ct=s(8618);const rt=()=>{const[e,t]=(0,U.useState)(0),s=(0,U.useRef)(null),a=(0,E.f)(),l=e=>{const t=(0,ct.M)(`${B.kS}/${e}/detail`,{operateType:"fork"});return a(`${B.E}?redirectURL=${encodeURIComponent(t)}`)};return(0,U.useEffect)((()=>(s.current&&clearInterval(s.current),s.current=setInterval((()=>{t((e=>e===lt.length-1?0:e+1))}),3e3),()=>{s.current&&clearInterval(s.current)})),[]),(0,f.jsxs)("div",{className:He,children:[(0,f.jsx)("div",{className:Qe,children:lt.map((a=>(0,f.jsxs)("div",{className:(0,N.Z)(Fe,a.value===e&&Ye),onClick:()=>{return e=a.value,t(e),s.current&&clearInterval(s.current),void(s.current=setInterval((()=>{t((e=>e===lt.length-1?0:e+1))}),3e3));var e},children:[(0,f.jsx)("span",{className:"w-full h-full relative z-[1] text-nowrap",children:a.label}),a.value===e&&(0,f.jsx)(Ge.E.div,{layout:"position",className:Xe,layoutId:"underline"})]},a.value)))}),(0,f.jsx)("div",{className:Ke,children:nt.map((t=>(0,f.jsxs)(U.Fragment,{children:[(0,f.jsxs)("div",{className:(0,N.Z)(Je,e===t.value?$e:et),children:[t.contentBg,(0,f.jsx)("div",{className:(0,N.Z)(tt,e===t.value&&st),children:t.content})]}),(0,f.jsx)("div",{className:at,children:(0,f.jsx)(ot.Z,{href:l(t.appID),size:"small",colorType:"dark",handleClick:()=>{(0,C.l)({action:"solution_try_for_free"})},children:(0,f.jsx)(o.Z,{id:"website_4.solution.use_this_template",children:"Try now"})})})]},t.value)))})]})};var dt=s(3630);const mt=(0,o.I)({id:"description",message:"Build {businessApp} with low code, make automated {flow}, create {AIAgent} easily"}),ut=e=>{const{githubStarts:t}=e,a=(0,E.f)(),l=(0,U.useRef)(null),n=(0,U.useRef)(null);return(0,Oe.G)(l,n),(0,f.jsxs)("div",{ref:n,className:Be,children:[(0,f.jsx)("div",{className:qe,children:(0,f.jsx)("canvas",{ref:l})}),(0,f.jsx)("video",{className:De,loop:!0,autoPlay:!0,muted:!0,children:(0,f.jsx)("source",{src:s(139).Z,type:"video/mp4"})}),(0,f.jsxs)("div",{className:Me,children:[(0,f.jsx)(Ee,{stars:t}),(0,f.jsxs)("div",{className:Te,children:[(0,f.jsxs)("div",{className:"flex flex-col gap-[16px]",children:[(0,f.jsx)("h1",{className:Pe,children:(0,f.jsx)(o.Z,{id:"slogan-1",children:"Build AI Driven Business App"})}),(0,f.jsx)("span",{className:ze,children:(0,f.jsx)(dt.Z,{values:{AIAgent:(0,f.jsx)("span",{className:We,children:(0,f.jsx)(o.Z,{id:"website_4.description.ai_agent",children:"AI Agent"})}),businessApp:(0,f.jsx)("span",{className:Ue,children:(0,f.jsx)(o.Z,{id:"website_4.description.business_app",children:"website&app"})}),flow:(0,f.jsx)("span",{className:Re,children:(0,f.jsx)(o.Z,{id:"website_4.description.flow",children:"flow"})})},children:mt})})]}),(0,f.jsx)("div",{className:Ve,children:(0,f.jsx)(ot.Z,{href:a(B.E),colorType:"light",size:"large",handleClick:()=>{(0,C.l)({action:"click",category:"homepage_body_try_cloud_free_click"}),(0,C.l)({action:"click_try"})},children:(0,f.jsx)(o.Z,{id:"first_button",children:"Get started"})})})]})]}),(0,f.jsx)(rt,{})]})};var ht,pt,gt;function ft(){return ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",ft({width:44,height:44,viewBox:"0 0 88 88",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,ht||(ht=U.createElement("rect",{y:-.001,width:88,height:88,rx:44,fill:"url(#linearGithub_svg__a)"})),pt||(pt=U.createElement("path",{d:"M20 43.993c0 10.48 6.716 19.39 16.077 22.662 1.262.32 1.07-.58 1.07-1.19v-4.157c-7.28.853-7.57-3.964-8.062-4.767-.99-1.687-3.32-2.118-2.625-2.92 1.658-.853 3.347.216 5.301 3.108 1.416 2.096 4.176 1.742 5.58 1.392a6.787 6.787 0 0 1 1.861-3.263c-7.539-1.35-10.684-5.952-10.684-11.427 0-2.655.877-5.095 2.593-7.065-1.093-3.247.102-6.024.26-6.436 3.119-.28 6.354 2.232 6.606 2.428 1.772-.478 3.792-.73 6.052-.73 2.272 0 4.304.26 6.086.744.6-.46 3.607-2.616 6.506-2.352.154.412 1.321 3.125.294 6.326 1.74 1.974 2.625 4.436 2.625 7.099 0 5.483-3.163 10.09-10.724 11.423a6.845 6.845 0 0 1 2.042 4.884v6.036c.042.483 0 .961.806.961C61.161 63.548 68 54.571 68 43.997c0-13.26-10.748-23.999-23.997-23.999C30.738 19.992 20 30.733 20 43.993Z",fill:"#fff"})),gt||(gt=U.createElement("defs",null,U.createElement("linearGradient",{id:"linearGithub_svg__a",x1:44,y1:-.001,x2:44,y2:87.999,gradientUnits:"userSpaceOnUse"},U.createElement("stop",{stopColor:"#fff",stopOpacity:.2}),U.createElement("stop",{offset:1,stopColor:"#fff",stopOpacity:.02})))))};var bt,wt,yt;function _t(){return _t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:s,...a}=e;return U.createElement("svg",_t({width:44,height:44,viewBox:"0 0 89 88",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":s},a),t?U.createElement("title",{id:s},t):null,bt||(bt=U.createElement("rect",{x:.5,y:-.001,width:88,height:88,rx:44,fill:"url(#linearDiscord_svg__a)"})),wt||(wt=U.createElement("path",{d:"M60.995 28.487a.12.12 0 0 0-.062-.057 39.12 39.12 0 0 0-9.652-2.992.146.146 0 0 0-.155.073 27.22 27.22 0 0 0-1.202 2.468 36.118 36.118 0 0 0-10.84 0 24.96 24.96 0 0 0-1.221-2.468.153.153 0 0 0-.155-.073 39.006 39.006 0 0 0-9.653 2.992.138.138 0 0 0-.063.055c-6.148 9.18-7.832 18.135-7.006 26.979a.162.162 0 0 0 .062.11 39.326 39.326 0 0 0 11.84 5.984.153.153 0 0 0 .167-.055 28.087 28.087 0 0 0 2.422-3.938.15.15 0 0 0-.082-.21 25.895 25.895 0 0 1-3.699-1.761.152.152 0 0 1-.015-.253c.25-.186.494-.378.735-.575a.146.146 0 0 1 .153-.02c7.76 3.54 16.162 3.54 23.83 0a.145.145 0 0 1 .156.018c.24.198.486.391.736.577a.151.151 0 0 1-.013.252 24.317 24.317 0 0 1-3.7 1.76.153.153 0 0 0-.088.088.15.15 0 0 0 .007.123 31.542 31.542 0 0 0 2.42 3.937.15.15 0 0 0 .167.057 39.197 39.197 0 0 0 11.86-5.983.15.15 0 0 0 .061-.11c.99-10.224-1.655-19.105-7.01-26.978ZM36.636 50.079c-2.336 0-4.261-2.144-4.261-4.777s1.888-4.778 4.261-4.778c2.393 0 4.3 2.163 4.262 4.777 0 2.634-1.888 4.778-4.262 4.778Zm15.757 0c-2.337 0-4.262-2.144-4.262-4.777s1.888-4.778 4.262-4.778c2.392 0 4.299 2.163 4.261 4.777 0 2.634-1.869 4.778-4.261 4.778Z",fill:"#fff"})),yt||(yt=U.createElement("defs",null,U.createElement("linearGradient",{id:"linearDiscord_svg__a",x1:44.5,y1:-.001,x2:44.5,y2:87.999,gradientUnits:"userSpaceOnUse"},U.createElement("stop",{stopColor:"#fff",stopOpacity:.2}),U.createElement("stop",{offset:1,stopColor:"#fff",stopOpacity:.02})))))},It="bannerContainer_oUHl",jt="textContainerStyle_j9Qp",At="sloganStyle_XKtE",Lt="descStyle_YqnZ",St="linkGroupItemStyle_KQRV",Nt="colorDescAgentStyle_x5xU",Ct="colorDescAppStyle_An_L",Zt="colorDescFlowStyle_y9g7",kt="contentContainerStyle_JEhu",Et="contentLabelStyle_dif9";var Ot=s(5676),Bt=s(929);const qt=()=>(0,f.jsx)(Ot.tq,{modules:[Bt.pt],centeredSlides:!0,slidesPerView:"auto",spaceBetween:0,className:"w-full",autoplay:{delay:3e3},children:it.map((e=>(0,f.jsx)(Ot.o5,{children:(0,f.jsxs)("div",{className:kt,children:[e.content,(0,f.jsx)("span",{className:Et,children:e.label})]})},e.label)))}),Dt=e=>{const[t]=(0,U.useState)(!1),{githubStarts:s}=e,a=(0,E.f)(),l=(0,o.I)({id:"description",message:"Build {businessApp} with low code, make automated {flow}, create {AIAgent} easily"});return(0,U.useEffect)((()=>{document.body.style.overflow=t?"hidden":"auto"}),[t]),(0,f.jsxs)("div",{className:It,children:[(0,f.jsxs)("div",{className:jt,children:[(0,f.jsx)("h1",{className:At,children:(0,f.jsx)(o.Z,{id:"slogan-1",children:"Build AI Driven Business App"})}),(0,f.jsx)("span",{className:Lt,children:(0,f.jsx)(dt.Z,{values:{AIAgent:(0,f.jsx)("span",{className:Nt,children:(0,f.jsx)(o.Z,{id:"website_4.description.ai_agent",children:"AI Agent"})}),businessApp:(0,f.jsx)("span",{className:Ct,children:(0,f.jsx)(o.Z,{id:"website_4.description.business_app",children:"website&app"})}),flow:(0,f.jsx)("span",{className:Zt,children:(0,f.jsx)(o.Z,{id:"website_4.description.flow",children:"flow"})})},children:l})}),(0,f.jsx)(ot.Z,{href:a(B.E),colorType:"light",size:"normal",handleClick:()=>{(0,C.l)({action:"click",category:"homepage_body_try_cloud_free_click"}),(0,C.l)({action:"click_try"})},children:(0,f.jsx)(o.Z,{id:"first_button",children:"Get started"})})]}),(0,f.jsxs)("div",{className:"flex items-center gap-[40px]",children:[(0,f.jsxs)(S.Z,{href:"https://github.com/illacloud/illa-builder",className:St,onClick:()=>{(0,C.l)({action:"click",category:"homepage_body_github_mob_click"})},children:[(0,f.jsx)(vt,{}),(0,f.jsx)("div",{className:"text-white-01 text-[13px] flex items-center font-medium",children:(0,f.jsxs)("span",{className:"ml-[5px]",children:[s,(0,f.jsx)(o.Z,{id:"title.stars",children:"Stars"})]})})]}),(0,f.jsxs)(S.Z,{href:"https://discord.com/invite/illacloud",className:"flex flex-col items-center gap-[8px]",onClick:()=>{(0,C.l)({action:"click",category:"homepage_body_discord_mob_click"})},children:[(0,f.jsx)(xt,{}),(0,f.jsx)("div",{className:"text-white-01 text-[13px] flex items-center font-medium",children:(0,f.jsx)("span",{className:"ml-[5px] align-middle",children:(0,f.jsx)(o.Z,{id:"join-community",children:"Join Discord"})})})]})]}),(0,f.jsx)(qt,{})]})},Mt=()=>{const[e,t]=(0,U.useState)(!0),[s,a]=(0,U.useState)(0),l=(0,U.useCallback)((async e=>{try{const t=await fetch("https://api.github.com/repos/illacloud/illa-builder",{signal:e}),s=await t.json();return s?.stargazers_count||1e4}catch{return 1e4}}),[]);return(0,U.useEffect)((()=>{const e=new AbortController;return t(!0),l(e.signal).then((e=>{a(e),t(!1)})),()=>{e.abort()}}),[]),[e,(n=s,`${(n/1e3).toFixed(1)}k`)];var n};function Tt(){const[,e]=Mt();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(a.Z,{children:[(0,f.jsx)("html",{"data-active-page":"index"}),(0,f.jsx)("meta",{name:"twitter:title",content:c.title}),(0,f.jsx)("meta",{name:"twitter:description",content:c.description}),(0,f.jsx)("script",{type:"application/ld+json",children:JSON.stringify(d)})]}),(0,f.jsx)(l.j,{...c,children:(0,f.jsxs)("div",{className:"bg-black overflow-visible w-full relative z-[1] font-sans",children:[(0,f.jsx)(n.f,{}),(0,f.jsx)(ut,{githubStarts:e}),(0,f.jsx)(Dt,{githubStarts:e}),(0,f.jsx)(Ce,{}),(0,f.jsx)(i.Z,{scrollStart:.939,scrollEnd:1})]})})]})}},8618:(e,t,s)=>{s.d(t,{M:()=>a});const a=(e,t)=>{const s=new URL(e);for(const a in t)t[a]&&s.searchParams.append(a,t[a]);return s.toString()}},139:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/medias/bannerBg-11c671f26ad5aeb99fa331a20887b2c5.mp4"}}]); \ No newline at end of file diff --git a/assets/js/31eafaf9.fed72d30.js b/assets/js/31eafaf9.0793747c.js similarity index 99% rename from assets/js/31eafaf9.fed72d30.js rename to assets/js/31eafaf9.0793747c.js index 5d6ee23415..62dc9e81ae 100644 --- a/assets/js/31eafaf9.fed72d30.js +++ b/assets/js/31eafaf9.0793747c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[3581],{2040:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var n=i(1527),o=i(7214);const t={title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},a=void 0,r={permalink:"/illa-website/blog/shadcn-vs-mui",source:"@site/blog/shadcn-ui-vs-mui/shadcn-ui-vs-mui.md",title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"}],readingTime:4.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},nextItem:{title:"Best Open-Source Low-Code Platforms in 2024",permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024"},relatedPosts:[{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Options for Internal Tool Scenarios",id:"other-options-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design-1",level:3},{value:"Richness of Features",id:"richness-of-features-1",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const s={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices."}),"\n",(0,n.jsx)(s.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,n.jsx)(s.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive work. Component libraries offer ready-to-use components such as Select, Input, CheckBox, etc., allowing users to create beautiful websites quickly without the need to build extensive foundational features from scratch."}),"\n",(0,n.jsx)(s.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"External Tools: Directly facing company users, often with a company's distinct style, emphasizing aesthetics and responsiveness."}),"\n",(0,n.jsx)(s.li,{children:"Internal Tools: For internal use by company employees, focusing on aesthetic design and rapid functionality implementation."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Next, we will analyze two component libraries based on the following criteria:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsx)(s.li,{children:"Design"}),"\n",(0,n.jsx)(s.li,{children:"Richness of Features"}),"\n",(0,n.jsx)(s.li,{children:"How to Choose for Different Scenarios"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"other-options-for-internal-tool-scenarios",children:"Other Options for Internal Tool Scenarios"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool that allows for the quick construction of internal tools using simple JavaScript without the need to create new projects."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Web & App Admin Panel"}),"\n",(0,n.jsx)(s.li,{children:"Data Dashboard"}),"\n",(0,n.jsx)(s.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Compared to building scenarios with component libraries, ILLA Cloud enables 10x faster tool construction and supports collaboration among team members for simultaneous editing."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(s.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI is a relatively new project that gained impressive recognition, achieving 37k stars in less than a year. It seems that outstanding open-source projects can easily gain widespread approval."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,n.jsx)(s.h3,{id:"design",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI leans towards a business style in its design, featuring a clean UI suitable for internal tools and serious application scenarios. Shadcn UI also supports custom themes, although it seems limited to:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Colors"}),"\n",(0,n.jsx)(s.li,{children:"Rounded corners"}),"\n",(0,n.jsx)(s.li,{children:"Dark mode / Light mode"}),"\n",(0,n.jsx)(s.li,{children:'Predefined "Default Style" and "New York Style"'}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"In terms of design details such as font and font size, the control appears limited, satisfying basic design needs. However, for external tool scenarios, it may have some limitations."}),"\n",(0,n.jsxs)(s.p,{children:["Shadcn UI supports both CSS and CSS-in-JS solutions. The CSS-in-JS solution uses ",(0,n.jsx)(s.a,{href:"https://stitches.dev/",children:"Stitches"}),", and while CSS defaults to traditional CSS, additional configuration may be needed for less and sass, and it is not out-of-the-box."]}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"The library's richness of features is sufficient for daily development needs, supporting and providing complete callbacks for most capabilities. Shadcn UI supports essential capabilities, including but not limited to SSR, accessibility, and animation. For more advanced requirements like extremely rich charts and high-performance tables, it seems not fully supported, but ongoing project development is likely to address these needs."}),"\n",(0,n.jsx)(s.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about MUI:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"As an established project, MUI has been maintained since 2014, boasting almost 10 years of stability. The high number of stars and weekly downloads ensures a continuously active community."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/mui.png",alt:"mui"})}),"\n",(0,n.jsx)(s.h3,{id:"design-1",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"In terms of design, MUI strictly adheres to Google's well-known Material Design. MUI offers extensive customization capabilities to meet most internal and external scenarios, with many well-known open-source projects using MUI for frontend development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,n.jsx)(s.p,{children:"In addition to common features like colors, rounded corners, and dark/light modes, MUI supports complete customization of fonts, font sizes, colors, padding, and margins. As a project with ten years of development, MUI's functionality is powerful."}),"\n",(0,n.jsx)(s.p,{children:"In terms of CSS support, MUI has its custom system, using emotionjs for style adjustment in the overall layout. This may involve a learning curve and may not be as developer-friendly, requiring documentation consultation for some style modifications."}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features-1",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"MUI categorizes its components into several dimensions:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"MUI Core: Basic functional components and a style system."}),"\n",(0,n.jsx)(s.li,{children:"MUI X: High-performance and complex components, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"For developing a complex system, you can use MUI's comprehensive solution. However, MUI X is a paid component library, requiring a subscription fee."}),"\n",(0,n.jsx)(s.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history, offering high customizability, making it suitable for large projects. The repository contains numerous features."}),"\n",(0,n.jsx)(s.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,n.jsx)(s.p,{children:"If you are a curious open-source enthusiast who does not need highly customized UI for product development, and there are no complex data processing requirements, Shadcn UI is recommended. It is more lightweight, simpler to configure, but less powerful. However, it is sufficient for internal tool scenarios."}),"\n",(0,n.jsx)(s.p,{children:"If you need a component library for developing large and complex projects, require intricate charts, high-performance data components, and are willing to invest in a fee without looking for additional solutions, you can choose MUI. Its powerful capabilities make it an excellent choice for developing medium to large projects."})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7214:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>a});var n=i(959);const o={},t=n.createContext(o);function a(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[3581],{2040:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var n=i(1527),o=i(7214);const t={title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},a=void 0,r={permalink:"/illa-website/blog/shadcn-vs-mui",source:"@site/blog/shadcn-ui-vs-mui/shadcn-ui-vs-mui.md",title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"}],readingTime:4.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},nextItem:{title:"Best Open-Source Low-Code Platforms in 2024",permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024"},relatedPosts:[{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Options for Internal Tool Scenarios",id:"other-options-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design-1",level:3},{value:"Richness of Features",id:"richness-of-features-1",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const s={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices."}),"\n",(0,n.jsx)(s.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,n.jsx)(s.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive work. Component libraries offer ready-to-use components such as Select, Input, CheckBox, etc., allowing users to create beautiful websites quickly without the need to build extensive foundational features from scratch."}),"\n",(0,n.jsx)(s.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"External Tools: Directly facing company users, often with a company's distinct style, emphasizing aesthetics and responsiveness."}),"\n",(0,n.jsx)(s.li,{children:"Internal Tools: For internal use by company employees, focusing on aesthetic design and rapid functionality implementation."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Next, we will analyze two component libraries based on the following criteria:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsx)(s.li,{children:"Design"}),"\n",(0,n.jsx)(s.li,{children:"Richness of Features"}),"\n",(0,n.jsx)(s.li,{children:"How to Choose for Different Scenarios"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"other-options-for-internal-tool-scenarios",children:"Other Options for Internal Tool Scenarios"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool that allows for the quick construction of internal tools using simple JavaScript without the need to create new projects."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Web & App Admin Panel"}),"\n",(0,n.jsx)(s.li,{children:"Data Dashboard"}),"\n",(0,n.jsx)(s.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Compared to building scenarios with component libraries, ILLA Cloud enables 10x faster tool construction and supports collaboration among team members for simultaneous editing."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(s.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI is a relatively new project that gained impressive recognition, achieving 37k stars in less than a year. It seems that outstanding open-source projects can easily gain widespread approval."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,n.jsx)(s.h3,{id:"design",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI leans towards a business style in its design, featuring a clean UI suitable for internal tools and serious application scenarios. Shadcn UI also supports custom themes, although it seems limited to:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Colors"}),"\n",(0,n.jsx)(s.li,{children:"Rounded corners"}),"\n",(0,n.jsx)(s.li,{children:"Dark mode / Light mode"}),"\n",(0,n.jsx)(s.li,{children:'Predefined "Default Style" and "New York Style"'}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"In terms of design details such as font and font size, the control appears limited, satisfying basic design needs. However, for external tool scenarios, it may have some limitations."}),"\n",(0,n.jsxs)(s.p,{children:["Shadcn UI supports both CSS and CSS-in-JS solutions. The CSS-in-JS solution uses ",(0,n.jsx)(s.a,{href:"https://stitches.dev/",children:"Stitches"}),", and while CSS defaults to traditional CSS, additional configuration may be needed for less and sass, and it is not out-of-the-box."]}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"The library's richness of features is sufficient for daily development needs, supporting and providing complete callbacks for most capabilities. Shadcn UI supports essential capabilities, including but not limited to SSR, accessibility, and animation. For more advanced requirements like extremely rich charts and high-performance tables, it seems not fully supported, but ongoing project development is likely to address these needs."}),"\n",(0,n.jsx)(s.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about MUI:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"As an established project, MUI has been maintained since 2014, boasting almost 10 years of stability. The high number of stars and weekly downloads ensures a continuously active community."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/mui.png",alt:"mui"})}),"\n",(0,n.jsx)(s.h3,{id:"design-1",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"In terms of design, MUI strictly adheres to Google's well-known Material Design. MUI offers extensive customization capabilities to meet most internal and external scenarios, with many well-known open-source projects using MUI for frontend development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,n.jsx)(s.p,{children:"In addition to common features like colors, rounded corners, and dark/light modes, MUI supports complete customization of fonts, font sizes, colors, padding, and margins. As a project with ten years of development, MUI's functionality is powerful."}),"\n",(0,n.jsx)(s.p,{children:"In terms of CSS support, MUI has its custom system, using emotionjs for style adjustment in the overall layout. This may involve a learning curve and may not be as developer-friendly, requiring documentation consultation for some style modifications."}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features-1",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"MUI categorizes its components into several dimensions:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"MUI Core: Basic functional components and a style system."}),"\n",(0,n.jsx)(s.li,{children:"MUI X: High-performance and complex components, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"For developing a complex system, you can use MUI's comprehensive solution. However, MUI X is a paid component library, requiring a subscription fee."}),"\n",(0,n.jsx)(s.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history, offering high customizability, making it suitable for large projects. The repository contains numerous features."}),"\n",(0,n.jsx)(s.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,n.jsx)(s.p,{children:"If you are a curious open-source enthusiast who does not need highly customized UI for product development, and there are no complex data processing requirements, Shadcn UI is recommended. It is more lightweight, simpler to configure, but less powerful. However, it is sufficient for internal tool scenarios."}),"\n",(0,n.jsx)(s.p,{children:"If you need a component library for developing large and complex projects, require intricate charts, high-performance data components, and are willing to invest in a fee without looking for additional solutions, you can choose MUI. Its powerful capabilities make it an excellent choice for developing medium to large projects."})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7214:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>a});var n=i(959);const o={},t=n.createContext(o);function a(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/354dfbd1.290b3f49.js b/assets/js/354dfbd1.f561733e.js similarity index 99% rename from assets/js/354dfbd1.290b3f49.js rename to assets/js/354dfbd1.f561733e.js index e3e21ae90b..f4afc2be00 100644 --- a/assets/js/354dfbd1.290b3f49.js +++ b/assets/js/354dfbd1.f561733e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[8248],{5209:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=n(1527),l=n(7214);const s={title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},t=void 0,a={permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024",source:"@site/blog/top5-low-code-2024/top5-low-code-2024.md",title:"Best Open-Source Low-Code Platforms in 2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"low-code",permalink:"/illa-website/blog/tags/low-code"},{label:"open-source",permalink:"/illa-website/blog/tags/open-source"}],readingTime:2.57,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},unlisted:!1,prevItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Why Choose Low-Code Tools?",id:"why-choose-low-code-tools",level:2},{value:"Why Choose Open Source?",id:"why-choose-open-source",level:2},{value:"ILLA Cloud",id:"illa-cloud",level:2},{value:"Appsmith",id:"appsmith",level:2},{value:"Tooljet",id:"tooljet",level:2},{value:"Budibase",id:"budibase",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-low-code-tools",children:"Why Choose Low-Code Tools?"}),"\n",(0,i.jsx)(o.p,{children:"The emergence of low-code tools primarily addresses the issue of low development efficiency. These tools assist developers in rapidly constructing complete projects without starting from scratch, significantly boosting development efficiency. Development using low-code tools requires no coding; instead, developers can drag and drop components to build pages. This allows developers to focus more on implementing business logic without concerning themselves with page construction. Moreover, there is no need for any maintenance work; deploying the code to a server is sufficient, allowing developers to concentrate on business logic implementation."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-open-source",children:"Why Choose Open Source?"}),"\n",(0,i.jsx)(o.p,{children:"As a development tool, open-source low-code tools offer several advantages:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Editable for customization"}),"\n",(0,i.jsx)(o.li,{children:"Deployable independently"}),"\n",(0,i.jsx)(o.li,{children:"Community collaboration for faster issue resolution"}),"\n",(0,i.jsx)(o.li,{children:"Abundant community template resources"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Choosing an open-source low-code tool can make our work twice as efficient. Open-source low-code tools are not just tools but ecosystems. We believe open source can make software more powerful, flexible, and reliable."}),"\n",(0,i.jsx)(o.h2,{id:"illa-cloud",children:"ILLA Cloud"}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool enabling the swift construction of internal tools using simple JavaScript, without the need for new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster tool construction and supports collaborative editing among team members."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"Examples include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-crm",children:"CRM"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-dashboard",children:"Data Dashboard"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-image-generator",children:"Text to Image Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-ai-voice-generator",children:"AI Voice Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-cms",children:"CMS"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-admin-panel",children:"Admin Panel"})}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"appsmith",children:"Appsmith"}),"\n",(0,i.jsx)(o.p,{children:'Appsmith is an open-source low-code tool with the motto "Build the tools you can\u2019t buy off the shelf." It is a developer-friendly tool driven by JS and supports quick UI panel construction through drag-and-drop.'}),"\n",(0,i.jsx)(o.p,{children:"Just a few steps are needed to build a complete project:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Bring in data from any data source"}),"\n",(0,i.jsx)(o.li,{children:"Drag and drop widgets to build UI"}),"\n",(0,i.jsx)(o.li,{children:"Customize and control with code"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Appsmith's development team hails from India, making it a promising project."}),"\n",(0,i.jsx)(o.h2,{id:"tooljet",children:"Tooljet"}),"\n",(0,i.jsx)(o.p,{children:"The Tooljet team, also from India, focuses on being a rapid internal tool development platform. Tooljet has the following features:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Lightning Fast Development"}),"\n",(0,i.jsx)(o.li,{children:"Budget Friendly"}),"\n",(0,i.jsx)(o.li,{children:"Boost Productivity"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Tooljet's product has significant potential and is worth keeping an eye on. With continuous accumulation over time, their product strength is sure to grow."}),"\n",(0,i.jsx)(o.h2,{id:"budibase",children:"Budibase"}),"\n",(0,i.jsx)(o.p,{children:"Budibase's team is from Europe, aiming to \"Save 100s of hours building apps that make workflow.\" Budibase's features include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"One platform. Many solutions."}),"\n",(0,i.jsx)(o.li,{children:"Apps made easier. Workflows made faster."}),"\n",(0,i.jsx)(o.li,{children:"Scale with confidence"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"With continuous accumulation over time, Budibase's product strength is bound to increase."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"These are the most promising open-source low-code tools in 2024, each with its own characteristics. Different scenarios call for different problem-solving approaches, and we hope readers can choose the most efficient solutions for development in suitable situations. Speed up your work, go home early using low-code tools."})]})}function h(e={}){const{wrapper:o}={...(0,l.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,n)=>{n.d(o,{Z:()=>a,a:()=>t});var i=n(959);const l={},s=i.createContext(l);function t(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[8248],{5209:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=n(1527),l=n(7214);const s={title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},t=void 0,a={permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024",source:"@site/blog/top5-low-code-2024/top5-low-code-2024.md",title:"Best Open-Source Low-Code Platforms in 2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"low-code",permalink:"/illa-website/blog/tags/low-code"},{label:"open-source",permalink:"/illa-website/blog/tags/open-source"}],readingTime:2.57,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},unlisted:!1,prevItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Why Choose Low-Code Tools?",id:"why-choose-low-code-tools",level:2},{value:"Why Choose Open Source?",id:"why-choose-open-source",level:2},{value:"ILLA Cloud",id:"illa-cloud",level:2},{value:"Appsmith",id:"appsmith",level:2},{value:"Tooljet",id:"tooljet",level:2},{value:"Budibase",id:"budibase",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-low-code-tools",children:"Why Choose Low-Code Tools?"}),"\n",(0,i.jsx)(o.p,{children:"The emergence of low-code tools primarily addresses the issue of low development efficiency. These tools assist developers in rapidly constructing complete projects without starting from scratch, significantly boosting development efficiency. Development using low-code tools requires no coding; instead, developers can drag and drop components to build pages. This allows developers to focus more on implementing business logic without concerning themselves with page construction. Moreover, there is no need for any maintenance work; deploying the code to a server is sufficient, allowing developers to concentrate on business logic implementation."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-open-source",children:"Why Choose Open Source?"}),"\n",(0,i.jsx)(o.p,{children:"As a development tool, open-source low-code tools offer several advantages:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Editable for customization"}),"\n",(0,i.jsx)(o.li,{children:"Deployable independently"}),"\n",(0,i.jsx)(o.li,{children:"Community collaboration for faster issue resolution"}),"\n",(0,i.jsx)(o.li,{children:"Abundant community template resources"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Choosing an open-source low-code tool can make our work twice as efficient. Open-source low-code tools are not just tools but ecosystems. We believe open source can make software more powerful, flexible, and reliable."}),"\n",(0,i.jsx)(o.h2,{id:"illa-cloud",children:"ILLA Cloud"}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool enabling the swift construction of internal tools using simple JavaScript, without the need for new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster tool construction and supports collaborative editing among team members."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"Examples include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-crm",children:"CRM"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-dashboard",children:"Data Dashboard"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-image-generator",children:"Text to Image Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-ai-voice-generator",children:"AI Voice Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-cms",children:"CMS"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-admin-panel",children:"Admin Panel"})}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"appsmith",children:"Appsmith"}),"\n",(0,i.jsx)(o.p,{children:'Appsmith is an open-source low-code tool with the motto "Build the tools you can\u2019t buy off the shelf." It is a developer-friendly tool driven by JS and supports quick UI panel construction through drag-and-drop.'}),"\n",(0,i.jsx)(o.p,{children:"Just a few steps are needed to build a complete project:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Bring in data from any data source"}),"\n",(0,i.jsx)(o.li,{children:"Drag and drop widgets to build UI"}),"\n",(0,i.jsx)(o.li,{children:"Customize and control with code"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Appsmith's development team hails from India, making it a promising project."}),"\n",(0,i.jsx)(o.h2,{id:"tooljet",children:"Tooljet"}),"\n",(0,i.jsx)(o.p,{children:"The Tooljet team, also from India, focuses on being a rapid internal tool development platform. Tooljet has the following features:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Lightning Fast Development"}),"\n",(0,i.jsx)(o.li,{children:"Budget Friendly"}),"\n",(0,i.jsx)(o.li,{children:"Boost Productivity"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Tooljet's product has significant potential and is worth keeping an eye on. With continuous accumulation over time, their product strength is sure to grow."}),"\n",(0,i.jsx)(o.h2,{id:"budibase",children:"Budibase"}),"\n",(0,i.jsx)(o.p,{children:"Budibase's team is from Europe, aiming to \"Save 100s of hours building apps that make workflow.\" Budibase's features include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"One platform. Many solutions."}),"\n",(0,i.jsx)(o.li,{children:"Apps made easier. Workflows made faster."}),"\n",(0,i.jsx)(o.li,{children:"Scale with confidence"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"With continuous accumulation over time, Budibase's product strength is bound to increase."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"These are the most promising open-source low-code tools in 2024, each with its own characteristics. Different scenarios call for different problem-solving approaches, and we hope readers can choose the most efficient solutions for development in suitable situations. Speed up your work, go home early using low-code tools."})]})}function h(e={}){const{wrapper:o}={...(0,l.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,n)=>{n.d(o,{Z:()=>a,a:()=>t});var i=n(959);const l={},s=i.createContext(l);function t(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3dca0203.dcaa8c98.js b/assets/js/3dca0203.83242d7c.js similarity index 99% rename from assets/js/3dca0203.dcaa8c98.js rename to assets/js/3dca0203.83242d7c.js index 1d94d4339d..c8cf1a12f9 100644 --- a/assets/js/3dca0203.dcaa8c98.js +++ b/assets/js/3dca0203.83242d7c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5694],{1077:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=n(1527),l=n(7214);const s={title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},t=void 0,a={permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024",source:"@site/blog/top5-low-code-2024/top5-low-code-2024.md",title:"Best Open-Source Low-Code Platforms in 2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"low-code",permalink:"/illa-website/blog/tags/low-code"},{label:"open-source",permalink:"/illa-website/blog/tags/open-source"}],readingTime:2.57,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},unlisted:!1,prevItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Why Choose Low-Code Tools?",id:"why-choose-low-code-tools",level:2},{value:"Why Choose Open Source?",id:"why-choose-open-source",level:2},{value:"ILLA Cloud",id:"illa-cloud",level:2},{value:"Appsmith",id:"appsmith",level:2},{value:"Tooljet",id:"tooljet",level:2},{value:"Budibase",id:"budibase",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-low-code-tools",children:"Why Choose Low-Code Tools?"}),"\n",(0,i.jsx)(o.p,{children:"The emergence of low-code tools primarily addresses the issue of low development efficiency. These tools assist developers in rapidly constructing complete projects without starting from scratch, significantly boosting development efficiency. Development using low-code tools requires no coding; instead, developers can drag and drop components to build pages. This allows developers to focus more on implementing business logic without concerning themselves with page construction. Moreover, there is no need for any maintenance work; deploying the code to a server is sufficient, allowing developers to concentrate on business logic implementation."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-open-source",children:"Why Choose Open Source?"}),"\n",(0,i.jsx)(o.p,{children:"As a development tool, open-source low-code tools offer several advantages:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Editable for customization"}),"\n",(0,i.jsx)(o.li,{children:"Deployable independently"}),"\n",(0,i.jsx)(o.li,{children:"Community collaboration for faster issue resolution"}),"\n",(0,i.jsx)(o.li,{children:"Abundant community template resources"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Choosing an open-source low-code tool can make our work twice as efficient. Open-source low-code tools are not just tools but ecosystems. We believe open source can make software more powerful, flexible, and reliable."}),"\n",(0,i.jsx)(o.h2,{id:"illa-cloud",children:"ILLA Cloud"}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool enabling the swift construction of internal tools using simple JavaScript, without the need for new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster tool construction and supports collaborative editing among team members."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"Examples include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-crm",children:"CRM"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-dashboard",children:"Data Dashboard"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-image-generator",children:"Text to Image Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-ai-voice-generator",children:"AI Voice Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-cms",children:"CMS"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-admin-panel",children:"Admin Panel"})}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"appsmith",children:"Appsmith"}),"\n",(0,i.jsx)(o.p,{children:'Appsmith is an open-source low-code tool with the motto "Build the tools you can\u2019t buy off the shelf." It is a developer-friendly tool driven by JS and supports quick UI panel construction through drag-and-drop.'}),"\n",(0,i.jsx)(o.p,{children:"Just a few steps are needed to build a complete project:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Bring in data from any data source"}),"\n",(0,i.jsx)(o.li,{children:"Drag and drop widgets to build UI"}),"\n",(0,i.jsx)(o.li,{children:"Customize and control with code"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Appsmith's development team hails from India, making it a promising project."}),"\n",(0,i.jsx)(o.h2,{id:"tooljet",children:"Tooljet"}),"\n",(0,i.jsx)(o.p,{children:"The Tooljet team, also from India, focuses on being a rapid internal tool development platform. Tooljet has the following features:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Lightning Fast Development"}),"\n",(0,i.jsx)(o.li,{children:"Budget Friendly"}),"\n",(0,i.jsx)(o.li,{children:"Boost Productivity"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Tooljet's product has significant potential and is worth keeping an eye on. With continuous accumulation over time, their product strength is sure to grow."}),"\n",(0,i.jsx)(o.h2,{id:"budibase",children:"Budibase"}),"\n",(0,i.jsx)(o.p,{children:"Budibase's team is from Europe, aiming to \"Save 100s of hours building apps that make workflow.\" Budibase's features include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"One platform. Many solutions."}),"\n",(0,i.jsx)(o.li,{children:"Apps made easier. Workflows made faster."}),"\n",(0,i.jsx)(o.li,{children:"Scale with confidence"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"With continuous accumulation over time, Budibase's product strength is bound to increase."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"These are the most promising open-source low-code tools in 2024, each with its own characteristics. Different scenarios call for different problem-solving approaches, and we hope readers can choose the most efficient solutions for development in suitable situations. Speed up your work, go home early using low-code tools."})]})}function h(e={}){const{wrapper:o}={...(0,l.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,n)=>{n.d(o,{Z:()=>a,a:()=>t});var i=n(959);const l={},s=i.createContext(l);function t(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5694],{1077:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=n(1527),l=n(7214);const s={title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},t=void 0,a={permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024",source:"@site/blog/top5-low-code-2024/top5-low-code-2024.md",title:"Best Open-Source Low-Code Platforms in 2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"low-code",permalink:"/illa-website/blog/tags/low-code"},{label:"open-source",permalink:"/illa-website/blog/tags/open-source"}],readingTime:2.57,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Best Open-Source Low-Code Platforms in 2024",tags:["low-code","open-source"],slug:"top-5-best-open-source-low-code-platforms-in-2024",description:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/cover.png"},unlisted:!1,prevItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Why Choose Low-Code Tools?",id:"why-choose-low-code-tools",level:2},{value:"Why Choose Open Source?",id:"why-choose-open-source",level:2},{value:"ILLA Cloud",id:"illa-cloud",level:2},{value:"Appsmith",id:"appsmith",level:2},{value:"Tooljet",id:"tooljet",level:2},{value:"Budibase",id:"budibase",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"2024 has arrived, and the development of low-code tools remains vibrant. Many companies are utilizing low-code tools to enhance development efficiency. This article will analyze popular low-code tools from various perspectives, aiding readers in making informed choices."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-low-code-tools",children:"Why Choose Low-Code Tools?"}),"\n",(0,i.jsx)(o.p,{children:"The emergence of low-code tools primarily addresses the issue of low development efficiency. These tools assist developers in rapidly constructing complete projects without starting from scratch, significantly boosting development efficiency. Development using low-code tools requires no coding; instead, developers can drag and drop components to build pages. This allows developers to focus more on implementing business logic without concerning themselves with page construction. Moreover, there is no need for any maintenance work; deploying the code to a server is sufficient, allowing developers to concentrate on business logic implementation."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-open-source",children:"Why Choose Open Source?"}),"\n",(0,i.jsx)(o.p,{children:"As a development tool, open-source low-code tools offer several advantages:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Editable for customization"}),"\n",(0,i.jsx)(o.li,{children:"Deployable independently"}),"\n",(0,i.jsx)(o.li,{children:"Community collaboration for faster issue resolution"}),"\n",(0,i.jsx)(o.li,{children:"Abundant community template resources"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Choosing an open-source low-code tool can make our work twice as efficient. Open-source low-code tools are not just tools but ecosystems. We believe open source can make software more powerful, flexible, and reliable."}),"\n",(0,i.jsx)(o.h2,{id:"illa-cloud",children:"ILLA Cloud"}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool enabling the swift construction of internal tools using simple JavaScript, without the need for new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster tool construction and supports collaborative editing among team members."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/top5-low-code-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"Examples include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-crm",children:"CRM"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-dashboard",children:"Data Dashboard"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-image-generator",children:"Text to Image Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-ai-voice-generator",children:"AI Voice Generator"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://illacloud.com/solutions-cms",children:"CMS"})}),"\n",(0,i.jsx)(o.li,{children:(0,i.jsx)(o.a,{href:"https://www.illacloud.com/solutions-admin-panel",children:"Admin Panel"})}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"appsmith",children:"Appsmith"}),"\n",(0,i.jsx)(o.p,{children:'Appsmith is an open-source low-code tool with the motto "Build the tools you can\u2019t buy off the shelf." It is a developer-friendly tool driven by JS and supports quick UI panel construction through drag-and-drop.'}),"\n",(0,i.jsx)(o.p,{children:"Just a few steps are needed to build a complete project:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Bring in data from any data source"}),"\n",(0,i.jsx)(o.li,{children:"Drag and drop widgets to build UI"}),"\n",(0,i.jsx)(o.li,{children:"Customize and control with code"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Appsmith's development team hails from India, making it a promising project."}),"\n",(0,i.jsx)(o.h2,{id:"tooljet",children:"Tooljet"}),"\n",(0,i.jsx)(o.p,{children:"The Tooljet team, also from India, focuses on being a rapid internal tool development platform. Tooljet has the following features:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Lightning Fast Development"}),"\n",(0,i.jsx)(o.li,{children:"Budget Friendly"}),"\n",(0,i.jsx)(o.li,{children:"Boost Productivity"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Tooljet's product has significant potential and is worth keeping an eye on. With continuous accumulation over time, their product strength is sure to grow."}),"\n",(0,i.jsx)(o.h2,{id:"budibase",children:"Budibase"}),"\n",(0,i.jsx)(o.p,{children:"Budibase's team is from Europe, aiming to \"Save 100s of hours building apps that make workflow.\" Budibase's features include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"One platform. Many solutions."}),"\n",(0,i.jsx)(o.li,{children:"Apps made easier. Workflows made faster."}),"\n",(0,i.jsx)(o.li,{children:"Scale with confidence"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"With continuous accumulation over time, Budibase's product strength is bound to increase."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"These are the most promising open-source low-code tools in 2024, each with its own characteristics. Different scenarios call for different problem-solving approaches, and we hope readers can choose the most efficient solutions for development in suitable situations. Speed up your work, go home early using low-code tools."})]})}function h(e={}){const{wrapper:o}={...(0,l.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,n)=>{n.d(o,{Z:()=>a,a:()=>t});var i=n(959);const l={},s=i.createContext(l);function t(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a61f11b.6427c4cb.js b/assets/js/4a61f11b.e71f3135.js similarity index 72% rename from assets/js/4a61f11b.6427c4cb.js rename to assets/js/4a61f11b.e71f3135.js index e34e7f883e..90037885ea 100644 --- a/assets/js/4a61f11b.6427c4cb.js +++ b/assets/js/4a61f11b.e71f3135.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[9699],{1483:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=o(1527),n=o(7214);const s={slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},a=void 0,r={permalink:"/illa-website/blog/shadcn-ui-2024",source:"@site/blog/shadcn-ui-2024/shadcn-ui-2024.md",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"shadcn-ui",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"react",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:2.96,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},unlisted:!1,prevItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},nextItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"},{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:08:52.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(t.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(t.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive tasks. Component libraries offer a range of out-of-the-box components like Select, Input, CheckBox, etc. These components, with customizable styles or built-in attractive styles, enable rapid development of aesthetically pleasing websites without starting from scratch."}),"\n",(0,i.jsx)(t.p,{children:"In summary, we typically use component libraries in two scenarios:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"External tools: Directly facing company users, usually aligned with the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(t.li,{children:"Internal tools: Aimed at internal use by company employees, emphasizing design aesthetics and rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Next, we will analyze the Shadcn UI component library based on the following points:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Design"}),"\n",(0,i.jsx)(t.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(t.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(t.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(t.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,i.jsx)(t.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,i.jsx)(t.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,i.jsx)(t.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Shadcn UI is a relatively new project that gained 37k stars in less than a year, indicating its rapid recognition in the open-source community."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,i.jsx)(t.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(t.p,{children:"In terms of design, Shadcn UI leans towards a business style with a clean UI, suitable for internal tools and serious application scenarios. Shadcn UI supports custom themes, but it seems to offer customization only for:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Colors"}),"\n",(0,i.jsx)(t.li,{children:"Border radii"}),"\n",(0,i.jsx)(t.li,{children:"Dark mode / Light mode"}),"\n",(0,i.jsx)(t.li,{children:'Predefined "Default" and "New York" styles'}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"In terms of fine-grained control, such as font and font size, it appears to lack flexibility. However, for internal tool scenarios, this level of control may be sufficient, but for external tools, it might be somewhat limiting."}),"\n",(0,i.jsxs)(t.p,{children:["In terms of CSS, Shadcn UI supports both traditional CSS and CSS-in-JS, using ",(0,i.jsx)(t.a,{href:"https://stitches.dev/",children:"Stitches"})," for the CSS-in-JS solution. Traditional CSS is supported by default, but additional configuration might be needed for less and sass, and it's not out-of-the-box."]}),"\n",(0,i.jsx)(t.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(t.p,{children:"The library's feature richness completely satisfies daily development needs, with most capabilities supported and comprehensive callbacks. Shadcn UI supports crucial capabilities, including but not limited to:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"SSR"}),"\n",(0,i.jsx)(t.li,{children:"Accessibility"}),"\n",(0,i.jsx)(t.li,{children:"Animation"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"However, for more advanced requirements like extremely rich charts and high-performance tables, it seems not to be supported. With the continuous development of the project, it is expected that the project will evolve over time."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(t.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(t.p,{children:"If you are a curious open-source enthusiast, not requiring highly customized UI, and without complex data processing needs, Shadcn UI is recommended for development. It is lightweight, with simpler configuration, ready to use out-of-the-box, allowing direct development without worrying about details."}),"\n",(0,i.jsx)(t.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(t.p,{children:"If you have a high need for UI and component customization and plan to use Shadcn UI for large projects, it is not recommended. Shadcn UI's customization capabilities are not as robust, and it does not provide out-of-the-box charts and high-performance data components. In such cases, you may need to look for other open-source projects to supplement these features."})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},7214:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var i=o(959);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[9699],{1483:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=o(1527),n=o(7214);const s={slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},a=void 0,r={permalink:"/illa-website/blog/shadcn-ui-2024",source:"@site/blog/shadcn-ui-2024/shadcn-ui-2024.md",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"shadcn-ui",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"react",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:2.96,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},unlisted:!1,prevItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},nextItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"},{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(t.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(t.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive tasks. Component libraries offer a range of out-of-the-box components like Select, Input, CheckBox, etc. These components, with customizable styles or built-in attractive styles, enable rapid development of aesthetically pleasing websites without starting from scratch."}),"\n",(0,i.jsx)(t.p,{children:"In summary, we typically use component libraries in two scenarios:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"External tools: Directly facing company users, usually aligned with the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(t.li,{children:"Internal tools: Aimed at internal use by company employees, emphasizing design aesthetics and rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Next, we will analyze the Shadcn UI component library based on the following points:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Design"}),"\n",(0,i.jsx)(t.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(t.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(t.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(t.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,i.jsx)(t.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,i.jsx)(t.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,i.jsx)(t.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Shadcn UI is a relatively new project that gained 37k stars in less than a year, indicating its rapid recognition in the open-source community."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,i.jsx)(t.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(t.p,{children:"In terms of design, Shadcn UI leans towards a business style with a clean UI, suitable for internal tools and serious application scenarios. Shadcn UI supports custom themes, but it seems to offer customization only for:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Colors"}),"\n",(0,i.jsx)(t.li,{children:"Border radii"}),"\n",(0,i.jsx)(t.li,{children:"Dark mode / Light mode"}),"\n",(0,i.jsx)(t.li,{children:'Predefined "Default" and "New York" styles'}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"In terms of fine-grained control, such as font and font size, it appears to lack flexibility. However, for internal tool scenarios, this level of control may be sufficient, but for external tools, it might be somewhat limiting."}),"\n",(0,i.jsxs)(t.p,{children:["In terms of CSS, Shadcn UI supports both traditional CSS and CSS-in-JS, using ",(0,i.jsx)(t.a,{href:"https://stitches.dev/",children:"Stitches"})," for the CSS-in-JS solution. Traditional CSS is supported by default, but additional configuration might be needed for less and sass, and it's not out-of-the-box."]}),"\n",(0,i.jsx)(t.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(t.p,{children:"The library's feature richness completely satisfies daily development needs, with most capabilities supported and comprehensive callbacks. Shadcn UI supports crucial capabilities, including but not limited to:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"SSR"}),"\n",(0,i.jsx)(t.li,{children:"Accessibility"}),"\n",(0,i.jsx)(t.li,{children:"Animation"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"However, for more advanced requirements like extremely rich charts and high-performance tables, it seems not to be supported. With the continuous development of the project, it is expected that the project will evolve over time."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(t.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(t.p,{children:"If you are a curious open-source enthusiast, not requiring highly customized UI, and without complex data processing needs, Shadcn UI is recommended for development. It is lightweight, with simpler configuration, ready to use out-of-the-box, allowing direct development without worrying about details."}),"\n",(0,i.jsx)(t.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(t.p,{children:"If you have a high need for UI and component customization and plan to use Shadcn UI for large projects, it is not recommended. Shadcn UI's customization capabilities are not as robust, and it does not provide out-of-the-box charts and high-performance data components. In such cases, you may need to look for other open-source projects to supplement these features."})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},7214:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var i=o(959);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a83e123.87ad660d.js b/assets/js/4a83e123.4b7a7c32.js similarity index 99% rename from assets/js/4a83e123.87ad660d.js rename to assets/js/4a83e123.4b7a7c32.js index 857520c405..2ccd67c181 100644 --- a/assets/js/4a83e123.87ad660d.js +++ b/assets/js/4a83e123.4b7a7c32.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[6137],{8506:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var n=i(1527),o=i(7214);const t={title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},a=void 0,r={permalink:"/illa-website/blog/shadcn-vs-mui",source:"@site/blog/shadcn-ui-vs-mui/shadcn-ui-vs-mui.md",title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"}],readingTime:4.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},nextItem:{title:"Best Open-Source Low-Code Platforms in 2024",permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024"},relatedPosts:[{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Options for Internal Tool Scenarios",id:"other-options-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design-1",level:3},{value:"Richness of Features",id:"richness-of-features-1",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const s={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices."}),"\n",(0,n.jsx)(s.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,n.jsx)(s.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive work. Component libraries offer ready-to-use components such as Select, Input, CheckBox, etc., allowing users to create beautiful websites quickly without the need to build extensive foundational features from scratch."}),"\n",(0,n.jsx)(s.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"External Tools: Directly facing company users, often with a company's distinct style, emphasizing aesthetics and responsiveness."}),"\n",(0,n.jsx)(s.li,{children:"Internal Tools: For internal use by company employees, focusing on aesthetic design and rapid functionality implementation."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Next, we will analyze two component libraries based on the following criteria:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsx)(s.li,{children:"Design"}),"\n",(0,n.jsx)(s.li,{children:"Richness of Features"}),"\n",(0,n.jsx)(s.li,{children:"How to Choose for Different Scenarios"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"other-options-for-internal-tool-scenarios",children:"Other Options for Internal Tool Scenarios"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool that allows for the quick construction of internal tools using simple JavaScript without the need to create new projects."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Web & App Admin Panel"}),"\n",(0,n.jsx)(s.li,{children:"Data Dashboard"}),"\n",(0,n.jsx)(s.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Compared to building scenarios with component libraries, ILLA Cloud enables 10x faster tool construction and supports collaboration among team members for simultaneous editing."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(s.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI is a relatively new project that gained impressive recognition, achieving 37k stars in less than a year. It seems that outstanding open-source projects can easily gain widespread approval."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,n.jsx)(s.h3,{id:"design",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI leans towards a business style in its design, featuring a clean UI suitable for internal tools and serious application scenarios. Shadcn UI also supports custom themes, although it seems limited to:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Colors"}),"\n",(0,n.jsx)(s.li,{children:"Rounded corners"}),"\n",(0,n.jsx)(s.li,{children:"Dark mode / Light mode"}),"\n",(0,n.jsx)(s.li,{children:'Predefined "Default Style" and "New York Style"'}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"In terms of design details such as font and font size, the control appears limited, satisfying basic design needs. However, for external tool scenarios, it may have some limitations."}),"\n",(0,n.jsxs)(s.p,{children:["Shadcn UI supports both CSS and CSS-in-JS solutions. The CSS-in-JS solution uses ",(0,n.jsx)(s.a,{href:"https://stitches.dev/",children:"Stitches"}),", and while CSS defaults to traditional CSS, additional configuration may be needed for less and sass, and it is not out-of-the-box."]}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"The library's richness of features is sufficient for daily development needs, supporting and providing complete callbacks for most capabilities. Shadcn UI supports essential capabilities, including but not limited to SSR, accessibility, and animation. For more advanced requirements like extremely rich charts and high-performance tables, it seems not fully supported, but ongoing project development is likely to address these needs."}),"\n",(0,n.jsx)(s.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about MUI:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"As an established project, MUI has been maintained since 2014, boasting almost 10 years of stability. The high number of stars and weekly downloads ensures a continuously active community."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/mui.png",alt:"mui"})}),"\n",(0,n.jsx)(s.h3,{id:"design-1",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"In terms of design, MUI strictly adheres to Google's well-known Material Design. MUI offers extensive customization capabilities to meet most internal and external scenarios, with many well-known open-source projects using MUI for frontend development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,n.jsx)(s.p,{children:"In addition to common features like colors, rounded corners, and dark/light modes, MUI supports complete customization of fonts, font sizes, colors, padding, and margins. As a project with ten years of development, MUI's functionality is powerful."}),"\n",(0,n.jsx)(s.p,{children:"In terms of CSS support, MUI has its custom system, using emotionjs for style adjustment in the overall layout. This may involve a learning curve and may not be as developer-friendly, requiring documentation consultation for some style modifications."}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features-1",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"MUI categorizes its components into several dimensions:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"MUI Core: Basic functional components and a style system."}),"\n",(0,n.jsx)(s.li,{children:"MUI X: High-performance and complex components, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"For developing a complex system, you can use MUI's comprehensive solution. However, MUI X is a paid component library, requiring a subscription fee."}),"\n",(0,n.jsx)(s.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history, offering high customizability, making it suitable for large projects. The repository contains numerous features."}),"\n",(0,n.jsx)(s.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,n.jsx)(s.p,{children:"If you are a curious open-source enthusiast who does not need highly customized UI for product development, and there are no complex data processing requirements, Shadcn UI is recommended. It is more lightweight, simpler to configure, but less powerful. However, it is sufficient for internal tool scenarios."}),"\n",(0,n.jsx)(s.p,{children:"If you need a component library for developing large and complex projects, require intricate charts, high-performance data components, and are willing to invest in a fee without looking for additional solutions, you can choose MUI. Its powerful capabilities make it an excellent choice for developing medium to large projects."})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7214:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>a});var n=i(959);const o={},t=n.createContext(o);function a(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[6137],{8506:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var n=i(1527),o=i(7214);const t={title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},a=void 0,r={permalink:"/illa-website/blog/shadcn-vs-mui",source:"@site/blog/shadcn-ui-vs-mui/shadcn-ui-vs-mui.md",title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"}],readingTime:4.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",tags:["UI Library","Shadcn UI","React"],slug:"shadcn-vs-mui",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/cover.png"},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},nextItem:{title:"Best Open-Source Low-Code Platforms in 2024",permalink:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024"},relatedPosts:[{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Options for Internal Tool Scenarios",id:"other-options-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design-1",level:3},{value:"Richness of Features",id:"richness-of-features-1",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const s={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices."}),"\n",(0,n.jsx)(s.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,n.jsx)(s.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive work. Component libraries offer ready-to-use components such as Select, Input, CheckBox, etc., allowing users to create beautiful websites quickly without the need to build extensive foundational features from scratch."}),"\n",(0,n.jsx)(s.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"External Tools: Directly facing company users, often with a company's distinct style, emphasizing aesthetics and responsiveness."}),"\n",(0,n.jsx)(s.li,{children:"Internal Tools: For internal use by company employees, focusing on aesthetic design and rapid functionality implementation."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Next, we will analyze two component libraries based on the following criteria:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsx)(s.li,{children:"Design"}),"\n",(0,n.jsx)(s.li,{children:"Richness of Features"}),"\n",(0,n.jsx)(s.li,{children:"How to Choose for Different Scenarios"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"other-options-for-internal-tool-scenarios",children:"Other Options for Internal Tool Scenarios"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is a ready-to-use low-code tool that allows for the quick construction of internal tools using simple JavaScript without the need to create new projects."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Web & App Admin Panel"}),"\n",(0,n.jsx)(s.li,{children:"Data Dashboard"}),"\n",(0,n.jsx)(s.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Compared to building scenarios with component libraries, ILLA Cloud enables 10x faster tool construction and supports collaboration among team members for simultaneous editing."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(s.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI is a relatively new project that gained impressive recognition, achieving 37k stars in less than a year. It seems that outstanding open-source projects can easily gain widespread approval."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,n.jsx)(s.h3,{id:"design",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"Shadcn UI leans towards a business style in its design, featuring a clean UI suitable for internal tools and serious application scenarios. Shadcn UI also supports custom themes, although it seems limited to:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Colors"}),"\n",(0,n.jsx)(s.li,{children:"Rounded corners"}),"\n",(0,n.jsx)(s.li,{children:"Dark mode / Light mode"}),"\n",(0,n.jsx)(s.li,{children:'Predefined "Default Style" and "New York Style"'}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"In terms of design details such as font and font size, the control appears limited, satisfying basic design needs. However, for external tool scenarios, it may have some limitations."}),"\n",(0,n.jsxs)(s.p,{children:["Shadcn UI supports both CSS and CSS-in-JS solutions. The CSS-in-JS solution uses ",(0,n.jsx)(s.a,{href:"https://stitches.dev/",children:"Stitches"}),", and while CSS defaults to traditional CSS, additional configuration may be needed for less and sass, and it is not out-of-the-box."]}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"The library's richness of features is sufficient for daily development needs, supporting and providing complete callbacks for most capabilities. Shadcn UI supports essential capabilities, including but not limited to SSR, accessibility, and animation. For more advanced requirements like extremely rich charts and high-performance tables, it seems not fully supported, but ongoing project development is likely to address these needs."}),"\n",(0,n.jsx)(s.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,n.jsx)(s.p,{children:"Some detailed data about MUI:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,n.jsx)(s.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,n.jsx)(s.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"As an established project, MUI has been maintained since 2014, boasting almost 10 years of stability. The high number of stars and weekly downloads ensures a continuously active community."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-vs-mui/mui.png",alt:"mui"})}),"\n",(0,n.jsx)(s.h3,{id:"design-1",children:"Design"}),"\n",(0,n.jsx)(s.p,{children:"In terms of design, MUI strictly adheres to Google's well-known Material Design. MUI offers extensive customization capabilities to meet most internal and external scenarios, with many well-known open-source projects using MUI for frontend development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,n.jsx)(s.p,{children:"In addition to common features like colors, rounded corners, and dark/light modes, MUI supports complete customization of fonts, font sizes, colors, padding, and margins. As a project with ten years of development, MUI's functionality is powerful."}),"\n",(0,n.jsx)(s.p,{children:"In terms of CSS support, MUI has its custom system, using emotionjs for style adjustment in the overall layout. This may involve a learning curve and may not be as developer-friendly, requiring documentation consultation for some style modifications."}),"\n",(0,n.jsx)(s.h3,{id:"richness-of-features-1",children:"Richness of Features"}),"\n",(0,n.jsx)(s.p,{children:"MUI categorizes its components into several dimensions:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"MUI Core: Basic functional components and a style system."}),"\n",(0,n.jsx)(s.li,{children:"MUI X: High-performance and complex components, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"For developing a complex system, you can use MUI's comprehensive solution. However, MUI X is a paid component library, requiring a subscription fee."}),"\n",(0,n.jsx)(s.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history, offering high customizability, making it suitable for large projects. The repository contains numerous features."}),"\n",(0,n.jsx)(s.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,n.jsx)(s.p,{children:"If you are a curious open-source enthusiast who does not need highly customized UI for product development, and there are no complex data processing requirements, Shadcn UI is recommended. It is more lightweight, simpler to configure, but less powerful. However, it is sufficient for internal tool scenarios."}),"\n",(0,n.jsx)(s.p,{children:"If you need a component library for developing large and complex projects, require intricate charts, high-performance data components, and are willing to invest in a fee without looking for additional solutions, you can choose MUI. Its powerful capabilities make it an excellent choice for developing medium to large projects."})]})}function h(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7214:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>a});var n=i(959);const o={},t=n.createContext(o);function a(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5cd65baf.a510e86e.js b/assets/js/5cd65baf.a510e86e.js deleted file mode 100644 index cff9a20f10..0000000000 --- a/assets/js/5cd65baf.a510e86e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[9239],{9590:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var i=t(1527),n=t(7214);const s={slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},a=void 0,l={permalink:"/illa-website/blog/lowcode-vs-traditional",source:"@site/blog/lowcode-vs-traditional/lowcode-vs-traditional.md",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"low code",permalink:"/illa-website/blog/tags/low-code"},{label:"traditional development",permalink:"/illa-website/blog/tags/traditional-development"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.33,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},unlisted:!1,prevItem:{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",permalink:"/illa-website/blog/backend-create-web-ui"},nextItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},relatedPosts:[{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"When Launching a Transient Business Initiative",id:"when-launching-a-transient-business-initiative",level:2},{value:"Addressing User-Facing Components: Webflow",id:"addressing-user-facing-components-webflow",level:3},{value:"Managing Business Operations: ILLA Cloud",id:"managing-business-operations-illa-cloud",level:3},{value:"When Initiating a Novel Business Venture",id:"when-initiating-a-novel-business-venture",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach."}),"\n",(0,i.jsx)(o.h2,{id:"when-launching-a-transient-business-initiative",children:"When Launching a Transient Business Initiative"}),"\n",(0,i.jsx)(o.p,{children:"In the dynamic landscape of frequent holidays and special occasions, creating distinct online experiences becomes imperative. Each company may have its unique marketing days, requiring engaging activities. Crafting these online marketing campaigns inevitably poses a development challenge, necessitating substantial resource allocation. While the need for visually captivating designs is evident, the overall complexity may not justify significant development costs, especially when the lifecycle is limited to 1-2 weeks. In such cases, opting for low-code tools emerges as a financially prudent decision. Here, we advocate for a specific low-code solution."}),"\n",(0,i.jsx)(o.h3,{id:"addressing-user-facing-components-webflow",children:"Addressing User-Facing Components: Webflow"}),"\n",(0,i.jsx)(o.p,{children:"Webflow, with its intuitive drag-and-drop interface and designer-friendly adjustments, facilitates the creation of visually stunning landing pages. This approach allows users to interact with an aesthetically pleasing website, and remarkably, only requires the expertise of a single designer. Furthermore, Webflow offers an array of templates that can be easily customized, enabling the swift construction of an exquisite website."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/webflow.png",alt:"webflow"})}),"\n",(0,i.jsx)(o.h3,{id:"managing-business-operations-illa-cloud",children:"Managing Business Operations: ILLA Cloud"}),"\n",(0,i.jsx)(o.p,{children:"Regardless of the frontend technology used, an effective management tool is indispensable for overseeing business operations."}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com",children:"ILLA Cloud"}),", as an out-of-the-box low-code tool, empowers developers to rapidly construct internal tools using straightforward JavaScript, eliminating the need to create new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios relying on component libraries, ILLA Cloud boasts a 10x faster construction speed for the aforementioned tools. Additionally, ILLA Cloud supports collaborative editing among multiple team members, fostering efficient teamwork."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"The synergy of these two tools expedites the creation of business requirements in marketing scenarios. This synergistic approach minimizes the need for extensive development resources while addressing the demand for quick response and deployment. Consequently, it propels the business iteration speed to new heights."}),"\n",(0,i.jsx)(o.h2,{id:"when-initiating-a-novel-business-venture",children:"When Initiating a Novel Business Venture"}),"\n",(0,i.jsx)(o.p,{children:"The commencement of a project necessitates a thorough evaluation of its characteristics. For comprehensive toC products such as social platforms, gaming applications, or IM services, the recommendation leans towards traditional development methodologies. This ensures a high degree of flexibility in adapting to evolving requirements."}),"\n",(0,i.jsx)(o.p,{children:"For ventures centered around retail or services, the utilization of Shopify for frontend presentation proves advantageous. This choice guarantees widespread distribution of products while curbing development costs. Furthermore, Shopify supports customization, catering to diverse business needs effectively."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/shopify.png",alt:"shopify"})}),"\n",(0,i.jsx)(o.p,{children:"In instances where a swift development of an app or website is paramount, direct coding may offer a faster solution. Therefore, the selection of an appropriate solution heavily relies on the unique attributes of the scenario."}),"\n",(0,i.jsx)(o.p,{children:"If the backend functionality of Shopify falls short of requirements, the integration of ILLA Cloud can bridge the gap, providing a platform for customized management."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"In the decision-making process for selecting development tools, a multifaceted approach is recommended. While direct coding provides unparalleled flexibility, it does come at the cost of development speed. The strategic integration of low-code tools and SaaS solutions can yield substantial gains in productivity."}),"\n",(0,i.jsx)(o.p,{children:"For operations demanding flexibility and essential to the core business, traditional development methods remain the preferred choice. The agility and control afforded by traditional development methods result in products that are highly tailored to specific needs."}),"\n",(0,i.jsx)(o.p,{children:"Ultimately, there is no one-size-fits-all solution; the best choice is the one that aligns most closely with the unique requirements of the scenario at hand."})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,t)=>{t.d(o,{Z:()=>l,a:()=>a});var i=t(959);const n={},s=i.createContext(n);function a(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5cd65baf.e6f9c529.js b/assets/js/5cd65baf.e6f9c529.js new file mode 100644 index 0000000000..967297f883 --- /dev/null +++ b/assets/js/5cd65baf.e6f9c529.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[9239],{9590:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var i=t(1527),n=t(7214);const s={slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},a=void 0,l={permalink:"/illa-website/blog/lowcode-vs-traditional",source:"@site/blog/lowcode-vs-traditional/lowcode-vs-traditional.md",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"low code",permalink:"/illa-website/blog/tags/low-code"},{label:"traditional development",permalink:"/illa-website/blog/tags/traditional-development"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.33,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},unlisted:!1,prevItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},nextItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},relatedPosts:[{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:28:24.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"When Launching a Transient Business Initiative",id:"when-launching-a-transient-business-initiative",level:2},{value:"Addressing User-Facing Components: Webflow",id:"addressing-user-facing-components-webflow",level:3},{value:"Managing Business Operations: ILLA Cloud",id:"managing-business-operations-illa-cloud",level:3},{value:"When Initiating a Novel Business Venture",id:"when-initiating-a-novel-business-venture",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach."}),"\n",(0,i.jsx)(o.h2,{id:"when-launching-a-transient-business-initiative",children:"When Launching a Transient Business Initiative"}),"\n",(0,i.jsx)(o.p,{children:"In the dynamic landscape of frequent holidays and special occasions, creating distinct online experiences becomes imperative. Each company may have its unique marketing days, requiring engaging activities. Crafting these online marketing campaigns inevitably poses a development challenge, necessitating substantial resource allocation. While the need for visually captivating designs is evident, the overall complexity may not justify significant development costs, especially when the lifecycle is limited to 1-2 weeks. In such cases, opting for low-code tools emerges as a financially prudent decision. Here, we advocate for a specific low-code solution."}),"\n",(0,i.jsx)(o.h3,{id:"addressing-user-facing-components-webflow",children:"Addressing User-Facing Components: Webflow"}),"\n",(0,i.jsx)(o.p,{children:"Webflow, with its intuitive drag-and-drop interface and designer-friendly adjustments, facilitates the creation of visually stunning landing pages. This approach allows users to interact with an aesthetically pleasing website, and remarkably, only requires the expertise of a single designer. Furthermore, Webflow offers an array of templates that can be easily customized, enabling the swift construction of an exquisite website."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/webflow.png",alt:"webflow"})}),"\n",(0,i.jsx)(o.h3,{id:"managing-business-operations-illa-cloud",children:"Managing Business Operations: ILLA Cloud"}),"\n",(0,i.jsx)(o.p,{children:"Regardless of the frontend technology used, an effective management tool is indispensable for overseeing business operations."}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com",children:"ILLA Cloud"}),", as an out-of-the-box low-code tool, empowers developers to rapidly construct internal tools using straightforward JavaScript, eliminating the need to create new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios relying on component libraries, ILLA Cloud boasts a 10x faster construction speed for the aforementioned tools. Additionally, ILLA Cloud supports collaborative editing among multiple team members, fostering efficient teamwork."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"The synergy of these two tools expedites the creation of business requirements in marketing scenarios. This synergistic approach minimizes the need for extensive development resources while addressing the demand for quick response and deployment. Consequently, it propels the business iteration speed to new heights."}),"\n",(0,i.jsx)(o.h2,{id:"when-initiating-a-novel-business-venture",children:"When Initiating a Novel Business Venture"}),"\n",(0,i.jsx)(o.p,{children:"The commencement of a project necessitates a thorough evaluation of its characteristics. For comprehensive toC products such as social platforms, gaming applications, or IM services, the recommendation leans towards traditional development methodologies. This ensures a high degree of flexibility in adapting to evolving requirements."}),"\n",(0,i.jsx)(o.p,{children:"For ventures centered around retail or services, the utilization of Shopify for frontend presentation proves advantageous. This choice guarantees widespread distribution of products while curbing development costs. Furthermore, Shopify supports customization, catering to diverse business needs effectively."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/shopify.png",alt:"shopify"})}),"\n",(0,i.jsx)(o.p,{children:"In instances where a swift development of an app or website is paramount, direct coding may offer a faster solution. Therefore, the selection of an appropriate solution heavily relies on the unique attributes of the scenario."}),"\n",(0,i.jsx)(o.p,{children:"If the backend functionality of Shopify falls short of requirements, the integration of ILLA Cloud can bridge the gap, providing a platform for customized management."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"In the decision-making process for selecting development tools, a multifaceted approach is recommended. While direct coding provides unparalleled flexibility, it does come at the cost of development speed. The strategic integration of low-code tools and SaaS solutions can yield substantial gains in productivity."}),"\n",(0,i.jsx)(o.p,{children:"For operations demanding flexibility and essential to the core business, traditional development methods remain the preferred choice. The agility and control afforded by traditional development methods result in products that are highly tailored to specific needs."}),"\n",(0,i.jsx)(o.p,{children:"Ultimately, there is no one-size-fits-all solution; the best choice is the one that aligns most closely with the unique requirements of the scenario at hand."})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,t)=>{t.d(o,{Z:()=>l,a:()=>a});var i=t(959);const n={},s=i.createContext(n);function a(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f78ec6a.52e047f0.js b/assets/js/5f78ec6a.eefa2441.js similarity index 98% rename from assets/js/5f78ec6a.52e047f0.js rename to assets/js/5f78ec6a.eefa2441.js index da0ef1eb56..b249c8364b 100644 --- a/assets/js/5f78ec6a.52e047f0.js +++ b/assets/js/5f78ec6a.eefa2441.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[3096],{2369:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var s=o(1527),t=o(7214);const i={slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},a=void 0,l={permalink:"/illa-website/blog/nvm-use-2024",source:"@site/blog/nvm-use/nvm-use.md",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"nvm",permalink:"/illa-website/blog/tags/nvm"},{label:"nodejs",permalink:"/illa-website/blog/tags/nodejs"},{label:"mac",permalink:"/illa-website/blog/tags/mac"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:4.035,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},nextItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},relatedPosts:[{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Recommending an Open Source Project for Backend Development",id:"recommending-an-open-source-project-for-backend-development",level:2},{value:"Introduction to nvm",id:"introduction-to-nvm",level:2},{value:"Installing nvm",id:"installing-nvm",level:2},{value:"Using nvm",id:"using-nvm",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.'}),"\n",(0,s.jsx)(n.p,{children:"The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers."}),"\n",(0,s.jsx)(n.p,{children:"Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration."}),"\n",(0,s.jsx)(n.p,{children:"The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions."}),"\n",(0,s.jsx)(n.h2,{id:"recommending-an-open-source-project-for-backend-development",children:"Recommending an Open Source Project for Backend Development"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://illacloud.com",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that enables the rapid construction of internal tools using simple JS, without the need to create new projects."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Web & App Admin Panel"}),"\n",(0,s.jsx)(n.li,{children:"Data Dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster construction of the mentioned tools. Additionally, ILLA Cloud supports collaboration among multiple users, facilitating teamwork for rapid customization of backend capabilities."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/dashboard.png",alt:"dashboard"})}),"\n",(0,s.jsx)(n.h2,{id:"introduction-to-nvm",children:"Introduction to nvm"}),"\n",(0,s.jsxs)(n.p,{children:["\u23ec GitHub Repository: ",(0,s.jsx)(n.a,{href:"https://github.com/nvm-sh/nvm",children:"https://github.com/nvm-sh/nvm"})]}),"\n",(0,s.jsx)(n.p,{children:"\u2b50 GitHub Stars: 72.4k"}),"\n",(0,s.jsx)(n.p,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Dec 22, 2014"}),"\n",(0,s.jsx)(n.p,{children:'nvm is an open-source project that has been maintained for nearly 10 years. Positive reviews have kept this project robust and, through continuous maintenance, it has become a perfect solution for "Node.js version management."'}),"\n",(0,s.jsx)(n.h2,{id:"installing-nvm",children:"Installing nvm"}),"\n",(0,s.jsxs)(n.p,{children:["Since we are using a Mac for development, I strongly recommend using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," for package management and then using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," to install nvm."]}),"\n",(0,s.jsx)(n.p,{children:"To install Homebrew, it is recommended to use the installation script. It requires minimal configuration and allows immediate use. Moreover, Homebrew makes it easy to uninstall repositories cleanly if needed."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:'> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Running this command will install the latest version of Homebrew, automatically handling the installation of Xcode Command Tools in the MacOS environment."}),"\n",(0,s.jsx)(n.p,{children:"Of course, all of this is automated. Below is an installation process example."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/homebrew-install.png",alt:"homebrew_install"})}),"\n",(0,s.jsx)(n.p,{children:"After a short wait, we can proceed with the installation of nvm using the installed Homebrew."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> brew install nvm\n"})}),"\n",(0,s.jsx)(n.p,{children:"After confirming agreement, nvm will be completely installed. If you decide you don't want it anymore, you can use the following command to uninstall:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# delete nvm if you don't need it.\n> brew uninstall nvm\n"})}),"\n",(0,s.jsx)(n.h2,{id:"using-nvm",children:"Using nvm"}),"\n",(0,s.jsx)(n.p,{children:"Once nvm is installed, here are some commonly used commands to help you get started. These commands should fulfill your daily needs."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm list\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "list" command displays various mainstream Node.js versions. You can install versions according to your needs, and it will also show the currently used Node.js version on your machine. It will display some codenames.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-list.png",alt:"nvm_list"})}),"\n",(0,s.jsx)(n.p,{children:'For example, "lts/gallim" is the version name for Node.js v16. To install using this codename, nvm will automatically install the latest version of v16. It\'s quite convenient. You can also use this command to check the currently used version.'}),"\n",(0,s.jsx)(n.p,{children:"Another command allows you to check the current Node.js version:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> node --version\n"})}),"\n",(0,s.jsx)(n.p,{children:"After entering this command, you can verify whether the Node.js version has been successfully switched."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm install stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The second command installs a specific Node.js version; "stable" refers to a specific version number. You can also use the codename for a particular version. For example, to install "Node.js 18," you would use "nvm install 18." Here, I\'m installing the "stable" version. nvm will automatically determine the latest Stable version and install it for me. After successful installation, it will automatically switch to the installed version.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/stable-install.png",alt:"stable-install"})}),"\n",(0,s.jsx)(n.p,{children:"Where there's an installation command, there's also an uninstallation command. Use:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm uninstall stable\n"})}),"\n",(0,s.jsx)(n.p,{children:"To delete the corresponding version."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-uninstall.png",alt:"nvm-uninstall"})}),"\n",(0,s.jsx)(n.p,{children:"Once you've learned how to install and uninstall, the next important step is version switching."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm use stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "use" command allows you to quickly switch between Node.js versions currently in use. You can also use the "stable" codename. This way, you can quickly switch between versions for different projects.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-use.png",alt:"nvm-use"})}),"\n",(0,s.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(n.p,{children:"This article has explained the entire process for a beginner, from installing to using nvm. You can quickly try it out and better manage your Node.js versions."}),"\n",(0,s.jsx)(n.p,{children:"Node.js version management is a long-discussed issue, and nvm is an excellent open-source project that effectively addresses this problem. Of course, no project is perfect. If you have other recommendations, feel free to leave a comment and let more people know about outstanding projects\u2014that's the mission of open-source enthusiasts!"})]})}function m(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},7214:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var s=o(959);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[3096],{2369:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var s=o(1527),t=o(7214);const i={slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},a=void 0,l={permalink:"/illa-website/blog/nvm-use-2024",source:"@site/blog/nvm-use/nvm-use.md",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"nvm",permalink:"/illa-website/blog/tags/nvm"},{label:"nodejs",permalink:"/illa-website/blog/tags/nodejs"},{label:"mac",permalink:"/illa-website/blog/tags/mac"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:4.035,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},nextItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},relatedPosts:[{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Recommending an Open Source Project for Backend Development",id:"recommending-an-open-source-project-for-backend-development",level:2},{value:"Introduction to nvm",id:"introduction-to-nvm",level:2},{value:"Installing nvm",id:"installing-nvm",level:2},{value:"Using nvm",id:"using-nvm",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.'}),"\n",(0,s.jsx)(n.p,{children:"The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers."}),"\n",(0,s.jsx)(n.p,{children:"Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration."}),"\n",(0,s.jsx)(n.p,{children:"The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions."}),"\n",(0,s.jsx)(n.h2,{id:"recommending-an-open-source-project-for-backend-development",children:"Recommending an Open Source Project for Backend Development"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://illacloud.com",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that enables the rapid construction of internal tools using simple JS, without the need to create new projects."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Web & App Admin Panel"}),"\n",(0,s.jsx)(n.li,{children:"Data Dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster construction of the mentioned tools. Additionally, ILLA Cloud supports collaboration among multiple users, facilitating teamwork for rapid customization of backend capabilities."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/dashboard.png",alt:"dashboard"})}),"\n",(0,s.jsx)(n.h2,{id:"introduction-to-nvm",children:"Introduction to nvm"}),"\n",(0,s.jsxs)(n.p,{children:["\u23ec GitHub Repository: ",(0,s.jsx)(n.a,{href:"https://github.com/nvm-sh/nvm",children:"https://github.com/nvm-sh/nvm"})]}),"\n",(0,s.jsx)(n.p,{children:"\u2b50 GitHub Stars: 72.4k"}),"\n",(0,s.jsx)(n.p,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Dec 22, 2014"}),"\n",(0,s.jsx)(n.p,{children:'nvm is an open-source project that has been maintained for nearly 10 years. Positive reviews have kept this project robust and, through continuous maintenance, it has become a perfect solution for "Node.js version management."'}),"\n",(0,s.jsx)(n.h2,{id:"installing-nvm",children:"Installing nvm"}),"\n",(0,s.jsxs)(n.p,{children:["Since we are using a Mac for development, I strongly recommend using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," for package management and then using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," to install nvm."]}),"\n",(0,s.jsx)(n.p,{children:"To install Homebrew, it is recommended to use the installation script. It requires minimal configuration and allows immediate use. Moreover, Homebrew makes it easy to uninstall repositories cleanly if needed."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:'> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Running this command will install the latest version of Homebrew, automatically handling the installation of Xcode Command Tools in the MacOS environment."}),"\n",(0,s.jsx)(n.p,{children:"Of course, all of this is automated. Below is an installation process example."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/homebrew-install.png",alt:"homebrew_install"})}),"\n",(0,s.jsx)(n.p,{children:"After a short wait, we can proceed with the installation of nvm using the installed Homebrew."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> brew install nvm\n"})}),"\n",(0,s.jsx)(n.p,{children:"After confirming agreement, nvm will be completely installed. If you decide you don't want it anymore, you can use the following command to uninstall:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# delete nvm if you don't need it.\n> brew uninstall nvm\n"})}),"\n",(0,s.jsx)(n.h2,{id:"using-nvm",children:"Using nvm"}),"\n",(0,s.jsx)(n.p,{children:"Once nvm is installed, here are some commonly used commands to help you get started. These commands should fulfill your daily needs."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm list\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "list" command displays various mainstream Node.js versions. You can install versions according to your needs, and it will also show the currently used Node.js version on your machine. It will display some codenames.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-list.png",alt:"nvm_list"})}),"\n",(0,s.jsx)(n.p,{children:'For example, "lts/gallim" is the version name for Node.js v16. To install using this codename, nvm will automatically install the latest version of v16. It\'s quite convenient. You can also use this command to check the currently used version.'}),"\n",(0,s.jsx)(n.p,{children:"Another command allows you to check the current Node.js version:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> node --version\n"})}),"\n",(0,s.jsx)(n.p,{children:"After entering this command, you can verify whether the Node.js version has been successfully switched."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm install stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The second command installs a specific Node.js version; "stable" refers to a specific version number. You can also use the codename for a particular version. For example, to install "Node.js 18," you would use "nvm install 18." Here, I\'m installing the "stable" version. nvm will automatically determine the latest Stable version and install it for me. After successful installation, it will automatically switch to the installed version.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/stable-install.png",alt:"stable-install"})}),"\n",(0,s.jsx)(n.p,{children:"Where there's an installation command, there's also an uninstallation command. Use:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm uninstall stable\n"})}),"\n",(0,s.jsx)(n.p,{children:"To delete the corresponding version."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-uninstall.png",alt:"nvm-uninstall"})}),"\n",(0,s.jsx)(n.p,{children:"Once you've learned how to install and uninstall, the next important step is version switching."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm use stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "use" command allows you to quickly switch between Node.js versions currently in use. You can also use the "stable" codename. This way, you can quickly switch between versions for different projects.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-use.png",alt:"nvm-use"})}),"\n",(0,s.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(n.p,{children:"This article has explained the entire process for a beginner, from installing to using nvm. You can quickly try it out and better manage your Node.js versions."}),"\n",(0,s.jsx)(n.p,{children:"Node.js version management is a long-discussed issue, and nvm is an excellent open-source project that effectively addresses this problem. Of course, no project is perfect. If you have other recommendations, feel free to leave a comment and let more people know about outstanding projects\u2014that's the mission of open-source enthusiasts!"})]})}function m(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},7214:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var s=o(959);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6d69edbe.6c5927fc.js b/assets/js/6d69edbe.e648c40c.js similarity index 98% rename from assets/js/6d69edbe.6c5927fc.js rename to assets/js/6d69edbe.e648c40c.js index 1e4a010475..b491f0accb 100644 --- a/assets/js/6d69edbe.6c5927fc.js +++ b/assets/js/6d69edbe.e648c40c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[8876],{5391:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var s=o(1527),t=o(7214);const i={slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},a=void 0,l={permalink:"/illa-website/blog/nvm-use-2024",source:"@site/blog/nvm-use/nvm-use.md",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"nvm",permalink:"/illa-website/blog/tags/nvm"},{label:"nodejs",permalink:"/illa-website/blog/tags/nodejs"},{label:"mac",permalink:"/illa-website/blog/tags/mac"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:4.035,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},nextItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},relatedPosts:[{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Recommending an Open Source Project for Backend Development",id:"recommending-an-open-source-project-for-backend-development",level:2},{value:"Introduction to nvm",id:"introduction-to-nvm",level:2},{value:"Installing nvm",id:"installing-nvm",level:2},{value:"Using nvm",id:"using-nvm",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.'}),"\n",(0,s.jsx)(n.p,{children:"The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers."}),"\n",(0,s.jsx)(n.p,{children:"Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration."}),"\n",(0,s.jsx)(n.p,{children:"The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions."}),"\n",(0,s.jsx)(n.h2,{id:"recommending-an-open-source-project-for-backend-development",children:"Recommending an Open Source Project for Backend Development"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://illacloud.com",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that enables the rapid construction of internal tools using simple JS, without the need to create new projects."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Web & App Admin Panel"}),"\n",(0,s.jsx)(n.li,{children:"Data Dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster construction of the mentioned tools. Additionally, ILLA Cloud supports collaboration among multiple users, facilitating teamwork for rapid customization of backend capabilities."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/dashboard.png",alt:"dashboard"})}),"\n",(0,s.jsx)(n.h2,{id:"introduction-to-nvm",children:"Introduction to nvm"}),"\n",(0,s.jsxs)(n.p,{children:["\u23ec GitHub Repository: ",(0,s.jsx)(n.a,{href:"https://github.com/nvm-sh/nvm",children:"https://github.com/nvm-sh/nvm"})]}),"\n",(0,s.jsx)(n.p,{children:"\u2b50 GitHub Stars: 72.4k"}),"\n",(0,s.jsx)(n.p,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Dec 22, 2014"}),"\n",(0,s.jsx)(n.p,{children:'nvm is an open-source project that has been maintained for nearly 10 years. Positive reviews have kept this project robust and, through continuous maintenance, it has become a perfect solution for "Node.js version management."'}),"\n",(0,s.jsx)(n.h2,{id:"installing-nvm",children:"Installing nvm"}),"\n",(0,s.jsxs)(n.p,{children:["Since we are using a Mac for development, I strongly recommend using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," for package management and then using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," to install nvm."]}),"\n",(0,s.jsx)(n.p,{children:"To install Homebrew, it is recommended to use the installation script. It requires minimal configuration and allows immediate use. Moreover, Homebrew makes it easy to uninstall repositories cleanly if needed."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:'> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Running this command will install the latest version of Homebrew, automatically handling the installation of Xcode Command Tools in the MacOS environment."}),"\n",(0,s.jsx)(n.p,{children:"Of course, all of this is automated. Below is an installation process example."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/homebrew-install.png",alt:"homebrew_install"})}),"\n",(0,s.jsx)(n.p,{children:"After a short wait, we can proceed with the installation of nvm using the installed Homebrew."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> brew install nvm\n"})}),"\n",(0,s.jsx)(n.p,{children:"After confirming agreement, nvm will be completely installed. If you decide you don't want it anymore, you can use the following command to uninstall:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# delete nvm if you don't need it.\n> brew uninstall nvm\n"})}),"\n",(0,s.jsx)(n.h2,{id:"using-nvm",children:"Using nvm"}),"\n",(0,s.jsx)(n.p,{children:"Once nvm is installed, here are some commonly used commands to help you get started. These commands should fulfill your daily needs."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm list\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "list" command displays various mainstream Node.js versions. You can install versions according to your needs, and it will also show the currently used Node.js version on your machine. It will display some codenames.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-list.png",alt:"nvm_list"})}),"\n",(0,s.jsx)(n.p,{children:'For example, "lts/gallim" is the version name for Node.js v16. To install using this codename, nvm will automatically install the latest version of v16. It\'s quite convenient. You can also use this command to check the currently used version.'}),"\n",(0,s.jsx)(n.p,{children:"Another command allows you to check the current Node.js version:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> node --version\n"})}),"\n",(0,s.jsx)(n.p,{children:"After entering this command, you can verify whether the Node.js version has been successfully switched."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm install stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The second command installs a specific Node.js version; "stable" refers to a specific version number. You can also use the codename for a particular version. For example, to install "Node.js 18," you would use "nvm install 18." Here, I\'m installing the "stable" version. nvm will automatically determine the latest Stable version and install it for me. After successful installation, it will automatically switch to the installed version.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/stable-install.png",alt:"stable-install"})}),"\n",(0,s.jsx)(n.p,{children:"Where there's an installation command, there's also an uninstallation command. Use:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm uninstall stable\n"})}),"\n",(0,s.jsx)(n.p,{children:"To delete the corresponding version."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-uninstall.png",alt:"nvm-uninstall"})}),"\n",(0,s.jsx)(n.p,{children:"Once you've learned how to install and uninstall, the next important step is version switching."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm use stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "use" command allows you to quickly switch between Node.js versions currently in use. You can also use the "stable" codename. This way, you can quickly switch between versions for different projects.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-use.png",alt:"nvm-use"})}),"\n",(0,s.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(n.p,{children:"This article has explained the entire process for a beginner, from installing to using nvm. You can quickly try it out and better manage your Node.js versions."}),"\n",(0,s.jsx)(n.p,{children:"Node.js version management is a long-discussed issue, and nvm is an excellent open-source project that effectively addresses this problem. Of course, no project is perfect. If you have other recommendations, feel free to leave a comment and let more people know about outstanding projects\u2014that's the mission of open-source enthusiasts!"})]})}function m(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},7214:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var s=o(959);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[8876],{5391:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var s=o(1527),t=o(7214);const i={slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},a=void 0,l={permalink:"/illa-website/blog/nvm-use-2024",source:"@site/blog/nvm-use/nvm-use.md",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"nvm",permalink:"/illa-website/blog/tags/nvm"},{label:"nodejs",permalink:"/illa-website/blog/tags/nodejs"},{label:"mac",permalink:"/illa-website/blog/tags/mac"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:4.035,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"nvm-use-2024",title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/nvm-use/cover.png",tags:["nvm","nodejs","mac","javascript"]},unlisted:!1,prevItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},nextItem:{title:"2024 has arrived, should I choose Shadcn UI?",permalink:"/illa-website/blog/shadcn-ui-2024"},relatedPosts:[{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"Recommending an Open Source Project for Backend Development",id:"recommending-an-open-source-project-for-backend-development",level:2},{value:"Introduction to nvm",id:"introduction-to-nvm",level:2},{value:"Installing nvm",id:"installing-nvm",level:2},{value:"Using nvm",id:"using-nvm",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.'}),"\n",(0,s.jsx)(n.p,{children:"The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers."}),"\n",(0,s.jsx)(n.p,{children:"Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration."}),"\n",(0,s.jsx)(n.p,{children:"The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions."}),"\n",(0,s.jsx)(n.h2,{id:"recommending-an-open-source-project-for-backend-development",children:"Recommending an Open Source Project for Backend Development"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://illacloud.com",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that enables the rapid construction of internal tools using simple JS, without the need to create new projects."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Web & App Admin Panel"}),"\n",(0,s.jsx)(n.li,{children:"Data Dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compared to scenarios built with component libraries, ILLA Cloud allows for 10x faster construction of the mentioned tools. Additionally, ILLA Cloud supports collaboration among multiple users, facilitating teamwork for rapid customization of backend capabilities."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/dashboard.png",alt:"dashboard"})}),"\n",(0,s.jsx)(n.h2,{id:"introduction-to-nvm",children:"Introduction to nvm"}),"\n",(0,s.jsxs)(n.p,{children:["\u23ec GitHub Repository: ",(0,s.jsx)(n.a,{href:"https://github.com/nvm-sh/nvm",children:"https://github.com/nvm-sh/nvm"})]}),"\n",(0,s.jsx)(n.p,{children:"\u2b50 GitHub Stars: 72.4k"}),"\n",(0,s.jsx)(n.p,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Dec 22, 2014"}),"\n",(0,s.jsx)(n.p,{children:'nvm is an open-source project that has been maintained for nearly 10 years. Positive reviews have kept this project robust and, through continuous maintenance, it has become a perfect solution for "Node.js version management."'}),"\n",(0,s.jsx)(n.h2,{id:"installing-nvm",children:"Installing nvm"}),"\n",(0,s.jsxs)(n.p,{children:["Since we are using a Mac for development, I strongly recommend using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," for package management and then using ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"})," to install nvm."]}),"\n",(0,s.jsx)(n.p,{children:"To install Homebrew, it is recommended to use the installation script. It requires minimal configuration and allows immediate use. Moreover, Homebrew makes it easy to uninstall repositories cleanly if needed."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:'> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Running this command will install the latest version of Homebrew, automatically handling the installation of Xcode Command Tools in the MacOS environment."}),"\n",(0,s.jsx)(n.p,{children:"Of course, all of this is automated. Below is an installation process example."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/homebrew-install.png",alt:"homebrew_install"})}),"\n",(0,s.jsx)(n.p,{children:"After a short wait, we can proceed with the installation of nvm using the installed Homebrew."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> brew install nvm\n"})}),"\n",(0,s.jsx)(n.p,{children:"After confirming agreement, nvm will be completely installed. If you decide you don't want it anymore, you can use the following command to uninstall:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# delete nvm if you don't need it.\n> brew uninstall nvm\n"})}),"\n",(0,s.jsx)(n.h2,{id:"using-nvm",children:"Using nvm"}),"\n",(0,s.jsx)(n.p,{children:"Once nvm is installed, here are some commonly used commands to help you get started. These commands should fulfill your daily needs."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm list\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "list" command displays various mainstream Node.js versions. You can install versions according to your needs, and it will also show the currently used Node.js version on your machine. It will display some codenames.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-list.png",alt:"nvm_list"})}),"\n",(0,s.jsx)(n.p,{children:'For example, "lts/gallim" is the version name for Node.js v16. To install using this codename, nvm will automatically install the latest version of v16. It\'s quite convenient. You can also use this command to check the currently used version.'}),"\n",(0,s.jsx)(n.p,{children:"Another command allows you to check the current Node.js version:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> node --version\n"})}),"\n",(0,s.jsx)(n.p,{children:"After entering this command, you can verify whether the Node.js version has been successfully switched."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm install stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The second command installs a specific Node.js version; "stable" refers to a specific version number. You can also use the codename for a particular version. For example, to install "Node.js 18," you would use "nvm install 18." Here, I\'m installing the "stable" version. nvm will automatically determine the latest Stable version and install it for me. After successful installation, it will automatically switch to the installed version.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/stable-install.png",alt:"stable-install"})}),"\n",(0,s.jsx)(n.p,{children:"Where there's an installation command, there's also an uninstallation command. Use:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm uninstall stable\n"})}),"\n",(0,s.jsx)(n.p,{children:"To delete the corresponding version."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-uninstall.png",alt:"nvm-uninstall"})}),"\n",(0,s.jsx)(n.p,{children:"Once you've learned how to install and uninstall, the next important step is version switching."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"> nvm use stable\n"})}),"\n",(0,s.jsx)(n.p,{children:'The "use" command allows you to quickly switch between Node.js versions currently in use. You can also use the "stable" codename. This way, you can quickly switch between versions for different projects.'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://cdn.illacloud.com/illa-website/blog/nvm-use/nvm-use.png",alt:"nvm-use"})}),"\n",(0,s.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(n.p,{children:"This article has explained the entire process for a beginner, from installing to using nvm. You can quickly try it out and better manage your Node.js versions."}),"\n",(0,s.jsx)(n.p,{children:"Node.js version management is a long-discussed issue, and nvm is an excellent open-source project that effectively addresses this problem. Of course, no project is perfect. If you have other recommendations, feel free to leave a comment and let more people know about outstanding projects\u2014that's the mission of open-source enthusiasts!"})]})}function m(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},7214:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var s=o(959);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/72d3bf7a.579d4e73.js b/assets/js/72d3bf7a.579d4e73.js deleted file mode 100644 index 8a5ee46108..0000000000 --- a/assets/js/72d3bf7a.579d4e73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[4808],{2685:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var i=t(1527),n=t(7214);const s={slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},a=void 0,l={permalink:"/illa-website/blog/lowcode-vs-traditional",source:"@site/blog/lowcode-vs-traditional/lowcode-vs-traditional.md",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"low code",permalink:"/illa-website/blog/tags/low-code"},{label:"traditional development",permalink:"/illa-website/blog/tags/traditional-development"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.33,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},unlisted:!1,prevItem:{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",permalink:"/illa-website/blog/backend-create-web-ui"},nextItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},relatedPosts:[{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"},{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"When Launching a Transient Business Initiative",id:"when-launching-a-transient-business-initiative",level:2},{value:"Addressing User-Facing Components: Webflow",id:"addressing-user-facing-components-webflow",level:3},{value:"Managing Business Operations: ILLA Cloud",id:"managing-business-operations-illa-cloud",level:3},{value:"When Initiating a Novel Business Venture",id:"when-initiating-a-novel-business-venture",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach."}),"\n",(0,i.jsx)(o.h2,{id:"when-launching-a-transient-business-initiative",children:"When Launching a Transient Business Initiative"}),"\n",(0,i.jsx)(o.p,{children:"In the dynamic landscape of frequent holidays and special occasions, creating distinct online experiences becomes imperative. Each company may have its unique marketing days, requiring engaging activities. Crafting these online marketing campaigns inevitably poses a development challenge, necessitating substantial resource allocation. While the need for visually captivating designs is evident, the overall complexity may not justify significant development costs, especially when the lifecycle is limited to 1-2 weeks. In such cases, opting for low-code tools emerges as a financially prudent decision. Here, we advocate for a specific low-code solution."}),"\n",(0,i.jsx)(o.h3,{id:"addressing-user-facing-components-webflow",children:"Addressing User-Facing Components: Webflow"}),"\n",(0,i.jsx)(o.p,{children:"Webflow, with its intuitive drag-and-drop interface and designer-friendly adjustments, facilitates the creation of visually stunning landing pages. This approach allows users to interact with an aesthetically pleasing website, and remarkably, only requires the expertise of a single designer. Furthermore, Webflow offers an array of templates that can be easily customized, enabling the swift construction of an exquisite website."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/webflow.png",alt:"webflow"})}),"\n",(0,i.jsx)(o.h3,{id:"managing-business-operations-illa-cloud",children:"Managing Business Operations: ILLA Cloud"}),"\n",(0,i.jsx)(o.p,{children:"Regardless of the frontend technology used, an effective management tool is indispensable for overseeing business operations."}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com",children:"ILLA Cloud"}),", as an out-of-the-box low-code tool, empowers developers to rapidly construct internal tools using straightforward JavaScript, eliminating the need to create new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios relying on component libraries, ILLA Cloud boasts a 10x faster construction speed for the aforementioned tools. Additionally, ILLA Cloud supports collaborative editing among multiple team members, fostering efficient teamwork."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"The synergy of these two tools expedites the creation of business requirements in marketing scenarios. This synergistic approach minimizes the need for extensive development resources while addressing the demand for quick response and deployment. Consequently, it propels the business iteration speed to new heights."}),"\n",(0,i.jsx)(o.h2,{id:"when-initiating-a-novel-business-venture",children:"When Initiating a Novel Business Venture"}),"\n",(0,i.jsx)(o.p,{children:"The commencement of a project necessitates a thorough evaluation of its characteristics. For comprehensive toC products such as social platforms, gaming applications, or IM services, the recommendation leans towards traditional development methodologies. This ensures a high degree of flexibility in adapting to evolving requirements."}),"\n",(0,i.jsx)(o.p,{children:"For ventures centered around retail or services, the utilization of Shopify for frontend presentation proves advantageous. This choice guarantees widespread distribution of products while curbing development costs. Furthermore, Shopify supports customization, catering to diverse business needs effectively."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/shopify.png",alt:"shopify"})}),"\n",(0,i.jsx)(o.p,{children:"In instances where a swift development of an app or website is paramount, direct coding may offer a faster solution. Therefore, the selection of an appropriate solution heavily relies on the unique attributes of the scenario."}),"\n",(0,i.jsx)(o.p,{children:"If the backend functionality of Shopify falls short of requirements, the integration of ILLA Cloud can bridge the gap, providing a platform for customized management."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"In the decision-making process for selecting development tools, a multifaceted approach is recommended. While direct coding provides unparalleled flexibility, it does come at the cost of development speed. The strategic integration of low-code tools and SaaS solutions can yield substantial gains in productivity."}),"\n",(0,i.jsx)(o.p,{children:"For operations demanding flexibility and essential to the core business, traditional development methods remain the preferred choice. The agility and control afforded by traditional development methods result in products that are highly tailored to specific needs."}),"\n",(0,i.jsx)(o.p,{children:"Ultimately, there is no one-size-fits-all solution; the best choice is the one that aligns most closely with the unique requirements of the scenario at hand."})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,t)=>{t.d(o,{Z:()=>l,a:()=>a});var i=t(959);const n={},s=i.createContext(n);function a(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/72d3bf7a.d3ba1667.js b/assets/js/72d3bf7a.d3ba1667.js new file mode 100644 index 0000000000..f12fec00a0 --- /dev/null +++ b/assets/js/72d3bf7a.d3ba1667.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[4808],{2685:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var i=t(1527),n=t(7214);const s={slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},a=void 0,l={permalink:"/illa-website/blog/lowcode-vs-traditional",source:"@site/blog/lowcode-vs-traditional/lowcode-vs-traditional.md",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"low code",permalink:"/illa-website/blog/tags/low-code"},{label:"traditional development",permalink:"/illa-website/blog/tags/traditional-development"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.33,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"lowcode-vs-traditional",title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",authors:"owen",image:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/cover.png",tags:["low code","traditional development","javascript"],is_featured:!0},unlisted:!1,prevItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},nextItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},relatedPosts:[{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:28:24.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},c=[{value:"When Launching a Transient Business Initiative",id:"when-launching-a-transient-business-initiative",level:2},{value:"Addressing User-Facing Components: Webflow",id:"addressing-user-facing-components-webflow",level:3},{value:"Managing Business Operations: ILLA Cloud",id:"managing-business-operations-illa-cloud",level:3},{value:"When Initiating a Novel Business Venture",id:"when-initiating-a-novel-business-venture",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const o={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach."}),"\n",(0,i.jsx)(o.h2,{id:"when-launching-a-transient-business-initiative",children:"When Launching a Transient Business Initiative"}),"\n",(0,i.jsx)(o.p,{children:"In the dynamic landscape of frequent holidays and special occasions, creating distinct online experiences becomes imperative. Each company may have its unique marketing days, requiring engaging activities. Crafting these online marketing campaigns inevitably poses a development challenge, necessitating substantial resource allocation. While the need for visually captivating designs is evident, the overall complexity may not justify significant development costs, especially when the lifecycle is limited to 1-2 weeks. In such cases, opting for low-code tools emerges as a financially prudent decision. Here, we advocate for a specific low-code solution."}),"\n",(0,i.jsx)(o.h3,{id:"addressing-user-facing-components-webflow",children:"Addressing User-Facing Components: Webflow"}),"\n",(0,i.jsx)(o.p,{children:"Webflow, with its intuitive drag-and-drop interface and designer-friendly adjustments, facilitates the creation of visually stunning landing pages. This approach allows users to interact with an aesthetically pleasing website, and remarkably, only requires the expertise of a single designer. Furthermore, Webflow offers an array of templates that can be easily customized, enabling the swift construction of an exquisite website."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/webflow.png",alt:"webflow"})}),"\n",(0,i.jsx)(o.h3,{id:"managing-business-operations-illa-cloud",children:"Managing Business Operations: ILLA Cloud"}),"\n",(0,i.jsx)(o.p,{children:"Regardless of the frontend technology used, an effective management tool is indispensable for overseeing business operations."}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com",children:"ILLA Cloud"}),", as an out-of-the-box low-code tool, empowers developers to rapidly construct internal tools using straightforward JavaScript, eliminating the need to create new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to scenarios relying on component libraries, ILLA Cloud boasts a 10x faster construction speed for the aforementioned tools. Additionally, ILLA Cloud supports collaborative editing among multiple team members, fostering efficient teamwork."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.p,{children:"The synergy of these two tools expedites the creation of business requirements in marketing scenarios. This synergistic approach minimizes the need for extensive development resources while addressing the demand for quick response and deployment. Consequently, it propels the business iteration speed to new heights."}),"\n",(0,i.jsx)(o.h2,{id:"when-initiating-a-novel-business-venture",children:"When Initiating a Novel Business Venture"}),"\n",(0,i.jsx)(o.p,{children:"The commencement of a project necessitates a thorough evaluation of its characteristics. For comprehensive toC products such as social platforms, gaming applications, or IM services, the recommendation leans towards traditional development methodologies. This ensures a high degree of flexibility in adapting to evolving requirements."}),"\n",(0,i.jsx)(o.p,{children:"For ventures centered around retail or services, the utilization of Shopify for frontend presentation proves advantageous. This choice guarantees widespread distribution of products while curbing development costs. Furthermore, Shopify supports customization, catering to diverse business needs effectively."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/lowcode-vs-traditional/shopify.png",alt:"shopify"})}),"\n",(0,i.jsx)(o.p,{children:"In instances where a swift development of an app or website is paramount, direct coding may offer a faster solution. Therefore, the selection of an appropriate solution heavily relies on the unique attributes of the scenario."}),"\n",(0,i.jsx)(o.p,{children:"If the backend functionality of Shopify falls short of requirements, the integration of ILLA Cloud can bridge the gap, providing a platform for customized management."}),"\n",(0,i.jsx)(o.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(o.p,{children:"In the decision-making process for selecting development tools, a multifaceted approach is recommended. While direct coding provides unparalleled flexibility, it does come at the cost of development speed. The strategic integration of low-code tools and SaaS solutions can yield substantial gains in productivity."}),"\n",(0,i.jsx)(o.p,{children:"For operations demanding flexibility and essential to the core business, traditional development methods remain the preferred choice. The agility and control afforded by traditional development methods result in products that are highly tailored to specific needs."}),"\n",(0,i.jsx)(o.p,{children:"Ultimately, there is no one-size-fits-all solution; the best choice is the one that aligns most closely with the unique requirements of the scenario at hand."})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,t)=>{t.d(o,{Z:()=>l,a:()=>a});var i=t(959);const n={},s=i.createContext(n);function a(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/88d8af9f.4464c94b.js b/assets/js/88d8af9f.4464c94b.js deleted file mode 100644 index f6f4f68f0d..0000000000 --- a/assets/js/88d8af9f.4464c94b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5038],{9129:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=t(1527),n=t(7214);const s={title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},a=void 0,r={permalink:"/illa-website/blog/mui-2024",source:"@site/blog/mui-2024/mui.md",title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.265,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},unlisted:!1,prevItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},nextItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},relatedPosts:[{title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",permalink:"/illa-website/blog/shadcn-ui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:2.96,date:"2024-01-03T15:08:52.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:08:52.000Z"},{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const o={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains highly prosperous. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(o.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(o.p,{children:"In general, every company building web applications tends to select a component library. These libraries address a significant amount of repetitive work, offering readily usable components such as Select, Input, CheckBox, and more. These components, customizable through styles or pre-existing attractive styles, enable the rapid creation of beautiful websites without the need to build extensive foundational features from scratch."}),"\n",(0,i.jsx)(o.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"External tools: Directly targeted at company users, usually adhering to the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(o.li,{children:"Internal tools: Aimed at internal use by company employees, focusing on aesthetic design while prioritizing rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Next, we will analyze two component libraries based on the following points:"}),"\n",(0,i.jsxs)(o.ol,{children:["\n",(0,i.jsx)(o.li,{children:"Design"}),"\n",(0,i.jsx)(o.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(o.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(o.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(o.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(o.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,i.jsx)(o.p,{children:"Some detailed data about MUI:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,i.jsx)(o.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,i.jsx)(o.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"MUI, as a longstanding project maintained since 2014, boasts almost a decade of stability. Its high star count and weekly download numbers ensure that the community remains consistently active."}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/mui.png",alt:"mui"})}),"\n",(0,i.jsx)(o.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(o.p,{children:"In terms of design, MUI strictly adheres to Google's renowned Material Design. MUI's customization capabilities are extensive, catering to a wide range of internal and external scenarios. Many well-known open-source projects use MUI for front-end development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,i.jsx)(o.p,{children:"In addition to common features like:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"Colors"}),"\n",(0,i.jsx)(o.li,{children:"Border radii"}),"\n",(0,i.jsx)(o.li,{children:"Dark mode / Light mode"}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"MUI supports complete configurations of fonts, font sizes, colors, and margins, making it a powerful tool as a project with ten years of development."}),"\n",(0,i.jsx)(o.p,{children:"Regarding CSS support, MUI has its custom system, utilizing emotionjs for style adjustments in the overall layout. This may come with a learning curve and may not be as developer-friendly for direct development, requiring documentation consultation for certain style modifications."}),"\n",(0,i.jsx)(o.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(o.p,{children:"MUI's component types are highly complex, divided into several dimensions:"}),"\n",(0,i.jsx)(o.p,{children:"These include:"}),"\n",(0,i.jsxs)(o.ul,{children:["\n",(0,i.jsx)(o.li,{children:"MUI Core: Basic functional components of MUI, including a multitude of foundational components and a style system."}),"\n",(0,i.jsx)(o.li,{children:"MUI X: High-performance and complex components of MUI, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,i.jsx)(o.p,{children:"If you are developing a highly complex system, you can use MUI's full suite solution. However, MUI X is a paid component library, and a subscription fee may be required."}),"\n",(0,i.jsx)(o.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history. Its high customizability makes it suitable for large projects. In the MUI repository, you can find a wealth of features."}),"\n",(0,i.jsx)(o.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(o.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(o.p,{children:"If you want to develop large projects, have high customization requirements, and wish to use high-performance data components and chart components, especially in scenarios with high business complexity and are willing to subscribe to MUI X, it is recommended to use MUI for development. Its flexible configuration and plethora of components can fully meet your requirements."}),"\n",(0,i.jsx)(o.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(o.p,{children:"If you need a lightweight framework and prefer to use a CSS-only solution for layout adjustments, it is not recommended here. MUI has a comprehensive proprietary design system, comes with a certain learning curve, and Material Design's aesthetics may not suit everyone. In such cases, exploring other open-source repositories might be more suitable."})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,o,t)=>{t.d(o,{Z:()=>r,a:()=>a});var i=t(959);const n={},s=i.createContext(n);function a(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/88d8af9f.93f1c73b.js b/assets/js/88d8af9f.93f1c73b.js new file mode 100644 index 0000000000..f44f26047c --- /dev/null +++ b/assets/js/88d8af9f.93f1c73b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5038],{9129:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=o(1527),n=o(7214);const s={title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},a=void 0,r={permalink:"/illa-website/blog/mui-2024",source:"@site/blog/mui-2024/mui.md",title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"UI Library",permalink:"/illa-website/blog/tags/ui-library"},{label:"Shadcn UI",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"React",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:3.265,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{title:"2024 has arrived, should I choose MUI?",tags:["UI Library","Shadcn UI","React","javascript"],slug:"mui-2024",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/mui-2024/cover.png"},unlisted:!1,prevItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},nextItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},relatedPosts:[{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:28:24.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:28:24.000Z"},{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",description:"2024 has arrived, and the ecosystem of React component libraries remains thriving. This article will dissect two currently popular component libraries from several perspectives, providing an objective analysis to help users make informed choices.",permalink:"/illa-website/blog/shadcn-vs-mui",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.12,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of MUI",id:"features-of-mui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function d(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains highly prosperous. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(t.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(t.p,{children:"In general, every company building web applications tends to select a component library. These libraries address a significant amount of repetitive work, offering readily usable components such as Select, Input, CheckBox, and more. These components, customizable through styles or pre-existing attractive styles, enable the rapid creation of beautiful websites without the need to build extensive foundational features from scratch."}),"\n",(0,i.jsx)(t.p,{children:"To summarize, component libraries are typically used in two scenarios:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"External tools: Directly targeted at company users, usually adhering to the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(t.li,{children:"Internal tools: Aimed at internal use by company employees, focusing on aesthetic design while prioritizing rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Next, we will analyze two component libraries based on the following points:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Design"}),"\n",(0,i.jsx)(t.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(t.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(t.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(t.h2,{id:"features-of-mui",children:"Features of MUI"}),"\n",(0,i.jsx)(t.p,{children:"Some detailed data about MUI:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u2b50 Github Stars: 90k"}),"\n",(0,i.jsx)(t.li,{children:"\u23ec NPM Downloads: 3,263,852 downloads per week"}),"\n",(0,i.jsx)(t.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Nov 6, 2014"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"MUI, as a longstanding project maintained since 2014, boasts almost a decade of stability. Its high star count and weekly download numbers ensure that the community remains consistently active."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/mui-2024/mui.png",alt:"mui"})}),"\n",(0,i.jsx)(t.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(t.p,{children:"In terms of design, MUI strictly adheres to Google's renowned Material Design. MUI's customization capabilities are extensive, catering to a wide range of internal and external scenarios. Many well-known open-source projects use MUI for front-end development. For most functionalities, MUI provides comprehensive support."}),"\n",(0,i.jsx)(t.p,{children:"In addition to common features like:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Colors"}),"\n",(0,i.jsx)(t.li,{children:"Border radii"}),"\n",(0,i.jsx)(t.li,{children:"Dark mode / Light mode"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"MUI supports complete configurations of fonts, font sizes, colors, and margins, making it a powerful tool as a project with ten years of development."}),"\n",(0,i.jsx)(t.p,{children:"Regarding CSS support, MUI has its custom system, utilizing emotionjs for style adjustments in the overall layout. This may come with a learning curve and may not be as developer-friendly for direct development, requiring documentation consultation for certain style modifications."}),"\n",(0,i.jsx)(t.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(t.p,{children:"MUI's component types are highly complex, divided into several dimensions:"}),"\n",(0,i.jsx)(t.p,{children:"These include:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"MUI Core: Basic functional components of MUI, including a multitude of foundational components and a style system."}),"\n",(0,i.jsx)(t.li,{children:"MUI X: High-performance and complex components of MUI, including high-performance tables, charts, etc."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"If you are developing a highly complex system, you can use MUI's full suite solution. However, MUI X is a paid component library, and a subscription fee may be required."}),"\n",(0,i.jsx)(t.p,{children:"MUI is a heavyweight repository with extensive code and a long maintenance history. Its high customizability makes it suitable for large projects. In the MUI repository, you can find a wealth of features."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(t.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(t.p,{children:"If you want to develop large projects, have high customization requirements, and wish to use high-performance data components and chart components, especially in scenarios with high business complexity and are willing to subscribe to MUI X, it is recommended to use MUI for development. Its flexible configuration and plethora of components can fully meet your requirements."}),"\n",(0,i.jsx)(t.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(t.p,{children:"If you need a lightweight framework and prefer to use a CSS-only solution for layout adjustments, it is not recommended here. MUI has a comprehensive proprietary design system, comes with a certain learning curve, and Material Design's aesthetics may not suit everyone. In such cases, exploring other open-source repositories might be more suitable."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},7214:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var i=o(959);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96447363.f6ed57ae.js b/assets/js/96447363.f6ed57ae.js new file mode 100644 index 0000000000..d3b2d45c9e --- /dev/null +++ b/assets/js/96447363.f6ed57ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[9713],{6100:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>l,toc:()=>d});var t=a(1527),i=a(7214);const n={slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},o=void 0,l={permalink:"/illa-website/blog/build-dashboard",source:"@site/blog/build-dashboard/build-dashboard.md",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"}],readingTime:3.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},unlisted:!1,prevItem:{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",permalink:"/illa-website/blog/backend-create-web-ui"},nextItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},relatedPosts:[{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",permalink:"/illa-website/blog/backend-create-web-ui",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:1.47,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},d=[{value:"Some issues in the construction",id:"some-issues-in-the-construction",level:2},{value:"How to solve",id:"how-to-solve",level:2},{value:"AI-driven",id:"ai-driven",level:2},{value:"Advantages",id:"advantages",level:2},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const s={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time."}),"\n",(0,t.jsx)(s.p,{children:"After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly."}),"\n",(0,t.jsx)(s.p,{children:"Using efficient tools to leave work early every day."}),"\n",(0,t.jsx)(s.h2,{id:"some-issues-in-the-construction",children:"Some issues in the construction"}),"\n",(0,t.jsx)(s.p,{children:"The business of each company is distributed across different systems, and there are some connections between these systems. Some data needs to be queried using databases:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"Mysql"}),"\n",(0,t.jsx)(s.li,{children:"MongoDB"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Some data comes from different types of microservices, possibly obtained from a specific API:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"User Detail API"}),"\n",(0,t.jsx)(s.li,{children:"Product Detail API"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"The most challenging thing is that some data requires merging and secondary processing of both database and API data."}),"\n",(0,t.jsx)(s.p,{children:"These issues make it very troublesome to build a personalized data dashboard. If starting development from scratch, we need to adapt to different data sources, leading to a steep increase in engineering costs."}),"\n",(0,t.jsx)(s.p,{children:'Therefore, we need a flexible tool for displaying data dashboards, as "development" is not the most important; "display" is.'}),"\n",(0,t.jsx)(s.p,{children:"This tool needs some objective advantages:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Rich charts to display data from different dimensions."}),"\n",(0,t.jsx)(s.li,{children:"Support for various mainstream data sources."}),"\n",(0,t.jsx)(s.li,{children:"Simple installation and usage."}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"how-to-solve",children:"How to solve"}),"\n",(0,t.jsx)(s.p,{children:"Here, I recommend a user-friendly open-source project called ILLA Cloud. ILLA Cloud is a low-code tool specifically designed to address scenarios with personalized requirements."}),"\n",(0,t.jsxs)(s.p,{children:["\ud83d\udcd9 Official website: ",(0,t.jsx)(s.a,{href:"https://illa.cloud?utm_source=juejin",children:"https://illa.cloud"})]}),"\n",(0,t.jsxs)(s.p,{children:["\u23ec Github repository: ",(0,t.jsx)(s.a,{href:"https://github.com/illacloud/illa-builder",children:"https://github.com/illacloud/illa-builder"})]}),"\n",(0,t.jsx)(s.p,{children:"\u2b50 Github Stars: 9k"}),"\n",(0,t.jsx)(s.p,{children:"Below is a demo using fake data, depicting the sales situation of a product in a company, including:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Monthly sales growth trends"}),"\n",(0,t.jsx)(s.li,{children:"Monthly revenue"}),"\n",(0,t.jsx)(s.li,{children:"Total revenue obtained"}),"\n",(0,t.jsx)(s.li,{children:"Number of purchasers"}),"\n",(0,t.jsx)(s.li,{children:"Detailed information about each purchasing user"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/data-dashboard.png",alt:"data_dashboard"})}),"\n",(0,t.jsx)(s.p,{children:"This chart uses several components:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Data Grid"}),"\n",(0,t.jsx)(s.li,{children:"Chart"}),"\n",(0,t.jsx)(s.li,{children:"Statistic"}),"\n",(0,t.jsx)(s.li,{children:"Menu"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"It was quickly built through drag and drop. The data sources come from:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supabase: A Serverless Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"API"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"ILLA supports various data sources, allowing quick retrieval of data from a wide range of mainstream sources."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/integration.png",alt:"integration"})}),"\n",(0,t.jsx)(s.h2,{id:"ai-driven",children:"AI-driven"}),"\n",(0,t.jsx)(s.p,{children:"ILLA not only provides a dashboard but also allows the queried data to be processed further using LLM (Language Model). For example, a set of messy data can be processed into another format as required, enabling alignment of data from multiple sources."}),"\n",(0,t.jsx)(s.h2,{id:"advantages",children:"Advantages"}),"\n",(0,t.jsx)(s.p,{children:"Building a beautiful dashboard is quick and easy using drag and drop within a few minutes."}),"\n",(0,t.jsx)(s.p,{children:"Moreover, compared to various traditional BI tools, ILLA Cloud:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supports data querying from both databases and APIs"}),"\n",(0,t.jsx)(s.li,{children:"Simple installation, directly usable on the web page without any downloads"}),"\n",(0,t.jsx)(s.li,{children:"For secondary data processing, uses Javascript for direct and simple processing"}),"\n",(0,t.jsx)(s.li,{children:"Supports various mainstream charts, meeting most requirements"}),"\n",(0,t.jsx)(s.li,{children:"The Transformer feature effectively solves the problem of merging and processing data between multiple sources, eliminating worries about data format issues"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"As an open-source project, ILLA Cloud also supports secondary development, with an active community for collaboration with other developers. No need to worry about maintenance issues."}),"\n",(0,t.jsx)(s.p,{children:"Additionally, ILLA Cloud can not only build data dashboards but also quickly create exclusive management dashboards, accelerating your business iteration."}),"\n",(0,t.jsx)(s.p,{children:"As a low-code tool, ILLA Cloud also supports collaboration among multiple people, allowing them to build dashboards together."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/collaboration.png",alt:"collaboration"})}),"\n",(0,t.jsx)(s.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(s.p,{children:"After using ILLA Cloud, there's no need to worry about the boss's personalized requirements. Within a few minutes, you can build a personalized data dashboard for the boss, becoming a highly efficient employee. Why not give it a try now!"})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7214:(e,s,a)=>{a.d(s,{Z:()=>l,a:()=>o});var t=a(959);const i={},n=t.createContext(i);function o(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96447363.f83450d4.js b/assets/js/96447363.f83450d4.js deleted file mode 100644 index 96ec33ee84..0000000000 --- a/assets/js/96447363.f83450d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[9713],{6100:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>l,toc:()=>d});var t=a(1527),i=a(7214);const n={slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},o=void 0,l={permalink:"/illa-website/blog/build-dashboard",source:"@site/blog/build-dashboard/build-dashboard.md",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"}],readingTime:3.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},unlisted:!1,prevItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},nextItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},relatedPosts:[{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",permalink:"/illa-website/blog/backend-create-web-ui",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:1.47,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},d=[{value:"Some issues in the construction",id:"some-issues-in-the-construction",level:2},{value:"How to solve",id:"how-to-solve",level:2},{value:"AI-driven",id:"ai-driven",level:2},{value:"Advantages",id:"advantages",level:2},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const s={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time."}),"\n",(0,t.jsx)(s.p,{children:"After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly."}),"\n",(0,t.jsx)(s.p,{children:"Using efficient tools to leave work early every day."}),"\n",(0,t.jsx)(s.h2,{id:"some-issues-in-the-construction",children:"Some issues in the construction"}),"\n",(0,t.jsx)(s.p,{children:"The business of each company is distributed across different systems, and there are some connections between these systems. Some data needs to be queried using databases:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"Mysql"}),"\n",(0,t.jsx)(s.li,{children:"MongoDB"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Some data comes from different types of microservices, possibly obtained from a specific API:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"User Detail API"}),"\n",(0,t.jsx)(s.li,{children:"Product Detail API"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"The most challenging thing is that some data requires merging and secondary processing of both database and API data."}),"\n",(0,t.jsx)(s.p,{children:"These issues make it very troublesome to build a personalized data dashboard. If starting development from scratch, we need to adapt to different data sources, leading to a steep increase in engineering costs."}),"\n",(0,t.jsx)(s.p,{children:'Therefore, we need a flexible tool for displaying data dashboards, as "development" is not the most important; "display" is.'}),"\n",(0,t.jsx)(s.p,{children:"This tool needs some objective advantages:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Rich charts to display data from different dimensions."}),"\n",(0,t.jsx)(s.li,{children:"Support for various mainstream data sources."}),"\n",(0,t.jsx)(s.li,{children:"Simple installation and usage."}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"how-to-solve",children:"How to solve"}),"\n",(0,t.jsx)(s.p,{children:"Here, I recommend a user-friendly open-source project called ILLA Cloud. ILLA Cloud is a low-code tool specifically designed to address scenarios with personalized requirements."}),"\n",(0,t.jsxs)(s.p,{children:["\ud83d\udcd9 Official website: ",(0,t.jsx)(s.a,{href:"https://illa.cloud?utm_source=juejin",children:"https://illa.cloud"})]}),"\n",(0,t.jsxs)(s.p,{children:["\u23ec Github repository: ",(0,t.jsx)(s.a,{href:"https://github.com/illacloud/illa-builder",children:"https://github.com/illacloud/illa-builder"})]}),"\n",(0,t.jsx)(s.p,{children:"\u2b50 Github Stars: 9k"}),"\n",(0,t.jsx)(s.p,{children:"Below is a demo using fake data, depicting the sales situation of a product in a company, including:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Monthly sales growth trends"}),"\n",(0,t.jsx)(s.li,{children:"Monthly revenue"}),"\n",(0,t.jsx)(s.li,{children:"Total revenue obtained"}),"\n",(0,t.jsx)(s.li,{children:"Number of purchasers"}),"\n",(0,t.jsx)(s.li,{children:"Detailed information about each purchasing user"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/data-dashboard.png",alt:"data_dashboard"})}),"\n",(0,t.jsx)(s.p,{children:"This chart uses several components:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Data Grid"}),"\n",(0,t.jsx)(s.li,{children:"Chart"}),"\n",(0,t.jsx)(s.li,{children:"Statistic"}),"\n",(0,t.jsx)(s.li,{children:"Menu"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"It was quickly built through drag and drop. The data sources come from:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supabase: A Serverless Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"API"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"ILLA supports various data sources, allowing quick retrieval of data from a wide range of mainstream sources."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/integration.png",alt:"integration"})}),"\n",(0,t.jsx)(s.h2,{id:"ai-driven",children:"AI-driven"}),"\n",(0,t.jsx)(s.p,{children:"ILLA not only provides a dashboard but also allows the queried data to be processed further using LLM (Language Model). For example, a set of messy data can be processed into another format as required, enabling alignment of data from multiple sources."}),"\n",(0,t.jsx)(s.h2,{id:"advantages",children:"Advantages"}),"\n",(0,t.jsx)(s.p,{children:"Building a beautiful dashboard is quick and easy using drag and drop within a few minutes."}),"\n",(0,t.jsx)(s.p,{children:"Moreover, compared to various traditional BI tools, ILLA Cloud:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supports data querying from both databases and APIs"}),"\n",(0,t.jsx)(s.li,{children:"Simple installation, directly usable on the web page without any downloads"}),"\n",(0,t.jsx)(s.li,{children:"For secondary data processing, uses Javascript for direct and simple processing"}),"\n",(0,t.jsx)(s.li,{children:"Supports various mainstream charts, meeting most requirements"}),"\n",(0,t.jsx)(s.li,{children:"The Transformer feature effectively solves the problem of merging and processing data between multiple sources, eliminating worries about data format issues"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"As an open-source project, ILLA Cloud also supports secondary development, with an active community for collaboration with other developers. No need to worry about maintenance issues."}),"\n",(0,t.jsx)(s.p,{children:"Additionally, ILLA Cloud can not only build data dashboards but also quickly create exclusive management dashboards, accelerating your business iteration."}),"\n",(0,t.jsx)(s.p,{children:"As a low-code tool, ILLA Cloud also supports collaboration among multiple people, allowing them to build dashboards together."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/collaboration.png",alt:"collaboration"})}),"\n",(0,t.jsx)(s.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(s.p,{children:"After using ILLA Cloud, there's no need to worry about the boss's personalized requirements. Within a few minutes, you can build a personalized data dashboard for the boss, becoming a highly efficient employee. Why not give it a try now!"})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7214:(e,s,a)=>{a.d(s,{Z:()=>l,a:()=>o});var t=a(959);const i={},n=t.createContext(i);function o(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6eb34d2.fbc47a25.js b/assets/js/b6eb34d2.b839fadc.js similarity index 72% rename from assets/js/b6eb34d2.fbc47a25.js rename to assets/js/b6eb34d2.b839fadc.js index 81b3b3789c..dd94bbf9ec 100644 --- a/assets/js/b6eb34d2.fbc47a25.js +++ b/assets/js/b6eb34d2.b839fadc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5191],{5067:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=o(1527),n=o(7214);const s={slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},a=void 0,r={permalink:"/illa-website/blog/shadcn-ui-2024",source:"@site/blog/shadcn-ui-2024/shadcn-ui-2024.md",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"shadcn-ui",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"react",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:2.96,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},unlisted:!1,prevItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},nextItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:08:52.000Z"},{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:08:52.000Z"},{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(t.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(t.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive tasks. Component libraries offer a range of out-of-the-box components like Select, Input, CheckBox, etc. These components, with customizable styles or built-in attractive styles, enable rapid development of aesthetically pleasing websites without starting from scratch."}),"\n",(0,i.jsx)(t.p,{children:"In summary, we typically use component libraries in two scenarios:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"External tools: Directly facing company users, usually aligned with the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(t.li,{children:"Internal tools: Aimed at internal use by company employees, emphasizing design aesthetics and rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Next, we will analyze the Shadcn UI component library based on the following points:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Design"}),"\n",(0,i.jsx)(t.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(t.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(t.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(t.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,i.jsx)(t.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,i.jsx)(t.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,i.jsx)(t.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Shadcn UI is a relatively new project that gained 37k stars in less than a year, indicating its rapid recognition in the open-source community."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,i.jsx)(t.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(t.p,{children:"In terms of design, Shadcn UI leans towards a business style with a clean UI, suitable for internal tools and serious application scenarios. Shadcn UI supports custom themes, but it seems to offer customization only for:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Colors"}),"\n",(0,i.jsx)(t.li,{children:"Border radii"}),"\n",(0,i.jsx)(t.li,{children:"Dark mode / Light mode"}),"\n",(0,i.jsx)(t.li,{children:'Predefined "Default" and "New York" styles'}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"In terms of fine-grained control, such as font and font size, it appears to lack flexibility. However, for internal tool scenarios, this level of control may be sufficient, but for external tools, it might be somewhat limiting."}),"\n",(0,i.jsxs)(t.p,{children:["In terms of CSS, Shadcn UI supports both traditional CSS and CSS-in-JS, using ",(0,i.jsx)(t.a,{href:"https://stitches.dev/",children:"Stitches"})," for the CSS-in-JS solution. Traditional CSS is supported by default, but additional configuration might be needed for less and sass, and it's not out-of-the-box."]}),"\n",(0,i.jsx)(t.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(t.p,{children:"The library's feature richness completely satisfies daily development needs, with most capabilities supported and comprehensive callbacks. Shadcn UI supports crucial capabilities, including but not limited to:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"SSR"}),"\n",(0,i.jsx)(t.li,{children:"Accessibility"}),"\n",(0,i.jsx)(t.li,{children:"Animation"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"However, for more advanced requirements like extremely rich charts and high-performance tables, it seems not to be supported. With the continuous development of the project, it is expected that the project will evolve over time."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(t.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(t.p,{children:"If you are a curious open-source enthusiast, not requiring highly customized UI, and without complex data processing needs, Shadcn UI is recommended for development. It is lightweight, with simpler configuration, ready to use out-of-the-box, allowing direct development without worrying about details."}),"\n",(0,i.jsx)(t.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(t.p,{children:"If you have a high need for UI and component customization and plan to use Shadcn UI for large projects, it is not recommended. Shadcn UI's customization capabilities are not as robust, and it does not provide out-of-the-box charts and high-performance data components. In such cases, you may need to look for other open-source projects to supplement these features."})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},7214:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var i=o(959);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5191],{5067:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=o(1527),n=o(7214);const s={slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},a=void 0,r={permalink:"/illa-website/blog/shadcn-ui-2024",source:"@site/blog/shadcn-ui-2024/shadcn-ui-2024.md",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"shadcn-ui",permalink:"/illa-website/blog/tags/shadcn-ui"},{label:"react",permalink:"/illa-website/blog/tags/react"},{label:"javascript",permalink:"/illa-website/blog/tags/javascript"}],readingTime:2.96,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"shadcn-ui-2024",title:"2024 has arrived, should I choose Shadcn UI?",description:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/cover.png",tags:["shadcn-ui","react","javascript"]},unlisted:!1,prevItem:{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",permalink:"/illa-website/blog/nvm-use-2024"},nextItem:{title:"Shadcn vs MUI: A Comparative Analysis of Strengths and Weaknesses",permalink:"/illa-website/blog/shadcn-vs-mui"},relatedPosts:[{title:"Elegant Use of nvm for Node.js Management on Mac in 2024",description:'Node.js, as the foundation of frontend capabilities, is no longer just a "JS Server Runtime." Numerous tool libraries, local package management, mock environments, and more are built on Node.js, making it truly the infrastructure of the frontend world.The flourishing ecosystem has made it essential for everyone to install Node.js when building frontend projects. However, with the long history of products, versioning becomes a common issue\u2014some projects require new versions, while others need older ones. Managing multiple versions of Node.js has been a persistent challenge for developers.Currently, the open-source tool nvm addresses this issue. With simple command-line usage, developers can quickly switch between different versions of Node.js, allowing them to focus on development rather than wasting time on environment configuration.The predominant machines for frontend development are still Macbooks. Therefore, this article will explain how to elegantly install and use nvm on Mac to efficiently manage Node.js versions.',permalink:"/illa-website/blog/nvm-use-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:4.035,date:"2024-01-03T15:28:24.000Z"},{title:"2024 has arrived, should I choose MUI?",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/mui-2024",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.265,date:"2024-01-03T15:28:24.000Z"},{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",description:"With the continuous evolution of development practices, the advent of low-code tools has introduced innovative solutions to various development scenarios. This has alleviated the need to initiate projects from scratch, saving considerable time for more pivotal business endeavors. However, it's crucial to recognize that while low code accelerates development, it does so at the expense of some flexibility. As a result, not all solutions are well-suited for low-code development. Let's delve deeper into the analysis of scenarios that favor low-code tools versus those where traditional code development remains more appropriate. Throughout this exploration, the key comparison of low code versus traditional development remains paramount, emphasizing the critical importance of choosing the most efficient approach.",permalink:"/illa-website/blog/lowcode-vs-traditional",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.33,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},c=[{value:"Why Choose a Component Library?",id:"why-choose-a-component-library",level:2},{value:"Other Choices for Internal Tool Scenarios",id:"other-choices-for-internal-tool-scenarios",level:2},{value:"Features of Shadcn UI",id:"features-of-shadcn-ui",level:2},{value:"Design",id:"design",level:3},{value:"Richness of Features",id:"richness-of-features",level:3},{value:"How to Choose",id:"how-to-choose",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"2024 has arrived, and the ecosystem of React component libraries remains vibrant. This article will dissect two currently popular component libraries from various perspectives, providing an objective analysis to help users make more informed choices."}),"\n",(0,i.jsx)(t.h2,{id:"why-choose-a-component-library",children:"Why Choose a Component Library?"}),"\n",(0,i.jsx)(t.p,{children:"In general, companies choose a component library when building web applications to streamline repetitive tasks. Component libraries offer a range of out-of-the-box components like Select, Input, CheckBox, etc. These components, with customizable styles or built-in attractive styles, enable rapid development of aesthetically pleasing websites without starting from scratch."}),"\n",(0,i.jsx)(t.p,{children:"In summary, we typically use component libraries in two scenarios:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"External tools: Directly facing company users, usually aligned with the company's style, more aesthetically pleasing, and responsive."}),"\n",(0,i.jsx)(t.li,{children:"Internal tools: Aimed at internal use by company employees, emphasizing design aesthetics and rapid functionality implementation."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Next, we will analyze the Shadcn UI component library based on the following points:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Design"}),"\n",(0,i.jsx)(t.li,{children:"Richness of Features"}),"\n",(0,i.jsx)(t.li,{children:"How to Choose in Different Scenarios"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"other-choices-for-internal-tool-scenarios",children:"Other Choices for Internal Tool Scenarios"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://illacloud.com/",children:"ILLA Cloud"})," is an out-of-the-box low-code tool that allows quick construction of internal tools with simple JS, without the need to create new projects."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Web & App Admin Panel"}),"\n",(0,i.jsx)(t.li,{children:"Data Dashboard"}),"\n",(0,i.jsx)(t.li,{children:"Customized B2B Tools"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Compared to building with a component library, ILLA Cloud enables 10x faster tool construction and supports collaborative editing within teams."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/dashboard.png",alt:"dashboard"})}),"\n",(0,i.jsx)(t.h2,{id:"features-of-shadcn-ui",children:"Features of Shadcn UI"}),"\n",(0,i.jsx)(t.p,{children:"Some detailed data about Shadcn:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u2b50 Github Stars: 37k"}),"\n",(0,i.jsx)(t.li,{children:"\u23ec NPM Downloads: 23,962 downloads per week"}),"\n",(0,i.jsx)(t.li,{children:"\ud83d\udcaa\ud83c\udffc First Release Date: Mar 8, 2023"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Shadcn UI is a relatively new project that gained 37k stars in less than a year, indicating its rapid recognition in the open-source community."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://cdn.illacloud.com/illa-website/blog/shadcn-ui-2024/shadcn-ui.png",alt:"shadcn-ui"})}),"\n",(0,i.jsx)(t.h3,{id:"design",children:"Design"}),"\n",(0,i.jsx)(t.p,{children:"In terms of design, Shadcn UI leans towards a business style with a clean UI, suitable for internal tools and serious application scenarios. Shadcn UI supports custom themes, but it seems to offer customization only for:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Colors"}),"\n",(0,i.jsx)(t.li,{children:"Border radii"}),"\n",(0,i.jsx)(t.li,{children:"Dark mode / Light mode"}),"\n",(0,i.jsx)(t.li,{children:'Predefined "Default" and "New York" styles'}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"In terms of fine-grained control, such as font and font size, it appears to lack flexibility. However, for internal tool scenarios, this level of control may be sufficient, but for external tools, it might be somewhat limiting."}),"\n",(0,i.jsxs)(t.p,{children:["In terms of CSS, Shadcn UI supports both traditional CSS and CSS-in-JS, using ",(0,i.jsx)(t.a,{href:"https://stitches.dev/",children:"Stitches"})," for the CSS-in-JS solution. Traditional CSS is supported by default, but additional configuration might be needed for less and sass, and it's not out-of-the-box."]}),"\n",(0,i.jsx)(t.h3,{id:"richness-of-features",children:"Richness of Features"}),"\n",(0,i.jsx)(t.p,{children:"The library's feature richness completely satisfies daily development needs, with most capabilities supported and comprehensive callbacks. Shadcn UI supports crucial capabilities, including but not limited to:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"SSR"}),"\n",(0,i.jsx)(t.li,{children:"Accessibility"}),"\n",(0,i.jsx)(t.li,{children:"Animation"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"However, for more advanced requirements like extremely rich charts and high-performance tables, it seems not to be supported. With the continuous development of the project, it is expected that the project will evolve over time."}),"\n",(0,i.jsx)(t.h2,{id:"how-to-choose",children:"How to Choose"}),"\n",(0,i.jsx)(t.p,{children:"\u2705 Advantages"}),"\n",(0,i.jsx)(t.p,{children:"If you are a curious open-source enthusiast, not requiring highly customized UI, and without complex data processing needs, Shadcn UI is recommended for development. It is lightweight, with simpler configuration, ready to use out-of-the-box, allowing direct development without worrying about details."}),"\n",(0,i.jsx)(t.p,{children:"\u274c Disadvantages"}),"\n",(0,i.jsx)(t.p,{children:"If you have a high need for UI and component customization and plan to use Shadcn UI for large projects, it is not recommended. Shadcn UI's customization capabilities are not as robust, and it does not provide out-of-the-box charts and high-performance data components. In such cases, you may need to look for other open-source projects to supplement these features."})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},7214:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var i=o(959);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb85b74d.f9f05281.js b/assets/js/bb85b74d.f9f05281.js deleted file mode 100644 index dffcd06634..0000000000 --- a/assets/js/bb85b74d.f9f05281.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5938],{576:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>l,toc:()=>d});var t=a(1527),i=a(7214);const n={slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},o=void 0,l={permalink:"/illa-website/blog/build-dashboard",source:"@site/blog/build-dashboard/build-dashboard.md",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"}],readingTime:3.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},unlisted:!1,prevItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},nextItem:{title:"2024 has arrived, should I choose MUI?",permalink:"/illa-website/blog/mui-2024"},relatedPosts:[{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",permalink:"/illa-website/blog/backend-create-web-ui",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:1.47,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},d=[{value:"Some issues in the construction",id:"some-issues-in-the-construction",level:2},{value:"How to solve",id:"how-to-solve",level:2},{value:"AI-driven",id:"ai-driven",level:2},{value:"Advantages",id:"advantages",level:2},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const s={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time."}),"\n",(0,t.jsx)(s.p,{children:"After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly."}),"\n",(0,t.jsx)(s.p,{children:"Using efficient tools to leave work early every day."}),"\n",(0,t.jsx)(s.h2,{id:"some-issues-in-the-construction",children:"Some issues in the construction"}),"\n",(0,t.jsx)(s.p,{children:"The business of each company is distributed across different systems, and there are some connections between these systems. Some data needs to be queried using databases:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"Mysql"}),"\n",(0,t.jsx)(s.li,{children:"MongoDB"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Some data comes from different types of microservices, possibly obtained from a specific API:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"User Detail API"}),"\n",(0,t.jsx)(s.li,{children:"Product Detail API"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"The most challenging thing is that some data requires merging and secondary processing of both database and API data."}),"\n",(0,t.jsx)(s.p,{children:"These issues make it very troublesome to build a personalized data dashboard. If starting development from scratch, we need to adapt to different data sources, leading to a steep increase in engineering costs."}),"\n",(0,t.jsx)(s.p,{children:'Therefore, we need a flexible tool for displaying data dashboards, as "development" is not the most important; "display" is.'}),"\n",(0,t.jsx)(s.p,{children:"This tool needs some objective advantages:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Rich charts to display data from different dimensions."}),"\n",(0,t.jsx)(s.li,{children:"Support for various mainstream data sources."}),"\n",(0,t.jsx)(s.li,{children:"Simple installation and usage."}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"how-to-solve",children:"How to solve"}),"\n",(0,t.jsx)(s.p,{children:"Here, I recommend a user-friendly open-source project called ILLA Cloud. ILLA Cloud is a low-code tool specifically designed to address scenarios with personalized requirements."}),"\n",(0,t.jsxs)(s.p,{children:["\ud83d\udcd9 Official website: ",(0,t.jsx)(s.a,{href:"https://illa.cloud?utm_source=juejin",children:"https://illa.cloud"})]}),"\n",(0,t.jsxs)(s.p,{children:["\u23ec Github repository: ",(0,t.jsx)(s.a,{href:"https://github.com/illacloud/illa-builder",children:"https://github.com/illacloud/illa-builder"})]}),"\n",(0,t.jsx)(s.p,{children:"\u2b50 Github Stars: 9k"}),"\n",(0,t.jsx)(s.p,{children:"Below is a demo using fake data, depicting the sales situation of a product in a company, including:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Monthly sales growth trends"}),"\n",(0,t.jsx)(s.li,{children:"Monthly revenue"}),"\n",(0,t.jsx)(s.li,{children:"Total revenue obtained"}),"\n",(0,t.jsx)(s.li,{children:"Number of purchasers"}),"\n",(0,t.jsx)(s.li,{children:"Detailed information about each purchasing user"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/data-dashboard.png",alt:"data_dashboard"})}),"\n",(0,t.jsx)(s.p,{children:"This chart uses several components:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Data Grid"}),"\n",(0,t.jsx)(s.li,{children:"Chart"}),"\n",(0,t.jsx)(s.li,{children:"Statistic"}),"\n",(0,t.jsx)(s.li,{children:"Menu"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"It was quickly built through drag and drop. The data sources come from:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supabase: A Serverless Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"API"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"ILLA supports various data sources, allowing quick retrieval of data from a wide range of mainstream sources."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/integration.png",alt:"integration"})}),"\n",(0,t.jsx)(s.h2,{id:"ai-driven",children:"AI-driven"}),"\n",(0,t.jsx)(s.p,{children:"ILLA not only provides a dashboard but also allows the queried data to be processed further using LLM (Language Model). For example, a set of messy data can be processed into another format as required, enabling alignment of data from multiple sources."}),"\n",(0,t.jsx)(s.h2,{id:"advantages",children:"Advantages"}),"\n",(0,t.jsx)(s.p,{children:"Building a beautiful dashboard is quick and easy using drag and drop within a few minutes."}),"\n",(0,t.jsx)(s.p,{children:"Moreover, compared to various traditional BI tools, ILLA Cloud:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supports data querying from both databases and APIs"}),"\n",(0,t.jsx)(s.li,{children:"Simple installation, directly usable on the web page without any downloads"}),"\n",(0,t.jsx)(s.li,{children:"For secondary data processing, uses Javascript for direct and simple processing"}),"\n",(0,t.jsx)(s.li,{children:"Supports various mainstream charts, meeting most requirements"}),"\n",(0,t.jsx)(s.li,{children:"The Transformer feature effectively solves the problem of merging and processing data between multiple sources, eliminating worries about data format issues"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"As an open-source project, ILLA Cloud also supports secondary development, with an active community for collaboration with other developers. No need to worry about maintenance issues."}),"\n",(0,t.jsx)(s.p,{children:"Additionally, ILLA Cloud can not only build data dashboards but also quickly create exclusive management dashboards, accelerating your business iteration."}),"\n",(0,t.jsx)(s.p,{children:"As a low-code tool, ILLA Cloud also supports collaboration among multiple people, allowing them to build dashboards together."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/collaboration.png",alt:"collaboration"})}),"\n",(0,t.jsx)(s.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(s.p,{children:"After using ILLA Cloud, there's no need to worry about the boss's personalized requirements. Within a few minutes, you can build a personalized data dashboard for the boss, becoming a highly efficient employee. Why not give it a try now!"})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7214:(e,s,a)=>{a.d(s,{Z:()=>l,a:()=>o});var t=a(959);const i={},n=t.createContext(i);function o(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb85b74d.fbdb2ae3.js b/assets/js/bb85b74d.fbdb2ae3.js new file mode 100644 index 0000000000..3d1ee2afee --- /dev/null +++ b/assets/js/bb85b74d.fbdb2ae3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[5938],{576:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>l,toc:()=>d});var t=a(1527),i=a(7214);const n={slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},o=void 0,l={permalink:"/illa-website/blog/build-dashboard",source:"@site/blog/build-dashboard/build-dashboard.md",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"}],readingTime:3.12,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"build-dashboard",title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/cover.png",tags:["data dashboard"],is_featured:!0},unlisted:!1,prevItem:{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",permalink:"/illa-website/blog/backend-create-web-ui"},nextItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},relatedPosts:[{title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",permalink:"/illa-website/blog/backend-create-web-ui",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:1.47,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},d=[{value:"Some issues in the construction",id:"some-issues-in-the-construction",level:2},{value:"How to solve",id:"how-to-solve",level:2},{value:"AI-driven",id:"ai-driven",level:2},{value:"Advantages",id:"advantages",level:2},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const s={a:"a",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time."}),"\n",(0,t.jsx)(s.p,{children:"After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly."}),"\n",(0,t.jsx)(s.p,{children:"Using efficient tools to leave work early every day."}),"\n",(0,t.jsx)(s.h2,{id:"some-issues-in-the-construction",children:"Some issues in the construction"}),"\n",(0,t.jsx)(s.p,{children:"The business of each company is distributed across different systems, and there are some connections between these systems. Some data needs to be queried using databases:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"Mysql"}),"\n",(0,t.jsx)(s.li,{children:"MongoDB"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Some data comes from different types of microservices, possibly obtained from a specific API:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"User Detail API"}),"\n",(0,t.jsx)(s.li,{children:"Product Detail API"}),"\n",(0,t.jsx)(s.li,{children:"..."}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"The most challenging thing is that some data requires merging and secondary processing of both database and API data."}),"\n",(0,t.jsx)(s.p,{children:"These issues make it very troublesome to build a personalized data dashboard. If starting development from scratch, we need to adapt to different data sources, leading to a steep increase in engineering costs."}),"\n",(0,t.jsx)(s.p,{children:'Therefore, we need a flexible tool for displaying data dashboards, as "development" is not the most important; "display" is.'}),"\n",(0,t.jsx)(s.p,{children:"This tool needs some objective advantages:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Rich charts to display data from different dimensions."}),"\n",(0,t.jsx)(s.li,{children:"Support for various mainstream data sources."}),"\n",(0,t.jsx)(s.li,{children:"Simple installation and usage."}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"how-to-solve",children:"How to solve"}),"\n",(0,t.jsx)(s.p,{children:"Here, I recommend a user-friendly open-source project called ILLA Cloud. ILLA Cloud is a low-code tool specifically designed to address scenarios with personalized requirements."}),"\n",(0,t.jsxs)(s.p,{children:["\ud83d\udcd9 Official website: ",(0,t.jsx)(s.a,{href:"https://illa.cloud?utm_source=juejin",children:"https://illa.cloud"})]}),"\n",(0,t.jsxs)(s.p,{children:["\u23ec Github repository: ",(0,t.jsx)(s.a,{href:"https://github.com/illacloud/illa-builder",children:"https://github.com/illacloud/illa-builder"})]}),"\n",(0,t.jsx)(s.p,{children:"\u2b50 Github Stars: 9k"}),"\n",(0,t.jsx)(s.p,{children:"Below is a demo using fake data, depicting the sales situation of a product in a company, including:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Monthly sales growth trends"}),"\n",(0,t.jsx)(s.li,{children:"Monthly revenue"}),"\n",(0,t.jsx)(s.li,{children:"Total revenue obtained"}),"\n",(0,t.jsx)(s.li,{children:"Number of purchasers"}),"\n",(0,t.jsx)(s.li,{children:"Detailed information about each purchasing user"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/data-dashboard.png",alt:"data_dashboard"})}),"\n",(0,t.jsx)(s.p,{children:"This chart uses several components:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Data Grid"}),"\n",(0,t.jsx)(s.li,{children:"Chart"}),"\n",(0,t.jsx)(s.li,{children:"Statistic"}),"\n",(0,t.jsx)(s.li,{children:"Menu"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"It was quickly built through drag and drop. The data sources come from:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supabase: A Serverless Postgresql"}),"\n",(0,t.jsx)(s.li,{children:"API"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"ILLA supports various data sources, allowing quick retrieval of data from a wide range of mainstream sources."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/integration.png",alt:"integration"})}),"\n",(0,t.jsx)(s.h2,{id:"ai-driven",children:"AI-driven"}),"\n",(0,t.jsx)(s.p,{children:"ILLA not only provides a dashboard but also allows the queried data to be processed further using LLM (Language Model). For example, a set of messy data can be processed into another format as required, enabling alignment of data from multiple sources."}),"\n",(0,t.jsx)(s.h2,{id:"advantages",children:"Advantages"}),"\n",(0,t.jsx)(s.p,{children:"Building a beautiful dashboard is quick and easy using drag and drop within a few minutes."}),"\n",(0,t.jsx)(s.p,{children:"Moreover, compared to various traditional BI tools, ILLA Cloud:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Supports data querying from both databases and APIs"}),"\n",(0,t.jsx)(s.li,{children:"Simple installation, directly usable on the web page without any downloads"}),"\n",(0,t.jsx)(s.li,{children:"For secondary data processing, uses Javascript for direct and simple processing"}),"\n",(0,t.jsx)(s.li,{children:"Supports various mainstream charts, meeting most requirements"}),"\n",(0,t.jsx)(s.li,{children:"The Transformer feature effectively solves the problem of merging and processing data between multiple sources, eliminating worries about data format issues"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"As an open-source project, ILLA Cloud also supports secondary development, with an active community for collaboration with other developers. No need to worry about maintenance issues."}),"\n",(0,t.jsx)(s.p,{children:"Additionally, ILLA Cloud can not only build data dashboards but also quickly create exclusive management dashboards, accelerating your business iteration."}),"\n",(0,t.jsx)(s.p,{children:"As a low-code tool, ILLA Cloud also supports collaboration among multiple people, allowing them to build dashboards together."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{src:"https://cdn.illacloud.com/illa-website/blog/build-dashboard/collaboration.png",alt:"collaboration"})}),"\n",(0,t.jsx)(s.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(s.p,{children:"After using ILLA Cloud, there's no need to worry about the boss's personalized requirements. Within a few minutes, you can build a personalized data dashboard for the boss, becoming a highly efficient employee. Why not give it a try now!"})]})}function u(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7214:(e,s,a)=>{a.d(s,{Z:()=>l,a:()=>o});var t=a(959);const i={},n=t.createContext(i);function o(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e20c763e.923480b9.js b/assets/js/e20c763e.923480b9.js deleted file mode 100644 index 23a2d1b83c..0000000000 --- a/assets/js/e20c763e.923480b9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[7599],{8311:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var n=t(1527),i=t(7214);const s={slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},o=void 0,l={permalink:"/illa-website/blog/backend-create-web-ui",source:"@site/blog/backend-create-web-ui/backend-create-web-ui.md",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"internal tools",permalink:"/illa-website/blog/tags/internal-tools"},{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"},{label:"admin panel",permalink:"/illa-website/blog/tags/admin-panel"}],readingTime:1.47,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},unlisted:!1,nextItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},relatedPosts:[{title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/build-dashboard",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.12,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},d=[];function c(e){const a={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone, I'm Owen, a full-stack engineer with previous experience at TikTok. My role there involved developing the platform, known for its engaging short video content, and ensuring a delightful user experience."}),"\n",(0,n.jsx)(a.p,{children:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days."}),"\n",(0,n.jsx)(a.p,{children:"This barrage of disparate UI-related tasks presented significant challenges in my daily workflow. Ultimately, this led to my resignation. But, this experience inspired me to devote myself entirely to a new venture: assisting server engineers of various programming backgrounds to efficiently build the tools I mentioned earlier."}),"\n",(0,n.jsx)(a.p,{children:"Check out the project:"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:["GitHub: ",(0,n.jsx)(a.a,{href:"https://github.com/illacloud/illa-builder",children:"ILLA Builder"})]}),"\n",(0,n.jsxs)(a.li,{children:["ILLA Cloud: ",(0,n.jsx)(a.a,{href:"https://illacloud.com",children:"ILLA Cloud Website"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.img,{src:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(a.p,{children:"ILLA is an innovative open-source, low-code tool that I've both developed and used. It empowers you to effortlessly create websites using a user-friendly drag-and-drop interface. Within minutes, you can assemble a stunning dashboard or admin panel. It's a myth that server engineers can't craft UIs \u2013 with ILLA, you no longer have to depend on others to quickly develop visually appealing UIs."}),"\n",(0,n.jsx)(a.p,{children:"Moreover, ILLA seamlessly integrates with RestAPI, MySQL, PostgreSQL, and other leading databases, allowing for straightforward CRUD operations without the need to develop a microservice for simple data manipulation."}),"\n",(0,n.jsx)(a.p,{children:"Thanks to ILLA, I can now rapidly provide my colleagues with the desired data dashboards. Whether it's swiftly assembling a dashboard for a unique event or devising an engaging task assignment system for interns, it's all simplified."}),"\n",(0,n.jsx)(a.p,{children:"I encourage you to try it out. Join me in becoming a more content and efficient engineer."})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7214:(e,a,t)=>{t.d(a,{Z:()=>l,a:()=>o});var n=t(959);const i={},s=n.createContext(i);function o(e){const a=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e20c763e.99469908.js b/assets/js/e20c763e.99469908.js new file mode 100644 index 0000000000..41892c83c3 --- /dev/null +++ b/assets/js/e20c763e.99469908.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[7599],{8311:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var n=t(1527),s=t(7214);const i={slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},o=void 0,r={permalink:"/illa-website/blog/backend-create-web-ui",source:"@site/blog/backend-create-web-ui/backend-create-web-ui.md",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"internal tools",permalink:"/illa-website/blog/tags/internal-tools"},{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"},{label:"admin panel",permalink:"/illa-website/blog/tags/admin-panel"}],readingTime:1.47,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},unlisted:!1,nextItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},relatedPosts:[{title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/build-dashboard",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.12,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},d=[];function c(e){const a={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone, I'm Owen, a full-stack engineer with previous experience at TikTok. My role there involved developing the platform, known for its engaging short video content, and ensuring a delightful user experience."}),"\n",(0,n.jsx)(a.p,{children:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days."}),"\n",(0,n.jsx)(a.p,{children:"This barrage of disparate UI-related tasks presented significant challenges in my daily workflow. Ultimately, this led to my resignation. But, this experience inspired me to devote myself entirely to a new venture: assisting server engineers of various programming backgrounds to efficiently build the tools I mentioned earlier."}),"\n",(0,n.jsx)(a.p,{children:"Check out the project:"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:["GitHub: ",(0,n.jsx)(a.a,{href:"https://github.com/illacloud/illa-builder",children:"ILLA Builder"})]}),"\n",(0,n.jsxs)(a.li,{children:["ILLA Cloud: ",(0,n.jsx)(a.a,{href:"https://illacloud.com",children:"ILLA Cloud Website"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.img,{src:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(a.p,{children:"ILLA is an innovative open-source, low-code tool that I've both developed and used. It empowers you to effortlessly create websites using a user-friendly drag-and-drop interface. Within minutes, you can assemble a stunning dashboard or admin panel. It's a myth that server engineers can't craft UIs \u2013 with ILLA, you no longer have to depend on others to quickly develop visually appealing UIs."}),"\n",(0,n.jsx)(a.p,{children:"Moreover, ILLA seamlessly integrates with RestAPI, MySQL, PostgreSQL, and other leading databases, allowing for straightforward CRUD operations without the need to develop a microservice for simple data manipulation."}),"\n",(0,n.jsx)(a.p,{children:"Thanks to ILLA, I can now rapidly provide my colleagues with the desired data dashboards. Whether it's swiftly assembling a dashboard for a unique event or devising an engaging task assignment system for interns, it's all simplified."}),"\n",(0,n.jsx)(a.p,{children:"I encourage you to try it out. Join me in becoming a more content and efficient engineer."})]})}function u(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7214:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(959);const s={},i=n.createContext(s);function o(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e765f05a.927194e9.js b/assets/js/e765f05a.927194e9.js new file mode 100644 index 0000000000..cccc7d0020 --- /dev/null +++ b/assets/js/e765f05a.927194e9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[7272],{26:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var n=t(1527),s=t(7214);const i={slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},o=void 0,r={permalink:"/illa-website/blog/backend-create-web-ui",source:"@site/blog/backend-create-web-ui/backend-create-web-ui.md",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",date:"2024-01-03T15:28:24.000Z",formattedDate:"January 3, 2024",tags:[{label:"internal tools",permalink:"/illa-website/blog/tags/internal-tools"},{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"},{label:"admin panel",permalink:"/illa-website/blog/tags/admin-panel"}],readingTime:1.47,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},unlisted:!1,nextItem:{title:"Quickly create a personalized data dashboard for your boss",permalink:"/illa-website/blog/build-dashboard"},relatedPosts:[{title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/build-dashboard",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.12,date:"2024-01-03T15:28:24.000Z"}],authorPosts:[]},l={authorsImageUrls:[void 0]},d=[];function c(e){const a={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone, I'm Owen, a full-stack engineer with previous experience at TikTok. My role there involved developing the platform, known for its engaging short video content, and ensuring a delightful user experience."}),"\n",(0,n.jsx)(a.p,{children:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days."}),"\n",(0,n.jsx)(a.p,{children:"This barrage of disparate UI-related tasks presented significant challenges in my daily workflow. Ultimately, this led to my resignation. But, this experience inspired me to devote myself entirely to a new venture: assisting server engineers of various programming backgrounds to efficiently build the tools I mentioned earlier."}),"\n",(0,n.jsx)(a.p,{children:"Check out the project:"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:["GitHub: ",(0,n.jsx)(a.a,{href:"https://github.com/illacloud/illa-builder",children:"ILLA Builder"})]}),"\n",(0,n.jsxs)(a.li,{children:["ILLA Cloud: ",(0,n.jsx)(a.a,{href:"https://illacloud.com",children:"ILLA Cloud Website"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.img,{src:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(a.p,{children:"ILLA is an innovative open-source, low-code tool that I've both developed and used. It empowers you to effortlessly create websites using a user-friendly drag-and-drop interface. Within minutes, you can assemble a stunning dashboard or admin panel. It's a myth that server engineers can't craft UIs \u2013 with ILLA, you no longer have to depend on others to quickly develop visually appealing UIs."}),"\n",(0,n.jsx)(a.p,{children:"Moreover, ILLA seamlessly integrates with RestAPI, MySQL, PostgreSQL, and other leading databases, allowing for straightforward CRUD operations without the need to develop a microservice for simple data manipulation."}),"\n",(0,n.jsx)(a.p,{children:"Thanks to ILLA, I can now rapidly provide my colleagues with the desired data dashboards. Whether it's swiftly assembling a dashboard for a unique event or devising an engaging task assignment system for interns, it's all simplified."}),"\n",(0,n.jsx)(a.p,{children:"I encourage you to try it out. Join me in becoming a more content and efficient engineer."})]})}function u(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7214:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(959);const s={},i=n.createContext(s);function o(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e765f05a.a65c114c.js b/assets/js/e765f05a.a65c114c.js deleted file mode 100644 index d26bc711df..0000000000 --- a/assets/js/e765f05a.a65c114c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[7272],{26:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var n=t(1527),i=t(7214);const s={slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},o=void 0,l={permalink:"/illa-website/blog/backend-create-web-ui",source:"@site/blog/backend-create-web-ui/backend-create-web-ui.md",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",date:"2024-01-03T15:08:52.000Z",formattedDate:"January 3, 2024",tags:[{label:"internal tools",permalink:"/illa-website/blog/tags/internal-tools"},{label:"data dashboard",permalink:"/illa-website/blog/tags/data-dashboard"},{label:"admin panel",permalink:"/illa-website/blog/tags/admin-panel"}],readingTime:1.47,hasTruncateMarker:!1,authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],frontMatter:{slug:"backend-create-web-ui",title:"I created a tool that helps non-front-end engineers quickly build beautiful Web UIs.",description:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days.",authors:["owen"],image:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/cover.png",tags:["internal tools","data dashboard","admin panel"],is_featured:!0},unlisted:!1,nextItem:{title:"Low Code vs Traditional Development: Optimal Efficiency in Choice",permalink:"/illa-website/blog/lowcode-vs-traditional"},relatedPosts:[{title:"Quickly create a personalized data dashboard for your boss",description:"Every company has its own exclusive online business, and as the business continues to update and iterate, the complexity of the business will continuously increase over time.After the business complexity reaches a high level, internal teams need to view various data to make decisions for future strategies. Therefore, we need a flexible tool to create personalized data dashboards to meet the diverse customization needs of internal team members, especially the boss, and help the team iterate quickly.Using efficient tools to leave work early every day.",permalink:"/illa-website/blog/build-dashboard",formattedDate:"January 3, 2024",authors:[{name:"Owen Chen",title:"CEO",url:"https://github.com/smallSohoSolo",imageURL:"https://avatars.githubusercontent.com/u/7929686?v=4",key:"owen"}],readingTime:3.12,date:"2024-01-03T15:08:52.000Z"}],authorPosts:[]},r={authorsImageUrls:[void 0]},d=[];function c(e){const a={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone, I'm Owen, a full-stack engineer with previous experience at TikTok. My role there involved developing the platform, known for its engaging short video content, and ensuring a delightful user experience."}),"\n",(0,n.jsx)(a.p,{children:"Despite my background as a Backend Engineer, I frequently found myself immersed in creating numerous data dashboards and admin panels to cater to my colleagues' diverse needs. From showcasing multifaceted business data to visualizing CI/CD tasks and crafting a special Admin Panel for a Christmas event, I managed to accomplish all these in just 14 days."}),"\n",(0,n.jsx)(a.p,{children:"This barrage of disparate UI-related tasks presented significant challenges in my daily workflow. Ultimately, this led to my resignation. But, this experience inspired me to devote myself entirely to a new venture: assisting server engineers of various programming backgrounds to efficiently build the tools I mentioned earlier."}),"\n",(0,n.jsx)(a.p,{children:"Check out the project:"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:["GitHub: ",(0,n.jsx)(a.a,{href:"https://github.com/illacloud/illa-builder",children:"ILLA Builder"})]}),"\n",(0,n.jsxs)(a.li,{children:["ILLA Cloud: ",(0,n.jsx)(a.a,{href:"https://illacloud.com",children:"ILLA Cloud Website"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.img,{src:"https://cdn.illacloud.com/illa-website/blog/backend-create-web-ui/dashboard.png",alt:"dashboard"})}),"\n",(0,n.jsx)(a.p,{children:"ILLA is an innovative open-source, low-code tool that I've both developed and used. It empowers you to effortlessly create websites using a user-friendly drag-and-drop interface. Within minutes, you can assemble a stunning dashboard or admin panel. It's a myth that server engineers can't craft UIs \u2013 with ILLA, you no longer have to depend on others to quickly develop visually appealing UIs."}),"\n",(0,n.jsx)(a.p,{children:"Moreover, ILLA seamlessly integrates with RestAPI, MySQL, PostgreSQL, and other leading databases, allowing for straightforward CRUD operations without the need to develop a microservice for simple data manipulation."}),"\n",(0,n.jsx)(a.p,{children:"Thanks to ILLA, I can now rapidly provide my colleagues with the desired data dashboards. Whether it's swiftly assembling a dashboard for a unique event or devising an engaging task assignment system for interns, it's all simplified."}),"\n",(0,n.jsx)(a.p,{children:"I encourage you to try it out. Join me in becoming a more content and efficient engineer."})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7214:(e,a,t)=>{t.d(a,{Z:()=>l,a:()=>o});var n=t(959);const i={},s=n.createContext(i);function o(e){const a=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.2bb0cb21.js b/assets/js/main.f43b4b78.js similarity index 96% rename from assets/js/main.2bb0cb21.js rename to assets/js/main.f43b4b78.js index c0b0585d33..d9b62daa19 100644 --- a/assets/js/main.2bb0cb21.js +++ b/assets/js/main.f43b4b78.js @@ -1,2 +1,2 @@ -/*! For license information please see main.2bb0cb21.js.LICENSE.txt */ -(self.webpackChunkilla_website=self.webpackChunkilla_website||[]).push([[179],{1422:(e,t,n)=>{var a={"./":1884};function o(e){var t=r(e);return n(t)}function r(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=r,e.exports=o,o.id=1422},6002:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(959);var a=n(7558),o=n.n(a),r=n(6887);const i={"0104b3a5":[()=>Promise.all([n.e(532),n.e(8592),n.e(1205)]).then(n.bind(n,2048)),"@site/src/pages/components/List/index.tsx",2048],"012c936c":[()=>n.e(1383).then(n.t.bind(n,383,19)),"~blog/default/illa-website-blog-tags-traditional-development-b40.json",383],"01a85c17":[()=>Promise.all([n.e(532),n.e(8592),n.e(2316),n.e(4013)]).then(n.bind(n,5602)),"@theme/BlogTagsListPage",5602],"01bd692b":[()=>Promise.all([n.e(532),n.e(8592),n.e(8550)]).then(n.bind(n,9451)),"@site/src/pages/components/Switch/index.tsx",9451],"0287bb30":[()=>n.e(5357).then(n.bind(n,5399)),"@site/src/pages/solutions-image-generator.mdx",5399],"03598c98":[()=>Promise.all([n.e(532),n.e(8592),n.e(4530)]).then(n.bind(n,406)),"@site/src/pages/components/Statistics/index.tsx",406],"03d60dda":[()=>Promise.all([n.e(532),n.e(8592),n.e(1618)]).then(n.bind(n,489)),"@site/src/pages/components/Divider/index.tsx",489],"125074f4":[()=>n.e(7919).then(n.t.bind(n,1782,19)),"~blog/default/illa-website-blog-tags-react-a30-list.json",1782],"17fb53e2":[()=>Promise.all([n.e(532),n.e(8592),n.e(4893)]).then(n.bind(n,2439)),"@site/src/pages/integrations/OracleDB/index.tsx",2439],"1842627e":[()=>n.e(5037).then(n.bind(n,2640)),"@site/blog/mui-2024/mui.md",2640],"188c27a7":[()=>Promise.all([n.e(532),n.e(8592),n.e(6921)]).then(n.bind(n,7108)),"@site/src/pages/components/index.tsx",7108],"1b97b52f":[()=>Promise.all([n.e(532),n.e(8592),n.e(2833)]).then(n.bind(n,7880)),"@site/src/pages/components/Input/index.tsx",7880],"1d9dae67":[()=>n.e(4630).then(n.t.bind(n,8064,19)),"~blog/default/illa-website-blog-tags-javascript-8bf-list.json",8064],"1df93b7f":[()=>Promise.all([n.e(532),n.e(8592),n.e(5708),n.e(3237)]).then(n.bind(n,7518)),"@site/src/pages/index.tsx",7518],"1e617043":[()=>n.e(5024).then(n.t.bind(n,5717,19)),"~blog/default/illa-website-blog-tags-mac-7c4.json",5717],"25bbf118":[()=>Promise.all([n.e(532),n.e(8592),n.e(7277)]).then(n.bind(n,5013)),"@site/src/pages/components/Modal/index.tsx",5013],"25ffa5da":[()=>Promise.all([n.e(532),n.e(8592),n.e(4417)]).then(n.bind(n,716)),"@site/src/pages/components/DateRange/index.tsx",716],"279770d6":[()=>Promise.all([n.e(532),n.e(8592),n.e(7654)]).then(n.bind(n,145)),"@site/src/pages/pricing/index.tsx",145],"2864c10f":[()=>Promise.all([n.e(532),n.e(8592),n.e(5923),n.e(3807)]).then(n.bind(n,6641)),"@theme/SolutionsPage",6641],"2937fddb":[()=>Promise.all([n.e(532),n.e(8592),n.e(7559)]).then(n.bind(n,5430)),"@site/src/pages/integrations/HuggingFaceInferenceEndpoint/index.tsx",5430],"2a89cc7d":[()=>n.e(4131).then(n.t.bind(n,5333,19)),"~blog/default/illa-website-blog-tags-ui-library-318-list.json",5333],"2bab37f9":[()=>n.e(8563).then(n.t.bind(n,7859,19)),"~blog/default/illa-website-blog-tags-tags-0b0.json",7859],"2d1ec1f7":[()=>Promise.all([n.e(532),n.e(8592),n.e(4664)]).then(n.bind(n,9400)),"@site/src/pages/integrations/MicrosoftSQLServer/index.tsx",9400],"2f0deb5b":[()=>n.e(3988).then(n.t.bind(n,4916,19)),"~blog/default/illa-website-blog-tags-ui-library-318.json",4916],30834002:[()=>Promise.all([n.e(532),n.e(8592),n.e(7949)]).then(n.bind(n,2150)),"@site/src/pages/components/Tabs/index.tsx",2150],"30da2238":[()=>Promise.all([n.e(532),n.e(8592),n.e(7906)]).then(n.bind(n,7201)),"@site/src/pages/integrations/Clickhouse/index.tsx",7201],"31eafaf9":[()=>n.e(3581).then(n.bind(n,2040)),"@site/blog/shadcn-ui-vs-mui/shadcn-ui-vs-mui.md",2040],"34d0e50f":[()=>n.e(5385).then(n.t.bind(n,5745,19)),"/home/runner/work/illa-website/illa-website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"354dfbd1":[()=>n.e(8248).then(n.bind(n,5209)),"@site/blog/top5-low-code-2024/top5-low-code-2024.md?truncated=true",5209],"38806fe8":[()=>Promise.all([n.e(532),n.e(8592),n.e(9248)]).then(n.bind(n,7179)),"@site/src/pages/integrations/PostgreSQL/index.tsx",7179],"3ae00f65":[()=>n.e(916).then(n.t.bind(n,6083,19)),"~blog/default/illa-website-blog-tags-internal-tools-465.json",6083],"3d6ccfd0":[()=>Promise.all([n.e(532),n.e(8592),n.e(7543)]).then(n.bind(n,2667)),"@site/src/pages/components/Video/index.tsx",2667],"3dca0203":[()=>n.e(5694).then(n.bind(n,1077)),"@site/blog/top5-low-code-2024/top5-low-code-2024.md",1077],"3fee51a2":[()=>Promise.all([n.e(532),n.e(8592),n.e(7155)]).then(n.bind(n,2974)),"@site/src/pages/components/Form/index.tsx",2974],41685197:[()=>Promise.all([n.e(532),n.e(8592),n.e(4610)]).then(n.bind(n,3608)),"@site/src/pages/integrations/TiDB/index.tsx",3608],"4486a1a1":[()=>n.e(2657).then(n.t.bind(n,3527,19)),"~blog/default/illa-website-blog-tags-traditional-development-b40-list.json",3527],"451bfe05":[()=>Promise.all([n.e(532),n.e(8592),n.e(5162)]).then(n.bind(n,780)),"@site/src/pages/integrations/Hydra/index.tsx",780],45267849:[()=>Promise.all([n.e(532),n.e(8592),n.e(2136)]).then(n.bind(n,7417)),"@site/src/pages/integrations/MySQL/index.tsx",7417],"46a49447":[()=>Promise.all([n.e(532),n.e(8592),n.e(4771)]).then(n.bind(n,2208)),"@site/src/pages/components/CircleProgress/index.tsx",2208],"474ec535":[()=>Promise.all([n.e(532),n.e(8592),n.e(1055)]).then(n.bind(n,3886)),"@site/src/pages/components/PDF/index.tsx",3886],49586834:[()=>Promise.all([n.e(532),n.e(8592),n.e(852)]).then(n.bind(n,8292)),"@site/src/pages/components/Button/index.tsx",8292],"4a61f11b":[()=>n.e(9699).then(n.bind(n,1483)),"@site/blog/shadcn-ui-2024/shadcn-ui-2024.md",1483],"4a83e123":[()=>n.e(6137).then(n.bind(n,8506)),"@site/blog/shadcn-ui-vs-mui/shadcn-ui-vs-mui.md?truncated=true",8506],"4ac275c7":[()=>Promise.all([n.e(532),n.e(8592),n.e(1679)]).then(n.bind(n,9098)),"@site/src/pages/integrations/CouchDB/index.tsx",9098],"4c3a04f4":[()=>Promise.all([n.e(532),n.e(8592),n.e(2578)]).then(n.bind(n,8532)),"@site/src/pages/components/Chart/index.tsx",8532],"50cfa8ab":[()=>Promise.all([n.e(532),n.e(8592),n.e(9788)]).then(n.bind(n,7779)),"@site/src/pages/components/BarProgress/index.tsx",7779],"53015dc5":[()=>Promise.all([n.e(532),n.e(8592),n.e(8962)]).then(n.bind(n,4118)),"@site/src/pages/components/Menu/index.tsx",4118],"56108f26":[()=>n.e(2841).then(n.bind(n,2291)),"@site/src/pages/solutions-crm.mdx",2291],"56cbb393":[()=>Promise.all([n.e(532),n.e(8592),n.e(7050)]).then(n.bind(n,4515)),"@site/src/pages/components/Select/index.tsx",4515],"5758dffb":[()=>Promise.all([n.e(532),n.e(8592),n.e(9982)]).then(n.bind(n,5421)),"@site/src/pages/components/EditableText/index.tsx",5421],"589eda2e":[()=>Promise.all([n.e(532),n.e(8592),n.e(4556)]).then(n.bind(n,1566)),"@site/src/pages/integrations/AmazonDynamoDB/index.tsx",1566],"5c73698d":[()=>n.e(3625).then(n.t.bind(n,451,19)),"~blog/default/illa-website-blog-tags-shadcn-ui-69b.json",451],"5ca6070c":[()=>Promise.all([n.e(532),n.e(8592),n.e(2056)]).then(n.bind(n,5462)),"@site/src/pages/components/Textarea Input/index.tsx",5462],"5cd65baf":[()=>n.e(9239).then(n.bind(n,9590)),"@site/blog/lowcode-vs-traditional/lowcode-vs-traditional.md?truncated=true",9590],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"5f78ec6a":[()=>n.e(3096).then(n.bind(n,2369)),"@site/blog/nvm-use/nvm-use.md",2369],"6632b8cf":[()=>Promise.all([n.e(532),n.e(8592),n.e(9090)]).then(n.bind(n,786)),"@site/src/pages/components/Icon/index.tsx",786],67346627:[()=>n.e(4423).then(n.bind(n,6082)),"@site/src/pages/solutions-dashboard.mdx",6082],"6875c492":[()=>Promise.all([n.e(532),n.e(8592),n.e(2316),n.e(8610)]).then(n.bind(n,2304)),"@theme/BlogTagsPostsPage",2304],"68c10dd5":[()=>Promise.all([n.e(532),n.e(8592),n.e(2714)]).then(n.bind(n,5886)),"@site/src/pages/integrations/Neon/index.tsx",5886],"6b7903a8":[()=>Promise.all([n.e(532),n.e(8592),n.e(9324)]).then(n.bind(n,3564)),"@site/src/pages/components/NumberInput/index.tsx",3564],"6d69edbe":[()=>n.e(8876).then(n.bind(n,5391)),"@site/blog/nvm-use/nvm-use.md?truncated=true",5391],"6e91fee9":[()=>Promise.all([n.e(532),n.e(8592),n.e(856)]).then(n.bind(n,2368)),"@site/src/pages/integrations/S3/index.tsx",2368],"7213c8c2":[()=>Promise.all([n.e(532),n.e(8592),n.e(3045)]).then(n.bind(n,9219)),"@site/src/pages/components/Timeline/index.tsx",9219],"72d3bf7a":[()=>n.e(4808).then(n.bind(n,2685)),"@site/blog/lowcode-vs-traditional/lowcode-vs-traditional.md",2685],"733df29f":[()=>Promise.all([n.e(532),n.e(8592),n.e(8151)]).then(n.bind(n,3538)),"@site/src/pages/integrations/Appwrite/index.tsx",3538],"7b91dc2c":[()=>Promise.all([n.e(532),n.e(8592),n.e(7448)]).then(n.bind(n,5764)),"@site/src/pages/integrations/MariaDB/index.tsx",5764],"7d02bed8":[()=>Promise.all([n.e(532),n.e(8592),n.e(7832)]).then(n.bind(n,9840)),"@site/src/pages/integrations/ElasticSearch/index.tsx",9840],"7d62b9db":[()=>n.e(8741).then(n.t.bind(n,7471,19)),"~blog/default/illa-website-blog-tags-open-source-184-list.json",7471],"7f0a0f20":[()=>Promise.all([n.e(532),n.e(8592),n.e(2377)]).then(n.bind(n,5092)),"@site/src/pages/components/CheckboxGroup/index.tsx",5092],"81c7ed4e":[()=>n.e(500).then(n.t.bind(n,9344,19)),"~blog/default/illa-website-blog-tags-react-a30.json",9344],"837d095b":[()=>Promise.all([n.e(532),n.e(8592),n.e(9211)]).then(n.bind(n,8824)),"@site/src/pages/components/RadioGroup/index.tsx",8824],"83d2f18d":[()=>Promise.all([n.e(532),n.e(8592),n.e(4638)]).then(n.bind(n,6398)),"@site/src/pages/components/Audio/index.tsx",6398],"86953be1":[()=>Promise.all([n.e(532),n.e(8592),n.e(6510)]).then(n.bind(n,7072)),"@site/src/pages/components/Cascader/index.tsx",7072],"88d8af9f":[()=>n.e(5038).then(n.bind(n,9129)),"@site/blog/mui-2024/mui.md?truncated=true",9129],"890684bb":[()=>Promise.all([n.e(532),n.e(8592),n.e(3883)]).then(n.bind(n,9917)),"@site/src/pages/integrations/Redis/index.tsx",9917],"8d9a9c02":[()=>Promise.all([n.e(532),n.e(8592),n.e(3265)]).then(n.bind(n,3893)),"@site/src/pages/components/RadioButton/index.tsx",3893],"921028f2":[()=>Promise.all([n.e(532),n.e(8592),n.e(8922)]).then(n.bind(n,4108)),"@site/src/pages/integrations/RESTAPI/index.tsx",4108],"927b8026":[()=>Promise.all([n.e(532),n.e(8592),n.e(1414)]).then(n.bind(n,4882)),"@site/src/pages/integrations/GraphQL/index.tsx",4882],"94161ec7":[()=>Promise.all([n.e(532),n.e(8592),n.e(1845)]).then(n.bind(n,8521)),"@site/src/pages/integrations/Snowflake/index.tsx",8521],96447363:[()=>n.e(9713).then(n.bind(n,6100)),"@site/blog/build-dashboard/build-dashboard.md",6100],"9784bb0b":[()=>n.e(6057).then(n.t.bind(n,2759,19)),"~blog/default/illa-website-blog-tags-nodejs-05c-list.json",2759],"995fa2e5":[()=>n.e(4595).then(n.t.bind(n,1440,19)),"~blog/default/illa-website-blog-tags-nvm-1de.json",1440],"9de45a08":[()=>Promise.all([n.e(532),n.e(8592),n.e(4640)]).then(n.bind(n,7582)),"@site/src/pages/integrations/SupabaseDB/index.tsx",7582],"9f91eb4c":[()=>Promise.all([n.e(532),n.e(8592),n.e(6290)]).then(n.bind(n,3668)),"@site/src/pages/components/DateTime/index.tsx",3668],a1d5db4a:[()=>n.e(4363).then(n.t.bind(n,252,19)),"~blog/default/illa-website-blog-9c2.json",252],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8592),n.e(2316),n.e(3089)]).then(n.bind(n,6336)),"@theme/BlogListPage",6336],a6b4f45f:[()=>Promise.all([n.e(532),n.e(8592),n.e(3102)]).then(n.bind(n,9967)),"@site/src/pages/components/Carousel/index.tsx",9967],a7999644:[()=>n.e(3481).then(n.t.bind(n,6863,19)),"~blog/default/illa-website-blog-tags-data-dashboard-0e2.json",6863],a828f322:[()=>Promise.all([n.e(532),n.e(8592),n.e(8891)]).then(n.bind(n,9216)),"@site/src/pages/integrations/HuggingFaceInferenceAPI/index.tsx",9216],a8a01fb0:[()=>n.e(470).then(n.t.bind(n,347,19)),"~blog/default/illa-website-blog-tags-admin-panel-26e-list.json",347],a9372106:[()=>Promise.all([n.e(532),n.e(8592),n.e(1777)]).then(n.bind(n,7134)),"@site/src/pages/components/Text/index.tsx",7134],a9f9d9a3:[()=>n.e(5431).then(n.bind(n,4479)),"@site/src/pages/solutions-admin-panel.mdx",4479],ac92cbdc:[()=>Promise.all([n.e(532),n.e(8592),n.e(5378)]).then(n.bind(n,5501)),"@site/src/pages/integrations/SMTP/index.tsx",5501],b0677628:[()=>n.e(7844).then(n.bind(n,7074)),"@site/src/pages/solutions-ai-voice-generator.mdx",7074],b3f0800c:[()=>n.e(4225).then(n.t.bind(n,5665,19)),"~blog/default/illa-website-blog-tags-nvm-1de-list.json",5665],b4cd1370:[()=>n.e(3927).then(n.t.bind(n,9471,19)),"~blog/default/illa-website-blog-tags-low-code-931-list.json",9471],b6eb34d2:[()=>n.e(5191).then(n.bind(n,5067)),"@site/blog/shadcn-ui-2024/shadcn-ui-2024.md?truncated=true",5067],bb85b74d:[()=>n.e(5938).then(n.bind(n,576)),"@site/blog/build-dashboard/build-dashboard.md?truncated=true",576],bb9e3f22:[()=>Promise.all([n.e(532),n.e(8592),n.e(5118)]).then(n.bind(n,4980)),"@site/src/pages/components/Container/index.tsx",4980],be1d629d:[()=>Promise.all([n.e(532),n.e(8592),n.e(545)]).then(n.bind(n,3563)),"@site/src/pages/components/Rate/index.tsx",3563],c133d0bc:[()=>Promise.all([n.e(532),n.e(8592),n.e(7746)]).then(n.bind(n,1814)),"@site/src/pages/components/Image/index.tsx",1814],c45d4b28:[()=>n.e(850).then(n.t.bind(n,5884,19)),"~blog/default/illa-website-blog-tags-low-code-931.json",5884],ca19ac91:[()=>Promise.all([n.e(532),n.e(8592),n.e(7612)]).then(n.bind(n,7690)),"@site/src/pages/integrations/GoogleSheets/index.tsx",7690],ca96679e:[()=>Promise.all([n.e(532),n.e(8592),n.e(2031)]).then(n.bind(n,5014)),"@site/src/pages/components/Tables/index.tsx",5014],ccc49370:[()=>Promise.all([n.e(532),n.e(8592),n.e(2316),n.e(5923),n.e(4809),n.e(6103)]).then(n.bind(n,9466)),"@theme/BlogPostPage",9466],cd0cf34d:[()=>n.e(2904).then(n.t.bind(n,4381,19)),"~blog/default/illa-website-blog-tags-nodejs-05c.json",4381],d8096fab:[()=>Promise.all([n.e(532),n.e(8592),n.e(6828)]).then(n.bind(n,3769)),"@site/src/pages/integrations/index.tsx",3769],da1593ee:[()=>Promise.all([n.e(532),n.e(8592),n.e(9321)]).then(n.bind(n,1086)),"@site/src/pages/components/Multiselect/index.tsx",1086],da530276:[()=>n.e(1012).then(n.t.bind(n,7274,19)),"~blog/default/illa-website-blog-tags-admin-panel-26e.json",7274],dbd7c721:[()=>n.e(4179).then(n.bind(n,3671)),"@site/src/pages/solutions-cms.mdx",3671],dcf8da52:[()=>n.e(4851).then(n.t.bind(n,9969,19)),"~blog/default/illa-website-blog-tags-mac-7c4-list.json",9969],dd95d1fb:[()=>n.e(2987).then(n.t.bind(n,314,19)),"~blog/default/illa-website-blog-tags-open-source-184.json",314],deb5faec:[()=>Promise.all([n.e(532),n.e(8592),n.e(2224)]).then(n.bind(n,320)),"@site/src/pages/components/Date/index.tsx",320],dfe72411:[()=>n.e(8704).then(n.t.bind(n,8470,19)),"~blog/default/illa-website-blog-tags-javascript-8bf.json",8470],e015af33:[()=>Promise.all([n.e(532),n.e(8592),n.e(8595)]).then(n.bind(n,7818)),"@site/src/pages/integrations/MongoDB/index.tsx",7818],e0cd9918:[()=>Promise.all([n.e(532),n.e(8592),n.e(8155)]).then(n.bind(n,4855)),"@site/src/pages/components/Upload/index.tsx",4855],e20c763e:[()=>n.e(7599).then(n.bind(n,8311)),"@site/blog/backend-create-web-ui/backend-create-web-ui.md?truncated=true",8311],e4e1a4b6:[()=>Promise.all([n.e(532),n.e(8592),n.e(8296)]).then(n.bind(n,5586)),"@site/src/pages/integrations/Airtable/index.tsx",5586],e765f05a:[()=>n.e(7272).then(n.bind(n,26)),"@site/blog/backend-create-web-ui/backend-create-web-ui.md",26],ee6f64f3:[()=>n.e(8345).then(n.t.bind(n,7925,19)),"~blog/default/illa-website-blog-tags-data-dashboard-0e2-list.json",7925],f3cf1707:[()=>Promise.all([n.e(532),n.e(8592),n.e(3072)]).then(n.bind(n,109)),"@site/src/pages/integrations/Firebase/index.tsx",109],f91124a1:[()=>n.e(7432).then(n.t.bind(n,6010,19)),"~blog/default/illa-website-blog-tags-shadcn-ui-69b-list.json",6010],fad6e022:[()=>n.e(4757).then(n.t.bind(n,7355,19)),"~blog/default/illa-website-blog-tags-internal-tools-465-list.json",7355],fc0df049:[()=>n.e(5315).then(n.t.bind(n,4469,19)),"/home/runner/work/illa-website/illa-website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469]};var l=n(1527);function s(e){let{error:t,retry:n,pastDelay:a}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):a?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(4420),u=n(2762);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>Promise.all([n.e(532),n.e(8592),n.e(8245)]).then(n.bind(n,8245)),modules:["@theme/NotFound"],webpack:()=>[8245],render(e,t){const n=e.default;return(0,l.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const a=r[`${e}-${t}`],d={},p=[],f=[],g=(0,c.Z)(a);return Object.entries(g).forEach((e=>{let[t,n]=e;const a=i[n];a&&(d[t]=a[0],p.push(a[1]),f.push(a[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(a));Object.entries(t).forEach((t=>{let[n,a]=t;const r=a.default;if(!r)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof r&&"function"!=typeof r||Object.keys(a).filter((e=>"default"!==e)).forEach((e=>{r[e]=a[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=r}));const r=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(u.z,{value:i,children:(0,l.jsx)(r,{...o,...n})})}})}const p=[{path:"/illa-website/admin-panel",component:d("/illa-website/admin-panel","090"),exact:!0},{path:"/illa-website/ai-voice-generator",component:d("/illa-website/ai-voice-generator","71b"),exact:!0},{path:"/illa-website/blog",component:d("/illa-website/blog","aaa"),exact:!0},{path:"/illa-website/blog/backend-create-web-ui",component:d("/illa-website/blog/backend-create-web-ui","e6d"),exact:!0},{path:"/illa-website/blog/build-dashboard",component:d("/illa-website/blog/build-dashboard","fb1"),exact:!0},{path:"/illa-website/blog/lowcode-vs-traditional",component:d("/illa-website/blog/lowcode-vs-traditional","6ed"),exact:!0},{path:"/illa-website/blog/mui-2024",component:d("/illa-website/blog/mui-2024","5d5"),exact:!0},{path:"/illa-website/blog/nvm-use-2024",component:d("/illa-website/blog/nvm-use-2024","083"),exact:!0},{path:"/illa-website/blog/shadcn-ui-2024",component:d("/illa-website/blog/shadcn-ui-2024","b65"),exact:!0},{path:"/illa-website/blog/shadcn-vs-mui",component:d("/illa-website/blog/shadcn-vs-mui","2aa"),exact:!0},{path:"/illa-website/blog/tags",component:d("/illa-website/blog/tags","6c4"),exact:!0},{path:"/illa-website/blog/tags/admin-panel",component:d("/illa-website/blog/tags/admin-panel","ecb"),exact:!0},{path:"/illa-website/blog/tags/data-dashboard",component:d("/illa-website/blog/tags/data-dashboard","55e"),exact:!0},{path:"/illa-website/blog/tags/internal-tools",component:d("/illa-website/blog/tags/internal-tools","34b"),exact:!0},{path:"/illa-website/blog/tags/javascript",component:d("/illa-website/blog/tags/javascript","5c4"),exact:!0},{path:"/illa-website/blog/tags/low-code",component:d("/illa-website/blog/tags/low-code","a7c"),exact:!0},{path:"/illa-website/blog/tags/mac",component:d("/illa-website/blog/tags/mac","911"),exact:!0},{path:"/illa-website/blog/tags/nodejs",component:d("/illa-website/blog/tags/nodejs","c59"),exact:!0},{path:"/illa-website/blog/tags/nvm",component:d("/illa-website/blog/tags/nvm","585"),exact:!0},{path:"/illa-website/blog/tags/open-source",component:d("/illa-website/blog/tags/open-source","f4a"),exact:!0},{path:"/illa-website/blog/tags/react",component:d("/illa-website/blog/tags/react","ad3"),exact:!0},{path:"/illa-website/blog/tags/shadcn-ui",component:d("/illa-website/blog/tags/shadcn-ui","459"),exact:!0},{path:"/illa-website/blog/tags/traditional-development",component:d("/illa-website/blog/tags/traditional-development","f03"),exact:!0},{path:"/illa-website/blog/tags/ui-library",component:d("/illa-website/blog/tags/ui-library","174"),exact:!0},{path:"/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024",component:d("/illa-website/blog/top-5-best-open-source-low-code-platforms-in-2024","263"),exact:!0},{path:"/illa-website/cms",component:d("/illa-website/cms","026"),exact:!0},{path:"/illa-website/components/",component:d("/illa-website/components/","5b9"),exact:!0},{path:"/illa-website/components/Audio/",component:d("/illa-website/components/Audio/","f19"),exact:!0},{path:"/illa-website/components/BarProgress/",component:d("/illa-website/components/BarProgress/","771"),exact:!0},{path:"/illa-website/components/Button/",component:d("/illa-website/components/Button/","de8"),exact:!0},{path:"/illa-website/components/Carousel/",component:d("/illa-website/components/Carousel/","8c9"),exact:!0},{path:"/illa-website/components/Cascader/",component:d("/illa-website/components/Cascader/","f17"),exact:!0},{path:"/illa-website/components/Chart/",component:d("/illa-website/components/Chart/","d20"),exact:!0},{path:"/illa-website/components/CheckboxGroup/",component:d("/illa-website/components/CheckboxGroup/","2b3"),exact:!0},{path:"/illa-website/components/CircleProgress/",component:d("/illa-website/components/CircleProgress/","1f3"),exact:!0},{path:"/illa-website/components/Container/",component:d("/illa-website/components/Container/","d85"),exact:!0},{path:"/illa-website/components/Date/",component:d("/illa-website/components/Date/","cfa"),exact:!0},{path:"/illa-website/components/DateRange/",component:d("/illa-website/components/DateRange/","c94"),exact:!0},{path:"/illa-website/components/DateTime/",component:d("/illa-website/components/DateTime/","90f"),exact:!0},{path:"/illa-website/components/Divider/",component:d("/illa-website/components/Divider/","7f8"),exact:!0},{path:"/illa-website/components/EditableText/",component:d("/illa-website/components/EditableText/","77f"),exact:!0},{path:"/illa-website/components/Form/",component:d("/illa-website/components/Form/","4f5"),exact:!0},{path:"/illa-website/components/Icon/",component:d("/illa-website/components/Icon/","2b7"),exact:!0},{path:"/illa-website/components/Image/",component:d("/illa-website/components/Image/","81d"),exact:!0},{path:"/illa-website/components/Input/",component:d("/illa-website/components/Input/","d13"),exact:!0},{path:"/illa-website/components/List/",component:d("/illa-website/components/List/","b84"),exact:!0},{path:"/illa-website/components/Menu/",component:d("/illa-website/components/Menu/","17f"),exact:!0},{path:"/illa-website/components/Modal/",component:d("/illa-website/components/Modal/","bb5"),exact:!0},{path:"/illa-website/components/Multiselect/",component:d("/illa-website/components/Multiselect/","7cb"),exact:!0},{path:"/illa-website/components/NumberInput/",component:d("/illa-website/components/NumberInput/","549"),exact:!0},{path:"/illa-website/components/PDF/",component:d("/illa-website/components/PDF/","63e"),exact:!0},{path:"/illa-website/components/RadioButton/",component:d("/illa-website/components/RadioButton/","345"),exact:!0},{path:"/illa-website/components/RadioGroup/",component:d("/illa-website/components/RadioGroup/","988"),exact:!0},{path:"/illa-website/components/Rate/",component:d("/illa-website/components/Rate/","a88"),exact:!0},{path:"/illa-website/components/Select/",component:d("/illa-website/components/Select/","902"),exact:!0},{path:"/illa-website/components/Statistics/",component:d("/illa-website/components/Statistics/","6e4"),exact:!0},{path:"/illa-website/components/Switch/",component:d("/illa-website/components/Switch/","f6f"),exact:!0},{path:"/illa-website/components/Tables/",component:d("/illa-website/components/Tables/","5f6"),exact:!0},{path:"/illa-website/components/Tabs/",component:d("/illa-website/components/Tabs/","e90"),exact:!0},{path:"/illa-website/components/Text/",component:d("/illa-website/components/Text/","25a"),exact:!0},{path:"/illa-website/components/Textarea%20Input/",component:d("/illa-website/components/Textarea%20Input/","44d"),exact:!0},{path:"/illa-website/components/Timeline/",component:d("/illa-website/components/Timeline/","3ae"),exact:!0},{path:"/illa-website/components/Upload/",component:d("/illa-website/components/Upload/","9a0"),exact:!0},{path:"/illa-website/components/Video/",component:d("/illa-website/components/Video/","b95"),exact:!0},{path:"/illa-website/crm",component:d("/illa-website/crm","63f"),exact:!0},{path:"/illa-website/dashboard",component:d("/illa-website/dashboard","5ec"),exact:!0},{path:"/illa-website/image-generator",component:d("/illa-website/image-generator","2aa"),exact:!0},{path:"/illa-website/integrations/",component:d("/illa-website/integrations/","1e5"),exact:!0},{path:"/illa-website/integrations/Airtable/",component:d("/illa-website/integrations/Airtable/","d53"),exact:!0},{path:"/illa-website/integrations/AmazonDynamoDB/",component:d("/illa-website/integrations/AmazonDynamoDB/","c98"),exact:!0},{path:"/illa-website/integrations/Appwrite/",component:d("/illa-website/integrations/Appwrite/","5ea"),exact:!0},{path:"/illa-website/integrations/Clickhouse/",component:d("/illa-website/integrations/Clickhouse/","efd"),exact:!0},{path:"/illa-website/integrations/CouchDB/",component:d("/illa-website/integrations/CouchDB/","912"),exact:!0},{path:"/illa-website/integrations/ElasticSearch/",component:d("/illa-website/integrations/ElasticSearch/","697"),exact:!0},{path:"/illa-website/integrations/Firebase/",component:d("/illa-website/integrations/Firebase/","b8a"),exact:!0},{path:"/illa-website/integrations/GoogleSheets/",component:d("/illa-website/integrations/GoogleSheets/","ee9"),exact:!0},{path:"/illa-website/integrations/GraphQL/",component:d("/illa-website/integrations/GraphQL/","975"),exact:!0},{path:"/illa-website/integrations/HuggingFaceInferenceAPI/",component:d("/illa-website/integrations/HuggingFaceInferenceAPI/","4d1"),exact:!0},{path:"/illa-website/integrations/HuggingFaceInferenceEndpoint/",component:d("/illa-website/integrations/HuggingFaceInferenceEndpoint/","a72"),exact:!0},{path:"/illa-website/integrations/Hydra/",component:d("/illa-website/integrations/Hydra/","cc5"),exact:!0},{path:"/illa-website/integrations/MariaDB/",component:d("/illa-website/integrations/MariaDB/","53c"),exact:!0},{path:"/illa-website/integrations/MicrosoftSQLServer/",component:d("/illa-website/integrations/MicrosoftSQLServer/","933"),exact:!0},{path:"/illa-website/integrations/MongoDB/",component:d("/illa-website/integrations/MongoDB/","640"),exact:!0},{path:"/illa-website/integrations/MySQL/",component:d("/illa-website/integrations/MySQL/","59d"),exact:!0},{path:"/illa-website/integrations/Neon/",component:d("/illa-website/integrations/Neon/","fc8"),exact:!0},{path:"/illa-website/integrations/OracleDB/",component:d("/illa-website/integrations/OracleDB/","a32"),exact:!0},{path:"/illa-website/integrations/PostgreSQL/",component:d("/illa-website/integrations/PostgreSQL/","4b0"),exact:!0},{path:"/illa-website/integrations/Redis/",component:d("/illa-website/integrations/Redis/","acb"),exact:!0},{path:"/illa-website/integrations/RESTAPI/",component:d("/illa-website/integrations/RESTAPI/","8d2"),exact:!0},{path:"/illa-website/integrations/S3/",component:d("/illa-website/integrations/S3/","8f9"),exact:!0},{path:"/illa-website/integrations/SMTP/",component:d("/illa-website/integrations/SMTP/","d8d"),exact:!0},{path:"/illa-website/integrations/Snowflake/",component:d("/illa-website/integrations/Snowflake/","f29"),exact:!0},{path:"/illa-website/integrations/SupabaseDB/",component:d("/illa-website/integrations/SupabaseDB/","ea8"),exact:!0},{path:"/illa-website/integrations/TiDB/",component:d("/illa-website/integrations/TiDB/","cfd"),exact:!0},{path:"/illa-website/pricing/",component:d("/illa-website/pricing/","b2e"),exact:!0},{path:"/illa-website/",component:d("/illa-website/","113"),exact:!0},{path:"*",component:d("*")}]},7752:(e,t,n)=>{"use strict";n.d(t,{_:()=>r,t:()=>i});var a=n(959),o=n(1527);const r=a.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(r.Provider,{value:n,children:t})}},1136:(e,t,n)=>{"use strict";var a=n(959),o=n(4478),r=n(9500),i=n(387),l=n(6047);const s=[n(3852),n(89),n(6070),n(4329),n(962),n(1245)];var c=n(6002),u=n(8903),d=n(6920);function p(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,u.LX)(t,e):n.length?n[n.length-1].match:u.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&p(e.routes,t,n)),a})),n}var f=n(1527);function g(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(4491),h=n(2688),b=n(9925),y=n(2593),v=n(1610),w=n(8224),k=n(864);const x="default";var L=n(6771),C=n(7535);function S(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),a=(0,w.l)(),o=n[e].htmlLang,r=e=>e.replace("-","_");return(0,f.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:r(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:r(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),a=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:a}=(0,u.TH)();return e+(0,L.applyTrailingSlash)((0,b.Z)(a),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:a;return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function A(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.h})]}),n&&(0,f.jsx)(v.d,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(S,{}),(0,f.jsx)(C.Z,{tag:x,locale:e}),(0,f.jsx)(m.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const P=new Map;function D(e){if(P.has(e.pathname))return{...e,pathname:P.get(e.pathname)};if(p(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return P.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return P.set(e.pathname,t),{...e,pathname:t}}var T=n(7752),I=n(6855),E=n(2827);function j(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a{const a=t.default?.[e]??t[e];return a?.(...n)}));return()=>o.forEach((e=>e?.()))}const R=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,E.Z)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const a=t.pathname===n.pathname,o=t.hash===n.hash,r=t.search===n.search;if(a&&o&&!r)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),j("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function N(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>p(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class F extends a.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?j("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=j("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),N(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(R,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(u.AW,{location:t,render:()=>e})})}}const O=F,M="__docusaurus-base-url-issue-banner-container",B="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function q(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const a=new XMLHttpRequest;a.open("GET",e,!0),a.withCredentials=!0,a.onload=()=>{200===a.status?t():n()},a.send(null)}))};var K=n(4420);const X=new Set,J=new Set,ee=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,te={prefetch(e){if(!(e=>!ee()&&!J.has(e)&&!X.has(e))(e))return!1;X.add(e);const t=p(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!ee()&&!J.has(e))(e)&&(J.add(e),N(e))},ne=Object.freeze(te),ae=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=ne;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.B6,{children:(0,f.jsx)(r.VK,{children:(0,f.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ae)a.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const r=o.createRoot(e,{onRecoverableError:n});a.startTransition((()=>{r.render(t)}))}};N(window.location.pathname).then(l)}},6855:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var a=n(959),o=n(6809);const r=JSON.parse('{"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-QW745VE33W"],"anonymizeIP":false,"id":"default"}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh","ja","de"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"zh":{"label":"\u4e2d\u6587","direction":"ltr","htmlLang":"zh","calendar":"gregory","path":"zh"},"ja":{"label":"\u65e5\u672c\u8a9e","direction":"ltr","htmlLang":"ja","calendar":"gregory","path":"ja"},"de":{"label":"Deutsch","direction":"ltr","htmlLang":"de","calendar":"gregory","path":"de"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.0.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.0.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.1"},"prefix-svg-ids":{"type":"local"},"docusaurus-tailwindcss":{"type":"local"},"docusaurus-plugin-content-blog":{"type":"project"},"docusaurus-plugin-content-pages":{"type":"project"},"docusaurus-plugin-ILLA-linkedin":{"type":"project"},"docusaurus-plugin-ILLA-twitter":{"type":"project"},"docusaurus-plugin-ILLA-chatwoot":{"type":"project"}}}');var c=n(1527);const u={siteConfig:o.default,siteMetadata:s,globalData:r,i18n:i,codeTranslations:l},d=a.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},1289:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Be});var a=n(959),o=n(6047),r=n(4491),i=n(6771),l=n(5341),s=n(1610),c=n(9920),u=n(421),d=n(864),p=n(7675),f=n(2593),g=n(4288),m=n(5374),h=n(1527);function b(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:r,...i}=e;return(0,h.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,h.jsx)("g",{stroke:a,strokeWidth:o,children:(0,h.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const y={closeButton:"closeButton_r_Ma"};function v(e){return(0,h.jsx)("button",{type:"button","aria-label":(0,m.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,l.Z)("clean-btn close",y.closeButton,e.className),children:(0,h.jsx)(b,{width:14,height:14,strokeWidth:3.1})})}const w={content:"content_B3zk"};function k(e){const{announcementBar:t}=(0,f.L)(),{content:n}=t;return(0,h.jsx)("div",{...e,className:(0,l.Z)(w.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const x={announcementBar:"announcementBar_hbYq",announcementBarPlaceholder:"announcementBarPlaceholder_nNiq",announcementBarClose:"announcementBarClose_S8lM",announcementBarContent:"announcementBarContent__DAX"};function L(){const{announcementBar:e}=(0,f.L)(),{isActive:t,close:n}=(0,g.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:r}=e;return(0,h.jsxs)("div",{className:x.announcementBar,style:{backgroundColor:a,color:o},role:"banner",children:[r&&(0,h.jsx)("div",{className:x.announcementBarPlaceholder}),(0,h.jsx)(k,{className:x.announcementBarContent}),r&&(0,h.jsx)(v,{onClick:n,className:x.announcementBarClose})]})}var C=n(5580),S=n(5508),_=n(3707);var A=n(1900);function P(e){let{header:t,primaryMenu:n,secondaryMenu:a}=e;const{shown:o}=(0,A.Y)();return(0,h.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,h.jsxs)("div",{className:(0,l.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,h.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,h.jsx)("div",{className:"navbar-sidebar__item menu",children:a})]})]})}var D=n(1694),T=n(7111);function I(e){return(0,h.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,h.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function E(e){return(0,h.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,h.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const j={toggle:"toggle_Io7t",toggleButton:"toggleButton_C0po",darkToggleIcon:"darkToggleIcon_iyjK",lightToggleIcon:"lightToggleIcon__wwy",toggleButtonDisabled:"toggleButtonDisabled_IHuh"};function R(e){let{className:t,buttonClassName:n,value:a,onChange:o}=e;const r=(0,T.Z)(),i=(0,m.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===a?(0,m.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,m.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,h.jsx)("div",{className:(0,l.Z)(j.toggle,t),children:(0,h.jsxs)("button",{className:(0,l.Z)("clean-btn",j.toggleButton,!r&&j.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===a?"light":"dark"),disabled:!r,title:i,"aria-label":i,"aria-live":"polite",children:[(0,h.jsx)(I,{className:(0,l.Z)(j.toggleIcon,j.lightToggleIcon)}),(0,h.jsx)(E,{className:(0,l.Z)(j.toggleIcon,j.darkToggleIcon)})]})})}const N=a.memo(R),F={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_jx_9"};function O(e){let{className:t}=e;const n=(0,f.L)().navbar.style,a=(0,f.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:r}=(0,D.I)();return a?null:(0,h.jsx)(N,{className:t,buttonClassName:"dark"===n?F.darkNavbarColorModeToggle:void 0,value:o,onChange:r})}var M=n(0),B=n(9925),z=n(2688);const q={themedComponent:"themedComponent_FXRw","themedComponent--light":"themedComponent--light_RIle","themedComponent--dark":"themedComponent--dark_gZs3"};function U(e){let{className:t,children:n}=e;const o=(0,T.Z)(),{colorMode:r}=(0,D.I)();return(0,h.jsx)(h.Fragment,{children:(o?"dark"===r?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,l.Z)(t,q.themedComponent,q[`themedComponent--${e}`])});return(0,h.jsx)(a.Fragment,{children:o},e)}))})}function $(e){const{sources:t,className:n,alt:a,...o}=e;return(0,h.jsx)(U,{className:n,children:e=>{let{theme:n,className:r}=e;return(0,h.jsx)("img",{src:t[n],alt:a,className:r,...o})}})}function H(e){let{logo:t,alt:n,imageClassName:a}=e;const o={light:(0,B.Z)(t.src),dark:(0,B.Z)(t.srcDark||t.src)},r=(0,h.jsx)($,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return a?(0,h.jsx)("div",{className:a,children:r}):r}function G(e){const{siteConfig:{title:t}}=(0,z.Z)(),{navbar:{title:n,logo:a}}=(0,f.L)(),{imageClassName:o,titleClassName:r,...i}=e,l=(0,B.Z)(a?.href||"/"),s=n?"":t,c=a?.alt??s;return(0,h.jsxs)(M.Z,{to:l,...i,...a?.target&&{target:a.target},children:[a&&(0,h.jsx)(H,{logo:a,alt:c,imageClassName:o}),null!=n&&(0,h.jsx)("b",{className:r,children:n})]})}function W(){return(0,h.jsx)(G,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Z(){const e=(0,C.e)();return(0,h.jsx)("button",{type:"button","aria-label":(0,m.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,h.jsx)(b,{color:"var(--ifm-color-emphasis-600)"})})}function V(){return(0,h.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,h.jsx)(W,{}),(0,h.jsx)(O,{className:"margin-right--md"}),(0,h.jsx)(Z,{})]})}var Q=n(6794);function Y(){const e=(0,C.e)(),t=(0,f.L)().navbar.items;return(0,h.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,a.createElement)(Q.Z,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function K(e){return(0,h.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,h.jsx)(m.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function X(){const e=0===(0,f.L)().navbar.items.length,t=(0,A.Y)();return(0,h.jsxs)(h.Fragment,{children:[!e&&(0,h.jsx)(K,{onClick:()=>t.hide()}),t.content]})}function J(){const e=(0,C.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,a.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,h.jsx)(P,{header:(0,h.jsx)(V,{}),primaryMenu:(0,h.jsx)(Y,{}),secondaryMenu:(0,h.jsx)(X,{})}):null}const ee={navbarHideable:"navbarHideable_QJhM",navbarHidden:"navbarHidden_JLKf"};function te(e){return(0,h.jsx)("div",{role:"presentation",...e,className:(0,l.Z)("navbar-sidebar__backdrop",e.className)})}function ne(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,f.L)(),r=(0,C.e)(),{navbarRef:i,isNavbarVisible:s}=function(e){const[t,n]=(0,a.useState)(e),o=(0,a.useRef)(!1),r=(0,a.useRef)(0),i=(0,a.useCallback)((e=>{null!==e&&(r.current=e.getBoundingClientRect().height)}),[]);return(0,_.RF)(((t,a)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+c{if(!e)return;const a=t.location.hash;if(a?document.getElementById(a.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,h.jsxs)("nav",{ref:i,"aria-label":(0,m.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,l.Z)("navbar","navbar--fixed-top",n&&[ee.navbarHideable,!s&&ee.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":r.shown}),children:[t,(0,h.jsx)(te,{onClick:r.toggle}),(0,h.jsx)(J,{})]})}var ae=n(809),oe=n(5160),re=n(1603);function ie(e){let{width:t=30,height:n=30,className:a,...o}=e;return(0,h.jsx)("svg",{className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,h.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function le(){const{toggle:e,shown:t}=(0,C.e)();return(0,h.jsx)("button",{onClick:e,"aria-label":(0,m.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,h.jsx)(ie,{})})}var se=n(5243);const ce={colorModeToggle:"colorModeToggle_Kblj"};function ue(e){let{items:t}=e;return(0,h.jsx)(h.Fragment,{children:t.map(((e,t)=>(0,h.jsx)(ae.QW,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,h.jsx)(Q.Z,{...e})},t)))})}function de(e){let{left:t,right:n}=e;return(0,h.jsxs)("div",{className:"navbar__inner",children:[(0,h.jsx)("div",{className:"navbar__items",children:t}),(0,h.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function pe(){const e=(0,C.e)(),t=(0,f.L)().navbar.items,[n,a]=(0,oe.A)(t),o=t.find((e=>"search"===e.type));return(0,h.jsx)(de,{left:(0,h.jsxs)(h.Fragment,{children:[!e.disabled&&(0,h.jsx)(le,{}),(0,h.jsx)(W,{}),(0,h.jsx)(ue,{items:n})]}),right:(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(ue,{items:a}),(0,h.jsx)(O,{className:ce.colorModeToggle}),!o&&(0,h.jsx)(se.Z,{children:(0,h.jsx)(re.Z,{})})]})})}function fe(){return(0,h.jsx)(ne,{children:(0,h.jsx)(pe,{})})}var ge=n(8295),me=n(3815);function he(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:r,...i}=t,l=(0,B.Z)(n),s=(0,B.Z)(a,{forcePrependBaseUrl:!0});return(0,h.jsxs)(M.Z,{className:"footer__link-item",...a?{href:r?s:a}:{to:l},...i,children:[o,a&&!(0,ge.Z)(a)&&(0,h.jsx)(me.Z,{})]})}function be(e){let{item:t}=e;return t.html?(0,h.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,h.jsx)("li",{className:"footer__item",children:(0,h.jsx)(he,{item:t})},t.href??t.to)}function ye(e){let{column:t}=e;return(0,h.jsxs)("div",{className:"col footer__col",children:[(0,h.jsx)("div",{className:"footer__title",children:t.title}),(0,h.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,h.jsx)(be,{item:e},t)))})]})}function ve(e){let{columns:t}=e;return(0,h.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,h.jsx)(ye,{column:e},t)))})}function we(){return(0,h.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function ke(e){let{item:t}=e;return t.html?(0,h.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,h.jsx)(he,{item:t})}function xe(e){let{links:t}=e;return(0,h.jsx)("div",{className:"footer__links text--center",children:(0,h.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,h.jsxs)(a.Fragment,{children:[(0,h.jsx)(ke,{item:e}),t.length!==n+1&&(0,h.jsx)(we,{})]},n)))})})}function Le(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,h.jsx)(ve,{columns:t}):(0,h.jsx)(xe,{links:t})}const Ce={footerLogoLink:"footerLogoLink_K6r0"};function Se(e){let{logo:t}=e;const{withBaseUrl:n}=(0,B.C)(),a={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,h.jsx)($,{className:(0,l.Z)("footer__logo",t.className),alt:t.alt,sources:a,width:t.width,height:t.height,style:t.style})}function _e(e){let{logo:t}=e;return t.href?(0,h.jsx)(M.Z,{href:t.href,className:Ce.footerLogoLink,target:t.target,children:(0,h.jsx)(Se,{logo:t})}):(0,h.jsx)(Se,{logo:t})}function Ae(e){let{copyright:t}=e;return(0,h.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Pe(e){let{style:t,links:n,logo:a,copyright:o}=e;return(0,h.jsx)("footer",{className:(0,l.Z)("footer",{"footer--dark":"dark"===t}),children:(0,h.jsxs)("div",{className:"container container-fluid",children:[n,(a||o)&&(0,h.jsxs)("div",{className:"footer__bottom text--center",children:[a&&(0,h.jsx)("div",{className:"margin-bottom--sm",children:a}),o]})]})})}function De(){const{footer:e}=(0,f.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return(0,h.jsx)(Pe,{style:o,links:n&&n.length>0&&(0,h.jsx)(Le,{links:n}),logo:a&&(0,h.jsx)(_e,{logo:a}),copyright:t&&(0,h.jsx)(Ae,{copyright:t})})}const Te=a.memo(De);var Ie=n(5299),Ee=n(2520);const je={mainWrapper:"mainWrapper_Xc8_"};function Re(e){const{children:t,noFooter:n,wrapperClassName:a,title:o,description:r}=e;return(0,d.t)(),(0,h.jsxs)(Ie.Z,{children:[(0,h.jsx)(s.d,{title:o,description:r}),(0,h.jsx)(p.Z,{}),(0,h.jsx)(L,{}),(0,h.jsx)(fe,{}),(0,h.jsx)("div",{id:c.u,className:(0,l.Z)(u.k.wrapper.main,je.mainWrapper,a),children:(0,h.jsx)(Be,{fallback:e=>(0,h.jsx)(Ee.Z,{...e}),children:t})}),!n&&(0,h.jsx)(Te,{})]})}function Ne(e){let{error:t,tryAgain:n}=e;return(0,h.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,h.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,h.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,h.jsx)(Fe,{error:t})]})}function Fe(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,h.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function Oe(e){let{error:t,tryAgain:n}=e;return(0,h.jsxs)(Be,{fallback:()=>(0,h.jsx)(Ne,{error:t,tryAgain:n}),children:[(0,h.jsx)(r.Z,{children:(0,h.jsx)("title",{children:"Page Error"})}),(0,h.jsx)(Re,{children:(0,h.jsx)(Ne,{error:t,tryAgain:n})})]})}const Me=e=>(0,h.jsx)(Oe,{...e});class Be extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??Me)(e)}return e??null}}},6047:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const a="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:a,canUseEventListeners:a&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:a&&"IntersectionObserver"in window,canUseViewport:a&&"screen"in window}},4491:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});n(959);var a=n(387),o=n(1527);function r(e){return(0,o.jsx)(a.ql,{...e})}},3630:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i,s:()=>r});var a=n(959),o=n(1527);function r(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,a.isValidElement)(e)))?n.map(((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}function i(e){let{children:t,values:n}=e;if("string"!=typeof t)throw new Error("The Docusaurus component only accept simple string values. Received: "+((0,a.isValidElement)(t)?"React element":typeof t));return(0,o.jsx)(o.Fragment,{children:r(t,n)})}},0:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var a=n(959),o=n(9500),r=n(6771),i=n(2688),l=n(8295),s=n(6047),c=n(1527);const u=a.createContext({collectLink:()=>{}});var d=n(9925);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:g,isActive:m,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,d.C)(),x=(0,a.useContext)(u),L=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>L.current));const C=p||f;const S=(0,l.Z)(C),_=C?.replace("pathname://","");let A=void 0!==_?(P=_,b&&(e=>e.startsWith("/"))(P)?k(P):P):void 0;var P;A&&S&&(A=(0,r.applyTrailingSlash)(A,{trailingSlash:v,baseUrl:w}));const D=(0,a.useRef)(!1),T=n?o.OL:o.rU,I=s.Z.canUseIntersectionObserver,E=(0,a.useRef)(),j=()=>{D.current||null==A||(window.docusaurus.preload(A),D.current=!0)};(0,a.useEffect)((()=>(!I&&S&&null!=A&&window.docusaurus.prefetch(A),()=>{I&&E.current&&E.current.disconnect()})),[E,A,I,S]);const R=A?.startsWith("#")??!1,N=!A||!S||R;return N||h||x.collectLink(A),N?(0,c.jsx)("a",{ref:L,href:A,...C&&!S&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,c.jsx)(T,{...y,onMouseEnter:j,onTouchStart:j,innerRef:e=>{L.current=e,I&&e&&S&&(E.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(E.current.unobserve(e),E.current.disconnect(),null!=A&&window.docusaurus.prefetch(A))}))})),E.current.observe(e))},to:A,...n&&{isActive:m,activeClassName:g}})}const f=a.forwardRef(p)},1603:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=()=>null},5374:(e,t,n)=>{"use strict";n.d(t,{I:()=>l,Z:()=>s});n(959);var a=n(3630),o=n(7529),r=n(1527);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:o}=e;const r=i({message:n,id:o});return(0,a.s)(r,t)}function s(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=i({message:t,id:n});return(0,r.jsx)(r.Fragment,{children:(0,a.s)(l,o)})}},4684:(e,t,n)=>{"use strict";n.d(t,{m:()=>a});const a="default"},8295:(e,t,n)=>{"use strict";function a(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!a(e)}n.d(t,{Z:()=>o,b:()=>a})},9925:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var a=n(959),o=n(2688),r=n(8295);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,a.useCallback)(((n,a)=>function(e,t,n,a){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===a?{}:a;if(!n||n.startsWith("#")||(0,r.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,a)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2688:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var a=n(959),o=n(6855);function r(){return(0,a.useContext)(o._)}},7111:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var a=n(959),o=n(7752);function r(){return(0,a.useContext)(o._)}},2827:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(959);const o=n(6047).Z.canUseDOM?a.useLayoutEffect:a.useEffect},4420:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const a=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[r,i]=n;const l=o?`${o}.${r}`:r;a(i)?e(i,l):t[l]=i}))}(e),t}},2762:(e,t,n)=>{"use strict";n.d(t,{_:()=>r,z:()=>i});var a=n(959),o=n(1527);const r=a.createContext(null);function i(e){let{children:t,value:n}=e;const i=a.useContext(r),l=(0,a.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const a={...t.data,...n?.data};return{plugin:t.plugin,data:a}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(r.Provider,{value:l,children:t})}},9384:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>g,_r:()=>u,zh:()=>d,yW:()=>f,gB:()=>p});var a=n(8903),o=n(2688),r=n(4684);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,a.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,a.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((a=>{a.id===t&&(n[e.name]=a)}))})),n}(o.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=r.m),void 0===n&&(n={});const a=i(e),o=a?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){return d(e).versions}function f(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,a.TH)();return s(t,n)}},3852:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},7558:(e,t,n)=>{"use strict";function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{default:()=>r});var a=n(9981),o=n.n(a);o().configure({showSpinner:!1});const r={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},6070:(e,t,n)=>{"use strict";n.r(t);var a=n(2425),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:a}=t;globalThis.Prism=e,a.forEach((e=>{"php"===e&&n(1559),n(1422)(`./prism-${e}`)})),delete globalThis.Prism}(a.p1)},2520:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});n(959);var a=n(5374),o=n(809),r=n(6561),i=n(1527);function l(e){let{error:t,tryAgain:n}=e;return(0,i.jsx)("main",{className:"container margin-vert--xl",children:(0,i.jsx)("div",{className:"row",children:(0,i.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,i.jsx)(r.Z,{as:"h1",className:"hero__title",children:(0,i.jsx)(a.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,i.jsx)("div",{className:"margin-vert--lg",children:(0,i.jsx)(o.Cw,{onClick:n,className:"button button--primary shadow--lw"})}),(0,i.jsx)("hr",{}),(0,i.jsx)("div",{className:"margin-vert--md",children:(0,i.jsx)(o.aG,{error:t})})]})})})}},6561:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(959);var a=n(5341),o=n(5374),r=n(2593),i=n(0);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_dXVO",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_ZIVZ"};var s=n(1527);function c(e){let{as:t,id:n,...c}=e;const{navbar:{hideOnScroll:u}}=(0,r.L)();if("h1"===t||!n)return(0,s.jsx)(t,{...c,id:void 0});const d=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,s.jsxs)(t,{...c,className:(0,a.Z)("anchor",u?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,s.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},3815:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});n(959);const a={iconExternalLink:"iconExternalLink_ocOZ"};var o=n(1527);function r(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},5299:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(959);var a=n(7399),o=n(1694),r=n(4288),i=n(3707),l=n(1836),s=n(1610),c=n(5160),u=n(1527);const d=(0,a.Qc)([o.S,r.pl,i.OC,l.L5,s.VC,c.V]);function p(e){let{children:t}=e;return(0,u.jsx)(d,{children:t})}},5243:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(959);var a=n(5341);const o={navbarSearchContainer:"navbarSearchContainer_Pu8E"};var r=n(1527);function i(e){let{children:t,className:n}=e;return(0,r.jsx)("div",{className:(0,a.Z)(n,o.navbarSearchContainer),children:t})}},6612:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(959);var a=n(0),o=n(9925),r=n(8295),i=n(3535),l=n(3815),s=n(1527);function c(e){let{activeBasePath:t,activeBaseRegex:n,to:c,href:u,label:d,html:p,isDropdownLink:f,prependBaseUrlToHref:g,...m}=e;const h=(0,o.Z)(c),b=(0,o.Z)(t),y=(0,o.Z)(u,{forcePrependBaseUrl:!0}),v=d&&u&&!(0,r.Z)(u),w=p?{dangerouslySetInnerHTML:{__html:p}}:{children:(0,s.jsxs)(s.Fragment,{children:[d,v&&(0,s.jsx)(l.Z,{...f&&{width:12,height:12}})]})};return u?(0,s.jsx)(a.Z,{href:g?y:u,...m,...w}):(0,s.jsx)(a.Z,{to:h,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,i.F)(n,t.pathname):t.pathname.startsWith(b)},...m,...w})}},6794:(e,t,n)=>{"use strict";n.d(t,{Z:()=>w});n(959);var a=n(5341),o=n(6612),r=n(1527);function i(e){let{className:t,isDropdownItem:n=!1,...i}=e;const l=(0,r.jsx)(o.Z,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...i});return n?(0,r.jsx)("li",{children:l}):l}function l(e){let{className:t,isDropdownItem:n,...i}=e;return(0,r.jsx)("li",{className:"menu__list-item",children:(0,r.jsx)(o.Z,{className:(0,a.Z)("menu__link",t),...i})})}function s(e){let{mobile:t=!1,position:n,...a}=e;const o=t?l:i;return(0,r.jsx)(o,{...a,activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var c=n(8784),u=n(7412),d=n(1603),p=n(5243);var f=n(9384),g=n(8068);var m=n(1836),h=n(5374),b=n(8903);const y=e=>e.docs.find((t=>t.id===e.mainDocId));const v={default:s,localeDropdown:u.Z,search:function(e){let{mobile:t,className:n}=e;return t?null:(0,r.jsx)(p.Z,{className:n,children:(0,r.jsx)(d.Z,{})})},dropdown:c.Z,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return(0,r.jsx)(l,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,f.Iw)(a),l=(0,g.vY)(t,a),c=i?.path===l?.path;return null===l||l.unlisted&&!c?null:(0,r.jsx)(s,{exact:!0,...o,isActive:()=>c||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,f.Iw)(a),l=(0,g.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,r.jsx)(s,{exact:!0,...o,isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,g.lO)(a)[0],l=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return(0,r.jsx)(s,{...o,label:l,to:c})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...l}=e;const{search:u,hash:d}=(0,b.TH)(),p=(0,f.Iw)(n),v=(0,f.gB)(n),{savePreferredVersionName:w}=(0,m.J)(n),k=[...o,...v.map((e=>{const t=p.alternateDocVersions[e.name]??y(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>w(e.name)}})),...i],x=(0,g.lO)(n)[0],L=t&&k.length>1?(0,h.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):x.label,C=t&&k.length>1?void 0:y(x).path;return k.length<=1?(0,r.jsx)(s,{...l,mobile:t,label:L,to:C,isActive:a?()=>!1:void 0}):(0,r.jsx)(c.Z,{...l,mobile:t,label:L,to:C,items:k,isActive:a?()=>!1:void 0})}};function w(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=v[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,r.jsx)(o,{...n})}},7535:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});n(959);var a=n(4491),o=n(1527);function r(e){let{locale:t,version:n,tag:r}=e;const i=t;return(0,o.jsxs)(a.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),r&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:r}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),r&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:r})]})}},7675:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(959);var a=n(9920);const o={skipToContent:"skipToContent_YRel"};var r=n(1527);function i(){return(0,r.jsx)(a.l,{className:o.skipToContent})}},4794:(e,t,n)=>{"use strict";n.d(t,{z:()=>b,u:()=>s});var a=n(959),o=n(6047),r=n(2827);var i=n(1527);const l="ease-in-out";function s(e){let{initialState:t}=e;const[n,o]=(0,a.useState)(t??!1),r=(0,a.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:r}}const c={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?c:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const r=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=function(){const t=e.scrollHeight;return{transition:`height ${o?.duration??p(t)}ms ${o?.easing??l}`,height:`${t}px`}}();e.style.transition=t.transition,e.style.height=t.height}if(!r.current)return d(e,n),void(r.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(a(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{a()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function g(e){if(!o.Z.canUseDOM)return e?c:u}function m(e){let{as:t="div",collapsed:n,children:o,animation:r,onCollapseTransitionEnd:l,className:s,disableSSRStyle:c}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:r}),(0,i.jsx)(t,{ref:u,style:c?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),l?.(n))},className:s,children:o})}function h(e){let{collapsed:t,...n}=e;const[o,l]=(0,a.useState)(!t),[s,c]=(0,a.useState)(t);return(0,r.Z)((()=>{t||l(!0)}),[t]),(0,r.Z)((()=>{o&&c(t)}),[o,t]),o?(0,i.jsx)(m,{...n,collapsed:s}):null}function b(e){let{lazy:t,...n}=e;const a=t?h:m;return(0,i.jsx)(a,{...n})}},4288:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>g});var a=n(959),o=n(7111),r=n(6340),i=n(7399),l=n(2593),s=n(1527);const c=(0,r.WA)("docusaurus.announcement.dismiss"),u=(0,r.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=a.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,o.Z)(),[n,r]=(0,a.useState)((()=>!!t&&d()));(0,a.useEffect)((()=>{r(d())}),[]);const i=(0,a.useCallback)((()=>{p(!0),r(!0)}),[]);return(0,a.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const a=t!==n;u.set(t),a&&p(!1),!a&&d()||r(!1)}),[e]),(0,a.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,a.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},1694:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>h});var a=n(959),o=n(6047),r=n(7399),i=n(6340),l=n(2593),s=n(1527);const c=a.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,g=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[o,r]=(0,a.useState)(g(e));(0,a.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,a.useCallback)((function(t,a){void 0===a&&(a={});const{persist:o=!0}=a;t?(r(t),o&&m(t)):(r(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,a.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,a.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,a.useRef)(!1);return(0,a.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(a),()=>e.removeListener(a)}),[i,t,n]),(0,a.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,a.useContext)(c);if(null==e)throw new r.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},1836:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>b});var a=n(959),o=n(9384),r=n(4684),i=n(2593),l=n(8068),s=n(7399),c=n(6340),u=n(1527);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const g=a.createContext(null);function m(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,a.useMemo)((()=>Object.keys(e)),[e]),[r,l]=(0,a.useState)((()=>f(n)));(0,a.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:a}=e;function o(e){const t=p.read(e,n);return a[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[r,(0,a.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,u.jsx)(g.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return l.cE?(0,u.jsx)(h,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,a.useContext)(g);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=r.m);const t=(0,o.zh)(e),[n,i]=y(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,a.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},5580:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,e:()=>b});var a=n(959),o=n(5195),r=n(6047);const i={desktop:"desktop",mobile:"mobile",ssr:"ssr"},l=996;function s(){const[e,t]=(0,a.useState)((()=>"ssr"));return(0,a.useEffect)((()=>{function e(){t(function(){if(!r.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>l?i.desktop:i.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}var c=n(8903),u=n(7399);function d(e){!function(e){const t=(0,c.k6)(),n=(0,u.zX)(e);(0,a.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var p=n(2593),f=n(1527);const g=a.createContext(void 0);function m(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,p.L)().navbar;return 0===t.length&&!e.component}(),t=s(),n=!e&&"mobile"===t,[r,i]=(0,a.useState)(!1);d((()=>{if(r)return i(!1),!1}));const l=(0,a.useCallback)((()=>{i((e=>!e))}),[]);return(0,a.useEffect)((()=>{"desktop"===t&&i(!1)}),[t]),(0,a.useMemo)((()=>({disabled:e,shouldRender:n,toggle:l,shown:r})),[e,n,l,r])}function h(e){let{children:t}=e;const n=m();return(0,f.jsx)(g.Provider,{value:n,children:t})}function b(){const e=a.useContext(g);if(void 0===e)throw new u.i6("NavbarMobileSidebarProvider");return e}},5195:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,n2:()=>l});var a=n(959),o=n(7399),r=n(1527);const i=a.createContext(null);function l(e){let{children:t}=e;const n=(0,a.useState)({component:null,props:null});return(0,r.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,a.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}},1900:(e,t,n)=>{"use strict";n.d(t,{P:()=>c,Y:()=>d});var a=n(959),o=n(7399),r=n(5580),i=n(5195),l=n(1527);const s=a.createContext(null);function c(e){let{children:t}=e;const n=function(){const e=(0,r.e)(),t=(0,i.HY)(),[n,l]=(0,a.useState)(!1),s=null!==t.component,c=(0,o.D9)(s);return(0,a.useEffect)((()=>{s&&!c&&l(!0)}),[s,c]),(0,a.useEffect)((()=>{s?e.shown||l(!0):l(!1)}),[e.shown,s]),(0,a.useMemo)((()=>[n,l]),[n])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function u(e){if(e.component){const t=e.component;return(0,l.jsx)(t,{...e.props})}}function d(){const e=(0,a.useContext)(s);if(!e)throw new o.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,r=(0,a.useCallback)((()=>n(!1)),[n]),l=(0,i.HY)();return(0,a.useMemo)((()=>({shown:t,hide:r,content:u(l)})),[r,l,t])}},864:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>r});var a=n(959);const o="navigation-with-keyboard";function r(){(0,a.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},421:(e,t,n)=>{"use strict";n.d(t,{k:()=>a});const a={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},8068:(e,t,n)=>{"use strict";n.d(t,{cE:()=>l,lO:()=>s,vY:()=>u,oz:()=>c});var a=n(959),o=n(9384),r=n(1836);function i(e){return Array.from(new Set(e))}const l=!!o._r;function s(e){const{activeVersion:t}=(0,o.Iw)(e),{preferredVersion:n}=(0,r.J)(e),l=(0,o.yW)(e);return(0,a.useMemo)((()=>i([t,n,l].filter(Boolean))),[t,n,l])}function c(e,t){const n=s(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),a=t.find((t=>t[0]===e));if(!a)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return a[1]}),[e,n])}function u(e,t){const n=s(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),a=t.find((t=>t.id===e));if(!a){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${i(t.map((e=>e.id))).join("\n- ")}`)}return a}),[e,n])}},809:(e,t,n)=>{"use strict";n.d(t,{aG:()=>c,Cw:()=>s,QW:()=>u});var a=n(959),o=n(5374),r=n(6771);const i={errorBoundaryError:"errorBoundaryError_t44J",errorBoundaryFallback:"errorBoundaryFallback_HTeJ"};var l=n(1527);function s(e){return(0,l.jsx)("button",{type:"button",...e,children:(0,l.jsx)(o.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function c(e){let{error:t}=e;const n=(0,r.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{className:i.errorBoundaryError,children:n})}class u extends a.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},1610:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>g});var a=n(959),o=n(5341),r=n(4491),i=n(2762);function l(){const e=a.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(9925),c=n(2688);var u=n(1527);function d(e){let{title:t,description:n,keywords:a,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(r.Z,{children:[t&&(0,u.jsx)("title",{children:l}),t&&(0,u.jsx)("meta",{property:"og:title",content:l}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),a&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=a.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=a.useContext(p),l=(0,o.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:l,children:[(0,u.jsx)(r.Z,{children:(0,u.jsx)("html",{className:l})}),n]})}function g(e){let{children:t}=e;const n=l(),a=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const r=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,o.Z)(a,r),children:t})}},5160:(e,t,n)=>{"use strict";n.d(t,{A:()=>s,V:()=>c});n(959);var a=n(5580),o=n(5195),r=n(1900),i=n(1527);const l="right";function s(e){function t(e){return"left"===(e.position??l)}return[e.filter(t),e.filter((e=>!t(e)))]}function c(e){let{children:t}=e;return(0,i.jsx)(o.n2,{children:(0,i.jsx)(a.M,{children:(0,i.jsx)(r.P,{children:t})})})}},7399:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>u,Ql:()=>c,i6:()=>s,zX:()=>i});var a=n(959),o=n(2827),r=n(1527);function i(e){const t=(0,a.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,a.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,a.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,a.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,r.jsx)(r.Fragment,{children:e.reduceRight(((e,t)=>(0,r.jsx)(t,{children:e})),n)})}}},3535:(e,t,n)=>{"use strict";function a(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>a})},3707:(e,t,n)=>{"use strict";n.d(t,{OC:()=>s,RF:()=>d});var a=n(959),o=n(6047),r=(n(7111),n(2827),n(7399)),i=n(1527);const l=a.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,a.useRef)(!0);return(0,a.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,i.jsx)(l.Provider,{value:n,children:t})}function c(){const e=(0,a.useContext)(l);if(null==e)throw new r.i6("ScrollControllerProvider");return e}const u=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,a.useRef)(u()),i=(0,r.zX)(e);(0,a.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();i(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[i,n,...t])}},9920:(e,t,n)=>{"use strict";n.d(t,{l:()=>p,u:()=>s});var a=n(959),o=n(8903),r=n(5374),i=n(5508),l=n(1527);const s="__docusaurus_skipToContent_fallback";function c(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function u(){const e=(0,a.useRef)(null),{action:t}=(0,o.k6)(),n=(0,a.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(s);t&&c(t)}),[]);return(0,i.S)((n=>{let{location:a}=n;e.current&&!a.hash&&"PUSH"===t&&c(e.current)})),{containerRef:e,onClick:n}}const d=(0,r.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function p(e){const t=e.children??d,{containerRef:n,onClick:a}=u();return(0,l.jsx)("div",{ref:n,role:"region","aria-label":d,children:(0,l.jsx)("a",{...e,href:`#${s}`,onClick:a,children:t})})}},6340:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(959);const a="localStorage";function o(e){let{key:t,oldValue:n,newValue:a,storage:o}=e;if(n===a)return;const r=document.createEvent("StorageEvent");r.initStorageEvent("storage",!1,!1,t,n,a,window.location.href,o),window.dispatchEvent(r)}function r(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=r(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const a=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:a,newValue:t,storage:n})}catch(a){console.error(`Docusaurus storage error, can't set ${e}=${t}`,a)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const a=a=>{a.storageArea===n&&a.key===e&&t(a)};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)}catch(a){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,a),()=>{}}}}}},8224:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var a=n(2688),o=n(8903),r=n(6771);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,a.Z)(),{pathname:s}=(0,o.TH)(),c=(0,r.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),u=l===i?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5508:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var a=n(959),o=n(8903),r=n(7399);function i(e){const t=(0,o.TH)(),n=(0,r.D9)(t),i=(0,r.zX)(e);(0,a.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},2593:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var a=n(2688);function o(){return(0,a.Z)().siteConfig.themeConfig}},6115:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:a}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),r="/"===o||o===a?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,r)}},6901:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},6771:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(6115);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return a(o).default}});var r=n(6901);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return r.getErrorCausalChain}})},8784:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var a=n(959),o=n(5341),r=n(3535),i=n(4794),l=(n(6002),n(2688));var s=n(8903);var c=n(6612),u=n(6794);const d={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_JUhd"};var p=n(1527);function f(e,t){return e.some((e=>function(e,t){return!!function(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}(e.to,t)||!!(0,r.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function g(e){let{items:t,position:n,className:r,onClick:i,...l}=e;const s=(0,a.useRef)(null),[d,f]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&f(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,p.jsxs)("div",{ref:s,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":d}),children:[(0,p.jsx)(c.Z,{"aria-haspopup":"true","aria-expanded":d,role:"button",href:l.to?void 0:"#",className:(0,o.Z)("navbar__link",r),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),f(!d))},children:l.children??l.label}),(0,p.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,a.createElement)(u.Z,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function m(e){let{items:t,className:n,position:r,onClick:g,...m}=e;const h=function(){const{siteConfig:{baseUrl:e}}=(0,l.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),b=f(t,h),{collapsed:y,toggleCollapsed:v,setCollapsed:w}=(0,i.u)({initialState:()=>!b});return(0,a.useEffect)((()=>{b&&w(!b)}),[h,b,w]),(0,p.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":y}),children:[(0,p.jsx)(c.Z,{role:"button",className:(0,o.Z)(d.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...m,onClick:e=>{e.preventDefault(),v()},children:m.children??m.label}),(0,p.jsx)(i.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:y,children:t.map(((e,t)=>(0,a.createElement)(u.Z,{mobile:!0,isDropdownItem:!0,onClick:g,activeClassName:"menu__link--active",...e,key:t})))})]})}function h(e){let{mobile:t=!1,...n}=e;const a=t?m:g;return(0,p.jsx)(a,{...n})}},7412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(959);var a=n(2688),o=n(8224),r=n(8903),i=n(8784),l=n(1527);function s(e){let{width:t=20,height:n=20,...a}=e;return(0,l.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...a,children:(0,l.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const c={iconLanguage:"iconLanguage_DSK9"};function u(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:u,queryString:d="",whiteTheme:p=!1,...f}=e;const{i18n:{currentLocale:g,locales:m,localeConfigs:h}}=(0,a.Z)(),b=(0,o.l)(),{search:y,hash:v}=(0,r.TH)(),w=[...n,...m.map((e=>{const n=`${`pathname://${b.createUrl({locale:e,fullyQualified:!1})}`}${y}${v}${d}`;return{label:h[e].label,lang:h[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===g?t?"menu__link--active":"dropdown__link--active":""}})),...u];return(0,l.jsx)(i.Z,{...f,mobile:t,label:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s,{className:c.iconLanguage}),h[g].label]}),items:w})}},4047:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>f,PP:()=>P,Ep:()=>p});var a=n(6920);function o(e){return"/"===e.charAt(0)}function r(e,t){for(var n=t,a=n+1,o=e.length;a=0;p--){var f=i[p];"."===f?r(i,p):".."===f?(r(i,p),d++):d&&(r(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var l=n(8624);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,a=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(o+="#"===a.charAt(0)?a:"#"+a),o}function f(e,t,n,o){var r;"string"==typeof e?(r=function(e){var t=e||"/",n="",a="",o=t.indexOf("#");-1!==o&&(a=t.substr(o),t=t.substr(0,o));var r=t.indexOf("?");return-1!==r&&(n=t.substr(r),t=t.substr(0,r)),{pathname:t,search:"?"===n?"":n,hash:"#"===a?"":a}}(e),r.state=t):(void 0===(r=(0,a.Z)({},e)).pathname&&(r.pathname=""),r.search?"?"!==r.search.charAt(0)&&(r.search="?"+r.search):r.search="",r.hash?"#"!==r.hash.charAt(0)&&(r.hash="#"+r.hash):r.hash="",void 0!==t&&void 0===r.state&&(r.state=t));try{r.pathname=decodeURI(r.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+r.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(r.key=n),o?r.pathname?"/"!==r.pathname.charAt(0)&&(r.pathname=i(r.pathname,o.pathname)):r.pathname=o.pathname:r.pathname||(r.pathname="/"),r}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,a,o){if(null!=e){var r="function"==typeof e?e(t,n):e;"string"==typeof r?"function"==typeof a?a(r,o):o(!0):o(!1!==r)}else o(!0)},appendListener:function(e){var n=!0;function a(){n&&e.apply(void 0,arguments)}return t.push(a),function(){n=!1,t=t.filter((function(e){return e!==a}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),a=0;at?n.splice(t,n.length-t,o):n.push(o),d({action:a,location:o,index:t,entries:n})}}))},replace:function(e,t){var a="REPLACE",o=f(e,t,m(),w.location);u.confirmTransitionTo(o,a,n,(function(e){e&&(w.entries[w.index]=o,d({action:a,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var a=n(6237),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return a.isMemo(e)?i:l[e.$$typeof]||o}l[a.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[a.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,a){if("string"!=typeof n){if(g){var o=f(n);o&&o!==g&&e(t,o,a)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),m=s(n),h=0;h{"use strict";e.exports=function(e,t,n,a,o,r,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,a,o,r,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},901:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},89:(e,t,n)=>{"use strict";n.r(t)},962:(e,t,n)=>{"use strict";n.r(t)},1245:(e,t,n)=>{"use strict";n.r(t)},9981:function(e,t,n){var a,o;a=function(){var e,t,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function r(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===a.positionUsing?{transform:"translate3d("+r(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+r(e)+"%,0)"}:{"margin-left":r(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,a.minimum,1),n.status=1===e?null:e;var r=n.render(!t),c=r.querySelector(a.barSelector),u=a.speed,d=a.easing;return r.offsetWidth,l((function(t){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(r,{transition:"none",opacity:1}),r.offsetWidth,setTimeout((function(){s(r,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,t=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===t&&n.start(),e++,t++,a.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var o,i=t.querySelector(a.barSelector),l=e?"-100":r(n.status||0),c=document.querySelector(a.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),a.showSpinner||(o=t.querySelector(a.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function a(t){var n=document.body.style;if(t in n)return t;for(var a,o=e.length,r=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((a=e[o]+r)in n)return a;return t}function o(e){return e=n(e),t[e]||(t[e]=a(e))}function r(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,a,o=arguments;if(2==o.length)for(n in t)void 0!==(a=t[n])&&t.hasOwnProperty(n)&&r(e,n,a);else r(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),a=n+t;c(n,t)||(e.className=a.substring(1))}function d(e,t){var n,a=p(e);c(e,t)&&(n=a.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof a?a.call(t,n,t,e):a)||(e.exports=o)},7720:(e,t,n)=>{var a=n(901);e.exports=f,e.exports.parse=r,e.exports.compile=function(e,t){return l(r(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function r(e,t){for(var n,a=[],r=0,i=0,l="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var g=e[i],m=n[2],h=n[3],b=n[4],y=n[5],v=n[6],w=n[7];l&&(a.push(l),l="");var k=null!=m&&null!=g&&g!==m,x="+"===v||"*"===v,L="?"===v||"*"===v,C=n[2]||u,S=b||y;a.push({name:h||r++,prefix:m||"",delimiter:C,optional:L,repeat:x,partial:k,asterisk:!!w,pattern:S?c(S):w?".*":"[^"+s(C)+"]+?"})}}return i{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},1884:(e,t,n)=>{const a=n(1064),o=n(6474),r=new Set;function i(e){void 0===e?e=Object.keys(a.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...r,...Object.keys(Prism.languages)];o(a,e,t).load((e=>{if(!(e in a.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(2928).resolve(t)],delete Prism.languages[e],n(2928)(t),r.add(e)}))}i.silent=!1,e.exports=i},1559:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,o,r){if(n.language===a){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof r&&!r(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(a,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var o=0,r=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=r.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=r[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(a,u),g=p.indexOf(f);if(g>-1){++o;var m=p.substring(0,g),h=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),b=p.substring(g+f.length),y=[];m&&y.push.apply(y,i([m])),y.push(h),b&&y.push.apply(y,i([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},2928:(e,t,n)=>{var a={"./":1884};function o(e){var t=r(e);return n(t)}function r(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=r,e.exports=o,o.id=2928},6474:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,a=e.length;n "));var l={},s=e[a];if(s){function c(t){if(!(t in e))throw new Error(a+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,r),l[t]=!0,n[t])l[i]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[a]=l,r.pop()}}return function(e){var t=n[e];return t||(o(e,a),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(r,i,l){var s=function(e){var t={};for(var n in e){var a=e[n];for(var o in a)if("meta"!=o){var r=a[o];t[o]="string"==typeof r?{title:r}:r}}return t}(r),c=function(e){var n;return function(a){if(a in e)return a;if(!n)for(var o in n={},e){var r=e[o];t(r&&r.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[a]||a}}(s);i=i.map(c),l=(l||[]).map(c);var u=n(i),d=n(l);i.forEach((function e(n){var a=s[n];t(a&&a.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=a(s),g=u;o(g);){for(var m in p={},g){var h=s[m];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var y in f(b))if(y in u){p[b]=!0;break}for(var v in g=p)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,a,o){var r=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=a(e);else{var p=i(u.map((function(e){var t=c(e);return delete s[e],t})));r?o=r(p,(function(){return a(e)})):a(e)}return l[e]=o}for(var u in n)c(u);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},4049:(e,t,n)=>{"use strict";var a=n(6257);function o(){}function r(){}r.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,r,i){if(i!==a){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:o};return n.PropTypes=n,n}},507:(e,t,n)=>{e.exports=n(4049)()},6257:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3746:(e,t,n)=>{"use strict";var a=n(959),o=n(2962);function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n