zenml-nightly 0.62.0.dev20240729__py3-none-any.whl → 0.63.0.dev20240731__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- README.md +1 -1
- RELEASE_NOTES.md +41 -0
- zenml/VERSION +1 -1
- zenml/actions/pipeline_run/pipeline_run_action.py +19 -17
- zenml/analytics/enums.py +4 -0
- zenml/cli/__init__.py +28 -15
- zenml/cli/base.py +1 -1
- zenml/cli/pipeline.py +54 -61
- zenml/cli/stack.py +6 -8
- zenml/client.py +232 -99
- zenml/config/compiler.py +14 -22
- zenml/config/pipeline_run_configuration.py +3 -0
- zenml/config/server_config.py +3 -0
- zenml/config/source.py +2 -1
- zenml/constants.py +2 -0
- zenml/enums.py +3 -0
- zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +13 -4
- zenml/integrations/databricks/flavors/databricks_orchestrator_flavor.py +11 -2
- zenml/integrations/databricks/orchestrators/databricks_orchestrator.py +19 -13
- zenml/models/__init__.py +26 -10
- zenml/models/v2/base/filter.py +32 -0
- zenml/models/v2/core/pipeline.py +73 -89
- zenml/models/v2/core/pipeline_build.py +15 -11
- zenml/models/v2/core/pipeline_deployment.py +56 -0
- zenml/models/v2/core/pipeline_run.py +52 -1
- zenml/models/v2/core/run_template.py +393 -0
- zenml/models/v2/misc/stack_deployment.py +5 -0
- zenml/new/pipelines/build_utils.py +34 -58
- zenml/new/pipelines/pipeline.py +17 -76
- zenml/new/pipelines/run_utils.py +12 -0
- zenml/post_execution/pipeline.py +1 -4
- zenml/service_connectors/service_connector_utils.py +4 -2
- zenml/stack_deployments/aws_stack_deployment.py +6 -5
- zenml/stack_deployments/azure_stack_deployment.py +118 -11
- zenml/stack_deployments/gcp_stack_deployment.py +12 -5
- zenml/stack_deployments/stack_deployment.py +6 -5
- zenml/steps/utils.py +0 -4
- zenml/utils/package_utils.py +39 -0
- zenml/zen_server/dashboard/assets/{404-B_YdvmwS.js → 404-CI13wQp4.js} +1 -1
- zenml/zen_server/dashboard/assets/{@reactflow-l_1hUr1S.js → @reactflow-DIYUhKYX.js} +1 -1
- zenml/zen_server/dashboard/assets/{@tanstack-DYiOyJUL.js → @tanstack-k96lU_C-.js} +4 -4
- zenml/zen_server/dashboard/assets/{AwarenessChannel-CFg5iX4Z.js → AwarenessChannel-BNg5uWgI.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-Dvkx_82E.js → CodeSnippet-Cyp7f4dM.js} +2 -2
- zenml/zen_server/dashboard/assets/CollapsibleCard-Cu_A9W57.js +1 -0
- zenml/zen_server/dashboard/assets/{Commands-DoN1xrEq.js → Commands-DmQwTXjj.js} +1 -1
- zenml/zen_server/dashboard/assets/{CopyButton-Cr7xYEPb.js → CopyButton-B3sWVJ4Z.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-Ck-nZ43m.js → CsvVizualization-BvqItd-O.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-kLtljEOM.js → Error-DbXCTGua.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-DguLLgTK.js → ExecutionStatus-9zM7eaLh.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-BXUMP21n.js → Helpbox-BIiNc-uH.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-DSt0O-dm.js → Infobox-iv1Nu1A0.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-xsrsIGE-.js → InlineAvatar-BvBtO2Dp.js} +1 -1
- zenml/zen_server/dashboard/assets/ProviderRadio-pSAvrGRS.js +1 -0
- zenml/zen_server/dashboard/assets/SearchField-CXoBknpt.js +1 -0
- zenml/zen_server/dashboard/assets/{SetPassword-BXGTWiwj.js → SetPassword-BOxpgh6N.js} +1 -1
- zenml/zen_server/dashboard/assets/{SuccessStep-DZC60t0x.js → SuccessStep-CTSKN2lp.js} +1 -1
- zenml/zen_server/dashboard/assets/Tick-Bnr2TpW6.js +1 -0
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DGvwFWO1.js → UpdatePasswordSchemas-BeCeaRW5.js} +1 -1
- zenml/zen_server/dashboard/assets/chevron-down-D_ZlKMqH.js +1 -0
- zenml/zen_server/dashboard/assets/{cloud-only-C_yFCAkP.js → cloud-only-qelmY92E.js} +1 -1
- zenml/zen_server/dashboard/assets/components-DWe4cTjS.js +1 -0
- zenml/zen_server/dashboard/assets/dots-horizontal-BObFzD5l.js +1 -0
- zenml/zen_server/dashboard/assets/{index-BczVOqUf.js → index-KsTz2dHG.js} +5 -5
- zenml/zen_server/dashboard/assets/index-vfjX_fJV.css +1 -0
- zenml/zen_server/dashboard/assets/index.esm-CbHNSeVw.js +1 -0
- zenml/zen_server/dashboard/assets/{login-mutation-CrHrndTI.js → login-mutation-DRpbESS7.js} +1 -1
- zenml/zen_server/dashboard/assets/{not-found-DYa4pC-C.js → not-found-Dfx9hfkf.js} +1 -1
- zenml/zen_server/dashboard/assets/package-ClbU3KUi.js +1 -0
- zenml/zen_server/dashboard/assets/{page-uA5prJGY.js → page-399pVZHU.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-1h_sD1jz.js → page-BoFtUD9H.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BDns21Iz.js → page-Btu39x7k.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BnaevhnB.js → page-BxiWdeyg.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-1iL8aMqs.js → page-C176KxyB.js} +1 -1
- zenml/zen_server/dashboard/assets/page-C6tXXjnK.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BkeAAYwp.js → page-CDgZmwxP.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CP9obrnG.js +1 -0
- zenml/zen_server/dashboard/assets/{page-C6-UGEbH.js → page-CZe9GEBF.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CaTOsNNw.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CCNRIt_f.js → page-Cjn97HMv.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CmXmB_5i.js +1 -0
- zenml/zen_server/dashboard/assets/page-CvGAOfad.js +1 -0
- zenml/zen_server/dashboard/assets/page-CzucfYPo.js +2 -0
- zenml/zen_server/dashboard/assets/{page-Bi-wtWiO.js → page-D0bbc-qr.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DLEtD2ex.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BhgCDInH.js → page-DVPxY5fT.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BkuQDIf-.js → page-DYBNGxJt.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-8a4UMKXZ.js → page-DtpwnNXq.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B6h3iaHJ.js → page-DupV0aBd.js} +1 -1
- zenml/zen_server/dashboard/assets/page-EweAR81y.js +1 -0
- zenml/zen_server/dashboard/assets/{page-MFQyIJd3.js → page-f3jBVI5Z.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-2grKx_MY.js → page-p2hLJdS2.js} +1 -1
- zenml/zen_server/dashboard/assets/page-w-YaL77M.js +9 -0
- zenml/zen_server/dashboard/assets/persist-BReKApOc.js +14 -0
- zenml/zen_server/dashboard/assets/plus-DOeLmm7C.js +1 -0
- zenml/zen_server/dashboard/assets/{stack-detail-query-Cficsl6d.js → stack-detail-query-Ck7j7BP_.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-7d8xi1tS.js → update-server-settings-mutation-f3ZT7psb.js} +1 -1
- zenml/zen_server/dashboard/assets/{url-D7mAQGUM.js → url-rGEp5Umh.js} +1 -1
- zenml/zen_server/dashboard/assets/{zod-BhoGpZ63.js → zod-BtSyGx4C.js} +1 -1
- zenml/zen_server/dashboard/index.html +5 -5
- zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
- zenml/zen_server/dashboard_legacy/index.html +1 -1
- zenml/zen_server/dashboard_legacy/{precache-manifest.12246c7548e71e2c4438e496360de80c.js → precache-manifest.2fa6e528a6e7447caaf35dadfe7514bb.js} +4 -4
- zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
- zenml/zen_server/dashboard_legacy/static/js/{main.3b27024b.chunk.js → main.4aab7e98.chunk.js} +2 -2
- zenml/zen_server/dashboard_legacy/static/js/{main.3b27024b.chunk.js.map → main.4aab7e98.chunk.js.map} +1 -1
- zenml/zen_server/deploy/helm/Chart.yaml +1 -1
- zenml/zen_server/deploy/helm/README.md +2 -2
- zenml/zen_server/rbac/models.py +1 -0
- zenml/zen_server/rbac/utils.py +4 -0
- zenml/zen_server/routers/pipeline_builds_endpoints.py +2 -66
- zenml/zen_server/routers/pipeline_deployments_endpoints.py +2 -53
- zenml/zen_server/routers/pipelines_endpoints.py +1 -74
- zenml/zen_server/routers/run_templates_endpoints.py +212 -0
- zenml/zen_server/routers/workspaces_endpoints.py +79 -0
- zenml/zen_server/{pipeline_deployment → template_execution}/runner_entrypoint_configuration.py +1 -8
- zenml/zen_server/{pipeline_deployment → template_execution}/utils.py +214 -92
- zenml/zen_server/utils.py +2 -2
- zenml/zen_server/zen_server_api.py +2 -1
- zenml/zen_stores/migrations/versions/0.63.0_release.py +23 -0
- zenml/zen_stores/migrations/versions/7d1919bb1ef0_add_run_templates.py +100 -0
- zenml/zen_stores/migrations/versions/b59aa68fdb1f_simplify_pipelines.py +139 -0
- zenml/zen_stores/rest_zen_store.py +107 -36
- zenml/zen_stores/schemas/__init__.py +2 -0
- zenml/zen_stores/schemas/pipeline_build_schemas.py +3 -3
- zenml/zen_stores/schemas/pipeline_deployment_schemas.py +29 -2
- zenml/zen_stores/schemas/pipeline_run_schemas.py +26 -3
- zenml/zen_stores/schemas/pipeline_schemas.py +29 -30
- zenml/zen_stores/schemas/run_template_schemas.py +264 -0
- zenml/zen_stores/schemas/step_run_schemas.py +11 -4
- zenml/zen_stores/sql_zen_store.py +364 -150
- zenml/zen_stores/template_utils.py +261 -0
- zenml/zen_stores/zen_store_interface.py +93 -20
- {zenml_nightly-0.62.0.dev20240729.dist-info → zenml_nightly-0.63.0.dev20240731.dist-info}/METADATA +2 -2
- {zenml_nightly-0.62.0.dev20240729.dist-info → zenml_nightly-0.63.0.dev20240731.dist-info}/RECORD +139 -129
- zenml/models/v2/core/pipeline_namespace.py +0 -113
- zenml/new/pipelines/deserialization_utils.py +0 -292
- zenml/zen_server/dashboard/assets/CollapsibleCard-opiuBHHc.js +0 -1
- zenml/zen_server/dashboard/assets/Pagination-C6X-mifw.js +0 -1
- zenml/zen_server/dashboard/assets/index-EpMIKgrI.css +0 -1
- zenml/zen_server/dashboard/assets/index-rK_Wuy2W.js +0 -1
- zenml/zen_server/dashboard/assets/index.esm-Corw4lXQ.js +0 -1
- zenml/zen_server/dashboard/assets/package-B3fWP-Dh.js +0 -1
- zenml/zen_server/dashboard/assets/page-5NCOHOsy.js +0 -1
- zenml/zen_server/dashboard/assets/page-Bq0YxkLV.js +0 -1
- zenml/zen_server/dashboard/assets/page-Bs2F4eoD.js +0 -2
- zenml/zen_server/dashboard/assets/page-CHNxpz3n.js +0 -1
- zenml/zen_server/dashboard/assets/page-DgorQFqi.js +0 -1
- zenml/zen_server/dashboard/assets/page-K8ebxVIs.js +0 -1
- zenml/zen_server/dashboard/assets/page-TgCF0P_U.js +0 -1
- zenml/zen_server/dashboard/assets/page-ZnCEe-eK.js +0 -9
- zenml/zen_server/dashboard/assets/persist-D7HJNBWx.js +0 -1
- zenml/zen_server/dashboard/assets/plus-C8WOyCzt.js +0 -1
- /zenml/zen_server/{pipeline_deployment → template_execution}/__init__.py +0 -0
- /zenml/zen_server/{pipeline_deployment → template_execution}/workload_manager_interface.py +0 -0
- {zenml_nightly-0.62.0.dev20240729.dist-info → zenml_nightly-0.63.0.dev20240731.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.62.0.dev20240729.dist-info → zenml_nightly-0.63.0.dev20240731.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.62.0.dev20240729.dist-info → zenml_nightly-0.63.0.dev20240731.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-tyfMZHQw.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-CzG7Kr3z.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-Df6ckaLK.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-JrS_4yms.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-CIdlr5YK.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-_Rr29XE2.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-DQXyrmoy.woff2) format("woff2"),url(/assets/inter-greek-400-normal-DvIPHDQ7.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-Cnt0N5Vm.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-DIOGfGLL.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-D3W-OpO-.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-8tIzm-yw.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-BT1H-PT_.woff2) format("woff2"),url(/assets/inter-latin-400-normal-Cdi8t5Mu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-DOnSzjnx.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-Xebo2OyJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BRrLR67x.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-DskEQOpE.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-2pdUafRD.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-Dtavx3qw.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-CmOavsDc.woff2) format("woff2"),url(/assets/inter-greek-500-normal-BjpBGs91.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-5IkPJ6Nk.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-0i6yoQMg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-B9u8Q_zH.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-SuUkSNTU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-kWhwEdDH.woff2) format("woff2"),url(/assets/inter-latin-500-normal-D4I8BKCx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-DpA2xaRd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-KAwcVx6H.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-DDpWG8g5.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-iz1--dBq.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-CkBLDEl_.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-BmtRFZgT.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-B-l8Lzzd.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BLZsI-P3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-DjnxGF-L.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BQ_dbMbg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-ao35dkSb.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-Dg0Bk0Yr.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-B2Ssfs8e.woff2) format("woff2"),url(/assets/inter-latin-600-normal-Dbvh0wvx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-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}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--color-primary-900: 258 66% 7%;--color-primary-800: 259 66% 14%;--color-primary-700: 259 68% 21%;--color-primary-600: 260 67% 28%;--color-primary-500: 259 67% 35%;--color-primary-400: 260 89% 60%;--color-primary-300: 260 89% 68%;--color-primary-200: 260 89% 76%;--color-primary-100: 260 90% 84%;--color-primary-050: 259 90% 92%;--color-primary-025: 259 90% 96%;--color-neutral-900: 221 39% 11%;--color-neutral-800: 215 28% 17%;--color-neutral-700: 217 19% 27%;--color-neutral-600: 215 14% 34%;--color-neutral-500: 220 9% 46%;--color-neutral-400: 218 11% 65%;--color-neutral-300: 216 12% 84%;--color-neutral-200: 220 13% 91%;--color-neutral-100: 220 14% 96%;--color-neutral-050: 210 20% 98%;--color-neutral-000: 0 0% 100%;--color-error-900: 4 59% 19%;--color-error-800: 3 58% 29%;--color-error-700: 4 59% 39%;--color-error-600: 4 59% 48%;--color-error-500: 4 81% 58%;--color-error-400: 4 81% 65%;--color-error-300: 4 82% 72%;--color-error-200: 3 81% 79%;--color-error-100: 4 81% 86%;--color-error-050: 3 81% 92%;--color-warning-900: 32 93% 17%;--color-warning-800: 33 92% 25%;--color-warning-700: 32 92% 34%;--color-warning-600: 33 93% 42%;--color-warning-500: 32 95% 51%;--color-warning-400: 32 95% 59%;--color-warning-300: 32 95% 67%;--color-warning-200: 33 95% 75%;--color-warning-100: 32 95% 84%;--color-warning-050: 33 96% 90%;--color-success-900: 137 75% 14%;--color-success-800: 137 75% 22%;--color-success-700: 137 74% 29%;--color-success-600: 137 75% 36%;--color-success-500: 137 74% 43%;--color-success-400: 137 56% 53%;--color-success-300: 137 56% 62%;--color-success-200: 137 56% 71%;--color-success-100: 137 57% 81%;--color-success-050: 137 55% 89%;--color-blue-900: 208 88% 10%;--color-blue-800: 209 88% 17%;--color-blue-700: 208 89% 25%;--color-blue-600: 208 89% 33%;--color-blue-500: 209 89% 42%;--color-blue-400: 209 90% 50%;--color-blue-300: 209 90% 58%;--color-blue-200: 208 89% 67%;--color-blue-100: 208 89% 75%;--color-blue-050: 209 90% 84%;--color-blue-025: 208 88% 90%;--color-teal-900: 180 61% 8%;--color-teal-800: 180 59% 14%;--color-teal-700: 180 60% 20%;--color-teal-600: 180 61% 27%;--color-teal-500: 180 60% 34%;--color-teal-400: 180 60% 41%;--color-teal-300: 180 41% 51%;--color-teal-200: 180 42% 60%;--color-teal-100: 180 41% 70%;--color-teal-050: 180 41% 80%;--color-teal-025: 180 41% 88%;--color-turquoise-900: 192 57% 9%;--color-turquoise-800: 190 57% 15%;--color-turquoise-700: 189 58% 22%;--color-turquoise-600: 190 58% 30%;--color-turquoise-500: 189 57% 37%;--color-turquoise-400: 190 58% 44%;--color-turquoise-300: 190 46% 54%;--color-turquoise-200: 190 46% 63%;--color-turquoise-100: 189 45% 72%;--color-turquoise-050: 190 45% 81%;--color-turquoise-025: 192 46% 89%;--color-lime-900: 96 60% 11%;--color-lime-800: 96 61% 18%;--color-lime-700: 96 60% 27%;--color-lime-600: 96 60% 36%;--color-lime-500: 96 60% 45%;--color-lime-400: 96 72% 54%;--color-lime-300: 96 71% 62%;--color-lime-200: 96 72% 70%;--color-lime-100: 96 71% 77%;--color-lime-050: 96 72% 85%;--color-lime-025: 96 70% 91%;--color-magenta-900: 337 61% 12%;--color-magenta-800: 338 61% 20%;--color-magenta-700: 338 60% 30%;--color-magenta-600: 338 60% 40%;--color-magenta-500: 338 60% 50%;--color-magenta-400: 338 90% 60%;--color-magenta-300: 338 91% 67%;--color-magenta-200: 338 90% 73%;--color-magenta-100: 338 90% 80%;--color-magenta-050: 338 91% 87%;--color-magenta-025: 337 90% 92%;--color-orange-900: 19 61% 12%;--color-orange-800: 19 61% 20%;--color-orange-700: 19 60% 30%;--color-orange-600: 19 60% 40%;--color-orange-500: 19 60% 50%;--color-orange-400: 19 90% 60%;--color-orange-300: 19 91% 67%;--color-orange-200: 19 90% 73%;--color-orange-100: 19 90% 80%;--color-orange-050: 19 91% 87%;--color-orange-025: 19 90% 92%;--color-text-primary: var(--color-primary-900);--color-text-secondary: var(--color-neutral-500);--color-text-tertiary: var(--color-neutral-400);--color-text-negative: var(--color-neutral-000);--color-text-brand: var(--color-primary-500);--color-text-error: var(--color-error-500);--color-text-warning: var(--color-warning-500);--color-text-success: var(--color-success-500);--color-surface-primary: var(--color-neutral-000);--color-surface-secondary: var(--color-neutral-050);--color-surface-tertiary: var(--color-neutral-100);--color-surface-strong: var(--color-primary-400);--color-border-minimal: var(--color-neutral-100);--color-border-moderate: var(--color-neutral-200);--color-border-bold: var(--color-neutral-500)}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: hsl(var(--color-blue-600) / var(--tw-ring-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:hsl(var(--color-blue-600) / var(--tw-border-opacity, 1))}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:hsl(var(--color-blue-600) / var(--tw-text-opacity, 1));background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: hsl(var(--color-blue-600) / var(--tw-ring-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--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: rgb(147 197 253 / .5);--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--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: rgb(147 197 253 / .5);--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.\!prose{color:var(--tw-prose-body)!important;max-width:65ch!important}.\!prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important;margin-bottom:1.25em!important}.\!prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead)!important;font-size:1.25em!important;line-height:1.6!important;margin-top:1.2em!important;margin-bottom:1.2em!important}.\!prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links)!important;text-decoration:underline!important;font-weight:500!important}.\!prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold)!important;font-weight:600!important}.\!prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal!important;margin-top:1.25em!important;margin-bottom:1.25em!important;padding-left:1.625em!important}.\!prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha!important}.\!prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha!important}.\!prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha!important}.\!prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha!important}.\!prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman!important}.\!prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman!important}.\!prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman!important}.\!prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman!important}.\!prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal!important}.\!prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc!important;margin-top:1.25em!important;margin-bottom:1.25em!important;padding-left:1.625em!important}.\!prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400!important;color:var(--tw-prose-counters)!important}.\!prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)!important}.\!prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;margin-top:1.25em!important}.\!prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr)!important;border-top-width:1px!important;margin-top:3em!important;margin-bottom:3em!important}.\!prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;font-style:italic!important;color:var(--tw-prose-quotes)!important;border-left-width:.25rem!important;border-left-color:var(--tw-prose-quote-borders)!important;quotes:"“""”""‘""’"!important;margin-top:1.6em!important;margin-bottom:1.6em!important;padding-left:1em!important}.\!prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote!important}.\!prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote!important}.\!prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:800!important;font-size:2.25em!important;margin-top:0!important;margin-bottom:.8888889em!important;line-height:1.1111111!important}.\!prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900!important;color:inherit!important}.\!prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:700!important;font-size:1.5em!important;margin-top:2em!important;margin-bottom:1em!important;line-height:1.3333333!important}.\!prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800!important;color:inherit!important}.\!prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;font-size:1.25em!important;margin-top:1.6em!important;margin-bottom:.6em!important;line-height:1.6!important}.\!prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700!important;color:inherit!important}.\!prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;margin-top:1.5em!important;margin-bottom:.5em!important;line-height:1.5!important}.\!prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700!important;color:inherit!important}.\!prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block!important;margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;font-family:inherit!important;color:var(--tw-prose-kbd)!important;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%)!important;font-size:.875em!important;border-radius:.3125rem!important;padding:.1875em .375em!important}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code)!important;font-weight:600!important;font-size:.875em!important}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"!important}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"!important}.\!prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important;font-size:.875em!important}.\!prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important;font-size:.9em!important}.\!prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code)!important;background-color:var(--tw-prose-pre-bg)!important;overflow-x:auto!important;font-weight:400!important;font-size:.875em!important;line-height:1.7142857!important;margin-top:1.7142857em!important;margin-bottom:1.7142857em!important;border-radius:.375rem!important;padding:.8571429em 1.1428571em!important}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent!important;border-width:0!important;border-radius:0!important;padding:0!important;font-weight:inherit!important;color:inherit!important;font-size:inherit!important;font-family:inherit!important;line-height:inherit!important}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none!important}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none!important}.\!prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%!important;table-layout:auto!important;text-align:left!important;margin-top:2em!important;margin-bottom:2em!important;font-size:.875em!important;line-height:1.7142857!important}.\!prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px!important;border-bottom-color:var(--tw-prose-th-borders)!important}.\!prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;vertical-align:bottom!important;padding-right:.5714286em!important;padding-bottom:.5714286em!important;padding-left:.5714286em!important}.\!prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px!important;border-bottom-color:var(--tw-prose-td-borders)!important}.\!prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0!important}.\!prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline!important}.\!prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px!important;border-top-color:var(--tw-prose-th-borders)!important}.\!prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top!important}.\!prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.\!prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions)!important;font-size:.875em!important;line-height:1.4285714!important;margin-top:.8571429em!important}.\!prose{--tw-prose-body: #374151 !important;--tw-prose-headings: #111827 !important;--tw-prose-lead: #4b5563 !important;--tw-prose-links: #111827 !important;--tw-prose-bold: #111827 !important;--tw-prose-counters: #6b7280 !important;--tw-prose-bullets: #d1d5db !important;--tw-prose-hr: #e5e7eb !important;--tw-prose-quotes: #111827 !important;--tw-prose-quote-borders: #e5e7eb !important;--tw-prose-captions: #6b7280 !important;--tw-prose-kbd: #111827 !important;--tw-prose-kbd-shadows: 17 24 39 !important;--tw-prose-code: #111827 !important;--tw-prose-pre-code: #e5e7eb !important;--tw-prose-pre-bg: #1f2937 !important;--tw-prose-th-borders: #d1d5db !important;--tw-prose-td-borders: #e5e7eb !important;--tw-prose-invert-body: #d1d5db !important;--tw-prose-invert-headings: #fff !important;--tw-prose-invert-lead: #9ca3af !important;--tw-prose-invert-links: #fff !important;--tw-prose-invert-bold: #fff !important;--tw-prose-invert-counters: #9ca3af !important;--tw-prose-invert-bullets: #4b5563 !important;--tw-prose-invert-hr: #374151 !important;--tw-prose-invert-quotes: #f3f4f6 !important;--tw-prose-invert-quote-borders: #374151 !important;--tw-prose-invert-captions: #9ca3af !important;--tw-prose-invert-kbd: #fff !important;--tw-prose-invert-kbd-shadows: 255 255 255 !important;--tw-prose-invert-code: #fff !important;--tw-prose-invert-pre-code: #d1d5db !important;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%) !important;--tw-prose-invert-th-borders: #4b5563 !important;--tw-prose-invert-td-borders: #374151 !important;font-size:1rem!important;line-height:1.75!important}.\!prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.\!prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em!important;margin-bottom:.5em!important}.\!prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em!important}.\!prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em!important}.\!prose :where(.\!prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em!important;margin-bottom:.75em!important}.\!prose :where(.\!prose>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important}.\!prose :where(.\!prose>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em!important}.\!prose :where(.\!prose>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important}.\!prose :where(.\!prose>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em!important}.\!prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em!important;margin-bottom:.75em!important}.\!prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important;margin-bottom:1.25em!important}.\!prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em!important;padding-left:1.625em!important}.\!prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0!important}.\!prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0!important}.\!prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.5714286em!important}.\!prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0!important}.\!prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0!important}.\!prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(.\!prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(.\!prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0!important}[type=radio]:checked{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%237A3EF4' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='5'/%3E%3C/svg%3E")}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem}.inset-x-0{left:0rem;right:0rem}.inset-y-0{top:0rem;bottom:0rem}.bottom-0{bottom:0rem}.left-0{left:0rem}.left-2{left:.75rem}.left-4{left:1.25rem}.left-\[50\%\]{left:50%}.right-0{right:0rem}.right-2{right:.75rem}.right-3{right:1rem}.right-4{right:1.25rem}.top-0{top:0rem}.top-2{top:.75rem}.top-3{top:1rem}.top-4{top:1.25rem}.top-9{top:4rem}.top-\[128px\]{top:128px}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.m-0{margin:0rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-9{margin-top:4rem;margin-bottom:4rem}.mb-0{margin-bottom:0rem}.mb-0\.5{margin-bottom:.25rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:.75rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.25rem}.mb-5{margin-bottom:1.5rem}.mb-7{margin-bottom:2.5rem}.ml-1{margin-left:.5rem}.ml-2{margin-left:.75rem}.ml-5{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.5rem}.mr-2{margin-right:.75rem}.mr-4{margin-right:1.25rem}.mt-0{margin-top:0rem}.mt-0\.5{margin-top:.25rem}.mt-2{margin-top:.75rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.25rem}.mt-5{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-0{height:0rem}.h-0\.5{height:.25rem}.h-1{height:.5rem}.h-12{height:6rem}.h-2{height:.75rem}.h-3{height:1rem}.h-4{height:1.25rem}.h-5{height:1.5rem}.h-6{height:2rem}.h-7{height:2.5rem}.h-8{height:3rem}.h-9{height:4rem}.h-\[100px\]{height:100px}.h-\[110px\]{height:110px}.h-\[120px\]{height:120px}.h-\[140px\]{height:140px}.h-\[150px\]{height:150px}.h-\[180px\]{height:180px}.h-\[1px\]{height:1px}.h-\[200\]{height:200}.h-\[200px\]{height:200px}.h-\[20px\]{height:20px}.h-\[250px\]{height:250px}.h-\[28px\]{height:28px}.h-\[300px\]{height:300px}.h-\[350px\]{height:350px}.h-\[36px\]{height:36px}.h-\[40px\]{height:40px}.h-\[44px\]{height:44px}.h-\[48px\]{height:48px}.h-\[500px\]{height:500px}.h-\[50px\]{height:50px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[70px\]{height:70px}.h-\[96px\]{height:96px}.h-\[calc\(100vh_-_270px\)\]{height:calc(100vh - 270px)}.h-\[calc\(100vh_-_4rem_-_4rem_-_2px\)\]{height:calc(100vh - 8rem - 2px)}.h-\[calc\(100vh_-_4rem_-_4rem_-_4rem_-_2px\)\]{height:calc(100vh - 12rem - 2px)}.h-\[calc\(100vh_-_64px\)\]{height:calc(100vh - 64px)}.h-\[calc\(100vh_-_64px_-_64px\)\]{height:calc(100vh - 128px)}.h-\[var\(--outer-circle\)\]{height:var(--outer-circle)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-8{min-height:3rem}.min-h-\[160px\]{min-height:160px}.min-h-screen{min-height:100vh}.w-0{width:0rem}.w-1{width:.5rem}.w-1\/2{width:50%}.w-12{width:6rem}.w-2{width:.75rem}.w-3{width:1rem}.w-3\/4{width:75%}.w-4{width:1.25rem}.w-5{width:1.5rem}.w-6{width:2rem}.w-7{width:2.5rem}.w-8{width:3rem}.w-9{width:4rem}.w-\[1000px\]{width:1000px}.w-\[100px\]{width:100px}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[125px\]{width:125px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[16rem\]{width:16rem}.w-\[180px\]{width:180px}.w-\[20px\]{width:20px}.w-\[220px\]{width:220px}.w-\[250px\]{width:250px}.w-\[28px\]{width:28px}.w-\[300px\]{width:300px}.w-\[36px\]{width:36px}.w-\[480px\]{width:480px}.w-\[60px\]{width:60px}.w-\[90px\]{width:90px}.w-\[96px\]{width:96px}.w-\[var\(--outer-circle\)\]{width:var(--outer-circle)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-min{width:-moz-min-content;width:min-content}.min-w-0{min-width:0rem}.min-w-\[160px\]{min-width:160px}.min-w-\[500px\]{min-width:500px}.min-w-\[540px\]{min-width:540px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.\!max-w-none{max-width:none!important}.max-w-\[1000px\]{max-width:1000px}.max-w-\[300px\]{max-width:300px}.max-w-\[450px\]{max-width:450px}.max-w-\[540px\]{max-width:540px}.max-w-\[570px\]{max-width:570px}.max-w-\[600px\]{max-width:600px}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[45\%\]{--tw-translate-x: 45%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[10\%\]{--tw-translate-y: 10%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 2s linear infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-\[square\]{list-style-type:square}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0rem}.gap-0\.5{gap:.25rem}.gap-1{gap:.5rem}.gap-2{gap:.75rem}.gap-3{gap:1rem}.gap-4{gap:1.25rem}.gap-5{gap:1.5rem}.gap-6{gap:2rem}.gap-7{gap:2.5rem}.gap-8{gap:3rem}.gap-\[10px\]{gap:10px}.gap-\[20px\]{gap:20px}.gap-x-2{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-\[10px\]{-moz-column-gap:10px;column-gap:10px}.gap-y-0{row-gap:0rem}.gap-y-0\.5{row-gap:.25rem}.gap-y-1{row-gap:.5rem}.gap-y-2{row-gap:.75rem}.gap-y-4{row-gap:1.25rem}.-space-x-\[7px\]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-7px * var(--tw-space-x-reverse));margin-left:calc(-7px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0rem * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-neutral-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-divide-opacity))}.divide-theme-border-moderate>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:hsl(var(--color-border-moderate) / var(--tw-divide-opacity))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-md{border-radius:.5rem}.rounded-rounded{border-radius:9999px}.rounded-sharp{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded-t-md{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[2px\]{border-width:2px}.border-\[3px\]{border-width:3px}.border-\[7px\]{border-width:7px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.\!border-theme-border-bold{--tw-border-opacity: 1 !important;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity))!important}.border-\[\#D0D5DD\]{--tw-border-opacity: 1;border-color:rgb(208 213 221 / var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity: 1;border-color:hsl(var(--color-blue-100) / var(--tw-border-opacity))}.border-error-200{--tw-border-opacity: 1;border-color:hsl(var(--color-error-200) / var(--tw-border-opacity))}.border-error-300{--tw-border-opacity: 1;border-color:hsl(var(--color-error-300) / var(--tw-border-opacity))}.border-error-600{--tw-border-opacity: 1;border-color:hsl(var(--color-error-600) / var(--tw-border-opacity))}.border-lime-100{--tw-border-opacity: 1;border-color:hsl(var(--color-lime-100) / var(--tw-border-opacity))}.border-magenta-100{--tw-border-opacity: 1;border-color:hsl(var(--color-magenta-100) / var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-border-opacity))}.border-orange-100{--tw-border-opacity: 1;border-color:hsl(var(--color-orange-100) / var(--tw-border-opacity))}.border-primary-100{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-400) / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-success-200{--tw-border-opacity: 1;border-color:hsl(var(--color-success-200) / var(--tw-border-opacity))}.border-success-300{--tw-border-opacity: 1;border-color:hsl(var(--color-success-300) / var(--tw-border-opacity))}.border-teal-100{--tw-border-opacity: 1;border-color:hsl(var(--color-teal-100) / var(--tw-border-opacity))}.border-theme-border-bold{--tw-border-opacity: 1;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity))}.border-theme-border-minimal{--tw-border-opacity: 1;border-color:hsl(var(--color-border-minimal) / var(--tw-border-opacity))}.border-theme-border-moderate{--tw-border-opacity: 1;border-color:hsl(var(--color-border-moderate) / var(--tw-border-opacity))}.border-theme-text-negative{--tw-border-opacity: 1;border-color:hsl(var(--color-text-negative) / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-turquoise-100{--tw-border-opacity: 1;border-color:hsl(var(--color-turquoise-100) / var(--tw-border-opacity))}.border-warning-200{--tw-border-opacity: 1;border-color:hsl(var(--color-warning-200) / var(--tw-border-opacity))}.border-warning-300{--tw-border-opacity: 1;border-color:hsl(var(--color-warning-300) / var(--tw-border-opacity))}.border-b-theme-surface-strong{--tw-border-opacity: 1;border-bottom-color:hsl(var(--color-surface-strong) / var(--tw-border-opacity))}.border-b-theme-text-brand{--tw-border-opacity: 1;border-bottom-color:hsl(var(--color-text-brand) / var(--tw-border-opacity))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.\!bg-primary-500{--tw-bg-opacity: 1 !important;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity))!important}.bg-\[\#DEE2E6\]{--tw-bg-opacity: 1;background-color:rgb(222 226 230 / var(--tw-bg-opacity))}.bg-\[\#FFF6EA\]{--tw-bg-opacity: 1;background-color:rgb(255 246 234 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/10{background-color:#0000001a}.bg-blue-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-blue-025) / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-blue-050) / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-blue-500) / var(--tw-bg-opacity))}.bg-error-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-100) / var(--tw-bg-opacity))}.bg-error-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-050) / var(--tw-bg-opacity))}.bg-error-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-600) / var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-lime-100) / var(--tw-bg-opacity))}.bg-lime-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-lime-025) / var(--tw-bg-opacity))}.bg-lime-700{--tw-bg-opacity: 1;background-color:hsl(var(--color-lime-700) / var(--tw-bg-opacity))}.bg-magenta-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-magenta-100) / var(--tw-bg-opacity))}.bg-magenta-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-magenta-025) / var(--tw-bg-opacity))}.bg-magenta-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-magenta-500) / var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-200) / var(--tw-bg-opacity))}.bg-neutral-300{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity))}.bg-neutral-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-050) / var(--tw-bg-opacity))}.bg-neutral-50\/50{background-color:hsl(var(--color-neutral-050) / .5)}.bg-neutral-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-600) / var(--tw-bg-opacity))}.bg-neutral-900\/20{background-color:hsl(var(--color-neutral-900) / .2)}.bg-orange-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-orange-100) / var(--tw-bg-opacity))}.bg-orange-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-orange-025) / var(--tw-bg-opacity))}.bg-orange-400{--tw-bg-opacity: 1;background-color:hsl(var(--color-orange-400) / var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-100) / var(--tw-bg-opacity))}.bg-primary-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-025) / var(--tw-bg-opacity))}.bg-primary-300{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-300) / var(--tw-bg-opacity))}.bg-primary-400{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-400) / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity))}.bg-success-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-100) / var(--tw-bg-opacity))}.bg-success-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-050) / var(--tw-bg-opacity))}.bg-success-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-600) / var(--tw-bg-opacity))}.bg-success-700{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-700) / var(--tw-bg-opacity))}.bg-teal-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-teal-100) / var(--tw-bg-opacity))}.bg-teal-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-teal-025) / var(--tw-bg-opacity))}.bg-teal-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-teal-600) / var(--tw-bg-opacity))}.bg-theme-border-moderate{--tw-bg-opacity: 1;background-color:hsl(var(--color-border-moderate) / var(--tw-bg-opacity))}.bg-theme-surface-primary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity))}.bg-theme-surface-secondary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-secondary) / var(--tw-bg-opacity))}.bg-theme-surface-strong{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-strong) / var(--tw-bg-opacity))}.bg-theme-surface-tertiary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-tertiary) / var(--tw-bg-opacity))}.bg-theme-text-primary{--tw-bg-opacity: 1;background-color:hsl(var(--color-text-primary) / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-turquoise-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-turquoise-100) / var(--tw-bg-opacity))}.bg-turquoise-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-turquoise-025) / var(--tw-bg-opacity))}.bg-turquoise-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-turquoise-500) / var(--tw-bg-opacity))}.bg-warning-200{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-200) / var(--tw-bg-opacity))}.bg-warning-400{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-400) / var(--tw-bg-opacity))}.bg-warning-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-050) / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/40{background-color:#fff6}.bg-white\/70{background-color:#ffffffb3}.bg-\[conic-gradient\(hsl\(var\(--color-primary-400\)\)_var\(--value\)\,hsl\(var\(--color-primary-050\)\)_var\(--value\)\)\]{background-image:conic-gradient(hsl(var(--color-primary-400)) var(--value),hsl(var(--color-primary-050)) var(--value))}.bg-gradient-light{background-image:linear-gradient(to bottom,#f4f0ff,#fff)}.\!fill-neutral-400{fill:hsl(var(--color-neutral-400) / 1)!important}.fill-blue-400{fill:hsl(var(--color-blue-400) / 1)}.fill-current{fill:currentColor}.fill-error-500{fill:hsl(var(--color-error-500) / 1)}.fill-error-700{fill:hsl(var(--color-error-700) / 1)}.fill-error-800{fill:hsl(var(--color-error-800) / 1)}.fill-neutral-200{fill:hsl(var(--color-neutral-200) / 1)}.fill-neutral-300{fill:hsl(var(--color-neutral-300) / 1)}.fill-neutral-400{fill:hsl(var(--color-neutral-400) / 1)}.fill-neutral-500{fill:hsl(var(--color-neutral-500) / 1)}.fill-orange-700{fill:hsl(var(--color-orange-700) / 1)}.fill-primary-400{fill:hsl(var(--color-primary-400) / 1)}.fill-primary-600{fill:hsl(var(--color-primary-600) / 1)}.fill-primary-900{fill:hsl(var(--color-primary-900) / 1)}.fill-success-300{fill:hsl(var(--color-success-300) / 1)}.fill-success-500{fill:hsl(var(--color-success-500) / 1)}.fill-success-800{fill:hsl(var(--color-success-800) / 1)}.fill-teal-400{fill:hsl(var(--color-teal-400) / 1)}.fill-theme-surface-strong{fill:hsl(var(--color-surface-strong) / 1)}.fill-theme-text-brand{fill:hsl(var(--color-text-brand) / 1)}.fill-theme-text-negative{fill:hsl(var(--color-text-negative) / 1)}.fill-theme-text-primary{fill:hsl(var(--color-text-primary) / 1)}.fill-theme-text-secondary{fill:hsl(var(--color-text-secondary) / 1)}.fill-theme-text-success{fill:hsl(var(--color-text-success) / 1)}.fill-theme-text-tertiary{fill:hsl(var(--color-text-tertiary) / 1)}.fill-turquoise-400{fill:hsl(var(--color-turquoise-400) / 1)}.fill-warning-300{fill:hsl(var(--color-warning-300) / 1)}.fill-warning-500{fill:hsl(var(--color-warning-500) / 1)}.fill-warning-700{fill:hsl(var(--color-warning-700) / 1)}.fill-white{fill:#fff}.stroke-neutral-400{stroke:hsl(var(--color-neutral-400) / 1)}.stroke-primary-400{stroke:hsl(var(--color-primary-400) / 1)}.stroke-theme-text-tertiary{stroke:hsl(var(--color-text-tertiary) / 1)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0rem}.p-0\.25{padding:.125rem}.p-0\.5{padding:.25rem}.p-1{padding:.5rem}.p-2{padding:.75rem}.p-3{padding:1rem}.p-4{padding:1.25rem}.p-5{padding:1.5rem}.p-6{padding:2rem}.p-7{padding:2.5rem}.p-9{padding:4rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0rem;padding-right:0rem}.px-0\.5{padding-left:.25rem;padding-right:.25rem}.px-1{padding-left:.5rem;padding-right:.5rem}.px-2{padding-left:.75rem;padding-right:.75rem}.px-3{padding-left:1rem;padding-right:1rem}.px-4{padding-left:1.25rem;padding-right:1.25rem}.px-5{padding-left:1.5rem;padding-right:1.5rem}.px-6{padding-left:2rem;padding-right:2rem}.px-7{padding-left:2.5rem;padding-right:2.5rem}.py-0{padding-top:0rem;padding-bottom:0rem}.py-0\.25{padding-top:.125rem;padding-bottom:.125rem}.py-0\.5{padding-top:.25rem;padding-bottom:.25rem}.py-1{padding-top:.5rem;padding-bottom:.5rem}.py-12{padding-top:6rem;padding-bottom:6rem}.py-2{padding-top:.75rem;padding-bottom:.75rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.25rem;padding-bottom:1.25rem}.py-5{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:2.5rem;padding-bottom:2.5rem}.py-9{padding-top:4rem;padding-bottom:4rem}.pb-5{padding-bottom:1.5rem}.pb-6{padding-bottom:2rem}.pl-1{padding-left:.5rem}.pl-2{padding-left:.75rem}.pl-3{padding-left:1rem}.pl-4{padding-left:1.25rem}.pl-5{padding-left:1.5rem}.pl-8{padding-left:3rem}.pl-9{padding-left:4rem}.pl-\[60px\]{padding-left:60px}.pr-2{padding-right:.75rem}.pr-3{padding-right:1rem}.pr-4{padding-right:1.25rem}.pr-5{padding-right:1.5rem}.pr-6{padding-right:2rem}.pr-8{padding-right:3rem}.pt-5{padding-top:1.5rem}.pt-7{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-display-lg{font-size:3rem;line-height:3.75rem;letter-spacing:-.06rem}.text-display-md{font-size:2.25rem;line-height:2.75rem;letter-spacing:-.045rem}.text-display-sm{font-size:1.875rem;line-height:2.375rem}.text-display-xl{font-size:3.75rem;line-height:4.5rem}.text-display-xs{font-size:1.5rem;line-height:2rem}.text-text-lg{font-size:1.125rem;line-height:1.75rem}.text-text-md{font-size:1rem;line-height:1.5rem}.text-text-sm{font-size:.875rem;line-height:1.25rem}.text-text-xl{font-size:1.25rem;line-height:1.875rem}.text-text-xs{font-size:.75rem;line-height:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tracking-widest{letter-spacing:.1em}.text-blue-600{--tw-text-opacity: 1;color:hsl(var(--color-blue-600) / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:hsl(var(--color-blue-700) / var(--tw-text-opacity))}.text-current{color:currentColor}.text-error-700{--tw-text-opacity: 1;color:hsl(var(--color-error-700) / var(--tw-text-opacity))}.text-error-800{--tw-text-opacity: 1;color:hsl(var(--color-error-800) / var(--tw-text-opacity))}.text-error-900{--tw-text-opacity: 1;color:hsl(var(--color-error-900) / var(--tw-text-opacity))}.text-lime-700{--tw-text-opacity: 1;color:hsl(var(--color-lime-700) / var(--tw-text-opacity))}.text-lime-800{--tw-text-opacity: 1;color:hsl(var(--color-lime-800) / var(--tw-text-opacity))}.text-magenta-600{--tw-text-opacity: 1;color:hsl(var(--color-magenta-600) / var(--tw-text-opacity))}.text-magenta-700{--tw-text-opacity: 1;color:hsl(var(--color-magenta-700) / var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity: 1;color:hsl(var(--color-neutral-400) / var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity: 1;color:hsl(var(--color-neutral-500) / var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity: 1;color:hsl(var(--color-neutral-700) / var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity: 1;color:hsl(var(--color-neutral-900) / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:hsl(var(--color-orange-600) / var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity: 1;color:hsl(var(--color-orange-700) / var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity: 1;color:hsl(var(--color-primary-400) / var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:hsl(var(--color-primary-500) / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:hsl(var(--color-primary-600) / var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity: 1;color:hsl(var(--color-primary-900) / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-success-800{--tw-text-opacity: 1;color:hsl(var(--color-success-800) / var(--tw-text-opacity))}.text-success-900{--tw-text-opacity: 1;color:hsl(var(--color-success-900) / var(--tw-text-opacity))}.text-teal-600{--tw-text-opacity: 1;color:hsl(var(--color-teal-600) / var(--tw-text-opacity))}.text-teal-700{--tw-text-opacity: 1;color:hsl(var(--color-teal-700) / var(--tw-text-opacity))}.text-theme-surface-primary{--tw-text-opacity: 1;color:hsl(var(--color-surface-primary) / var(--tw-text-opacity))}.text-theme-text-brand{--tw-text-opacity: 1;color:hsl(var(--color-text-brand) / var(--tw-text-opacity))}.text-theme-text-error{--tw-text-opacity: 1;color:hsl(var(--color-text-error) / var(--tw-text-opacity))}.text-theme-text-negative{--tw-text-opacity: 1;color:hsl(var(--color-text-negative) / var(--tw-text-opacity))}.text-theme-text-primary{--tw-text-opacity: 1;color:hsl(var(--color-text-primary) / var(--tw-text-opacity))}.text-theme-text-secondary{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity))}.text-theme-text-success{--tw-text-opacity: 1;color:hsl(var(--color-text-success) / var(--tw-text-opacity))}.text-theme-text-tertiary{--tw-text-opacity: 1;color:hsl(var(--color-text-tertiary) / var(--tw-text-opacity))}.text-turquoise-600{--tw-text-opacity: 1;color:hsl(var(--color-turquoise-600) / var(--tw-text-opacity))}.text-turquoise-700{--tw-text-opacity: 1;color:hsl(var(--color-turquoise-700) / var(--tw-text-opacity))}.text-warning-900{--tw-text-opacity: 1;color:hsl(var(--color-warning-900) / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-theme-text-tertiary{text-decoration-color:hsl(var(--color-text-tertiary) / 1)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-out-0{--tw-exit-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.layout-container{margin-left:auto;margin-right:auto;width:91.666667%;max-width:1440px}.link{text-decoration-line:underline;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;animation-duration:.15s}.link:hover{text-decoration-color:transparent}.marker\:text-primary-200 *::marker{color:hsl(var(--color-primary-200))}.marker\:text-primary-200::marker{color:hsl(var(--color-primary-200))}.placeholder\:text-theme-text-secondary::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity))}.placeholder\:text-theme-text-secondary::placeholder{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity))}.after\:h-\[var\(--inner-circle\)\]:after{content:var(--tw-content);height:var(--inner-circle)}.after\:w-\[var\(--inner-circle\)\]:after{content:var(--tw-content);width:var(--inner-circle)}.after\:rounded-rounded:after{content:var(--tw-content);border-radius:9999px}.after\:bg-theme-surface-primary:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity))}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.first\:pt-0:first-child{padding-top:0rem}.last\:pb-0:last-child{padding-bottom:0rem}.hover\:w-\[220px\]:hover{width:220px}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-neutral-400:hover{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-400) / var(--tw-border-opacity))}.hover\:border-primary-400:hover{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-400) / var(--tw-border-opacity))}.hover\:bg-error-50:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-050) / var(--tw-bg-opacity))}.hover\:bg-error-500:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-500) / var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity))}.hover\:bg-neutral-200:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-200) / var(--tw-bg-opacity))}.hover\:bg-neutral-300:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity))}.hover\:bg-primary-400:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-400) / var(--tw-bg-opacity))}.hover\:bg-primary-50:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity))}.hover\:bg-theme-surface-primary:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity))}.hover\:text-purple-900:hover{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity))}.hover\:text-theme-text-brand:hover{--tw-text-opacity: 1;color:hsl(var(--color-text-brand) / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-transparent:hover{text-decoration-color:transparent}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-theme-surface-tertiary:hover{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-surface-tertiary) / var(--tw-ring-opacity))}.focus\:border-neutral-500:focus{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-500) / var(--tw-border-opacity))}.focus\:bg-theme-surface-tertiary:focus{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-tertiary) / var(--tw-bg-opacity))}.focus\:shadow-sm:focus{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-primary-500) / var(--tw-ring-opacity))}.focus\:ring-theme-surface-strong:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-surface-strong) / var(--tw-ring-opacity))}.focus\:ring-theme-surface-tertiary:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-surface-tertiary) / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:border-neutral-400:active{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-400) / var(--tw-border-opacity))}.active\:bg-error-100:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-100) / var(--tw-bg-opacity))}.active\:bg-error-600:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-600) / var(--tw-bg-opacity))}.active\:bg-neutral-300:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity))}.active\:bg-neutral-400:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-400) / var(--tw-bg-opacity))}.active\:bg-primary-100:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-100) / var(--tw-bg-opacity))}.active\:bg-primary-500:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity))}.active\:bg-theme-surface-tertiary:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-tertiary) / var(--tw-bg-opacity))}.active\:ring-4:active{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.active\:ring-\[\#E4D8FD\]:active{--tw-ring-opacity: 1;--tw-ring-color: rgb(228 216 253 / var(--tw-ring-opacity))}.active\:ring-\[\#E5E7EB\]:active{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.active\:ring-error-50:active{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-error-050) / var(--tw-ring-opacity))}.active\:ring-neutral-100:active{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-neutral-100) / var(--tw-ring-opacity))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-error-100:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-error-100) / var(--tw-border-opacity))}.disabled\:border-neutral-300:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-border-opacity))}.disabled\:border-primary-100:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity))}.disabled\:bg-error-100:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-100) / var(--tw-bg-opacity))}.disabled\:bg-neutral-100:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity))}.disabled\:bg-primary-50:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity))}.disabled\:bg-theme-surface-primary:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity))}.disabled\:text-error-100:disabled{--tw-text-opacity: 1;color:hsl(var(--color-error-100) / var(--tw-text-opacity))}.disabled\:text-neutral-300:disabled{--tw-text-opacity: 1;color:hsl(var(--color-neutral-300) / var(--tw-text-opacity))}.disabled\:text-neutral-400:disabled{--tw-text-opacity: 1;color:hsl(var(--color-neutral-400) / var(--tw-text-opacity))}.disabled\:text-primary-100:disabled{--tw-text-opacity: 1;color:hsl(var(--color-primary-100) / var(--tw-text-opacity))}.disabled\:opacity-50:disabled{opacity:.5}.group\/copybutton:hover .group-hover\/copybutton\:visible{visibility:visible}.group:hover .group-hover\:mb-2{margin-bottom:.75rem}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:h-5{height:1.5rem}.group\/copybutton:hover .group-hover\/copybutton\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group\/button:disabled .group-disabled\/button\:fill-neutral-300{fill:hsl(var(--color-neutral-300) / 1)}.group.white-close .group-\[\.white-close\]\:fill-white{fill:#fff}.group.white-close .group-\[\.white-close\]\:text-theme-text-negative{--tw-text-opacity: 1;color:hsl(var(--color-text-negative) / var(--tw-text-opacity))}.peer:checked~.peer-checked\:border-primary-100{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity))}.peer:checked~.peer-checked\:bg-primary-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-025) / var(--tw-bg-opacity))}.peer:focus-visible~.peer-focus-visible\:border-primary-100{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity))}.peer:disabled~.peer-disabled\:cursor-default{cursor:default}.peer:disabled~.peer-disabled\:bg-neutral-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-050) / var(--tw-bg-opacity))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[selected\=true\]\:border-primary-500[data-selected=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-500) / var(--tw-border-opacity))}.data-\[selected\=true\]\:border-theme-border-bold[data-selected=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity))}.data-\[state\=checked\]\:border-theme-surface-strong[data-state=checked],.data-\[state\=selected\]\:border-theme-surface-strong[data-state=selected]{--tw-border-opacity: 1;border-color:hsl(var(--color-surface-strong) / var(--tw-border-opacity))}.data-\[selected\=true\]\:bg-primary-500[data-selected=true]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity))}.data-\[state\=checked\]\:bg-primary-400[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-400) / var(--tw-bg-opacity))}.data-\[state\=checked\]\:bg-primary-50[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity))}.data-\[state\=checked\]\:bg-theme-surface-strong[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-strong) / var(--tw-bg-opacity))}.data-\[state\=checked\]\:data-\[half\=true\]\:bg-primary-50[data-half=true][data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity))}.data-\[state\=unchecked\]\:bg-neutral-100[data-state=unchecked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity))}.data-\[state\=active\]\:text-theme-text-brand[data-state=active]{--tw-text-opacity: 1;color:hsl(var(--color-text-brand) / var(--tw-text-opacity))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[selected\=true\]\:shadow-md[data-selected=true]{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=active\]\:shadow-inner[data-state=active]{--tw-shadow: inset 0 -2px 0 0,0 2px 0 0;--tw-shadow-colored: inset 0 -2px 0 0 var(--tw-shadow-color), 0 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=active\]\:shadow-primary-400[data-state=active]{--tw-shadow-color: hsl(var(--color-primary-400) / 1);--tw-shadow: var(--tw-shadow-colored)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.75rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .75rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.75rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .75rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.hover\:data-\[state\=inactive\]\:shadow-inner[data-state=inactive]:hover{--tw-shadow: inset 0 -2px 0 0,0 2px 0 0;--tw-shadow-colored: inset 0 -2px 0 0 var(--tw-shadow-color), 0 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:data-\[state\=inactive\]\:shadow-neutral-200[data-state=inactive]:hover{--tw-shadow-color: hsl(var(--color-neutral-200) / 1);--tw-shadow: var(--tw-shadow-colored)}.data-\[state\=checked\]\:active\:border-primary-200:active[data-state=checked]{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-200) / var(--tw-border-opacity))}.data-\[state\=checked\]\:active\:bg-primary-200:active[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-200) / var(--tw-bg-opacity))}.disabled\:data-\[state\=checked\]\:border-neutral-300[data-state=checked]:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-border-opacity))}.data-\[state\=checked\]\:disabled\:bg-primary-400\/30:disabled[data-state=checked]{background-color:hsl(var(--color-primary-400) / .3)}.disabled\:data-\[state\=checked\]\:bg-neutral-300[data-state=checked]:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity))}.disabled\:data-\[state\=checked\]\:data-\[half\=true\]\:bg-primary-50\/30[data-half=true][data-state=checked]:disabled{background-color:hsl(var(--color-primary-050) / .3)}.disabled\:data-\[state\=unchecked\]\:bg-neutral-100\/30[data-state=unchecked]:disabled{background-color:hsl(var(--color-neutral-100) / .3)}.group[data-selected=true] .group-data-\[selected\=true\]\:bg-white\/20{background-color:#fff3}.group[data-selected=true] .group-data-\[selected\=true\]\:fill-theme-text-negative{fill:hsl(var(--color-text-negative) / 1)}.group\/trigger[data-state=active] .group-data-\[state\=active\]\/trigger\:fill-theme-surface-strong{fill:hsl(var(--color-surface-strong) / 1)}.group[data-selected=true] .group-data-\[selected\=true\]\:text-theme-text-negative{--tw-text-opacity: 1;color:hsl(var(--color-text-negative) / var(--tw-text-opacity))}.group[data-selected=true] .group-data-\[selected\=true\]\:text-white\/70{color:#ffffffb3}@media (min-width: 640px){.sm\:right-0{right:0rem}.sm\:top-7{top:2.5rem}.sm\:h-7{height:2.5rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-full{width:100%}.md\:max-w-\[480px\]{max-width:480px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-y-4{row-gap:1.25rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-\[200px\]{width:200px}.lg\:w-full{width:100%}.lg\:min-w-\[600px\]{min-width:600px}.lg\:max-w-\[1000px\]{max-width:1000px}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:px-0{padding-left:0rem;padding-right:0rem}.lg\:px-10{padding-left:4.5rem;padding-right:4.5rem}}@media (min-width: 1280px){.xl\:min-w-\[700px\]{min-width:700px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0rem}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>div\]\:w-full>div{width:100%}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|
@@ -0,0 +1 @@
|
|
1
|
+
import{b as A}from"./@radix-CFOkMR_E.js";var he=e=>e.type==="checkbox",ne=e=>e instanceof Date,P=e=>e==null;const cr=e=>typeof e=="object";var M=e=>!P(e)&&!Array.isArray(e)&&cr(e)&&!ne(e),fr=e=>M(e)&&e.target?he(e.target)?e.target.checked:e.target.value:e,Ur=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,dr=(e,s)=>e.has(Ur(s)),Tr=e=>{const s=e.constructor&&e.constructor.prototype;return M(s)&&s.hasOwnProperty("isPrototypeOf")},He=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function L(e){let s;const r=Array.isArray(e);if(e instanceof Date)s=new Date(e);else if(e instanceof Set)s=new Set(e);else if(!(He&&(e instanceof Blob||e instanceof FileList))&&(r||M(e)))if(s=r?[]:{},!r&&!Tr(e))s=e;else for(const i in e)e.hasOwnProperty(i)&&(s[i]=L(e[i]));else return e;return s}var oe=e=>Array.isArray(e)?e.filter(Boolean):[],E=e=>e===void 0,c=(e,s,r)=>{if(!s||!M(e))return r;const i=oe(s.split(/[,[\].]+?/)).reduce((u,n)=>P(u)?u:u[n],e);return E(i)||i===e?E(e[s])?r:e[s]:i},Z=e=>typeof e=="boolean",$e=e=>/^\w*$/.test(e),yr=e=>oe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),k=(e,s,r)=>{let i=-1;const u=$e(s)?[s]:yr(s),n=u.length,y=n-1;for(;++i<n;){const _=u[i];let F=r;if(i!==y){const R=e[_];F=M(R)||Array.isArray(R)?R:isNaN(+u[i+1])?{}:[]}if(_==="__proto__")return;e[_]=F,e=e[_]}return e};const Fe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},G={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},re={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},gr=A.createContext(null),Se=()=>A.useContext(gr),Zr=e=>{const{children:s,...r}=e;return A.createElement(gr.Provider,{value:r},s)};var _r=(e,s,r,i=!0)=>{const u={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(u,n,{get:()=>{const y=n;return s._proxyFormState[y]!==G.all&&(s._proxyFormState[y]=!i||G.all),r&&(r[y]=!0),e[y]}});return u},j=e=>M(e)&&!Object.keys(e).length,hr=(e,s,r,i)=>{r(e);const{name:u,...n}=e;return j(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(y=>s[y]===(!i||G.all))},q=e=>Array.isArray(e)?e:[e],vr=(e,s,r)=>!e||!s||e===s||q(e).some(i=>i&&(r?i===s:i.startsWith(s)||s.startsWith(i)));function we(e){const s=A.useRef(e);s.current=e,A.useEffect(()=>{const r=!e.disabled&&s.current.subject&&s.current.subject.subscribe({next:s.current.next});return()=>{r&&r.unsubscribe()}},[e.disabled])}function Lr(e){const s=Se(),{control:r=s.control,disabled:i,name:u,exact:n}=e||{},[y,_]=A.useState(r._formState),F=A.useRef(!0),R=A.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),m=A.useRef(u);return m.current=u,we({disabled:i,next:b=>F.current&&vr(m.current,b.name,n)&&hr(b,R.current,r._updateFormState)&&_({...r._formState,...b}),subject:r._subjects.state}),A.useEffect(()=>(F.current=!0,R.current.isValid&&r._updateValid(!0),()=>{F.current=!1}),[r]),_r(y,r,R.current,!1)}var ee=e=>typeof e=="string",br=(e,s,r,i,u)=>ee(e)?(i&&s.watch.add(e),c(r,e,u)):Array.isArray(e)?e.map(n=>(i&&s.watch.add(n),c(r,n))):(i&&(s.watchAll=!0),r);function Mr(e){const s=Se(),{control:r=s.control,name:i,defaultValue:u,disabled:n,exact:y}=e||{},_=A.useRef(i);_.current=i,we({disabled:n,subject:r._subjects.values,next:m=>{vr(_.current,m.name,y)&&R(L(br(_.current,r._names,m.values||r._formValues,!1,u)))}});const[F,R]=A.useState(r._getWatch(i,u));return A.useEffect(()=>r._removeUnmounted()),F}function Br(e){const s=Se(),{name:r,disabled:i,control:u=s.control,shouldUnregister:n}=e,y=dr(u._names.array,r),_=Mr({control:u,name:r,defaultValue:c(u._formValues,r,c(u._defaultValues,r,e.defaultValue)),exact:!0}),F=Lr({control:u,name:r}),R=A.useRef(u.register(r,{...e.rules,value:_,...Z(e.disabled)?{disabled:e.disabled}:{}}));return A.useEffect(()=>{const m=u._options.shouldUnregister||n,b=(D,H)=>{const B=c(u._fields,D);B&&(B._f.mount=H)};if(b(r,!0),m){const D=L(c(u._options.defaultValues,r));k(u._defaultValues,r,D),E(c(u._formValues,r))&&k(u._formValues,r,D)}return()=>{(y?m&&!u._state.action:m)?u.unregister(r):b(r,!1)}},[r,u,y,n]),A.useEffect(()=>{c(u._fields,r)&&u._updateDisabledField({disabled:i,fields:u._fields,name:r,value:c(u._fields,r)._f.value})},[i,r,u]),{field:{name:r,value:_,...Z(i)||F.disabled?{disabled:F.disabled||i}:{},onChange:A.useCallback(m=>R.current.onChange({target:{value:fr(m),name:r},type:Fe.CHANGE}),[r]),onBlur:A.useCallback(()=>R.current.onBlur({target:{value:c(u._formValues,r),name:r},type:Fe.BLUR}),[r,u]),ref:m=>{const b=c(u._fields,r);b&&m&&(b._f.ref={focus:()=>m.focus(),select:()=>m.select(),setCustomValidity:D=>m.setCustomValidity(D),reportValidity:()=>m.reportValidity()})}},formState:F,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!c(F.errors,r)},isDirty:{enumerable:!0,get:()=>!!c(F.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!c(F.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!c(F.validatingFields,r)},error:{enumerable:!0,get:()=>c(F.errors,r)}})}}const et=e=>e.render(Br(e));var Ir=(e,s,r,i,u)=>s?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:u||!0}}:{},te=()=>{const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{const r=(Math.random()*16+e)%16|0;return(s=="x"?r:r&3|8).toString(16)})},Re=(e,s,r={})=>r.shouldFocus||E(r.shouldFocus)?r.focusName||`${e}.${E(r.focusIndex)?s:r.focusIndex}.`:"",_e=e=>({isOnSubmit:!e||e===G.onSubmit,isOnBlur:e===G.onBlur,isOnChange:e===G.onChange,isOnAll:e===G.all,isOnTouch:e===G.onTouched}),We=(e,s,r)=>!r&&(s.watchAll||s.watch.has(e)||[...s.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const le=(e,s,r,i)=>{for(const u of r||Object.keys(e)){const n=c(e,u);if(n){const{_f:y,..._}=n;if(y){if(y.refs&&y.refs[0]&&s(y.refs[0],u)&&!i)break;if(y.ref&&s(y.ref,y.name)&&!i)break;le(_,s)}else M(_)&&le(_,s)}}};var Ar=(e,s,r)=>{const i=oe(c(e,r));return k(i,"root",s[r]),k(e,r,i),e},Ke=e=>e.type==="file",se=e=>typeof e=="function",me=e=>{if(!He)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},Ae=e=>ee(e),Ge=e=>e.type==="radio",Ve=e=>e instanceof RegExp;const ir={value:!1,isValid:!1},ar={value:!0,isValid:!0};var Fr=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!E(e[0].attributes.value)?E(e[0].value)||e[0].value===""?ar:{value:e[0].value,isValid:!0}:ar:ir}return ir};const ur={isValid:!1,value:null};var mr=e=>Array.isArray(e)?e.reduce((s,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:s,ur):ur;function nr(e,s,r="validate"){if(Ae(e)||Array.isArray(e)&&e.every(Ae)||Z(e)&&!e)return{type:r,message:Ae(e)?e:"",ref:s}}var ue=e=>M(e)&&!Ve(e)?e:{value:e,message:""},qe=async(e,s,r,i,u)=>{const{ref:n,refs:y,required:_,maxLength:F,minLength:R,min:m,max:b,pattern:D,validate:H,name:B,valueAsNumber:ce,mount:X,disabled:Y}=e._f,p=c(s,B);if(!X||Y)return{};const z=y?y[0]:n,J=x=>{i&&z.reportValidity&&(z.setCustomValidity(Z(x)?"":x||""),z.reportValidity())},g={},v=Ge(n),V=he(n),C=v||V,$=(ce||Ke(n))&&E(n.value)&&E(p)||me(n)&&n.value===""||p===""||Array.isArray(p)&&!p.length,N=Ir.bind(null,B,r,g),ve=(x,S,T,I=re.maxLength,Q=re.minLength)=>{const K=x?S:T;g[B]={type:x?I:Q,message:K,ref:n,...N(x?I:Q,K)}};if(u?!Array.isArray(p)||!p.length:_&&(!C&&($||P(p))||Z(p)&&!p||V&&!Fr(y).isValid||v&&!mr(y).isValid)){const{value:x,message:S}=Ae(_)?{value:!!_,message:_}:ue(_);if(x&&(g[B]={type:re.required,message:S,ref:z,...N(re.required,S)},!r))return J(S),g}if(!$&&(!P(m)||!P(b))){let x,S;const T=ue(b),I=ue(m);if(!P(p)&&!isNaN(p)){const Q=n.valueAsNumber||p&&+p;P(T.value)||(x=Q>T.value),P(I.value)||(S=Q<I.value)}else{const Q=n.valueAsDate||new Date(p),K=ye=>new Date(new Date().toDateString()+" "+ye),fe=n.type=="time",de=n.type=="week";ee(T.value)&&p&&(x=fe?K(p)>K(T.value):de?p>T.value:Q>new Date(T.value)),ee(I.value)&&p&&(S=fe?K(p)<K(I.value):de?p<I.value:Q<new Date(I.value))}if((x||S)&&(ve(!!x,T.message,I.message,re.max,re.min),!r))return J(g[B].message),g}if((F||R)&&!$&&(ee(p)||u&&Array.isArray(p))){const x=ue(F),S=ue(R),T=!P(x.value)&&p.length>+x.value,I=!P(S.value)&&p.length<+S.value;if((T||I)&&(ve(T,x.message,S.message),!r))return J(g[B].message),g}if(D&&!$&&ee(p)){const{value:x,message:S}=ue(D);if(Ve(x)&&!p.match(x)&&(g[B]={type:re.pattern,message:S,ref:n,...N(re.pattern,S)},!r))return J(S),g}if(H){if(se(H)){const x=await H(p,s),S=nr(x,z);if(S&&(g[B]={...S,...N(re.validate,S.message)},!r))return J(S.message),g}else if(M(H)){let x={};for(const S in H){if(!j(x)&&!r)break;const T=nr(await H[S](p,s),z,S);T&&(x={...T,...N(S,T.message)},J(T.message),r&&(g[B]=x))}if(!j(x)&&(g[B]={ref:z,...x},!r))return g}}return J(!0),g},Oe=(e,s)=>[...e,...q(s)],Ue=e=>Array.isArray(e)?e.map(()=>{}):void 0;function Te(e,s,r){return[...e.slice(0,s),...q(r),...e.slice(s)]}var Le=(e,s,r)=>Array.isArray(e)?(E(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(s,1)[0]),e):[],Me=(e,s)=>[...q(s),...q(e)];function Nr(e,s){let r=0;const i=[...e];for(const u of s)i.splice(u-r,1),r++;return oe(i).length?i:[]}var Be=(e,s)=>E(s)?[]:Nr(e,q(s).sort((r,i)=>r-i)),Ie=(e,s,r)=>{[e[s],e[r]]=[e[r],e[s]]};function Pr(e,s){const r=s.slice(0,-1).length;let i=0;for(;i<r;)e=E(e)?i++:e[s[i++]];return e}function jr(e){for(const s in e)if(e.hasOwnProperty(s)&&!E(e[s]))return!1;return!0}function U(e,s){const r=Array.isArray(s)?s:$e(s)?[s]:yr(s),i=r.length===1?e:Pr(e,r),u=r.length-1,n=r[u];return i&&delete i[n],u!==0&&(M(i)&&j(i)||Array.isArray(i)&&jr(i))&&U(e,r.slice(0,-1)),e}var lr=(e,s,r)=>(e[s]=r,e);function rt(e){const s=Se(),{control:r=s.control,name:i,keyName:u="id",shouldUnregister:n}=e,[y,_]=A.useState(r._getFieldArray(i)),F=A.useRef(r._getFieldArray(i).map(te)),R=A.useRef(y),m=A.useRef(i),b=A.useRef(!1);m.current=i,R.current=y,r._names.array.add(i),e.rules&&r.register(i,e.rules),we({next:({values:g,name:v})=>{if(v===m.current||!v){const V=c(g,m.current);Array.isArray(V)&&(_(V),F.current=V.map(te))}},subject:r._subjects.array});const D=A.useCallback(g=>{b.current=!0,r._updateFieldArray(i,g)},[r,i]),H=(g,v)=>{const V=q(L(g)),C=Oe(r._getFieldArray(i),V);r._names.focus=Re(i,C.length-1,v),F.current=Oe(F.current,V.map(te)),D(C),_(C),r._updateFieldArray(i,C,Oe,{argA:Ue(g)})},B=(g,v)=>{const V=q(L(g)),C=Me(r._getFieldArray(i),V);r._names.focus=Re(i,0,v),F.current=Me(F.current,V.map(te)),D(C),_(C),r._updateFieldArray(i,C,Me,{argA:Ue(g)})},ce=g=>{const v=Be(r._getFieldArray(i),g);F.current=Be(F.current,g),D(v),_(v),r._updateFieldArray(i,v,Be,{argA:g})},X=(g,v,V)=>{const C=q(L(v)),$=Te(r._getFieldArray(i),g,C);r._names.focus=Re(i,g,V),F.current=Te(F.current,g,C.map(te)),D($),_($),r._updateFieldArray(i,$,Te,{argA:g,argB:Ue(v)})},Y=(g,v)=>{const V=r._getFieldArray(i);Ie(V,g,v),Ie(F.current,g,v),D(V),_(V),r._updateFieldArray(i,V,Ie,{argA:g,argB:v},!1)},p=(g,v)=>{const V=r._getFieldArray(i);Le(V,g,v),Le(F.current,g,v),D(V),_(V),r._updateFieldArray(i,V,Le,{argA:g,argB:v},!1)},z=(g,v)=>{const V=L(v),C=lr(r._getFieldArray(i),g,V);F.current=[...C].map(($,N)=>!$||N===g?te():F.current[N]),D(C),_([...C]),r._updateFieldArray(i,C,lr,{argA:g,argB:V},!0,!1)},J=g=>{const v=q(L(g));F.current=v.map(te),D([...v]),_([...v]),r._updateFieldArray(i,[...v],V=>V,{},!0,!1)};return A.useEffect(()=>{if(r._state.action=!1,We(i,r._names)&&r._subjects.state.next({...r._formState}),b.current&&(!_e(r._options.mode).isOnSubmit||r._formState.isSubmitted))if(r._options.resolver)r._executeSchema([i]).then(g=>{const v=c(g.errors,i),V=c(r._formState.errors,i);(V?!v&&V.type||v&&(V.type!==v.type||V.message!==v.message):v&&v.type)&&(v?k(r._formState.errors,i,v):U(r._formState.errors,i),r._subjects.state.next({errors:r._formState.errors}))});else{const g=c(r._fields,i);g&&g._f&&!(_e(r._options.reValidateMode).isOnSubmit&&_e(r._options.mode).isOnSubmit)&&qe(g,r._formValues,r._options.criteriaMode===G.all,r._options.shouldUseNativeValidation,!0).then(v=>!j(v)&&r._subjects.state.next({errors:Ar(r._formState.errors,v,i)}))}r._subjects.values.next({name:i,values:{...r._formValues}}),r._names.focus&&le(r._fields,(g,v)=>{if(r._names.focus&&v.startsWith(r._names.focus)&&g.focus)return g.focus(),1}),r._names.focus="",r._updateValid(),b.current=!1},[y,i,r]),A.useEffect(()=>(!c(r._formValues,i)&&r._updateFieldArray(i),()=>{(r._options.shouldUnregister||n)&&r.unregister(i)}),[i,r,u,n]),{swap:A.useCallback(Y,[D,i,r]),move:A.useCallback(p,[D,i,r]),prepend:A.useCallback(B,[D,i,r]),append:A.useCallback(H,[D,i,r]),remove:A.useCallback(ce,[D,i,r]),insert:A.useCallback(X,[D,i,r]),update:A.useCallback(z,[D,i,r]),replace:A.useCallback(J,[D,i,r]),fields:A.useMemo(()=>y.map((g,v)=>({...g,[u]:F.current[v]||te()})),[y,u])}}var Ne=()=>{let e=[];return{get observers(){return e},next:u=>{for(const n of e)n.next&&n.next(u)},subscribe:u=>(e.push(u),{unsubscribe:()=>{e=e.filter(n=>n!==u)}}),unsubscribe:()=>{e=[]}}},xe=e=>P(e)||!cr(e);function ie(e,s){if(xe(e)||xe(s))return e===s;if(ne(e)&&ne(s))return e.getTime()===s.getTime();const r=Object.keys(e),i=Object.keys(s);if(r.length!==i.length)return!1;for(const u of r){const n=e[u];if(!i.includes(u))return!1;if(u!=="ref"){const y=s[u];if(ne(n)&&ne(y)||M(n)&&M(y)||Array.isArray(n)&&Array.isArray(y)?!ie(n,y):n!==y)return!1}}return!0}var Vr=e=>e.type==="select-multiple",Wr=e=>Ge(e)||he(e),Pe=e=>me(e)&&e.isConnected,xr=e=>{for(const s in e)if(se(e[s]))return!0;return!1};function pe(e,s={}){const r=Array.isArray(e);if(M(e)||r)for(const i in e)Array.isArray(e[i])||M(e[i])&&!xr(e[i])?(s[i]=Array.isArray(e[i])?[]:{},pe(e[i],s[i])):P(e[i])||(s[i]=!0);return s}function pr(e,s,r){const i=Array.isArray(e);if(M(e)||i)for(const u in e)Array.isArray(e[u])||M(e[u])&&!xr(e[u])?E(s)||xe(r[u])?r[u]=Array.isArray(e[u])?pe(e[u],[]):{...pe(e[u])}:pr(e[u],P(s)?{}:s[u],r[u]):r[u]=!ie(e[u],s[u]);return r}var be=(e,s)=>pr(e,s,pe(s)),Sr=(e,{valueAsNumber:s,valueAsDate:r,setValueAs:i})=>E(e)?e:s?e===""?NaN:e&&+e:r&&ee(e)?new Date(e):i?i(e):e;function je(e){const s=e.ref;if(!(e.refs?e.refs.every(r=>r.disabled):s.disabled))return Ke(s)?s.files:Ge(s)?mr(e.refs).value:Vr(s)?[...s.selectedOptions].map(({value:r})=>r):he(s)?Fr(e.refs).value:Sr(E(s.value)?e.ref.value:s.value,e)}var qr=(e,s,r,i)=>{const u={};for(const n of e){const y=c(s,n);y&&k(u,n,y._f)}return{criteriaMode:r,names:[...e],fields:u,shouldUseNativeValidation:i}},ge=e=>E(e)?e:Ve(e)?e.source:M(e)?Ve(e.value)?e.value.source:e.value:e,Hr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function or(e,s,r){const i=c(e,r);if(i||$e(r))return{error:i,name:r};const u=r.split(".");for(;u.length;){const n=u.join("."),y=c(s,n),_=c(e,n);if(y&&!Array.isArray(y)&&r!==n)return{name:r};if(_&&_.type)return{name:n,error:_};u.pop()}return{name:r}}var $r=(e,s,r,i,u)=>u.isOnAll?!1:!r&&u.isOnTouch?!(s||e):(r?i.isOnBlur:u.isOnBlur)?!e:(r?i.isOnChange:u.isOnChange)?e:!0,Kr=(e,s)=>!oe(c(e,s)).length&&U(e,s);const Gr={mode:G.onSubmit,reValidateMode:G.onChange,shouldFocusError:!0};function zr(e={}){let s={...Gr,...e},r={submitCount:0,isDirty:!1,isLoading:se(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},i={},u=M(s.defaultValues)||M(s.values)?L(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:L(u),y={action:!1,mount:!1,watch:!1},_={mount:new Set,unMount:new Set,array:new Set,watch:new Set},F,R=0;const m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={values:Ne(),array:Ne(),state:Ne()},D=_e(s.mode),H=_e(s.reValidateMode),B=s.criteriaMode===G.all,ce=t=>a=>{clearTimeout(R),R=setTimeout(t,a)},X=async t=>{if(m.isValid||t){const a=s.resolver?j((await C()).errors):await N(i,!0);a!==r.isValid&&b.state.next({isValid:a})}},Y=(t,a)=>{(m.isValidating||m.validatingFields)&&((t||Array.from(_.mount)).forEach(l=>{l&&(a?k(r.validatingFields,l,a):U(r.validatingFields,l))}),b.state.next({validatingFields:r.validatingFields,isValidating:!j(r.validatingFields)}))},p=(t,a=[],l,d,f=!0,o=!0)=>{if(d&&l){if(y.action=!0,o&&Array.isArray(c(i,t))){const h=l(c(i,t),d.argA,d.argB);f&&k(i,t,h)}if(o&&Array.isArray(c(r.errors,t))){const h=l(c(r.errors,t),d.argA,d.argB);f&&k(r.errors,t,h),Kr(r.errors,t)}if(m.touchedFields&&o&&Array.isArray(c(r.touchedFields,t))){const h=l(c(r.touchedFields,t),d.argA,d.argB);f&&k(r.touchedFields,t,h)}m.dirtyFields&&(r.dirtyFields=be(u,n)),b.state.next({name:t,isDirty:x(t,a),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else k(n,t,a)},z=(t,a)=>{k(r.errors,t,a),b.state.next({errors:r.errors})},J=t=>{r.errors=t,b.state.next({errors:r.errors,isValid:!1})},g=(t,a,l,d)=>{const f=c(i,t);if(f){const o=c(n,t,E(l)?c(u,t):l);E(o)||d&&d.defaultChecked||a?k(n,t,a?o:je(f._f)):I(t,o),y.mount&&X()}},v=(t,a,l,d,f)=>{let o=!1,h=!1;const w={name:t},O=!!(c(i,t)&&c(i,t)._f.disabled);if(!l||d){m.isDirty&&(h=r.isDirty,r.isDirty=w.isDirty=x(),o=h!==w.isDirty);const W=O||ie(c(u,t),a);h=!!(!O&&c(r.dirtyFields,t)),W||O?U(r.dirtyFields,t):k(r.dirtyFields,t,!0),w.dirtyFields=r.dirtyFields,o=o||m.dirtyFields&&h!==!W}if(l){const W=c(r.touchedFields,t);W||(k(r.touchedFields,t,l),w.touchedFields=r.touchedFields,o=o||m.touchedFields&&W!==l)}return o&&f&&b.state.next(w),o?w:{}},V=(t,a,l,d)=>{const f=c(r.errors,t),o=m.isValid&&Z(a)&&r.isValid!==a;if(e.delayError&&l?(F=ce(()=>z(t,l)),F(e.delayError)):(clearTimeout(R),F=null,l?k(r.errors,t,l):U(r.errors,t)),(l?!ie(f,l):f)||!j(d)||o){const h={...d,...o&&Z(a)?{isValid:a}:{},errors:r.errors,name:t};r={...r,...h},b.state.next(h)}},C=async t=>{Y(t,!0);const a=await s.resolver(n,s.context,qr(t||_.mount,i,s.criteriaMode,s.shouldUseNativeValidation));return Y(t),a},$=async t=>{const{errors:a}=await C(t);if(t)for(const l of t){const d=c(a,l);d?k(r.errors,l,d):U(r.errors,l)}else r.errors=a;return a},N=async(t,a,l={valid:!0})=>{for(const d in t){const f=t[d];if(f){const{_f:o,...h}=f;if(o){const w=_.array.has(o.name);Y([d],!0);const O=await qe(f,n,B,s.shouldUseNativeValidation&&!a,w);if(Y([d]),O[o.name]&&(l.valid=!1,a))break;!a&&(c(O,o.name)?w?Ar(r.errors,O,o.name):k(r.errors,o.name,O[o.name]):U(r.errors,o.name))}h&&await N(h,a,l)}}return l.valid},ve=()=>{for(const t of _.unMount){const a=c(i,t);a&&(a._f.refs?a._f.refs.every(l=>!Pe(l)):!Pe(a._f.ref))&&De(t)}_.unMount=new Set},x=(t,a)=>(t&&a&&k(n,t,a),!ie(ze(),u)),S=(t,a,l)=>br(t,_,{...y.mount?n:E(a)?u:ee(t)?{[t]:a}:a},l,a),T=t=>oe(c(y.mount?n:u,t,e.shouldUnregister?c(u,t,[]):[])),I=(t,a,l={})=>{const d=c(i,t);let f=a;if(d){const o=d._f;o&&(!o.disabled&&k(n,t,Sr(a,o)),f=me(o.ref)&&P(a)?"":a,Vr(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?he(o.ref)?o.refs.length>1?o.refs.forEach(h=>(!h.defaultChecked||!h.disabled)&&(h.checked=Array.isArray(f)?!!f.find(w=>w===h.value):f===h.value)):o.refs[0]&&(o.refs[0].checked=!!f):o.refs.forEach(h=>h.checked=h.value===f):Ke(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||b.values.next({name:t,values:{...n}})))}(l.shouldDirty||l.shouldTouch)&&v(t,f,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ye(t)},Q=(t,a,l)=>{for(const d in a){const f=a[d],o=`${t}.${d}`,h=c(i,o);(_.array.has(t)||!xe(f)||h&&!h._f)&&!ne(f)?Q(o,f,l):I(o,f,l)}},K=(t,a,l={})=>{const d=c(i,t),f=_.array.has(t),o=L(a);k(n,t,o),f?(b.array.next({name:t,values:{...n}}),(m.isDirty||m.dirtyFields)&&l.shouldDirty&&b.state.next({name:t,dirtyFields:be(u,n),isDirty:x(t,o)})):d&&!d._f&&!P(o)?Q(t,o,l):I(t,o,l),We(t,_)&&b.state.next({...r}),b.values.next({name:y.mount?t:void 0,values:{...n}})},fe=async t=>{y.mount=!0;const a=t.target;let l=a.name,d=!0;const f=c(i,l),o=()=>a.type?je(f._f):fr(t),h=w=>{d=Number.isNaN(w)||w===c(n,l,w)};if(f){let w,O;const W=o(),ae=t.type===Fe.BLUR||t.type===Fe.FOCUS_OUT,Cr=!Hr(f._f)&&!s.resolver&&!c(r.errors,l)&&!f._f.deps||$r(ae,c(r.touchedFields,l),r.isSubmitted,H,D),Ee=We(l,_,ae);k(n,l,W),ae?(f._f.onBlur&&f._f.onBlur(t),F&&F(0)):f._f.onChange&&f._f.onChange(t);const Ce=v(l,W,ae,!1),Rr=!j(Ce)||Ee;if(!ae&&b.values.next({name:l,type:t.type,values:{...n}}),Cr)return m.isValid&&X(),Rr&&b.state.next({name:l,...Ee?{}:Ce});if(!ae&&Ee&&b.state.next({...r}),s.resolver){const{errors:tr}=await C([l]);if(h(W),d){const Or=or(r.errors,i,l),sr=or(tr,i,Or.name||l);w=sr.error,l=sr.name,O=j(tr)}}else Y([l],!0),w=(await qe(f,n,B,s.shouldUseNativeValidation))[l],Y([l]),h(W),d&&(w?O=!1:m.isValid&&(O=await N(i,!0)));d&&(f._f.deps&&ye(f._f.deps),V(l,O,w,Ce))}},de=(t,a)=>{if(c(r.errors,a)&&t.focus)return t.focus(),1},ye=async(t,a={})=>{let l,d;const f=q(t);if(s.resolver){const o=await $(E(t)?t:f);l=j(o),d=t?!f.some(h=>c(o,h)):l}else t?(d=(await Promise.all(f.map(async o=>{const h=c(i,o);return await N(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!d&&!r.isValid)&&X()):d=l=await N(i);return b.state.next({...!ee(t)||m.isValid&&l!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:l}:{},errors:r.errors}),a.shouldFocus&&!d&&le(i,de,t?f:_.mount),d},ze=t=>{const a={...y.mount?n:u};return E(t)?a:ee(t)?c(a,t):t.map(l=>c(a,l))},Je=(t,a)=>({invalid:!!c((a||r).errors,t),isDirty:!!c((a||r).dirtyFields,t),isTouched:!!c((a||r).touchedFields,t),isValidating:!!c((a||r).validatingFields,t),error:c((a||r).errors,t)}),wr=t=>{t&&q(t).forEach(a=>U(r.errors,a)),b.state.next({errors:t?r.errors:{}})},Qe=(t,a,l)=>{const d=(c(i,t,{_f:{}})._f||{}).ref,f=c(r.errors,t)||{},{ref:o,message:h,type:w,...O}=f;k(r.errors,t,{...O,...a,ref:d}),b.state.next({name:t,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&d&&d.focus&&d.focus()},Dr=(t,a)=>se(t)?b.values.subscribe({next:l=>t(S(void 0,a),l)}):S(t,a,!0),De=(t,a={})=>{for(const l of t?q(t):_.mount)_.mount.delete(l),_.array.delete(l),a.keepValue||(U(i,l),U(n,l)),!a.keepError&&U(r.errors,l),!a.keepDirty&&U(r.dirtyFields,l),!a.keepTouched&&U(r.touchedFields,l),!a.keepIsValidating&&U(r.validatingFields,l),!s.shouldUnregister&&!a.keepDefaultValue&&U(u,l);b.values.next({values:{...n}}),b.state.next({...r,...a.keepDirty?{isDirty:x()}:{}}),!a.keepIsValid&&X()},Xe=({disabled:t,name:a,field:l,fields:d,value:f})=>{if(Z(t)&&y.mount||t){const o=t?void 0:E(f)?je(l?l._f:c(d,a)._f):f;k(n,a,o),v(a,o,!1,!1,!0)}},ke=(t,a={})=>{let l=c(i,t);const d=Z(a.disabled);return k(i,t,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:t}},name:t,mount:!0,...a}}),_.mount.add(t),l?Xe({field:l,disabled:a.disabled,name:t,value:a.value}):g(t,!0,a.value),{...d?{disabled:a.disabled}:{},...s.progressive?{required:!!a.required,min:ge(a.min),max:ge(a.max),minLength:ge(a.minLength),maxLength:ge(a.maxLength),pattern:ge(a.pattern)}:{},name:t,onChange:fe,onBlur:fe,ref:f=>{if(f){ke(t,a),l=c(i,t);const o=E(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Wr(o),w=l._f.refs||[];if(h?w.find(O=>O===o):o===l._f.ref)return;k(i,t,{_f:{...l._f,...h?{refs:[...w.filter(Pe),o,...Array.isArray(c(u,t))?[{}]:[]],ref:{type:o.type,name:t}}:{ref:o}}}),g(t,!1,void 0,o)}else l=c(i,t,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(dr(_.array,t)&&y.action)&&_.unMount.add(t)}}},Ye=()=>s.shouldFocusError&&le(i,de,_.mount),kr=t=>{Z(t)&&(b.state.next({disabled:t}),le(i,(a,l)=>{const d=c(i,l);d&&(a.disabled=d._f.disabled||t,Array.isArray(d._f.refs)&&d._f.refs.forEach(f=>{f.disabled=d._f.disabled||t}))},0,!1))},Ze=(t,a)=>async l=>{let d;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=L(n);if(b.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:h}=await C();r.errors=o,f=h}else await N(i);if(U(r.errors,"root"),j(r.errors)){b.state.next({errors:{}});try{await t(f,l)}catch(o){d=o}}else a&&await a({...r.errors},l),Ye(),setTimeout(Ye);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:j(r.errors)&&!d,submitCount:r.submitCount+1,errors:r.errors}),d)throw d},Er=(t,a={})=>{c(i,t)&&(E(a.defaultValue)?K(t,L(c(u,t))):(K(t,a.defaultValue),k(u,t,L(a.defaultValue))),a.keepTouched||U(r.touchedFields,t),a.keepDirty||(U(r.dirtyFields,t),r.isDirty=a.defaultValue?x(t,L(c(u,t))):x()),a.keepError||(U(r.errors,t),m.isValid&&X()),b.state.next({...r}))},er=(t,a={})=>{const l=t?L(t):u,d=L(l),f=j(t),o=f?u:d;if(a.keepDefaultValues||(u=l),!a.keepValues){if(a.keepDirtyValues)for(const h of _.mount)c(r.dirtyFields,h)?k(o,h,c(n,h)):K(h,c(o,h));else{if(He&&E(t))for(const h of _.mount){const w=c(i,h);if(w&&w._f){const O=Array.isArray(w._f.refs)?w._f.refs[0]:w._f.ref;if(me(O)){const W=O.closest("form");if(W){W.reset();break}}}}i={}}n=e.shouldUnregister?a.keepDefaultValues?L(u):{}:L(o),b.array.next({values:{...o}}),b.values.next({values:{...o}})}_={mount:a.keepDirtyValues?_.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!m.isValid||!!a.keepIsValid||!!a.keepDirtyValues,y.watch=!!e.shouldUnregister,b.state.next({submitCount:a.keepSubmitCount?r.submitCount:0,isDirty:f?!1:a.keepDirty?r.isDirty:!!(a.keepDefaultValues&&!ie(t,u)),isSubmitted:a.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:f?[]:a.keepDirtyValues?a.keepDefaultValues&&n?be(u,n):r.dirtyFields:a.keepDefaultValues&&t?be(u,t):{},touchedFields:a.keepTouched?r.touchedFields:{},errors:a.keepErrors?r.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},rr=(t,a)=>er(se(t)?t(n):t,a);return{control:{register:ke,unregister:De,getFieldState:Je,handleSubmit:Ze,setError:Qe,_executeSchema:C,_getWatch:S,_getDirty:x,_updateValid:X,_removeUnmounted:ve,_updateFieldArray:p,_updateDisabledField:Xe,_getFieldArray:T,_reset:er,_resetDefaultValues:()=>se(s.defaultValues)&&s.defaultValues().then(t=>{rr(t,s.resetOptions),b.state.next({isLoading:!1})}),_updateFormState:t=>{r={...r,...t}},_disableForm:kr,_subjects:b,_proxyFormState:m,_setErrors:J,get _fields(){return i},get _formValues(){return n},get _state(){return y},set _state(t){y=t},get _defaultValues(){return u},get _names(){return _},set _names(t){_=t},get _formState(){return r},set _formState(t){r=t},get _options(){return s},set _options(t){s={...s,...t}}},trigger:ye,register:ke,handleSubmit:Ze,watch:Dr,setValue:K,getValues:ze,reset:rr,resetField:Er,clearErrors:wr,unregister:De,setError:Qe,setFocus:(t,a={})=>{const l=c(i,t),d=l&&l._f;if(d){const f=d.refs?d.refs[0]:d.ref;f.focus&&(f.focus(),a.shouldSelect&&f.select())}},getFieldState:Je}}function tt(e={}){const s=A.useRef(),r=A.useRef(),[i,u]=A.useState({isDirty:!1,isValidating:!1,isLoading:se(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:se(e.defaultValues)?void 0:e.defaultValues});s.current||(s.current={...zr(e),formState:i});const n=s.current.control;return n._options=e,we({subject:n._subjects.state,next:y=>{hr(y,n._proxyFormState,n._updateFormState,!0)&&u({...n._formState})}}),A.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),A.useEffect(()=>{if(n._proxyFormState.isDirty){const y=n._getDirty();y!==i.isDirty&&n._subjects.state.next({isDirty:y})}},[n,i.isDirty]),A.useEffect(()=>{e.values&&!ie(e.values,r.current)?(n._reset(e.values,n._options.resetOptions),r.current=e.values,u(y=>({...y}))):n._resetDefaultValues()},[e.values,n]),A.useEffect(()=>{e.errors&&n._setErrors(e.errors)},[e.errors,n]),A.useEffect(()=>{n._state.mount||(n._updateValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),A.useEffect(()=>{e.shouldUnregister&&n._subjects.values.next({values:n._getWatch()})},[e.shouldUnregister,n]),s.current.formState=_r(i,n),s.current}export{et as C,Zr as F,Se as a,rt as b,Ir as c,c as g,tt as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as s,F as r,k as i,l as u}from"./index-
|
1
|
+
import{j as s,F as r,k as i,l as u}from"./index-KsTz2dHG.js";import{b as c}from"./@tanstack-k96lU_C-.js";async function l(a){const e=i(u.login),t=await s(e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(a)});if(!t.ok){const o=await t.json().then(n=>n.detail).catch(()=>["","Failed to login"]);throw new r({status:t.status,statusText:t.statusText,message:o[1]||"Failed to login"})}return t.json()}function m(a){return c({mutationFn:async e=>l(e),...a})}export{m as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as s,j as e}from"./@radix-CFOkMR_E.js";import{i as r,h as n}from"./index-
|
1
|
+
import{r as s,j as e}from"./@radix-CFOkMR_E.js";import{i as r,h as n}from"./index-KsTz2dHG.js";import{b as o}from"./@react-router-CO-OsFwI.js";import"./@tanstack-k96lU_C-.js";import"./@reactflow-DIYUhKYX.js";const a=t=>s.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...t},s.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L7.41421 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H7.41421L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z"})),l=a;function h(){const t=o();return e.jsx(e.Fragment,{children:e.jsxs("section",{className:"layout-container my-9 flex flex-col items-center gap-5",children:[e.jsx(r,{className:"h-[120px] w-[120px] fill-neutral-300"}),e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"Error 404 - Run Not Found"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Oh no! It seems that the run you are looking for doesn't exist."})]}),e.jsxs(n,{intent:"primary",size:"lg",onClick:()=>t(-1),children:[e.jsx(l,{className:"h-5 w-5 fill-theme-text-negative"})," ",e.jsx("span",{children:"Go back"})]})]})})}export{h as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r as C}from"./@radix-CFOkMR_E.js";const l=e=>C.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...e},C.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.5971 1.18505C11.8629 1.13038 12.1371 1.13038 12.4029 1.18505C12.7102 1.24824 12.9848 1.40207 13.2032 1.52436C13.2235 1.53575 13.2433 1.54687 13.2627 1.55761L20.6627 5.66872C20.6831 5.68009 20.7042 5.6917 20.7258 5.70359C20.9569 5.8309 21.2476 5.99097 21.4707 6.23315C21.6637 6.44253 21.8097 6.6907 21.899 6.96105C22.0024 7.27375 22.0011 7.60553 22.0002 7.8694C22.0001 7.89406 22 7.91813 22 7.94153V16.0586C22 16.082 22.0001 16.1061 22.0002 16.1308C22.0011 16.3946 22.0024 16.7264 21.899 17.0391C21.8097 17.3095 21.6637 17.5576 21.4707 17.767C21.2476 18.0092 20.9569 18.1693 20.7258 18.2966C20.7042 18.3085 20.6831 18.3201 20.6627 18.3314L13.2627 22.4426C13.2433 22.4533 13.2235 22.4644 13.2032 22.4758C12.9848 22.5981 12.7102 22.7519 12.4029 22.8151C12.1371 22.8698 11.8629 22.8698 11.5971 22.8151C11.2898 22.7519 11.0152 22.5981 10.7968 22.4758C10.7765 22.4644 10.7567 22.4533 10.7373 22.4426L3.33733 18.3314C3.31688 18.3201 3.2958 18.3085 3.2742 18.2966C3.04307 18.1693 2.75245 18.0092 2.52927 17.767C2.33632 17.5576 2.1903 17.3095 2.10097 17.0391C1.99765 16.7264 1.99886 16.3946 1.99982 16.1308C1.99991 16.1061 2 16.082 2 16.0586V7.94153C2 7.91813 1.99991 7.89406 1.99982 7.8694C1.99886 7.60553 1.99765 7.27375 2.10097 6.96105C2.1903 6.6907 2.33632 6.44253 2.52927 6.23315C2.75244 5.99097 3.04306 5.8309 3.27419 5.7036C3.29579 5.6917 3.31687 5.68009 3.33733 5.66872L10.7373 1.55761C10.7567 1.54687 10.7765 1.53575 10.7968 1.52436C11.0152 1.40207 11.2898 1.24824 11.5971 1.18505ZM12 3.14907L11.9952 3.15136C11.9375 3.1792 11.8602 3.22173 11.7086 3.30592L5.05914 7.00008L12 10.8561L18.9408 7.00006L12.2914 3.30592C12.1398 3.22173 12.0625 3.1792 12.0048 3.15136L12 3.14907ZM20 8.69955V16.0586C20 16.2416 19.9996 16.3353 19.9955 16.4031C19.9954 16.4051 19.9951 16.4088 19.9951 16.4088C19.9951 16.4088 19.992 16.4108 19.9903 16.4119C19.933 16.4484 19.8513 16.4943 19.6914 16.5831L13 20.3006L13 12.5885L20 8.69955ZM11 12.5885L4 8.69959V16.0586C4 16.2416 4.00042 16.3353 4.0045 16.4031C4.00462 16.4051 4.00487 16.4088 4.00487 16.4088C4.00487 16.4088 4.00802 16.4108 4.0097 16.4119C4.067 16.4484 4.14866 16.4943 4.30862 16.5831L11 20.3006L11 12.5885Z"}),C.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.62585 4.01444C6.89406 3.53166 7.50286 3.35771 7.98565 3.62593L16.9856 8.62593C17.4684 8.89414 17.6424 9.50294 17.3742 9.98573C17.1059 10.4685 16.4971 10.6425 16.0144 10.3742L7.01436 5.37424C6.53158 5.10603 6.35763 4.49722 6.62585 4.01444Z"}));export{l as S};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as S,j as e}from"./@radix-CFOkMR_E.js";import{z as i,f as v,u as g,S as j,I as N,h as y,a9 as b,i as w,ap as E,B as F}from"./index-
|
1
|
+
import{r as S,j as e}from"./@radix-CFOkMR_E.js";import{z as i,f as v,u as g,S as j,I as N,h as y,a9 as b,i as w,ap as E,B as F}from"./index-KsTz2dHG.js";import{u as I}from"./update-server-settings-mutation-f3ZT7psb.js";import{t as P}from"./zod-BtSyGx4C.js";import{c as B}from"./@tanstack-k96lU_C-.js";import{u as G}from"./index.esm-CbHNSeVw.js";import"./@react-router-CO-OsFwI.js";import"./@reactflow-DIYUhKYX.js";const k=i.object({serverName:i.string().min(1)});function q(){var a;const r=S.useId(),{toast:t}=v(),n=B(),{isError:o,isPending:l,data:m}=g({throwOnError:!0}),{mutate:c,isPending:u}=I({onError(s){b(s)&&t({status:"error",emphasis:"subtle",icon:e.jsx(w,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})},onSuccess:async()=>{await n.invalidateQueries({queryKey:E()}),t({status:"success",emphasis:"subtle",rounded:!0,description:"Server Settings updated successfully"}),x()}}),{handleSubmit:d,register:p,reset:x,formState:{isValid:f}}=G({resolver:P(k)});function h(s){c({server_name:s.serverName})}return o?null:l?e.jsx(j,{className:"h-[150px] max-w-[600px]"}):e.jsx("div",{className:"w-full max-w-[600px]",children:e.jsxs("form",{className:"space-y-2",onSubmit:d(h),children:[e.jsx("div",{className:"space-y-2",children:e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Server Name"}),e.jsx(N,{placeholder:(a=m.body)==null?void 0:a.server_name,...p("serverName"),id:r,className:"w-full"})]})}),e.jsx("div",{className:"flex justify-end",children:e.jsx(y,{disabled:u||!f,size:"md",intent:"primary",children:"Update"})})]})})}function O(){return e.jsxs(F,{className:"flex flex-col gap-5 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"General"}),e.jsx(q,{})]})}export{O as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as l,j as e}from"./@radix-CFOkMR_E.js";import{u as m,S as v,a as w,b as j}from"./SuccessStep-
|
1
|
+
import{r as l,j as e}from"./@radix-CFOkMR_E.js";import{u as m,S as v,a as w,b as j}from"./SuccessStep-CTSKN2lp.js";import{A as y,P as A,a as P}from"./AwarenessChannel-BNg5uWgI.js";import{S as b}from"./SetPassword-BOxpgh6N.js";import{j as U,F as _,k as g,l as F,e as C,f as E,i as k}from"./index-KsTz2dHG.js";import{b as N}from"./@tanstack-k96lU_C-.js";import{u as M}from"./login-mutation-DRpbESS7.js";import{c as D}from"./@react-router-CO-OsFwI.js";import{E as H}from"./EmptyState-BMLnFVlB.js";import"./UpdatePasswordSchemas-BeCeaRW5.js";import"./check-circle-i56092KI.js";import"./url-rGEp5Umh.js";import"./zod-BtSyGx4C.js";import"./index.esm-CbHNSeVw.js";import"./file-text-CqD_iu6l.js";import"./play-circle-CNtZKDnW.js";import"./PasswordChecker-DUveqlva.js";import"./@reactflow-DIYUhKYX.js";const f=l.createContext(null);function T({children:t,initialUser:r}){const[n,s]=l.useState(r||{});return e.jsx(f.Provider,{value:{newUser:n,setNewUser:s},children:t})}function d(){const t=l.useContext(f);if(t===null)throw new Error("useActivationContext must be used within an ActivationProvider");return t}function I(){const{setSurveyStep:t}=m(),{setNewUser:r,newUser:n}=d();function s({fullName:a,getUpdates:o,email:i}){r(c=>({...c,...i?{email:i}:{email:null},full_name:a,email_opted_in:o})),t(c=>c+1)}return e.jsx(y,{email:n.email,fullName:n.full_name,submitHandler:s})}function L(){const{setSurveyStep:t}=m(),{setNewUser:r}=d();function n({newPassword:s}){r(a=>({...a,password:s})),t(a=>a+1)}return e.jsx(b,{submitHandler:n})}function z(){const{setSurveyStep:t}=m(),{setNewUser:r}=d();function n({amountProductionModels:s,primaryUse:a}){const o={primary_use:a,models_production:s};r(i=>({...i,user_metadata:{...i.user_metadata,...o}})),t(i=>i+1)}return e.jsx(A,{submitHandler:n})}async function J({userId:t,body:r}){const n=g(F.users.activate(t)),s=await U(n,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok){const a=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to update activate user");throw new _({status:s.status,statusText:s.statusText,message:a})}return s.json()}function O(t){return N({mutationFn:async r=>J(r),...t})}function R({userId:t,setUsername:r}){const{newUser:n}=d(),{setAuthState:s}=C(),{setSurveyStep:a}=m(),{mutate:o}=M({onSuccess:()=>{s("true"),a(u=>u+1)}}),{toast:i}=E(),{mutate:c}=O({onSuccess:async u=>{r(u.name),o({username:u.name,password:n.password??void 0})},onError:u=>{u instanceof Error&&i({status:"error",emphasis:"subtle",icon:e.jsx(k,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:u.message,rounded:!0})}});function S({other:u,channels:p,otherVal:x}){const h={awareness_channels:u?[...p,x]:p};c({userId:t,body:{...n,user_metadata:{...n.user_metadata,...h}}})}return e.jsx(P,{submitHandler:S})}function W(){const{surveyStep:t}=m(),[r]=D(),[n,s]=l.useState(""),a=r.get("user"),o=r.get("token");return!a||!o?e.jsx(H,{children:e.jsx("p",{children:"Invalid activation link."})}):e.jsx(e.Fragment,{children:e.jsxs(T,{initialUser:{activation_token:o},children:[e.jsx(v,{stepAmount:4}),t===1&&e.jsx(I,{}),t===2&&e.jsx(L,{}),t===3&&e.jsx(z,{}),t===4&&e.jsx(R,{setUsername:s,userId:a}),t===5&&e.jsx(w,{subHeader:"Your created your ZenML account",username:n})]})})}function ct(){return e.jsx("div",{children:e.jsx(j,{children:e.jsx(W,{})})})}export{ct as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e}from"./@radix-CFOkMR_E.js";import{B as r,P as o,
|
1
|
+
import{j as e}from"./@radix-CFOkMR_E.js";import{B as r,P as o,E as i}from"./index-KsTz2dHG.js";import{C as n}from"./CodeSnippet-Cyp7f4dM.js";import{I as c}from"./Infobox-iv1Nu1A0.js";import{c as l}from"./@react-router-CO-OsFwI.js";import{C as m,a as f}from"./cloud-only-qelmY92E.js";import"./@tanstack-k96lU_C-.js";import"./@reactflow-DIYUhKYX.js";import"./copy-BXNk6BjL.js";function x(){return e.jsx(c,{children:e.jsxs("div",{className:"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"This is a ZenML Pro feature. "}),e.jsx("p",{children:"Upgrade to ZenML Pro to access the Artifact Control Plane and interact with your artifacts in the Dashboard."})]})})}function d(){const[s]=l(),t=s.get("artifact");function a(){return t?`zenml artifact list --name='contains:${t}'`:"zenml artifact list"}return e.jsxs(r,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your artifacts"})]}),e.jsx(n,{code:a()})]})}const p="/assets/acp-DOsXjFc7.webp";function w(){return e.jsxs("div",{children:[e.jsxs(o,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Artifacts"}),e.jsx(i,{color:"purple",rounded:!0,size:"sm",children:e.jsx("span",{className:"font-semibold text-primary-500",children:"Pro"})})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(x,{}),e.jsx(m,{feature:"artifact",image:{src:p,alt:"Screenshot of the ZenML Pro Artifact Control plane"},features:f}),e.jsx(d,{})]})]})}export{w as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e,r}from"./@radix-CFOkMR_E.js";import{B as a,ay as n,P as l,
|
1
|
+
import{j as e,r}from"./@radix-CFOkMR_E.js";import{B as a,ay as n,P as l,E as i}from"./index-KsTz2dHG.js";import{C as m}from"./CodeSnippet-Cyp7f4dM.js";import{I as c}from"./Infobox-iv1Nu1A0.js";import{c as d}from"./@react-router-CO-OsFwI.js";import{C as x,m as p}from"./cloud-only-qelmY92E.js";import"./@tanstack-k96lU_C-.js";import"./@reactflow-DIYUhKYX.js";import"./copy-BXNk6BjL.js";function u(){return e.jsx(c,{children:e.jsxs("div",{className:"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"This is a ZenML Pro feature. "}),e.jsx("p",{children:"Upgrade to ZenML Pro to access the Model Control Plane and interact with your models in the Dashboard."})]})})}function f(){const[o]=d(),s=o.get("model");function t(){return s?`zenml model list --name='contains:${s}'`:"zenml model list"}return e.jsxs(a,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your models"})]}),e.jsx(m,{code:t()})]})}const h="/assets/mcp-Cb1aMeoq.webp";function w(){const{setTourState:o,tourState:{tourActive:s}}=n();return r.useEffect(()=>{s&&o(t=>({...t,run:!0,stepIndex:t.stepIndex}))},[s]),e.jsxs("div",{children:[e.jsxs(l,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Models"}),e.jsx(i,{color:"purple",rounded:!0,size:"sm",children:e.jsx("span",{className:"font-semibold text-primary-500",children:"Pro"})})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(u,{}),e.jsx(x,{feature:"model",image:{src:h,alt:"Screenshot of the ZenML Pro Model Control plane"},features:p}),e.jsx(f,{})]})]})}export{w as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e}from"./@radix-CFOkMR_E.js";import{u as n,A as o,a as i,g as d,b as c,S as a,c as x,d as m,B as u,r as f}from"./index-
|
1
|
+
import{j as e}from"./@radix-CFOkMR_E.js";import{u as n,A as o,a as i,g as d,b as c,S as a,c as x,d as m,B as u,r as f}from"./index-KsTz2dHG.js";import{C as h}from"./CodeSnippet-Cyp7f4dM.js";import{L as j}from"./@react-router-CO-OsFwI.js";import"./@tanstack-k96lU_C-.js";import"./@reactflow-DIYUhKYX.js";import"./copy-BXNk6BjL.js";const p="/assets/cloud-squares-DeRLMopf.svg";function v(){var r,t,l;const{data:s}=n({throwOnError:!0});return e.jsx("div",{className:"w-full items-center border-b border-theme-border-moderate bg-white py-5",children:e.jsx("div",{className:"layout-container flex flex-col flex-wrap items-center justify-between md:flex-row",children:e.jsxs("div",{className:"flex flex-col items-center gap-5 md:flex-row",children:[s?e.jsxs(o,{size:"xxl",type:"square",children:[e.jsx(i,{alt:"Logo displayed for the server",src:d(((r=s.body)==null?void 0:r.server_name)||"default",64)}),e.jsx(c,{size:"xxl",children:((t=s.body)==null?void 0:t.server_name[0])||"D"})]}):e.jsx(a,{className:"h-[96px] w-[96px]"}),e.jsx("div",{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row",children:[s?e.jsx("h1",{className:"mb-1 text-display-xs font-semibold",children:((l=s.body)==null?void 0:l.server_name)||"default"}):e.jsx(a,{className:"h-full w-8"}),e.jsx("div",{className:"flex flex-row flex-wrap gap-0.5",children:e.jsx(w,{})})]})})]})})})}function w(){const{data:s,isError:r,isPending:t}=x({throwOnError:!0});return r?null:t?e.jsx(a,{className:"w-6"}):e.jsxs("div",{className:"flex h-6 items-center gap-0.5 rounded-md border border-theme-border-moderate px-1 py-0.5 text-text-sm text-theme-text-secondary",children:[e.jsx(m,{className:"h-4 w-4 fill-theme-text-brand"}),s.version]})}function Z(){return e.jsxs("div",{children:[e.jsx(v,{}),e.jsx("div",{className:"layout-container py-5",children:e.jsx(g,{})})]})}function g(){return e.jsxs(u,{className:"flex flex-col-reverse overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full px-7 py-5 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Welcome to ZenML"}),e.jsxs("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:["You successfully installed ZenML dashboard. ",e.jsx("br",{}),"Now you can get started with your new ZenML server.",e.jsx("br",{}),"To get started"," ",e.jsx(j,{className:"link text-theme-text-brand",to:f.onboarding,children:"checkout the onboarding guide"}),"."]}),e.jsx("hr",{className:"mb-5 mt-5 w-[100px]"}),e.jsxs("div",{className:"",children:[e.jsx("p",{className:"mb-1 text-text-sm",children:"Copy your ZenML server URL"}),e.jsx("div",{className:"",children:e.jsx(h,{codeClasses:"truncate",className:"truncate",code:`zenml connect --url=${window.location.origin}`})})]})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx("img",{alt:"illustration of different purple squares",src:p,className:"h-full w-full"})})]})}export{Z as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{j as a,r as f}from"./@radix-CFOkMR_E.js";import{P as j,m as g,z as o,k as y,l as b,j as P,n as N,F as v,r as i,T as u,h as S,D as k,S as p,o as R}from"./index-KsTz2dHG.js";import{c as T,L as c,g as h}from"./@react-router-CO-OsFwI.js";import{C as x,R as E}from"./CopyButton-B3sWVJ4Z.js";import{a as C}from"./@tanstack-k96lU_C-.js";import{o as F}from"./url-rGEp5Umh.js";import{S as _,P as w}from"./SearchField-CXoBknpt.js";import{S as D}from"./terminal-By9cErXc.js";import{D as A}from"./DisplayDate-DYgIjlDF.js";import{g as I,E as B}from"./ExecutionStatus-9zM7eaLh.js";import{I as q}from"./InlineAvatar-BvBtO2Dp.js";import"./@reactflow-DIYUhKYX.js";import"./copy-BXNk6BjL.js";import"./dots-horizontal-BObFzD5l.js";import"./chevron-right-double-CZBOf6JM.js";import"./check-circle-i56092KI.js";function L({namespace:e}){return a.jsx(j,{children:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(g,{className:"h-5 w-5 fill-neutral-400"}),a.jsx("h1",{className:"text-display-xs font-semibold",children:decodeURIComponent(e)})]})})}const l=1,U=o.object({page:o.coerce.number().min(l).optional().default(l).catch(l),name:o.string().optional(),operator:o.enum(["and","or"]).optional()});function z(){const[e]=T(),{page:s,name:t,operator:r}=U.parse({page:e.get("page")||void 0,name:e.get("name")||void 0});return{page:s,name:t,logical_operator:r}}function G({params:e}){return["runs",e]}async function H({params:e}){const s=y(b.runs.all+"?"+F(e)),t=await P(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&N(),!t.ok)throw new v({message:"Error while fetching pipeline runs",status:t.status,statusText:t.statusText});return t.json()}function K(e,s){return C({queryKey:G(e),queryFn:()=>H(e),...s})}function Q(){return[{id:"run",header:"Run",accessorFn:e=>{var s;return{name:e.name,id:e.id,status:(s=e.body)==null?void 0:s.status}},cell:({getValue:e})=>{const{name:s,status:t,id:r}=e();return a.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[a.jsx(D,{className:`h-5 w-5 shrink-0 ${I(t)}`}),a.jsxs("div",{children:[a.jsxs(c,{to:i.runs.detail(r),className:"flex items-center gap-1",children:[a.jsx("h2",{className:"text-text-md font-semibold",children:s}),a.jsx(B,{status:t}),a.jsx(x,{copyText:s})]}),a.jsxs(c,{to:i.runs.detail(r),className:"flex items-center gap-1",children:[a.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:r.split("-")[0]}),a.jsx(x,{copyText:r})]})]})]})}},{id:"stack",header:"Stack",accessorFn:e=>{var s,t,r,n;return{name:(t=(s=e.body)==null?void 0:s.stack)==null?void 0:t.name,id:(n=(r=e.body)==null?void 0:r.stack)==null?void 0:n.id}},cell:({getValue:e})=>{const{name:s,id:t}=e();return!s||!t?null:a.jsx(c,{to:i.stacks.overview,children:a.jsx(u,{rounded:!1,className:"inline-block",color:"turquoise",emphasis:"subtle",children:s})})}},{id:"repository",header:"Repository",accessorFn:e=>{var s,t,r,n,m,d;return{name:(r=(t=(s=e.body)==null?void 0:s.code_reference)==null?void 0:t.body)==null?void 0:r.code_repository.name,id:(d=(m=(n=e.body)==null?void 0:n.code_reference)==null?void 0:m.body)==null?void 0:d.code_repository.id}},cell:({getValue:e})=>{const{name:s,id:t}=e();return!s||!t?null:a.jsx("div",{children:a.jsx(u,{rounded:!1,className:"inline-block",color:"grey",emphasis:"subtle",children:s})})}},{id:"created",header:"Created at",accessorFn:e=>{var s;return(s=e.body)==null?void 0:s.created},cell:({getValue:e})=>a.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:a.jsx(A,{dateString:e()})})},{id:"author",header:"Author",accessorFn:e=>{var s;return{author:(s=e.body)==null?void 0:s.user}},cell:({getValue:e})=>{const{author:s}=e();return a.jsx(q,{username:s.name})}}]}function O(){const{namespace:e}=h(),s=z(),t=Q(),{data:r,refetch:n}=K({params:{pipeline_name:decodeURIComponent(e),...s,sort_by:"desc:updated"}},{throwOnError:!0});return a.jsxs("div",{className:"flex flex-col gap-5 p-5",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(_,{searchParams:s}),a.jsxs(S,{intent:"primary",emphasis:"subtle",size:"md",onClick:()=>n(),children:[a.jsx(E,{className:"h-5 w-5 fill-theme-text-brand"}),"Refresh"]})]}),a.jsxs("div",{className:"flex flex-col items-center gap-5",children:[a.jsx("div",{className:"w-full",children:r?a.jsx(k,{columns:t,data:r.items}):a.jsx(p,{className:"h-[500px] w-full"})}),r?r.total_pages>1&&a.jsx(w,{searchParams:s,paginate:r}):a.jsx(p,{className:"h-[36px] w-[300px]"})]})]})}function ce(){const{namespace:e}=h(),{setCurrentBreadcrumbData:s}=R();return f.useEffect(()=>{e&&s({segment:"pipeline_detail",data:{name:e}})},[e]),a.jsxs("div",{children:[a.jsx(L,{namespace:e}),a.jsx(O,{})]})}export{ce as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as i,j as s}from"./@radix-CFOkMR_E.js";import{z as t,e as j,f as N,I as c,h as w,i as y,r as b,B as v}from"./index-
|
1
|
+
import{r as i,j as s}from"./@radix-CFOkMR_E.js";import{z as t,e as j,f as N,I as c,h as w,i as y,r as b,B as v}from"./index-KsTz2dHG.js";import{u as S}from"./login-mutation-DRpbESS7.js";import{t as I}from"./zod-BtSyGx4C.js";import{u as L}from"./index.esm-CbHNSeVw.js";import{b as F,c as P}from"./@react-router-CO-OsFwI.js";import"./@tanstack-k96lU_C-.js";import"./@reactflow-DIYUhKYX.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const l=F(),{setAuthState:m}=j(),{toast:u}=N(),a=i.useId(),r=i.useId(),[o]=P(),d=o.get("redirect"),x=o.get("username")??void 0,{register:n,handleSubmit:p,formState:{isValid:h}}=L({resolver:I(E),defaultValues:{username:x}}),f=S({onError:e=>{e instanceof Error&&u({status:"error",emphasis:"subtle",icon:s.jsx(y,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),l(d||b.home)}});function g(e){f.mutate({username:e.username.trim(),password:e.password})}return s.jsxs("form",{onSubmit:p(g),className:"space-y-5",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:a,className:"text-text-sm",children:"Username"}),s.jsx(c,{...n("username"),id:a,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Password"}),s.jsx(c,{...n("password"),id:r,type:"password",className:"w-full"})]})]}),s.jsx(w,{disabled:!h,className:"w-full text-center",size:"md",children:s.jsx("span",{className:"w-full",children:"Login"})})]})}function U(){return s.jsxs(v,{className:"flex w-full max-w-[540px] flex-col gap-5 p-7",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Log in to your account"}),s.jsx("p",{className:"text-theme-text-secondary",children:"Please, fill in your details to log in to your ZenML account."})]}),s.jsx(A,{})]})}export{U as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r as o,j as e}from"./@radix-CFOkMR_E.js";import{k as j,l as C,j as y,n as T,F as b,a0 as E,a1 as F,h as x,a2 as P,a3 as U,a4 as k,a5 as I,z as m,f as D,I as O,a6 as R,a7 as _,a8 as H,a9 as q,i as v,aa as z,ab as Z,ac as B,ad as K,ae as Q,af as V,ag as L,ah as G,ai as J,aj as $,ak as W,al as X,E as w,am as Y,an as ee,S as f,D as se,B as te}from"./index-KsTz2dHG.js";import{S as ae,P as re}from"./SearchField-CXoBknpt.js";import{a as ne,b as N,c as A}from"./@tanstack-k96lU_C-.js";import{o as ie}from"./url-rGEp5Umh.js";import{C as oe}from"./CodeSnippet-Cyp7f4dM.js";import{u as le}from"./index.esm-CbHNSeVw.js";import{D as ce}from"./DisplayDate-DYgIjlDF.js";import{I as de}from"./InlineAvatar-BvBtO2Dp.js";import{S as ue}from"./dots-horizontal-BObFzD5l.js";import{c as me}from"./@react-router-CO-OsFwI.js";import"./@reactflow-DIYUhKYX.js";import"./chevron-right-double-CZBOf6JM.js";import"./copy-BXNk6BjL.js";function he({params:a}){return["users",a]}async function xe({params:a}){const s=j(C.users.all+"?"+ie(a)),t=await y(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&T(),!t.ok)throw new b({message:"Error while fetching users",status:t.status,statusText:t.statusText});return t.json()}function pe(a,s){return ne({queryKey:he(a),queryFn:()=>xe(a),...s})}const fe=a=>o.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...a},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10 4C8.06703 4 6.50002 5.567 6.50002 7.5C6.50002 9.433 8.06703 11 10 11C11.933 11 13.5 9.433 13.5 7.5C13.5 5.567 11.933 4 10 4ZM4.50002 7.5C4.50002 4.46243 6.96246 2 10 2C13.0376 2 15.5 4.46243 15.5 7.5C15.5 10.5376 13.0376 13 10 13C6.96246 13 4.50002 10.5376 4.50002 7.5ZM19 14C19.5523 14 20 14.4477 20 15V17H22C22.5523 17 23 17.4477 23 18C23 18.5523 22.5523 19 22 19H20V21C20 21.5523 19.5523 22 19 22C18.4477 22 18 21.5523 18 21V19H16C15.4477 19 15 18.5523 15 18C15 17.4477 15.4477 17 16 17H18V15C18 14.4477 18.4477 14 19 14ZM7.32629 14.5C7.38335 14.5 7.44125 14.5 7.50003 14.5H12C12.5523 14.5 13 14.9477 13 15.5C13 16.0523 12.5523 16.5 12 16.5H7.50003C6.03171 16.5 5.51923 16.5109 5.12917 16.6292C4.17036 16.92 3.42005 17.6703 3.1292 18.6291C3.01088 19.0192 3.00002 19.5317 3.00002 21C3.00002 21.5523 2.55231 22 2.00002 22C1.44774 22 1.00002 21.5523 1.00002 21C1.00002 20.9412 1 20.8833 0.99998 20.8263C0.999526 19.599 0.999216 18.761 1.21532 18.0486C1.70007 16.4506 2.95059 15.2 4.54859 14.7153C5.261 14.4992 6.09902 14.4995 7.32629 14.5Z"}));async function ge(a){const s=j(C.users.all),t=await y(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!t.ok){const r=await t.json().then(n=>n.detail).catch(()=>"Failed to create User");throw new b({status:t.status,statusText:t.statusText,message:r})}return t.json()}function je(a){return N({mutationFn:async s=>ge(s),...a})}function Ce(){const[a,s]=o.useState(!1),[t,r]=o.useState(null);return e.jsxs(E,{open:a,onOpenChange:n=>{s(n),r(null)},children:[e.jsx(F,{asChild:!0,children:e.jsx(x,{className:"shrink-0",intent:"primary",children:"Add Member"})}),e.jsxs(P,{className:"",children:[e.jsx(U,{children:e.jsx(k,{children:" Add a New Member"})}),t?e.jsx(be,{name:t.name,token:I(t)}):e.jsx(ye,{setSuccessMember:r})]})]})}m.object({username:m.string(),isAdmin:m.boolean()});function ye({setSuccessMember:a}){const{toast:s}=D(),t=A(),{mutate:r,isPending:n}=je({onError(d){q(d)&&s({status:"error",emphasis:"subtle",icon:e.jsx(v,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:d.message,rounded:!0})},onSuccess(d){a(d),t.invalidateQueries({queryKey:["users"]})}}),l=o.useId(),c=o.useId(),{register:i,handleSubmit:h,watch:p,setValue:u}=le();function M(d){r({is_admin:d.isAdmin,name:d.username})}return e.jsxs(e.Fragment,{children:[e.jsx("form",{id:"create-user-form",onSubmit:h(M),className:"space-y-5 p-7",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:l,className:"text-text-sm",children:"Username"}),e.jsx(O,{...i("username"),id:l,className:"w-full"})]}),e.jsxs("div",{className:"flex gap-5",children:[e.jsx("label",{htmlFor:c,className:"text-text-md",children:"Add user as an Admin"}),e.jsx(R,{onCheckedChange:d=>u("isAdmin",!!d),...i("isAdmin",{value:!1}),id:c})]})]})}),e.jsxs(_,{className:"gap-[10px]",children:[e.jsx(H,{asChild:!0,children:e.jsx(x,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(x,{disabled:!p("username")||n,form:"create-user-form",size:"sm",children:"Generate Token"})]})]})}function be({token:a,name:s}){return e.jsxs("div",{className:"space-y-5 overflow-hidden p-7 text-center",children:[e.jsx(fe,{className:"m-auto mb-5 h-[110px] w-[110px] fill-success-500"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold text-theme-text-primary",children:`The user ${s} was created successfully!`}),e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"Share the invitation link with the user to complete the registration."})]}),e.jsx(oe,{className:"mx-auto",code:a})]})}const we=a=>o.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...a},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.9681 6.38231C3.73647 7.92199 3 9.87499 3 12C3 16.9706 7.02944 21 12 21C14.125 21 16.078 20.2635 17.6177 19.0319L4.9681 6.38231ZM6.38231 4.9681L19.0319 17.6177C20.2635 16.078 21 14.125 21 12C21 7.02944 16.9706 3 12 3C9.87499 3 7.92199 3.73647 6.38231 4.9681ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12Z"})),S=o.forwardRef((a,s)=>{const{triggerChildren:t,children:r,onSelect:n,onOpenChange:l,icon:c,...i}=a;return e.jsxs(z,{onOpenChange:l,children:[e.jsx(Z,{asChild:!0,children:e.jsx(B,{...i,className:"hover:cursor-pointer",icon:a.icon,ref:s,onSelect:h=>{h.preventDefault(),n&&n()},children:t})}),e.jsx(K,{children:r})]})});S.displayName="AlertDialogItem";async function De(a){const s=j(C.users.detail(a)),t=await y(s,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!t.ok){const r=await t.json().then(n=>n.detail).catch(()=>"Failed to delete User");throw new b({status:t.status,statusText:t.statusText,message:r})}return t.json()}function ve(a){return N({mutationFn:async s=>De(s),...a})}function Ne({userId:a,name:s}){const{toast:t}=D(),r=A(),{isPending:n,mutate:l}=ve({onSuccess(){r.invalidateQueries({queryKey:["users"]})},onError:i=>{i instanceof Error&&t({status:"error",emphasis:"subtle",icon:e.jsx(v,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:i.message,rounded:!0})}});function c(){l(a)}return e.jsxs(Q,{className:"p-0",children:[e.jsx(V,{className:"py-2 pl-5 pr-3 text-text-lg font-semibold",children:"Delete Member"}),e.jsx("div",{className:"border-y border-theme-border-moderate px-5 py-5",children:e.jsxs(L,{children:["Deleting ",e.jsx("strong",{children:s})," cannot be undone."]})}),e.jsxs("div",{className:"flex justify-end gap-3 px-5 py-3",children:[e.jsx(G,{asChild:!0,children:e.jsx(x,{intent:"secondary",children:"Cancel"})}),e.jsx(J,{asChild:!0,children:e.jsx(x,{onClick:c,disabled:n,intent:"danger",children:"Delete"})})]})]})}function Ae({userId:a,name:s}){const[t,r]=o.useState(!1),[n,l]=o.useState(!1),c=o.useRef(null),i=o.useRef(null);function h(){i.current=c.current}function p(u){if(u===!1){l(!1),setTimeout(()=>{r(u)},200);return}r(u)}return e.jsxs($,{onOpenChange:l,open:n,children:[e.jsx(W,{ref:c,children:e.jsx(ue,{className:"h-4 w-4 fill-theme-text-tertiary"})}),e.jsx(X,{hidden:t,onCloseAutoFocus:u=>{i.current&&(i.current.focus(),i.current=null,u.preventDefault())},align:"end",sideOffset:7,children:e.jsx(S,{onSelect:h,onOpenChange:p,triggerChildren:"Remove Member",icon:e.jsx(we,{fill:"red"}),children:e.jsx(Ne,{name:s,userId:a})})})]})}function Se({isAdmin:a}){return[{id:"name",accessorFn:s=>{var t;return{name:s.name,is_admin:!!((t=s.body)!=null&&t.is_admin)}},cell:({getValue:s})=>{const{name:t,is_admin:r}=s();return e.jsxs("div",{className:"flex",children:[e.jsx(de,{username:t}),r&&e.jsx("div",{children:e.jsx(w,{className:"ml-2 capitalize",size:"xs",color:"purple",children:"Admin"})})]})},header:"User"},{accessorKey:"status",header:"Status",accessorFn:s=>{var t;return{status:(t=s.body)==null?void 0:t.active}},cell:({getValue:s})=>{const{status:t}=s();return e.jsx(w,{className:"capitalize",color:t?"green":"grey",children:t?"Active":"Inactive"})}},{id:"created",header:"Created",accessorFn:s=>{var t;return(t=s.body)==null?void 0:t.created},cell:({getValue:s})=>e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.jsx(ce,{dateString:s()})})},...a?[{id:"actions",header:"",accessorFn:s=>({id:s.id,name:Y(s)}),meta:{width:"5%"},cell:({getValue:s})=>{const{id:t,name:r}=s();return e.jsx(Ae,{name:r,userId:t})}}]:[]]}const g=1,Me=m.object({page:m.coerce.number().min(g).optional().default(g).catch(g),name:m.string().optional(),operator:m.enum(["and","or"]).optional()});function Te(){const[a]=me(),{page:s,name:t,operator:r}=Me.parse({page:a.get("page")||void 0,name:a.get("name")||void 0,operator:a.get("operator")||void 0});return{page:s,name:t,logical_operator:r}}function Ee(){var c,i;const a=Te(),{data:s,isError:t}=pe({params:{...a,sort_by:"desc:created"}},{throwOnError:!0}),{data:r,isPending:n,isError:l}=ee();return t||l?null:n?e.jsx(f,{className:"h-[350px]"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx(ae,{searchParams:a}),((c=r.body)==null?void 0:c.is_admin)&&e.jsx(Ce,{})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:s?e.jsx(se,{columns:Se({isAdmin:(i=r.body)==null?void 0:i.is_admin}),data:s.items}):e.jsx(f,{className:"h-[250px] w-full"})}),s?s.total_pages>1&&e.jsx(re,{searchParams:a,paginate:s}):e.jsx(f,{className:"h-[36px] w-[300px]"})]})]})}function Qe(){return e.jsxs(te,{className:"flex flex-col gap-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Members"}),e.jsx(Ee,{})]})}export{Qe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e,r as f}from"./@radix-CFOkMR_E.js";import{z as d,k as x,l as h,j,F as p,B as m,f as N,aG as S,h as D,i as
|
1
|
+
import{j as e,r as f}from"./@radix-CFOkMR_E.js";import{z as d,k as x,l as h,j,F as p,B as m,f as N,aG as S,h as D,i as P,y as C}from"./index-KsTz2dHG.js";import{c as E}from"./@react-router-CO-OsFwI.js";import{E as _}from"./EmptyState-BMLnFVlB.js";import{a as k,b as F}from"./@tanstack-k96lU_C-.js";import{o as T}from"./url-rGEp5Umh.js";import{E as I}from"./Error-DbXCTGua.js";import{t as A}from"./zod-BtSyGx4C.js";import{u as V,C as z}from"./index.esm-CbHNSeVw.js";import{S as q}from"./check-circle-i56092KI.js";import"./@reactflow-DIYUhKYX.js";const B=d.object({device_id:d.string().optional(),user_code:d.string().optional()});function Y(){const[s]=E(),{device_id:t,user_code:i}=B.parse({device_id:s.get("device_id")||void 0,user_code:s.get("user_code")||void 0});return{user_code:i,device_id:t}}const G=d.object({trustDevice:d.boolean()});function K({deviceId:s,queryParams:t}){return["devices",s,t]}async function L({deviceId:s,queryParams:t}){const i=x(h.devices.detail(s)+"?"+T(t)),r=await j(i,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});if(!r.ok)throw new p({message:"Error while fetching Device details",status:r.status,statusText:r.statusText});return r.json()}function R(s,t){return k({queryKey:K(s),queryFn:async()=>L(s),...t})}function W({device:s}){var t,i,r,a,c,n;return e.jsx(m,{className:"w-full p-5",children:e.jsxs("dl",{className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("dt",{children:"IP Address"}),e.jsx("dd",{children:(t=s.body)==null?void 0:t.ip_address})]}),((i=s.metadata)==null?void 0:i.city)&&((r=s.metadata)==null?void 0:r.country)&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("dt",{children:"Location"}),e.jsxs("dd",{children:[(a=s.metadata)==null?void 0:a.city,", ",(c=s.metadata)==null?void 0:c.country]})]}),e.jsxs("div",{className:"flex min-w-0 items-center justify-between",children:[e.jsx("dt",{children:"Hostname"}),e.jsx("dd",{className:"truncate",children:(n=s.body)==null?void 0:n.hostname})]})]})})}async function H({deviceId:s,payload:t}){const i=x(h.devices.verify(s)),r=await j(i,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const a=await r.json().then(c=>c.detail).catch(()=>["","Failed to verify device."]);throw new p({status:r.status,statusText:r.statusText,message:a[1]||"Failed to verify device."})}return r.json()}function J(s){return F({mutationFn:async t=>H(t),...s})}function M({deviceId:s,user_code:t,setSuccess:i}){const r=f.useId(),{handleSubmit:a,formState:{isValid:c},control:n}=V({resolver:A(G),defaultValues:{trustDevice:!1}}),{toast:l}=N(),{mutate:v,isPending:y}=J({onSuccess:()=>{i(!0)},onError:o=>{o instanceof Error&&l({status:"error",emphasis:"subtle",icon:e.jsx(P,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:o.message,rounded:!0})}});function g(o){v({deviceId:s,payload:{user_code:t,trusted_device:o.trustDevice}})}return e.jsxs("form",{onSubmit:a(g),className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(z,{control:n,name:"trustDevice",render:({field:{onChange:o,value:w}})=>e.jsx(S,{checked:w,onCheckedChange:b=>o(!!b),id:r})}),e.jsxs("label",{htmlFor:r,children:[e.jsx("p",{children:"Trust this device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"We won't ask you again soon on this device."})]})]}),e.jsx(D,{disabled:y||!c,size:"md",className:"flex w-full justify-center",children:"Authorize this device"})]})}function O(){return e.jsxs(m,{className:"flex min-w-[540px] flex-col items-center justify-center space-y-7 px-7 py-9",children:[e.jsx(q,{className:"h-[120px] w-[120px] fill-theme-text-success"}),e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"You successfully added your device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"You may close this screen and return to your CLI."})]})]})}function ce(){const{device_id:s,user_code:t}=Y(),[i,r]=f.useState(!1),{data:a,isPending:c,isError:n,error:l}=R({deviceId:s,queryParams:{user_code:t}},{enabled:!!s&&!!t});return!s||!t?e.jsx(_,{children:e.jsx("p",{children:"Invalid device verification link."})}):n?e.jsx(u,{children:e.jsx(I,{isAlertCircle:!0,err:l})}):c?e.jsx(u,{children:e.jsx(C,{})}):i?e.jsx(O,{}):e.jsx(u,{children:e.jsxs("div",{className:"w-full space-y-7",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Authorize a new device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"You are logging in from a new device."})]}),e.jsx(W,{device:a}),e.jsx(M,{setSuccess:r,deviceId:s,user_code:t})]})})}function u({children:s}){return e.jsx(m,{className:"flex w-full min-w-[540px] flex-col items-center justify-center gap-5 p-7",children:s})}export{ce as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r as u,j as e}from"./@radix-CFOkMR_E.js";import{S as ie,C as N,u as M,a as S,P as L,b as le,W as oe,L as ne}from"./ProviderRadio-pSAvrGRS.js";import{p as Y,s as g,C as h,a as ce,b as de,c as q,d as ue}from"./persist-BReKApOc.js";import{aB as me,aC as xe,aD as pe,aE as Q,S as j,y as P,A as U,b as $,B as D,aq as he,ar as fe,as as Ce,at as ge,au as je,h as J,aF as ve,r as G}from"./index-KsTz2dHG.js";import{c as ye,b as be}from"./@react-router-CO-OsFwI.js";import{I as v}from"./Infobox-iv1Nu1A0.js";import{t as K}from"./zod-BtSyGx4C.js";import{a as X,C as we,u as ee,F as Ne}from"./index.esm-CbHNSeVw.js";import{T as I}from"./Tick-Bnr2TpW6.js";import{a as y}from"./@tanstack-k96lU_C-.js";import{S as ke}from"./logs-D8k8BVFf.js";import{C as Se}from"./CodeSnippet-Cyp7f4dM.js";import{S as Le}from"./package-ClbU3KUi.js";import"./aws-BgKTfTfx.js";import"./url-rGEp5Umh.js";import"./stack-detail-query-Ck7j7BP_.js";import"./database-1xWSgZfO.js";import"./@reactflow-DIYUhKYX.js";import"./copy-BXNk6BjL.js";const te=u.createContext(null);function Me({children:r}){const{success:s,data:a}=Y(),[t,i]=u.useState(!1),[n,l]=u.useState(!!s),[o,d]=u.useState(s?{location:a.location,provider:a.provider,stackName:a.stackName}:{}),[c,m]=u.useState(s?a.timestamp:""),p=u.useRef(null);return e.jsx(te.Provider,{value:{isNextButtonDisabled:t,setIsNextButtonDisabled:i,data:o,setData:d,isLoading:n,setIsLoading:l,formRef:p,timestamp:c,setTimestamp:m},children:r})}function x(){const r=u.useContext(te);if(r===null)throw new Error("useNewInfraFormContext must be used within an AuthProvider");return r}const Pe=r=>u.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...r},u.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 4.5C12.5523 4.5 13 4.94772 13 5.5V6H13.1667C15.0076 6 16.5 7.49238 16.5 9.33333C16.5 9.88562 16.0523 10.3333 15.5 10.3333C14.9477 10.3333 14.5 9.88562 14.5 9.33333C14.5 8.59695 13.903 8 13.1667 8H11C10.1716 8 9.5 8.67157 9.5 9.5C9.5 10.3284 10.1716 11 11 11H13C14.933 11 16.5 12.567 16.5 14.5C16.5 16.433 14.933 18 13 18V18.5C13 19.0523 12.5523 19.5 12 19.5C11.4477 19.5 11 19.0523 11 18.5V18H10.8333C8.99238 18 7.5 16.5076 7.5 14.6667C7.5 14.1144 7.94772 13.6667 8.5 13.6667C9.05228 13.6667 9.5 14.1144 9.5 14.6667C9.5 15.403 10.097 16 10.8333 16H13C13.8284 16 14.5 15.3284 14.5 14.5C14.5 13.6716 13.8284 13 13 13H11C9.067 13 7.5 11.433 7.5 9.5C7.5 7.567 9.067 6 11 6V5.5C11 4.94772 11.4477 4.5 12 4.5Z"})),De=r=>u.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...r},u.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.16145 4L18.8385 4C19.3657 3.99998 19.8205 3.99997 20.195 4.03057C20.5904 4.06287 20.9836 4.13419 21.362 4.32698C21.9265 4.6146 22.3854 5.07354 22.673 5.63803C22.8658 6.01641 22.9371 6.40963 22.9694 6.80498C23 7.17954 23 7.6343 23 8.16144V15.8386C23 16.3657 23 16.8205 22.9694 17.195C22.9371 17.5904 22.8658 17.9836 22.673 18.362C22.3854 18.9265 21.9265 19.3854 21.362 19.673C20.9836 19.8658 20.5904 19.9371 20.195 19.9694C19.8205 20 19.3657 20 18.8386 20L5.16148 20C4.63432 20 4.17955 20 3.80497 19.9694C3.40963 19.9371 3.01641 19.8658 2.63803 19.673C2.07354 19.3854 1.6146 18.9265 1.32698 18.362C1.13419 17.9836 1.06287 17.5904 1.03057 17.195C0.999967 16.8205 0.999983 16.3657 1 15.8385L1 10.0006C1 10.0004 1 10.0008 1 10.0006C1 10.0004 1 9.99958 1 9.99937L1 8.16146C0.999983 7.63431 0.999968 7.17955 1.03057 6.80497C1.06287 6.40963 1.13419 6.01641 1.32698 5.63803C1.6146 5.07354 2.07354 4.6146 2.63803 4.32698C3.01641 4.13419 3.40963 4.06287 3.80497 4.03057C4.17955 3.99997 4.63431 3.99998 5.16145 4ZM3 11V15.8C3 16.3766 3.00078 16.7488 3.02393 17.0322C3.04612 17.3038 3.0838 17.4045 3.109 17.454C3.20487 17.6422 3.35785 17.7951 3.54601 17.891C3.59546 17.9162 3.69617 17.9539 3.96784 17.9761C4.25117 17.9992 4.62345 18 5.2 18L18.8 18C19.3766 18 19.7488 17.9992 20.0322 17.9761C20.3038 17.9539 20.4045 17.9162 20.454 17.891C20.6422 17.7951 20.7951 17.6422 20.891 17.454C20.9162 17.4045 20.9539 17.3038 20.9761 17.0322C20.9992 16.7488 21 16.3766 21 15.8V11H3ZM21 9H3V8.2C3 7.62345 3.00078 7.25117 3.02393 6.96784C3.04612 6.69617 3.0838 6.59546 3.109 6.54601C3.20487 6.35785 3.35785 6.20487 3.54601 6.109C3.59546 6.0838 3.69617 6.04612 3.96784 6.02393C4.25118 6.00078 4.62345 6 5.2 6L18.8 6C19.3766 6 19.7488 6.00078 20.0322 6.02393C20.3038 6.04613 20.4045 6.0838 20.454 6.109C20.6422 6.20487 20.7951 6.35785 20.891 6.54601C20.9162 6.59546 20.9539 6.69617 20.9761 6.96784C20.9992 7.25118 21 7.62345 21 8.2V9ZM5 14C5 13.4477 5.44772 13 6 13H11C11.5523 13 12 13.4477 12 14C12 14.5523 11.5523 15 11 15H6C5.44772 15 5 14.5523 5 14Z"}));function re(){return e.jsxs(me,{children:[e.jsx(xe,{className:"block",children:e.jsxs(v,{intent:"warning",children:["This will give ZenML permissions and create secret keys for secure ZenML -",">"," Provider communication. You can revoke these permissions at any time."]})}),e.jsx(pe,{sideOffset:0,className:"w-auto p-5",children:e.jsx(Q,{viewportClassName:"max-h-[300px]",children:e.jsx(Ie,{})})})]})}function Ie(){const{data:r}=x(),{isPending:s,isError:a,error:t,data:i}=y(g.stackDeploymentInfo({provider:r.provider}));if(s)return e.jsx(j,{className:"h-[100px] w-full"});if(a)return e.jsx("p",{children:t.message});const n=Object.entries(i.permissions);return e.jsx("ul",{className:"space-y-2 pr-3 text-text-sm",children:n.map(([l,o])=>e.jsxs("li",{className:"flex flex-col gap-1",children:[e.jsx("p",{children:l}),e.jsx("ul",{className:"list-inside list-[square] pl-4 text-neutral-400 marker:text-primary-200",children:o.map((d,c)=>e.jsx("li",{children:d},c))})]},l))})}function Re({stackName:r,isLoading:s,isSuccess:a,components:t,displayPermissions:i=!1}){var n,l,o,d,c,m,p,C;return e.jsxs("div",{className:"divide-y divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[e.jsxs("div",{className:"flex items-center gap-3 bg-theme-surface-secondary p-5 text-text-lg font-semibold",children:[s&&e.jsx(P,{className:"h-5 w-5 shrink-0 border-[3px]"}),a&&e.jsx(I,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),e.jsx(U,{type:"square",size:"lg",children:e.jsx($,{size:"lg",children:r[0]})}),r]}),e.jsxs("div",{className:"space-y-1 py-3 pl-9 pr-5",children:[e.jsx(f,{title:((n=t==null?void 0:t.connector)==null?void 0:n.name)||"IAM Role",isLoading:s,isSuccess:a,subtitle:((l=t==null?void 0:t.connector)==null?void 0:l.id)||"Manage access to AWS resources",badge:e.jsx(h,{type:"annotator",children:"Service Connector"}),img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/service_connector/iam.webp",alt:"IAM logo"}}),i&&e.jsx(re,{})]}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((o=t==null?void 0:t.artifactStore)==null?void 0:o.name)||"S3 Bucket",subtitle:((d=t==null?void 0:t.artifactStore)==null?void 0:d.id)||"Artifact storage for ML pipelines",badge:e.jsx(h,{type:"artifact_store",children:"Artifact Store"}),isLoading:s,isSuccess:a,img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/artifact_store/aws.png",alt:"S3 logo"}})}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((c=t==null?void 0:t.registry)==null?void 0:c.name)||"ECR Repository",subtitle:((m=t==null?void 0:t.registry)==null?void 0:m.id)||"Container image storage",badge:e.jsx(h,{type:"container_registry",children:"Container Registry"}),isLoading:s,isSuccess:a,img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/container_registry/aws.png",alt:"ECR logo"}})}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((p=t==null?void 0:t.orchestrator)==null?void 0:p.name)||"SageMaker",isLoading:s,isSuccess:a,subtitle:((C=t==null?void 0:t.orchestrator)==null?void 0:C.id)||"ML Workflow orchestration",badge:e.jsx(h,{type:"orchestrator",children:"Orchestrator"}),img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/orchestrator/sagemaker.png",alt:"Sagemaker logo"}})})]})}function Be({stackName:r,isLoading:s,isSuccess:a,components:t,displayPermissions:i=!1}){var n,l,o,d,c,m,p,C,b,w;return e.jsxs("div",{className:"divide-y divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[e.jsxs("div",{className:"flex items-center gap-3 bg-theme-surface-secondary p-5 text-text-lg font-semibold",children:[s&&e.jsx(P,{className:"h-5 w-5 shrink-0 border-[3px]"}),a&&e.jsx(I,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),e.jsx(U,{type:"square",size:"lg",children:e.jsx($,{size:"lg",children:r[0]})}),r]}),e.jsxs("div",{className:"space-y-1 py-3 pl-9 pr-5",children:[e.jsx(f,{title:((n=t==null?void 0:t.connector)==null?void 0:n.name)||"Service Account",isLoading:s,isSuccess:a,subtitle:((l=t==null?void 0:t.connector)==null?void 0:l.id)||"Manage access to GCP resources",badge:e.jsx(h,{type:"annotator",children:"Service Connector"}),img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/service_connector/gcp-iam.webp",alt:"Service Account logo"}}),i&&e.jsx(re,{})]}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((o=t==null?void 0:t.artifactStore)==null?void 0:o.name)||"GCS Bucket",subtitle:((d=t==null?void 0:t.artifactStore)==null?void 0:d.id)||"Artifact storage for ML pipelines",badge:e.jsx(h,{type:"artifact_store",children:"Artifact Store"}),isLoading:s,isSuccess:a,img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/artifact_store/gcp.png",alt:"GCS logo"}})}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((c=t==null?void 0:t.registry)==null?void 0:c.name)||"Google Artifact Registry",subtitle:((m=t==null?void 0:t.registry)==null?void 0:m.id)||"Container image storage",badge:e.jsx(h,{type:"container_registry",children:"Container Registry"}),isLoading:s,isSuccess:a,img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/container_registry/gcp.png",alt:"Google Artifact Registry logo"}})}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((p=t==null?void 0:t.orchestrator)==null?void 0:p.name)||"Vertex AI",isLoading:s,isSuccess:a,subtitle:((C=t==null?void 0:t.orchestrator)==null?void 0:C.id)||"ML Workflow orchestration",badge:e.jsx(h,{type:"orchestrator",children:"Orchestrator"}),img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/orchestrator/vertexai.png",alt:"VertexAI logo"}})}),e.jsx("div",{className:"py-3 pl-9 pr-5",children:e.jsx(f,{title:((b=t==null?void 0:t.imageBuilder)==null?void 0:b.name)||"Cloud Build",isLoading:s,isSuccess:a,subtitle:((w=t==null?void 0:t.imageBuilder)==null?void 0:w.id)||"Build, test, and deploy images",badge:e.jsx(h,{type:"image_builder",children:"Image Builder"}),img:{src:"https://public-flavor-logos.s3.eu-central-1.amazonaws.com/image_builder/gcp.png",alt:"Cloud Build logo"}})})]})}function Ee(){return e.jsx(v,{className:"border-warning-300 bg-warning-50",intent:"warning",children:'The Cloud Shell session will warn you that the ZenML GitHub repository is untrusted. We recommend that you review the contents of the repository and then check the "Trust repo" checkbox to proceed with the deployment, otherwise the Cloud Shell session will not be authenticated to access your GCP projects.'})}function se(){const{data:r}=x(),s=y({...g.stackDeploymentConfig({provider:"gcp",stack_name:r.stackName,location:r.location})});return s.isError?null:s.isPending?e.jsx(j,{className:"h-[200px] w-full"}):e.jsxs("section",{className:"space-y-5 border-t border-theme-border-moderate pt-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(ke,{className:"h-5 w-5 fill-primary-400"}),"Configuration"]}),e.jsx("p",{className:"text-theme-text-secondary",children:"You will be asked to provide the following configuration values during the deployment process."})]}),e.jsx(Se,{fullWidth:!0,highlightCode:!0,codeClasses:"whitespace-pre-wrap word-break-all",wrap:!0,code:s.data.configuration||""})]})}function R({componentProps:r,type:s}){switch(s){case"aws":return e.jsx(Re,{...r});case"gcp":return e.jsx(Be,{...r})}}function f({img:r,title:s,subtitle:a,badge:t,isSuccess:i,isLoading:n}){return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[n&&e.jsx(P,{className:"h-5 w-5 shrink-0 border-[3px]"}),i&&e.jsx(I,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),e.jsx("img",{width:"40",height:"40",alt:r.alt,src:r.src}),e.jsxs("div",{children:[e.jsx("p",{className:"text-text-lg font-semibold",children:s}),e.jsx("p",{className:"text-theme-text-secondary",children:a})]})]}),t]})}function ze(){const{data:r}=x();function s(){let a="#";switch(r.provider){case"aws":a="https://calculator.aws/#/";break;case"gcp":a="https://cloud.google.com/products/calculator"}return e.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"link",children:"official pricing calculator"})}return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(Pe,{className:"h-5 w-5 fill-primary-400"}),"Estimated Cost"]}),e.jsx("p",{className:"text-theme-text-secondary",children:"These are rough estimates and actual costs may vary based on your usage."})]}),e.jsxs(D,{className:"flex items-start gap-[10px] p-3",children:[e.jsx("div",{className:"content-center rounded-sm bg-blue-25 p-1",children:e.jsx(De,{className:"h-5 w-5 fill-blue-400"})}),e.jsxs("div",{children:[e.jsxs("p",{children:["A small training job would cost around:"," ",e.jsx("span",{className:"font-semibold text-theme-text-success",children:"$0.60"})]}),e.jsxs("p",{className:"text-text-xs text-theme-text-secondary",children:["Please use the ",e.jsx(s,{})," for a detailed estimate"]})]})]})]})}const Ze=r=>u.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...r},u.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C8.13401 3 5 6.13401 5 10C5 11.8921 5.85317 13.678 7.29228 15.5467C8.50741 17.1245 10.0627 18.6673 11.7323 20.3233C11.8212 20.4115 11.9105 20.5 12 20.5889C12.0895 20.5 12.1788 20.4115 12.2677 20.3233C13.9373 18.6673 15.4926 17.1245 16.7077 15.5467C18.1468 13.678 19 11.8921 19 10C19 6.13401 15.866 3 12 3ZM3 10C3 5.02944 7.02944 1 12 1C16.9706 1 21 5.02944 21 10C21 12.5262 19.8532 14.7402 18.2923 16.767C16.988 18.4607 15.3185 20.1156 13.6508 21.7689C13.3354 22.0816 13.02 22.3943 12.7071 22.7071C12.3166 23.0976 11.6834 23.0976 11.2929 22.7071C10.98 22.3943 10.6646 22.0816 10.3492 21.7689C8.68147 20.1156 7.01205 18.4607 5.70772 16.767C4.14683 14.7402 3 12.5262 3 10ZM12 8C10.8954 8 10 8.89543 10 10C10 11.1046 10.8954 12 12 12C13.1046 12 14 11.1046 14 10C14 8.89543 13.1046 8 12 8ZM8 10C8 7.79086 9.79086 6 12 6C14.2091 6 16 7.79086 16 10C16 12.2091 14.2091 14 12 14C9.79086 14 8 12.2091 8 10Z"}));function Ae(){const{control:r}=X(),{data:s}=x(),{isPending:a,isError:t,data:i}=y({...g.stackDeploymentInfo({provider:s.provider})});if(t)return null;if(a)return e.jsx(j,{className:"h-[40px] w-[100px]"});const n=Object.entries(i.locations);return e.jsx(we,{control:r,name:"region",render:({field:{onChange:l,ref:o,...d}})=>e.jsxs(he,{...d,onValueChange:l,children:[e.jsx(fe,{className:"border border-neutral-300 text-left text-text-md",children:e.jsx(Ce,{className:"flex items-center gap-2",placeholder:"Select your Location"})}),e.jsx(ge,{children:e.jsx(Q,{viewportClassName:"max-h-[300px]",children:n.map(([c,m])=>e.jsxs(je,{value:m,children:[c," - ",e.jsx("span",{className:"text-theme-text-secondary",children:m})]},c))})})]})})}function _e(){return e.jsxs("div",{className:"space-y-5 border-b border-theme-border-moderate pb-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(Ze,{className:"h-5 w-5 fill-primary-400"}),"Choose Your Location"]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select where you want to deploy your cloud infrastructure for optimal performance and compliance."})]}),e.jsx(Ae,{})]})}function Ve(){const{data:r}=x(),{watch:s}=X();return e.jsxs("div",{className:"space-y-5 border-b border-theme-border-moderate pb-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(Le,{className:"h-5 w-5 fill-primary-400"}),"Review Your Stack Components"]}),e.jsx("p",{className:"text-theme-text-secondary",children:"The following components will be created for your ZenML stack."})]}),e.jsx(R,{type:r.provider,componentProps:{displayPermissions:!0,stackName:s("stackName")}}),e.jsx(v,{children:"These resources create a basic ZenML stack for ML workflow management. ZenML supports highly flexible stacks. You can build advanced stacks at any time, combining your preferred tools and components for more complex MLOps."})]})}function He(){const{formRef:r,setIsNextButtonDisabled:s,setData:a,data:t}=x(),i=ee({resolver:K(ce),mode:"onChange",defaultValues:{region:t.location,stackName:t.stackName||""}});u.useEffect(()=>{s(!i.formState.isValid)},[i.formState.isValid,s]);function n(l){a(o=>({...o,location:l.region,stackName:l.stackName}))}return e.jsx(k,{title:"Review Stack Configuration",children:e.jsx(Ne,{...i,children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs(v,{className:"text-text-sm",children:[e.jsx("p",{className:"font-semibold",children:"Important"}),e.jsx("p",{children:"This will create new resources in your account. Ensure you have the necessary permissions and are aware of any potential costs."})]}),e.jsxs("form",{onSubmit:i.handleSubmit(n),ref:r,className:"space-y-5",children:[e.jsx(_e,{}),e.jsx(ie,{})]}),e.jsx(Ve,{}),e.jsx(ze,{})]})})})}const Te=r=>u.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...r},u.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.7587 2L10 2C10.5523 2 11 2.44772 11 3C11 3.55229 10.5523 4 10 4H7.8C6.94342 4 6.36113 4.00078 5.91104 4.03755C5.47262 4.07337 5.24842 4.1383 5.09202 4.21799C4.7157 4.40973 4.40973 4.7157 4.21799 5.09202C4.1383 5.24842 4.07337 5.47262 4.03755 5.91104C4.00078 6.36113 4 6.94342 4 7.8V16.2C4 17.0566 4.00078 17.6389 4.03755 18.089C4.07337 18.5274 4.1383 18.7516 4.21799 18.908C4.40973 19.2843 4.7157 19.5903 5.09202 19.782C5.24842 19.8617 5.47262 19.9266 5.91104 19.9624C6.36113 19.9992 6.94342 20 7.8 20H16.2C17.0566 20 17.6389 19.9992 18.089 19.9624C18.5274 19.9266 18.7516 19.8617 18.908 19.782C19.2843 19.5903 19.5903 19.2843 19.782 18.908C19.8617 18.7516 19.9266 18.5274 19.9624 18.089C19.9992 17.6389 20 17.0566 20 16.2V14C20 13.4477 20.4477 13 21 13C21.5523 13 22 13.4477 22 14V16.2413C22 17.0463 22 17.7106 21.9558 18.2518C21.9099 18.8139 21.8113 19.3306 21.564 19.816C21.1805 20.5686 20.5686 21.1805 19.816 21.564C19.3306 21.8113 18.8139 21.9099 18.2518 21.9558C17.7106 22 17.0463 22 16.2413 22H7.75868C6.95372 22 6.28936 22 5.74817 21.9558C5.18608 21.9099 4.66937 21.8113 4.18404 21.564C3.43139 21.1805 2.81947 20.5686 2.43598 19.816C2.18868 19.3306 2.09012 18.8139 2.04419 18.2518C1.99998 17.7106 1.99999 17.0463 2 16.2413V7.7587C1.99999 6.95373 1.99998 6.28937 2.04419 5.74817C2.09012 5.18608 2.18868 4.66937 2.43597 4.18404C2.81947 3.43139 3.43139 2.81947 4.18404 2.43597C4.66937 2.18868 5.18608 2.09012 5.74817 2.04419C6.28937 1.99998 6.95373 1.99999 7.7587 2ZM14 3.00001C14 2.44773 14.4477 2.00001 15 2.00001H21C21.5523 2.00001 22 2.44773 22 3.00001L22 9.00001C22 9.55229 21.5523 10 21 10C20.4477 10 20 9.5523 20 9.00001L20 5.41422L12.7071 12.7071C12.3166 13.0976 11.6834 13.0976 11.2929 12.7071C10.9024 12.3166 10.9024 11.6834 11.2929 11.2929L18.5858 4.00001H15C14.4477 4.00001 14 3.5523 14 3.00001Z"}));function We(){const{data:r}=x();return e.jsxs("div",{className:"space-y-5",children:[e.jsx(v,{children:"This will provision and register a basic ZenML stack with all the necessary resources and credentials required to run pipelines."}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[e.jsx(N,{provider:r.provider,className:"h-5 w-5"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Deploy the Stack"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Deploy the stack from your browser by clicking the button below:"})]}),r.provider==="gcp"&&e.jsx(Ee,{}),e.jsx(ae,{setTimestampBool:!0}),r.provider==="gcp"&&e.jsx(se,{})]})}function ae({setTimestampBool:r}){var l;const{data:s,setTimestamp:a,setIsLoading:t}=x(),i=y({...g.stackDeploymentConfig({provider:s.provider,location:s.location,stack_name:s.stackName})});if(i.isError)return null;if(i.isPending)return e.jsx(j,{className:"h-[48px] w-[100px]"});function n(){const o=new Date().toISOString().slice(0,-1);r&&a(o),de({location:s.location||"",provider:s.provider||"aws",stackName:s.stackName,timestamp:o}),t(!0)}return e.jsx(J,{asChild:!0,className:"w-fit whitespace-nowrap",size:"md",onClick:()=>n(),children:e.jsxs("a",{href:i.data.deployment_url,target:"_blank",rel:"noopener noreferrer",children:["Deploy in ",(l=s.provider)==null?void 0:l.toUpperCase()," ",e.jsx(Te,{className:"h-5 w-5 shrink-0 fill-white"})]})})}function Fe(){const{data:r,timestamp:s,setIsNextButtonDisabled:a}=x(),{setCurrentStep:t}=M(),{isPending:i,isError:n,data:l}=y({...g.stackDeploymentStack({provider:r.provider,stack_name:r.stackName,date_start:s}),refetchInterval:5e3,throwOnError:!0});return u.useEffect(()=>{l&&(q(),t(o=>o+1),a(!1))},[l]),i?e.jsx(j,{className:"h-[200px] w-full"}):n?null:e.jsxs("div",{className:"space-y-5",children:[e.jsx(Ge,{}),e.jsx(Oe,{stack:l})]})}function Ge(){const{data:r}=x();return e.jsxs("section",{className:"space-y-5 border-b border-theme-border-moderate pb-5",children:[e.jsxs(D,{className:"flex items-center justify-between gap-4 px-6 py-5",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(N,{provider:r.provider,className:"h-6 w-6 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Deploying the Stack..."}),e.jsx("p",{className:"text-theme-text-secondary",children:"Follow the steps in your Cloud console to finish the setup. You can come back to check once your components are deployed."})]})]}),e.jsx(ae,{})]}),r.provider==="gcp"&&e.jsx(se,{})]})}function Oe({stack:r}){const s=!!r;return e.jsxs("div",{className:"space-y-5",children:[!s&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(ve,{className:"h-5 w-5 fill-primary-400"}),"Creating your stack and components..."]}),e.jsx("p",{className:"text-theme-text-secondary",children:"We are creating your stack and stack components based on your configuration. Once you finish the setup, come back to check your brand new stack and components ready."})]}),e.jsx(qe,{isReady:s}),e.jsx(Ye,{stack:r})]})}function Ye({stack:r}){const s=!!r,{data:a}=x();return e.jsxs("div",{className:"relative overflow-hidden rounded-md",children:[!s&&e.jsx("div",{className:"absolute z-50 h-full w-full bg-neutral-50/50"}),e.jsx(R,{type:a.provider,componentProps:{isLoading:!s,isSuccess:s,stackName:a.stackName}})]})}function qe({isReady:r}){const[s,a]=u.useState(!1);return u.useEffect(()=>{const t=setTimeout(()=>{a(!0)},3e5);return()=>clearTimeout(t)},[]),!s||r?null:e.jsx(v,{children:"Your stack is taking longer than usual to deploy. Please check your Cloud console, or the stacks list in ZenML."})}function Qe(){return e.jsx(k,{title:"Deploy ZenML Stack",children:e.jsx(Ue,{})})}function Ue(){const{setIsNextButtonDisabled:r,isLoading:s}=x();return u.useEffect(()=>{r(!0)},[]),s?e.jsx(Fe,{}):e.jsx(We,{})}function $e(){const{formRef:r,setIsNextButtonDisabled:s,setData:a,data:t}=x(),{register:i,handleSubmit:n,formState:{isValid:l}}=ee({resolver:K(ue),defaultValues:{provider:t.provider}});u.useEffect(()=>{s(!l)},[l,s]);function o(d){a(c=>({...c,provider:d.provider}))}return e.jsx(k,{title:"New Cloud Infrastructure",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Select a Cloud Provider"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select the cloud provider where your want to create your infrastructure and deploy your ZenML models. You will be able to remove the ZenML stack at any time."})]}),e.jsxs("form",{id:"provider-form",onSubmit:n(o),className:"grid grid-cols-1 gap-3 xl:grid-cols-3",ref:r,children:[e.jsx(S,{id:"aws-provider",...i("provider"),value:"aws",children:e.jsx(L,{icon:e.jsx(N,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"ZenML stack with S3, ECR, and SageMaker integration"})}),e.jsx(S,{id:"gcp-provider",...i("provider"),value:"gcp",children:e.jsx(L,{icon:e.jsx(N,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Create ZenML infrastructure using GCS, Artifact Registry, and Vertex AI"})}),e.jsx(S,{disabled:!0,id:"azure-provider",...i("provider"),value:"azure",children:e.jsx(L,{comingSoon:!0,icon:e.jsx(N,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Set up ZenML with Azure Storage, Container Registry, and ML services"})})]})]})})}function Je(){const{setIsNextButtonDisabled:r}=x();return r(!1),e.jsx(k,{title:"Your Stack",children:e.jsxs("div",{className:"space-y-5",children:[e.jsx("p",{className:"text-theme-text-secondary",children:"Here you can review the created stack and stack components. Now you can start running pipelines using this new configuration."}),e.jsx(Ke,{})]})})}function Ke(){var p,C,b,w,B,E,z,Z,A,_,V,H,T,W,F;const{timestamp:r,data:s}=x(),{isPending:a,isError:t,data:i}=y({...g.stackDeploymentStack({provider:s.provider,stack_name:s.stackName,date_start:r}),throwOnError:!0});if(a)return e.jsx(j,{className:"h-[200px] w-full"});if(t)return null;const n=i.stack.name,l=(p=i.stack.metadata)==null?void 0:p.components.orchestrator,o=(C=i.stack.metadata)==null?void 0:C.components.artifact_store,d=(b=i.stack.metadata)==null?void 0:b.components.container_registry,c=(w=i.stack.metadata)==null?void 0:w.components.image_builder,m={orchestrator:{name:((B=l==null?void 0:l[0])==null?void 0:B.name)??"Orchestrator",id:((E=l==null?void 0:l[0])==null?void 0:E.id.split("-")[0])??""},artifactStore:{name:((z=o==null?void 0:o[0])==null?void 0:z.name)??"Artifact Store",id:((Z=o==null?void 0:o[0])==null?void 0:Z.id.split("-")[0])??""},registry:{name:((A=d==null?void 0:d[0])==null?void 0:A.name)??"Container Registry",id:((_=d==null?void 0:d[0])==null?void 0:_.id.split("-")[0])??""},connector:{name:(V=i.service_connector)==null?void 0:V.name,id:((T=(H=i.service_connector)==null?void 0:H.id)==null?void 0:T.split("-")[0])??""},imageBuilder:{name:((W=c==null?void 0:c[0])==null?void 0:W.name)??"Image Builder",id:((F=c==null?void 0:c[0])==null?void 0:F.id.split("-")[0])??""}};return e.jsx(R,{type:s.provider,componentProps:{components:m,isSuccess:!0,stackName:n}})}function Xe(){const{currentStep:r}=M();if(r===1)return e.jsx($e,{});if(r===2)return e.jsx(He,{});if(r===3)return e.jsx(Qe,{});if(r===4)return e.jsx(Je,{})}function et(){var c;const[s]=ye(),{setCurrentStep:a,currentStep:t}=M(),{formRef:i,isNextButtonDisabled:n}=x(),l=be(),o=s.get("origin")==="onboarding";async function d(){i.current&&(i.current.requestSubmit(),await new Promise(m=>setTimeout(m,20))),a(m=>m<4?m+1:m),t===4&&(q(),l(o?G.onboarding:G.stacks.overview))}return e.jsx(J,{form:(c=i.current)==null?void 0:c.id,disabled:n,onClick:()=>d(),size:"md",children:t===4?"Finish":"Next"})}function k({children:r,title:s}){return e.jsxs(D,{className:"w-full",children:[e.jsx("div",{className:"border-b border-theme-border-moderate px-5 py-3 text-display-xs font-semibold",children:s}),e.jsx("div",{className:"p-5",children:r}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-theme-border-moderate p-5",children:[e.jsx(le,{}),e.jsx(et,{})]})]})}const O=["Infrastructure Type","Cloud Provider","Review Configuration","Deploy Stack"];function vt(){const{success:r}=Y();return e.jsx(oe,{maxSteps:O.length+1,initialStep:r?3:1,children:e.jsx(Me,{children:e.jsxs("section",{className:"layout-container flex flex-col gap-5 p-5 xl:flex-row",children:[e.jsx(ne,{entries:O}),e.jsx("div",{className:"w-full overflow-y-hidden",children:e.jsx(Xe,{})})]})})})}export{vt as default};
|