unleash-server 7.6.2 → 7.6.4
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.
- package/dist/lib/db/client-applications-store.d.ts.map +1 -1
- package/dist/lib/db/client-applications-store.js +1 -0
- package/dist/lib/db/client-applications-store.js.map +1 -1
- package/dist/lib/db/client-applications-store.test.d.ts +2 -0
- package/dist/lib/db/client-applications-store.test.d.ts.map +1 -0
- package/dist/lib/db/client-applications-store.test.js +134 -0
- package/dist/lib/db/client-applications-store.test.js.map +1 -0
- package/dist/lib/db/index.js +2 -2
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/events/index.d.ts +2 -1
- package/dist/lib/events/index.d.ts.map +1 -1
- package/dist/lib/events/index.js +2 -0
- package/dist/lib/events/index.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-types.d.ts +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-types.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-types.js +2 -3
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-types.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts +3 -3
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js +77 -27
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js +566 -20
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts +3 -1
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.js +26 -3
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js +9 -1
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js.map +1 -1
- package/dist/lib/features/events/event-store.d.ts +1 -1
- package/dist/lib/features/events/event-store.d.ts.map +1 -1
- package/dist/lib/features/events/event-store.js +26 -4
- package/dist/lib/features/events/event-store.js.map +1 -1
- package/dist/lib/features/frontend-api/createFrontendApiService.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/createFrontendApiService.js +3 -10
- package/dist/lib/features/frontend-api/createFrontendApiService.js.map +1 -1
- package/dist/lib/features/index.d.ts +1 -0
- package/dist/lib/features/index.d.ts.map +1 -1
- package/dist/lib/features/index.js +1 -0
- package/dist/lib/features/index.js.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.js +2 -2
- package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.d.ts +1 -1
- package/dist/lib/features/maintenance/maintenance-service.d.ts.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.test.js +2 -2
- package/dist/lib/features/maintenance/maintenance-service.test.js.map +1 -1
- package/dist/lib/features/onboarding/createOnboardingReadModel.d.ts +2 -3
- package/dist/lib/features/onboarding/createOnboardingReadModel.d.ts.map +1 -1
- package/dist/lib/features/onboarding/createOnboardingReadModel.js +2 -2
- package/dist/lib/features/onboarding/createOnboardingReadModel.js.map +1 -1
- package/dist/lib/features/onboarding/onboarding-read-model.d.ts +3 -1
- package/dist/lib/features/onboarding/onboarding-read-model.d.ts.map +1 -1
- package/dist/lib/features/onboarding/onboarding-read-model.js +17 -2
- package/dist/lib/features/onboarding/onboarding-read-model.js.map +1 -1
- package/dist/lib/features/personal-dashboard/createPersonalDashboardService.js +1 -1
- package/dist/lib/features/personal-dashboard/createPersonalDashboardService.js.map +1 -1
- package/dist/lib/features/project/createProjectService.js +1 -1
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/project/projects.e2e.test.js +48 -0
- package/dist/lib/features/project/projects.e2e.test.js.map +1 -1
- package/dist/lib/features/scheduler/scheduler-service.test.js +2 -2
- package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
- package/dist/lib/features/settings/createSettingService.d.ts +6 -0
- package/dist/lib/features/settings/createSettingService.d.ts.map +1 -0
- package/dist/lib/features/settings/createSettingService.js +15 -0
- package/dist/lib/features/settings/createSettingService.js.map +1 -0
- package/dist/{test/fixtures → lib/features/settings}/fake-setting-store.d.ts +1 -1
- package/dist/lib/features/settings/fake-setting-store.d.ts.map +1 -0
- package/dist/lib/features/settings/fake-setting-store.js.map +1 -0
- package/dist/lib/{services → features/settings}/setting-service.d.ts +4 -4
- package/dist/lib/features/settings/setting-service.d.ts.map +1 -0
- package/dist/lib/features/settings/setting-service.e2e.test.d.ts +2 -0
- package/dist/lib/features/settings/setting-service.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/services/setting-service.test.js → lib/features/settings/setting-service.e2e.test.js} +7 -7
- package/dist/lib/features/settings/setting-service.e2e.test.js.map +1 -0
- package/dist/lib/{services → features/settings}/setting-service.js +2 -2
- package/dist/lib/features/settings/setting-service.js.map +1 -0
- package/dist/lib/{db → features/settings}/setting-store.d.ts +3 -3
- package/dist/lib/features/settings/setting-store.d.ts.map +1 -0
- package/dist/lib/features/settings/setting-store.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/stores → lib/features/settings}/setting-store.e2e.test.js +2 -2
- package/dist/lib/features/settings/setting-store.e2e.test.js.map +1 -0
- package/dist/lib/features/settings/setting-store.js.map +1 -0
- package/dist/lib/{types/stores/settings-store.d.ts → features/settings/settings-store-type.d.ts} +2 -2
- package/dist/lib/features/settings/settings-store-type.d.ts.map +1 -0
- package/dist/lib/features/settings/settings-store-type.js +2 -0
- package/dist/lib/features/settings/settings-store-type.js.map +1 -0
- package/dist/lib/features/users/createUserService.d.ts.map +1 -1
- package/dist/lib/features/users/createUserService.js +3 -4
- package/dist/lib/features/users/createUserService.js.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.test.js +1 -1
- package/dist/lib/middleware/cors-origin-middleware.test.js.map +1 -1
- package/dist/lib/openapi/spec/context-query-parameters.d.ts +1 -1
- package/dist/lib/openapi/spec/context-query-parameters.d.ts.map +1 -1
- package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/event-search-response-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/integration-event-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/integration-events-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.js +5 -1
- package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
- package/dist/lib/server-impl.d.ts +4 -4
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +2 -2
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/index.d.ts +1 -1
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/scheduler-service.test.js +2 -2
- package/dist/lib/services/scheduler-service.test.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +1 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.test.js +2 -2
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.d.ts.map +1 -1
- package/dist/lib/types/experimental.js +4 -3
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +1 -1
- package/dist/lib/types/model.d.ts.map +1 -1
- package/dist/lib/types/stores/client-applications-store.d.ts +1 -0
- package/dist/lib/types/stores/client-applications-store.d.ts.map +1 -1
- package/dist/lib/types/stores/event-store.d.ts +3 -2
- package/dist/lib/types/stores/event-store.d.ts.map +1 -1
- package/dist/lib/types/stores.d.ts +1 -1
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/util/postgres-version-checker.test.js +1 -1
- package/dist/lib/util/postgres-version-checker.test.js.map +1 -1
- package/dist/server-dev.js +1 -1
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +2 -2
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +28 -4
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/users/inactive/inactive-users-service.test.js +1 -1
- package/dist/test/e2e/users/inactive/inactive-users-service.test.js.map +1 -1
- package/dist/test/fixtures/fake-client-applications-store.d.ts +1 -0
- package/dist/test/fixtures/fake-client-applications-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-client-applications-store.js +3 -0
- package/dist/test/fixtures/fake-client-applications-store.js.map +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts +3 -2
- package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-event-store.js +3 -2
- package/dist/test/fixtures/fake-event-store.js.map +1 -1
- package/dist/test/fixtures/fake-impact-metrics.d.ts +2 -7
- package/dist/test/fixtures/fake-impact-metrics.d.ts.map +1 -1
- package/dist/test/fixtures/fake-impact-metrics.js.map +1 -1
- package/dist/test/fixtures/store.js +1 -1
- package/dist/test/fixtures/store.js.map +1 -1
- package/dist/test-setup.d.ts.map +1 -1
- package/dist/test-setup.js +3 -1
- package/dist/test-setup.js.map +1 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/AdvancedPlayground-V8umnmfG.js +3 -0
- package/frontend/build/static/BackendConnections-Cnrrjtsn.js +1 -0
- package/frontend/build/static/CreateProject-e6oazDvk.js +1 -0
- package/frontend/build/static/EnterpriseEdge-DBAPcWwZ.js +6 -0
- package/frontend/build/static/FeatureMetricsChart-CKOQrO5t.js +2 -0
- package/frontend/build/static/FeatureStaleDialog-BfIPQAKa.js +689 -0
- package/frontend/build/static/FeatureViewLazyExport-TYU7Gf7Q.js +11 -0
- package/frontend/build/static/FlagMetricsChart-D1Fksr08.js +2 -0
- package/frontend/build/static/FrontendNetworkTrafficUsage-NjIKHiwN.js +1 -0
- package/frontend/build/static/GridLayoutWrapper-CN2Zeusb.js +3 -0
- package/frontend/build/static/ImpactMetricsPage-PU6tVGs8.js +1 -0
- package/frontend/build/static/LazyAdminExport-7jFrQoFr.js +38 -0
- package/frontend/build/static/LazyProjectExport-DUuBB2EA.js +46 -0
- package/frontend/build/static/LifecycleChartComponent-LoQvj2mM.js +2 -0
- package/frontend/build/static/LineChartComponent-C2nacZSy.js +1 -0
- package/frontend/build/static/MarkCompletedDialogue-x4B5vgpn.js +1 -0
- package/frontend/build/static/NetworkOverview-DRDwkRie.js +1 -0
- package/frontend/build/static/NetworkPrometheusAPIWarning-DxrGyF-4.js +1 -0
- package/frontend/build/static/NetworkTraffic-DBNI6tQ4.js +1 -0
- package/frontend/build/static/NetworkTrafficUsage-Cp7LXHBW.js +1 -0
- package/frontend/build/static/PercentageDonut-DxYx2sDT.js +1 -0
- package/frontend/build/static/ReactJSONEditor-EiPmcfsb.js +3846 -0
- package/frontend/build/static/RoleCell-DPCs9tBq.js +1 -0
- package/frontend/build/static/Safeguard-B2SRkWlK.js +1 -0
- package/frontend/build/static/aggregateFeatureMetrics-B--WhUm6.js +1 -0
- package/frontend/build/static/chart-BMc0j_v5.js +3 -0
- package/frontend/build/static/chartjs-plugin-annotation.esm-CII-nIyK.js +1 -0
- package/frontend/build/static/daysOrHours-CWsdHL8Z.js +1 -0
- package/frontend/build/static/dist-CYYjHgCS.js +12 -0
- package/frontend/build/static/enterpriseEdgeCloud-DI6o2DkU.js +1 -0
- package/frontend/build/static/formatTickValue-DHdXPo89.js +1 -0
- package/frontend/build/static/helpers-Dz6x6iMP.js +1 -0
- package/frontend/build/static/index-B0RbDPtk.js +403 -0
- package/frontend/build/static/jsx-runtime-ButemYzH.js +1 -0
- package/frontend/build/static/networkTrafficUsageHighlightPlugin-ecHJHisK.js +1 -0
- package/frontend/build/static/objectId-D7ukzTLu.js +1 -0
- package/frontend/build/static/style-D9DNbuD5.css +2 -0
- package/frontend/build/static/toDate-zSA17Csy.js +1 -0
- package/frontend/build/static/unknownify-D1gvOkgV.js +1 -0
- package/frontend/build/static/useApiTokens-Cl4y9yhp.js +1 -0
- package/frontend/build/static/useInstanceTrafficMetrics--5pof2Er.js +1 -0
- package/frontend/build/static/vanilla-picker-DhahMYgI.js +2 -0
- package/frontend/package.json +18 -15
- package/package.json +9 -9
- package/dist/lib/db/setting-store.d.ts.map +0 -1
- package/dist/lib/db/setting-store.js.map +0 -1
- package/dist/lib/services/setting-service.d.ts.map +0 -1
- package/dist/lib/services/setting-service.js.map +0 -1
- package/dist/lib/types/stores/settings-store.d.ts.map +0 -1
- package/dist/lib/types/stores/settings-store.js +0 -2
- package/dist/lib/types/stores/settings-store.js.map +0 -1
- package/dist/test/e2e/services/setting-service.test.d.ts +0 -2
- package/dist/test/e2e/services/setting-service.test.d.ts.map +0 -1
- package/dist/test/e2e/services/setting-service.test.js.map +0 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.js.map +0 -1
- package/dist/test/fixtures/fake-setting-store.d.ts.map +0 -1
- package/dist/test/fixtures/fake-setting-store.js.map +0 -1
- package/frontend/build/static/24_Text format off-fTw1GZh5.svg +0 -3
- package/frontend/build/static/24_Text format-CsA8QQJI.svg +0 -3
- package/frontend/build/static/AdvancedPlayground-BTPrG6RW.js +0 -3
- package/frontend/build/static/BackendConnections-CRh8Vxoe.js +0 -1
- package/frontend/build/static/CreateProject-DEMalH1j.js +0 -1
- package/frontend/build/static/EnterpriseEdge-Cp-pGMa0.js +0 -6
- package/frontend/build/static/FeatureMetricsChart-DQOE71LA.js +0 -2
- package/frontend/build/static/FeatureStaleDialog-B6BfnDiQ.js +0 -689
- package/frontend/build/static/FeatureViewLazyExport-BkNTNFqK.js +0 -10
- package/frontend/build/static/FlagMetricsChart-zYDF9bet.js +0 -2
- package/frontend/build/static/FrontendNetworkTrafficUsage-CbxdFXH7.js +0 -1
- package/frontend/build/static/GridLayoutWrapper-Cq6Bzm36.js +0 -3
- package/frontend/build/static/ImpactMetricsPage-CFYXYXPb.js +0 -1
- package/frontend/build/static/LazyAdminExport-ByTh4iFa.js +0 -38
- package/frontend/build/static/LazyProjectExport-K12Xy3w9.js +0 -46
- package/frontend/build/static/LifecycleChartComponent-DHvlFNd2.js +0 -7
- package/frontend/build/static/LineChartComponent-BlhKm3cw.js +0 -1
- package/frontend/build/static/MarkCompletedDialogue-apmlFjVY.js +0 -1
- package/frontend/build/static/NetworkOverview-BiLOuQ4c.js +0 -1
- package/frontend/build/static/NetworkPrometheusAPIWarning-CYo3j2Tj.js +0 -1
- package/frontend/build/static/NetworkTraffic-DONL5oIx.js +0 -1
- package/frontend/build/static/NetworkTrafficUsage-DjQiYq0S.js +0 -1
- package/frontend/build/static/PercentageDonut-CA9hYg3v.js +0 -1
- package/frontend/build/static/ReactJSONEditor-9cJL1vJY.js +0 -3864
- package/frontend/build/static/RoleCell-ZzU5Oqy8.js +0 -1
- package/frontend/build/static/Safeguard-DY1N4aPz.js +0 -1
- package/frontend/build/static/aggregateFeatureMetrics-D6bHft_C.js +0 -1
- package/frontend/build/static/arrowLeft-CLDXfK18.svg +0 -10
- package/frontend/build/static/arrowRight-CPIADLBv.svg +0 -10
- package/frontend/build/static/case-insensitive-CuU5weZd.svg +0 -1
- package/frontend/build/static/case-sensitive-D19NntKP.svg +0 -1
- package/frontend/build/static/changeRequestProcessWithSchedule-BmvIIWQK.svg +0 -1
- package/frontend/build/static/constraint-equals-giGu3HWQ.svg +0 -1
- package/frontend/build/static/constraint-not-equals-CJGG9pRv.svg +0 -1
- package/frontend/build/static/docker-HG7DQx-Z.svg +0 -5
- package/frontend/build/static/email-D1NVbpvG.svg +0 -17
- package/frontend/build/static/enterpriseEdgeCloud-DzRtm8v6.svg +0 -58
- package/frontend/build/static/enterpriseEdgeSelfHosted-4bnmOQVF.svg +0 -44
- package/frontend/build/static/formatTickValue-BcLsqREh.js +0 -6
- package/frontend/build/static/heart-FRDdnX3J.svg +0 -3
- package/frontend/build/static/impact-metrics-icon-a6_57VN1.svg +0 -9
- package/frontend/build/static/import-zkumD9Zv.svg +0 -3
- package/frontend/build/static/index-B87DWXbl.js +0 -12
- package/frontend/build/static/index-CoLhlfXP.js +0 -565
- package/frontend/build/static/instance-health-BtMrnXEj.svg +0 -5
- package/frontend/build/static/isenabled-false-Bx8bRzGD.svg +0 -5
- package/frontend/build/static/isenabled-true-BARsh3fa.svg +0 -5
- package/frontend/build/static/lenovo-DIzNtfrT.svg +0 -3
- package/frontend/build/static/lloyds-DxlC9g3t.svg +0 -10
- package/frontend/build/static/logo-BpeRJ1SV.svg +0 -7
- package/frontend/build/static/logoBg-DDUbF9lh.svg +0 -1
- package/frontend/build/static/logoDark-CknUTJYV.svg +0 -1
- package/frontend/build/static/logoDarkWithText-D0ImZCxR.svg +0 -1
- package/frontend/build/static/logoWhiteBg-CwoWCg7m.svg +0 -1
- package/frontend/build/static/logoWhiteTransparentHorizontal-5xxVCWh8.svg +0 -1
- package/frontend/build/static/logoWithWhiteText-Dz7VvON3.svg +0 -1
- package/frontend/build/static/milestone-C0FnRl9y.svg +0 -3
- package/frontend/build/static/mobileGuidanceBg-D9dRgnhs.svg +0 -3
- package/frontend/build/static/networkTrafficUsageHighlightPlugin-CqEM-cK_.js +0 -1
- package/frontend/build/static/new-feature-badge-FwMmHlwT.svg +0 -7
- package/frontend/build/static/not_operator_selected-jLHDQXLO.svg +0 -5
- package/frontend/build/static/not_operator_unselected-C-130FKT.svg +0 -3
- package/frontend/build/static/pro-enterprise-feature-badge-PZ3Bfajk.svg +0 -7
- package/frontend/build/static/pro-enterprise-feature-badge-light-k8Z592E8.svg +0 -6
- package/frontend/build/static/projectIconSmall-USf1kO_6.svg +0 -5
- package/frontend/build/static/projectStatus-BQym9o3t.svg +0 -3
- package/frontend/build/static/releaseTemplates-GIHEC4g-.svg +0 -39
- package/frontend/build/static/rollout-DAvS9K1l.svg +0 -4
- package/frontend/build/static/samsung-DOytOsnV.svg +0 -10
- package/frontend/build/static/signals-Bg0cQEqp.svg +0 -21
- package/frontend/build/static/stage-archived-DVpSnWM_.svg +0 -12
- package/frontend/build/static/stage-completed-BqA7cOHN.svg +0 -10
- package/frontend/build/static/stage-created-IXXGyXPL.svg +0 -5
- package/frontend/build/static/stage-live-CnCQFmyK.svg +0 -9
- package/frontend/build/static/stage-prelive-BLsuhDY7.svg +0 -7
- package/frontend/build/static/stars-C5lq_xha.svg +0 -9
- package/frontend/build/static/strategyCustom-Db-ZtYWl.svg +0 -23
- package/frontend/build/static/strategyDefault-LnSyH2eZ.svg +0 -17
- package/frontend/build/static/strategyGradual-oCA99tj3.svg +0 -18
- package/frontend/build/static/strategyHosts-4lVYC2Bf.svg +0 -23
- package/frontend/build/static/strategyIPs-BHaXsOYV.svg +0 -24
- package/frontend/build/static/strategyOn-CX-xL0oK.svg +0 -18
- package/frontend/build/static/style-BfdqROT6.css +0 -1
- package/frontend/build/static/unknownify-B7hmSXnj.js +0 -1
- package/frontend/build/static/unleashHoliday-CQEG77-1.svg +0 -33
- package/frontend/build/static/unleashHolidayDark-B9sYfzSK.svg +0 -33
- package/frontend/build/static/usage-line-BHicDx-Y.svg +0 -3
- package/frontend/build/static/usage-rate-DnXQhqDI.svg +0 -3
- package/frontend/build/static/useApiTokens-ClWvohC9.js +0 -1
- package/frontend/build/static/vanilla-picker-B6E6ObS_.js +0 -8
- package/frontend/build/static/visa-CkneNM2O.svg +0 -10
- /package/dist/{test/fixtures → lib/features/settings}/fake-setting-store.js +0 -0
- /package/dist/{test/e2e/stores → lib/features/settings}/setting-store.e2e.test.d.ts +0 -0
- /package/dist/lib/{db → features/settings}/setting-store.js +0 -0
|
@@ -6,7 +6,7 @@ import FakeTagStore from './fake-tag-store.js';
|
|
|
6
6
|
import FakeTagTypeStore from '../../lib/features/tag-type/fake-tag-type-store.js';
|
|
7
7
|
import FakeEventStore from './fake-event-store.js';
|
|
8
8
|
import FakeContextFieldStore from '../../lib/features/context/fake-context-field-store.js';
|
|
9
|
-
import FakeSettingStore from '
|
|
9
|
+
import FakeSettingStore from '../../lib/features/settings/fake-setting-store.js';
|
|
10
10
|
import FakeAddonStore from './fake-addon-store.js';
|
|
11
11
|
import FakeProjectStore from './fake-project-store.js';
|
|
12
12
|
import FakeUserStore from './fake-user-store.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/test/fixtures/store.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,MAAM,0EAA0E,CAAC;AAClH,OAAO,uBAAuB,MAAM,iCAAiC,CAAC;AACtE,OAAO,2BAA2B,MAAM,qCAAqC,CAAC;AAC9E,OAAO,sBAAsB,MAAM,sEAAsE,CAAC;AAC1G,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,oDAAoD,CAAC;AAClF,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,qBAAqB,MAAM,wDAAwD,CAAC;AAC3F,OAAO,gBAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/test/fixtures/store.ts"],"names":[],"mappings":"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"}
|
package/dist/test-setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AA2CA,wBAA8B,WAAW,kBAIxC"}
|
package/dist/test-setup.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import postgresPkg from 'pg';
|
|
2
2
|
const { Client } = postgresPkg;
|
|
3
|
-
import { migrateDb
|
|
3
|
+
import { migrateDb } from './migrator.js';
|
|
4
|
+
import { getDbConfig } from './test/e2e/helpers/database-config.js';
|
|
5
|
+
import { testDbPrefix } from './test/e2e/helpers/database-init.js';
|
|
4
6
|
let initializationPromise = null;
|
|
5
7
|
const initializeTemplateDb = (db) => {
|
|
6
8
|
if (!initializationPromise) {
|
package/dist/test-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,IAAI,CAAC;AAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,IAAI,CAAC;AAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,IAAI,qBAAqB,GAAyB,IAAI,CAAC;AAEvD,MAAM,oBAAoB,GAAG,CAAC,EAAwB,EAAiB,EAAE;IACrE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzB,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAE7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACX,+CAA+C,CAClD,CAAC;YACN,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,kCAAkC,kBAAkB,EAAE,CAAC,CAAC;YACpE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,uDAAuD,YAAY,KAAK,CAC3E,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpB,OAAO,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CACL,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,2BAA2B,kBAAkB,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,CAAC,KAAK,CAAC,mBAAmB,kBAAkB,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,MAAM,SAAS,CAAC;gBACZ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;aAC9C,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,kBAAkB,WAAW,CAAC,CAAC;QACpE,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IACD,OAAO,qBAAqB,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IAC1D,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
rel="stylesheet"
|
|
22
22
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0"
|
|
23
23
|
/>
|
|
24
|
-
<script type="module" crossorigin src="/static/index-
|
|
25
|
-
<link rel="stylesheet" crossorigin href="/static/style-
|
|
24
|
+
<script type="module" crossorigin src="/static/index-B0RbDPtk.js"></script>
|
|
25
|
+
<link rel="stylesheet" crossorigin href="/static/style-D9DNbuD5.css">
|
|
26
26
|
</head>
|
|
27
27
|
<body>
|
|
28
28
|
<div id="app"></div>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{n as e,r as t,s as n,t as r}from"./jsx-runtime-ButemYzH.js";import{t as i}from"./objectId-D7ukzTLu.js";import{$l as a,$u as o,Aa as s,Bn as c,Bs as l,Cd as u,Ci as d,Cs as f,Da as p,Dn as m,Dt as h,Es as g,Eu as _,Fs as v,Fu as y,Hs as b,Ht as x,Iu as S,Kn as C,Ls as w,Mr as T,Ms as E,Nr as D,Ns as O,Oa as k,Ps as A,Ql as j,Ra as M,Rs as ee,Ud as N,Ut as te,Vs as ne,Vu as re,Wa as ie,Ws as ae,Xd as oe,Xn as se,Xu as P,Yi as ce,Ys as le,Yu as F,Zd as ue,Zs as de,_d as I,_r as fe,_t as pe,ad as L,ai as me,ba as R,co as he,ec as z,ed as ge,fc as _e,ft as ve,fu as ye,gi as be,gt as xe,hd as Se,hu as Ce,ic as we,id as B,jc as Te,ji as Ee,ki as V,lt as De,lu as Oe,mc as ke,mi as Ae,mt as je,nc as Me,pc as Ne,pd as Pe,qn as Fe,qu as Ie,rc as Le,rd as H,ru as Re,st as ze,tc as U,uc as Be,uu as W,vr as Ve,vt as He,xd as G,xr as Ue,yt as We,yu as Ge,zs as Ke}from"./index-B0RbDPtk.js";import{t as qe}from"./useApiTokens-Cl4y9yhp.js";import{A as Je,B as Ye,C as Xe,G as Ze,H as Qe,I as K,J as $e,K as et,P as q,Q as J,R as tt,U as nt,V as rt,W as it,_ as at,b as ot,f as st,g as ct,h as lt,i as ut,j as dt,k as ft,l as pt,m as mt,n as ht,o as gt,q as _t,r as vt,t as yt,tt as bt,u as xt,v as St,w as Ct,y as wt,z as Tt}from"./dist-CYYjHgCS.js";var Y=n(e()),Et=()=>{let{makeRequest:e,createRequest:t,errors:n,loading:r}=E({propagateErrors:!0}),i=`api/admin/playground`;return{evaluateAdvancedPlayground:async n=>{let r=t(`${i}/advanced`,{method:`POST`,body:JSON.stringify(n)});return(await e(r.caller,r.id)).json()},evaluateChangeRequestPlayground:async(n,r)=>{let a=t(`${i}/change-request/${n}`,{method:`POST`,body:JSON.stringify(r)});return(await e(a.caller,a.id)).json()},errors:n,loading:r}},Dt=n(t(((e,t)=>{function n(e,t=100,n={}){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let{immediate:r}=typeof n==`boolean`?{immediate:n}:n,i,a,o,s,c;function l(){let t=i,n=a;return i=void 0,a=void 0,c=e.apply(t,n),c}function u(){let e=Date.now()-s;e<t&&e>=0?o=setTimeout(u,t-e):(o=void 0,r||(c=l()))}let d=function(...e){if(i&&this!==i&&Object.getPrototypeOf(this)===Object.getPrototypeOf(i))throw Error(`Debounced method called with different contexts of the same prototype.`);i=this,a=e,s=Date.now();let n=r&&!o;return o||=setTimeout(u,t),n&&(c=l()),c};return Object.defineProperty(d,`isPending`,{get(){return o!==void 0}}),d.clear=()=>{o&&=(clearTimeout(o),void 0)},d.flush=()=>{o&&d.trigger()},d.trigger=()=>{c=l(),d.clear()},d}t.exports.debounce=n,t.exports=n}))(),1),Ot=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,n=[];e.closeBracketsKeymap!==!1&&(n=n.concat(vt)),e.defaultKeymap!==!1&&(n=n.concat(mt)),e.searchKeymap!==!1&&(n=n.concat(pt)),e.historyKeymap!==!1&&(n=n.concat(ct)),e.foldKeymap!==!1&&(n=n.concat(Ct)),e.completionKeymap!==!1&&(n=n.concat(ut)),e.lintKeymap!==!1&&(n=n.concat(st));var r=[];return e.lineNumbers!==!1&&r.push(Ze()),e.highlightActiveLineGutter!==!1&&r.push(Qe()),e.highlightSpecialChars!==!1&&r.push(nt()),e.history!==!1&&r.push(lt()),e.foldGutter!==!1&&r.push(Xe()),e.drawSelection!==!1&&r.push(Tt()),e.dropCursor!==!1&&r.push(Ye()),e.allowMultipleSelections!==!1&&r.push(J.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&r.push(ft()),e.syntaxHighlighting!==!1&&r.push(dt(ot,{fallback:!0})),e.bracketMatching!==!1&&r.push(wt()),e.closeBrackets!==!1&&r.push(ht()),e.autocompletion!==!1&&r.push(yt()),e.rectangularSelection!==!1&&r.push(_t()),t!==!1&&r.push(tt()),e.highlightActiveLine!==!1&&r.push(rt()),e.highlightSelectionMatches!==!1&&r.push(gt()),e.tabSize&&typeof e.tabSize==`number`&&r.push(Je.of(` `.repeat(e.tabSize))),r.concat([it.of(n.flat())]).filter(Boolean)},kt=`#e5c07b`,At=`#e06c75`,jt=`#56b6c2`,Mt=`#ffffff`,X=`#abb2bf`,Nt=`#7d8799`,Pt=`#61afef`,Ft=`#98c379`,It=`#d19a66`,Lt=`#c678dd`,Rt=`#21252b`,zt=`#2c313a`,Bt=`#282c34`,Vt=`#353a42`,Ht=`#3E4451`,Ut=`#528bff`,Wt=[K.theme({"&":{color:X,backgroundColor:Bt},".cm-content":{caretColor:Ut},".cm-cursor, .cm-dropCursor":{borderLeftColor:Ut},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Ht},".cm-panels":{backgroundColor:Rt,color:X},".cm-panels.cm-panels-top":{borderBottom:`2px solid black`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid black`},".cm-searchMatch":{backgroundColor:`#72a1ff59`,outline:`1px solid #457dff`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`#6199ff2f`},".cm-activeLine":{backgroundColor:`#6699ff0b`},".cm-selectionMatch":{backgroundColor:`#aafe661a`},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bad0f847`},".cm-gutters":{backgroundColor:Bt,color:Nt,border:`none`},".cm-activeLineGutter":{backgroundColor:zt},".cm-foldPlaceholder":{backgroundColor:`transparent`,border:`none`,color:`#ddd`},".cm-tooltip":{border:`none`,backgroundColor:Vt},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:`transparent`,borderBottomColor:`transparent`},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Vt,borderBottomColor:Vt},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:zt,color:X}}},{dark:!0}),dt(St.define([{tag:q.keyword,color:Lt},{tag:[q.name,q.deleted,q.character,q.propertyName,q.macroName],color:At},{tag:[q.function(q.variableName),q.labelName],color:Pt},{tag:[q.color,q.constant(q.name),q.standard(q.name)],color:It},{tag:[q.definition(q.name),q.separator],color:X},{tag:[q.typeName,q.className,q.number,q.changed,q.annotation,q.modifier,q.self,q.namespace],color:kt},{tag:[q.operator,q.operatorKeyword,q.url,q.escape,q.regexp,q.link,q.special(q.string)],color:jt},{tag:[q.meta,q.comment],color:Nt},{tag:q.strong,fontWeight:`bold`},{tag:q.emphasis,fontStyle:`italic`},{tag:q.strikethrough,textDecoration:`line-through`},{tag:q.link,color:Nt,textDecoration:`underline`},{tag:q.heading,fontWeight:`bold`,color:At},{tag:[q.atom,q.bool,q.special(q.variableName)],color:It},{tag:[q.processingInstruction,q.string,q.inserted],color:Ft},{tag:q.invalid,color:Mt}]))],Gt=K.theme({"&":{backgroundColor:`#fff`}},{dark:!1}),Kt=function(e){e===void 0&&(e={});var{indentWithTab:t=!0,editable:n=!0,readOnly:r=!1,theme:i=`light`,placeholder:a=``,basicSetup:o=!0}=e,s=[];switch(t&&s.unshift(it.of([at])),o&&(typeof o==`boolean`?s.unshift(Ot()):s.unshift(Ot(o))),a&&s.unshift(et(a)),i){case`light`:s.push(Gt);break;case`dark`:s.push(Wt);break;case`none`:break;default:s.push(i);break}return n===!1&&s.push(K.editable.of(!1)),r&&s.push(J.readOnly.of(!0)),[...s]},qt=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(e=>!e.empty)}),Jt=class{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(e=>{try{e()}catch(e){console.error(`TimeoutLatch callback error:`,e)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}},Yt=class{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}},Xt=null,Zt=()=>typeof window>`u`?new Yt:(Xt||=new Yt,Xt),Qt=$e.define(),$t=200,en=[];function tn(e){var{value:t,selection:n,onChange:r,onStatistics:i,onCreateEditor:a,onUpdate:o,extensions:s=en,autoFocus:c,theme:l=`light`,height:u=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:h=null,placeholder:g=``,editable:_=!0,readOnly:v=!1,indentWithTab:y=!0,basicSetup:b=!0,root:x,initialState:S}=e,[C,w]=(0,Y.useState)(),[T,E]=(0,Y.useState)(),[D,O]=(0,Y.useState)(),k=(0,Y.useState)(()=>({current:null}))[0],A=(0,Y.useState)(()=>({current:null}))[0],j=K.theme({"&":{height:u,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:h},"& .cm-scroller":{height:`100% !important`}}),M=[K.updateListener.of(e=>{e.docChanged&&typeof r==`function`&&!e.transactions.some(e=>e.annotation(Qt))&&(k.current?k.current.reset():(k.current=new Jt(()=>{if(A.current){var e=A.current;A.current=null,e()}k.current=null},$t),Zt().add(k.current)),r(e.state.doc.toString(),e)),i&&i(qt(e))}),j,...Kt({theme:l,editable:_,readOnly:v,placeholder:g,indentWithTab:y,basicSetup:b})];return o&&typeof o==`function`&&M.push(K.updateListener.of(o)),M=M.concat(s),(0,Y.useLayoutEffect)(()=>{if(C&&!D){var e={doc:t,selection:n,extensions:M},r=S?J.fromJSON(S.json,e,S.fields):J.create(e);if(O(r),!T){var i=new K({state:r,parent:C,root:x});E(i),a&&a(i,r)}}return()=>{T&&(O(void 0),E(void 0))}},[C,D]),(0,Y.useEffect)(()=>{e.container&&w(e.container)},[e.container]),(0,Y.useEffect)(()=>()=>{T&&(T.destroy(),E(void 0)),k.current&&=(k.current.cancel(),null)},[T]),(0,Y.useEffect)(()=>{c&&T&&T.focus()},[c,T]),(0,Y.useEffect)(()=>{T&&T.dispatch({effects:bt.reconfigure.of(M)})},[l,s,u,d,f,p,m,h,g,_,v,y,b,r,o]),(0,Y.useEffect)(()=>{if(t!==void 0){var e=T?T.state.doc.toString():``;if(T&&t!==e){var n=k.current&&!k.current.isDone,r=()=>{T&&t!==T.state.doc.toString()&&T.dispatch({changes:{from:0,to:T.state.doc.toString().length,insert:t||``},annotations:[Qt.of(!0)]})};n?A.current=r:r()}}},[t,T]),{state:D,setState:O,view:T,setView:E,container:C,setContainer:w}}var Z=r(),nn=[`className`,`value`,`selection`,`extensions`,`onChange`,`onStatistics`,`onCreateEditor`,`onUpdate`,`autoFocus`,`theme`,`height`,`minHeight`,`maxHeight`,`width`,`minWidth`,`maxWidth`,`basicSetup`,`placeholder`,`indentWithTab`,`editable`,`readOnly`,`root`,`initialState`],rn=(0,Y.forwardRef)((e,t)=>{var{className:n,value:r=``,selection:i,extensions:a=[],onChange:o,onStatistics:s,onCreateEditor:c,onUpdate:l,autoFocus:u,theme:d=`light`,height:f,minHeight:p,maxHeight:m,width:h,minWidth:g,maxWidth:_,basicSetup:v,placeholder:y,indentWithTab:b,editable:x,readOnly:S,root:C,initialState:w}=e,T=Se(e,nn),E=(0,Y.useRef)(null),{state:D,view:O,container:k,setContainer:A}=tn({root:C,value:r,autoFocus:u,theme:d,height:f,minHeight:p,maxHeight:m,width:h,minWidth:g,maxWidth:_,basicSetup:v,placeholder:y,indentWithTab:b,editable:x,readOnly:S,selection:i,onChange:o,onStatistics:s,onCreateEditor:c,onUpdate:l,extensions:a,initialState:w});(0,Y.useImperativeHandle)(t,()=>({editor:E.current,state:D,view:O}),[E,k,D,O]);var j=(0,Y.useCallback)(e=>{E.current=e,A(e)},[A]);if(typeof r!=`string`)throw Error(`value must be typeof string but got `+typeof r);return(0,Z.jsx)(`div`,N({ref:j,className:(typeof d==`string`?`cm-theme-`+d:`cm-theme`)+(n?` `+n:``)},T))});rn.displayName=`CodeMirror`;var an=e=>{var{theme:t,settings:n={},styles:r=[]}=e,i={".cm-gutters":{}},a={};n.background&&(a.backgroundColor=n.background),n.backgroundImage&&(a.backgroundImage=n.backgroundImage),n.foreground&&(a.color=n.foreground),n.fontSize&&(a.fontSize=n.fontSize),(n.background||n.foreground)&&(i[`&`]=a),n.fontFamily&&(i[`&.cm-editor .cm-scroller`]={fontFamily:n.fontFamily}),n.gutterBackground&&(i[`.cm-gutters`].backgroundColor=n.gutterBackground),n.gutterForeground&&(i[`.cm-gutters`].color=n.gutterForeground),n.gutterBorder&&(i[`.cm-gutters`].borderRightColor=n.gutterBorder),n.caret&&(i[`.cm-content`]={caretColor:n.caret},i[`.cm-cursor, .cm-dropCursor`]={borderLeftColor:n.caret});var o={};return n.gutterActiveForeground&&(o.color=n.gutterActiveForeground),n.lineHighlight&&(i[`.cm-activeLine`]={backgroundColor:n.lineHighlight},o.backgroundColor=n.lineHighlight),i[`.cm-activeLineGutter`]=o,n.selection&&(i[`&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection`]={background:n.selection+` !important`}),n.selectionMatch&&(i[`& .cm-selectionMatch`]={backgroundColor:n.selectionMatch}),[K.theme(i,{dark:t===`dark`}),dt(St.define(r))]},on={background:`#faf8f5`,foreground:`#b29762`,caret:`#93abdc`,selection:`#e3dcce`,selectionMatch:`#e3dcce`,gutterBackground:`#faf8f5`,gutterForeground:`#cdc4b1`,gutterBorder:`transparent`,lineHighlight:`#ddceb154`},sn=[{tag:[q.comment,q.bracket],color:`#b6ad9a`},{tag:[q.atom,q.number,q.keyword,q.link,q.attributeName,q.quote],color:`#063289`},{tag:[q.emphasis,q.heading,q.tagName,q.propertyName,q.variableName],color:`#2d2006`},{tag:[q.typeName,q.url,q.string],color:`#896724`},{tag:[q.operator,q.string],color:`#1659df`},{tag:[q.propertyName],color:`#b29762`},{tag:[q.unit,q.punctuation],color:`#063289`}],cn=(e=>{var{theme:t=`light`,settings:n={},styles:r=[]}=e||{};return an({theme:t,settings:N({},on,n),styles:[...sn,...r]})})(),ln={background:`#2a2734`,foreground:`#6c6783`,caret:`#ffad5c`,selection:`#91ff6c26`,selectionMatch:`#91ff6c26`,gutterBackground:`#2a2734`,gutterForeground:`#545167`,lineHighlight:`#36334280`},un=[{tag:[q.comment,q.bracket],color:`#6c6783`},{tag:[q.atom,q.number,q.keyword,q.link,q.attributeName,q.quote],color:`#ffcc99`},{tag:[q.emphasis,q.heading,q.tagName,q.propertyName,q.className,q.variableName],color:`#eeebff`},{tag:[q.typeName,q.url],color:`#7a63ee`},{tag:q.operator,color:`#ffad5c`},{tag:q.string,color:`#ffb870`},{tag:[q.propertyName],color:`#9a86fd`},{tag:[q.unit,q.punctuation],color:`#e09142`}],dn=(e=>{var{theme:t=`dark`,settings:n={},styles:r=[]}=e||{};return an({theme:t,settings:N({},ln,n),styles:[...un,...r]})})(),fn=G(`aside`)(({theme:e})=>({height:`50px`,backgroundColor:e.palette.background.paper,borderTopRightRadius:e.shape.borderRadiusMedium,borderTopLeftRadius:e.shape.borderRadiusMedium,padding:e.spacing(1,2),color:e.palette.text.primary,display:`flex`,justifyContent:`space-between`,alignItems:`center`,border:`1px solid ${e.palette.divider}`})),pn=G(`div`)(({theme:e,style:t})=>({width:e.spacing(3),height:e.spacing(3),display:`flex`,alignItems:`center`,color:e.palette.background.paper,justifyContent:`center`,transition:`background-color 0.5s ease-in-out`,borderRadius:`50%`,...t})),mn=G(`div`)(({theme:e})=>({fontSize:e.fontSizes.smallBody,color:e.palette.error.dark,marginRight:e.spacing(1)})),hn=()=>(0,Z.jsx)(pn,{style:{backgroundColor:u().palette.success.main},children:(0,Z.jsx)(Ee,{sx:e=>({width:e.spacing(2),height:e.spacing(2)})})}),gn=()=>(0,Z.jsx)(pn,{style:{backgroundColor:u().palette.error.main},children:(0,Z.jsx)(ze,{})}),_n=({context:e,setContext:t,error:n})=>{let{themeMode:r}=(0,Y.useContext)(Oe),i=u(),o=(0,Y.useCallback)(e=>{t(e)},[t]),s=`calc(6 * ${i.typography.body1.fontSize} * ${i.typography.body1.lineHeight}) + 8px`;return(0,Z.jsxs)(P,{sx:{width:`100%`},children:[(0,Z.jsxs)(fn,{children:[`JSON`,(0,Z.jsx)(a,{condition:!!n,show:(0,Z.jsxs)(P,{sx:e=>({display:`flex`,alignItems:`center`}),children:[(0,Z.jsx)(mn,{children:n}),(0,Z.jsx)(gn,{})]}),elseShow:(0,Z.jsx)(hn,{})})]}),(0,Z.jsx)(rn,{value:e,minHeight:s,theme:r===`dark`?dn:cn,extensions:[xt()],onChange:o,style:{border:`1px solid ${i.palette.divider}`,borderTop:`none`},placeholder:JSON.stringify({currentTime:`2022-07-04T14:13:03.929Z`,appName:`playground`,userId:`test`,remoteAddress:`127.0.0.1`},null,2)})]})};function vn(e){return Array.isArray(e)?e:[e]}var yn=e=>!e||e.length===0||e.length===1&&e[0]===`*`?`*`:vn(e),bn=e=>vn(e),xn=e=>{let t=Sn(e);return t.length>0?t[0]:``},Sn=e=>e.filter(({enabled:e})=>!!e).sort((e,t)=>e.sortOrder-t.sortOrder).map(({name:e})=>e),Cn=(e,t)=>e?`100%`:t&&!e?`60%`:`50%`,wn=e=>typeof e==`string`?!0:Array.isArray(e)?e.every(e=>typeof e==`string`):!1,Tn=e=>{let t=new Set([`appName`,`environment`,`userId`,`sessionId`,`remoteAddress`,`currentTime`,`properties`]),n={...e},r=!1;for(let i in e)t.has(i)||(n.properties||={},n.properties[i]=e[i],delete n[i],r=!0);return!r&&!e.properties&&delete n.properties,n},En=e=>{let[t]=e.split(`.`),[n,r]=t.split(`:`);if(!n||!r)throw Error(`Invalid token format`);if(r===`*`)throw Error(`Admin tokens are not supported in the playground`)},Dn=e=>{let[t]=e.split(`.`);return t.split(`:`)},On=e=>me({mode:`all`},e),kn=e=>{let t=e=>e.toSorted((e,t)=>e.sortOrder-t.sortOrder).map(e=>({key:e.name,label:e.name})),n=e.reduce(({project:e,global:t},n)=>(n.project?e.push(n):t.push(n),{project:e,global:t}),{project:[],global:[]}),r=[];return n.project.length&&r.push({groupHeader:`Project context fields`,options:t(n.project)}),n.global.length&&r.push({groupHeader:`Global context fields`,options:t(n.global)}),r},An=({context:e,setContext:t})=>{let n=u(),{setToastData:r}=A(),{context:i}=On(),a=kn(i),[s,c]=(0,Y.useState)(),[l,d]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(``),[h,g]=(0,Y.useState)(``),_=(0,Y.useMemo)(()=>(0,Dt.default)(e=>{if(!e)return c(void 0);try{let t=JSON.parse(e);d(t[p]!==void 0||t?.properties?.[p]!==void 0)}catch(e){return c(O(e))}return c(void 0)},250),[c,p,d]);(0,Y.useEffect)(()=>{_(e)},[_,e]);let v=()=>{try{let n=JSON.parse(e||`{}`);t(JSON.stringify(Tn({...n,[p]:h}),null,2));let r=i.find(e=>e.name===p);if(r?.legalValues&&r.legalValues.length>0||p===`currentTime`)return g(``)}catch(e){r({type:`error`,text:`Error parsing context: ${O(e)}`})}},y=(e,t)=>{if(wn(t)){if(Array.isArray(t))return g((t||[]).length>1?t.join(`,`):t[0]);g(t)}},b=()=>{if(!h||h===``)return[];let e=(i.find(e=>e.name===p)?.legalValues||[]).length>1;return h.includes(`,`)&&e?h.split(`,`):[h]};return(0,Z.jsxs)(P,{children:[(0,Z.jsx)(P,{sx:{display:`flex`,alignItems:`center`,mb:2},children:(0,Z.jsx)(H,{variant:`body2`,color:n.palette.text.primary,sx:{ml:1},children:`Unleash context`})}),(0,Z.jsxs)(P,{sx:{display:`flex`,gap:2,flexWrap:`wrap`,mb:2},children:[(0,Z.jsx)(f,{label:`Context field`,labelId:`context-field-label`,id:`context-field`,value:p,onChange:e=>{if(m(e||``),e===`currentTime`)return g(new Date().toISOString());g(``)},variant:`outlined`,size:`small`,sx:{width:200,maxWidth:`100%`},options:a}),(()=>{if(p===`currentTime`){let e=ke(h);return(0,Z.jsx)(W,{id:`date`,label:`Date`,size:`small`,type:`datetime-local`,value:Ne(e?e.toISOString():new Date().toISOString()),sx:{width:200,maxWidth:`100%`},onChange:e=>{let t=ke(e.target.value)?.toISOString();t&&g(t)},InputLabelProps:{shrink:!0},required:!0})}let e=i.find(e=>e.name===p);return e?.legalValues&&e.legalValues.length>0?(0,Z.jsx)(o,{disablePortal:!0,limitTags:3,id:`context-legal-values`,multiple:!0,options:e.legalValues.map(({value:e})=>e),disableCloseOnSelect:!0,size:`small`,value:b(),onChange:y,getOptionLabel:e=>e,renderOption:(e,t,{selected:n})=>(0,Z.jsxs)(`li`,{...e,children:[(0,Z.jsx)(Ie,{icon:(0,Z.jsx)(Fe,{fontSize:`small`}),checkedIcon:(0,Z.jsx)(C,{fontSize:`small`}),sx:e=>({marginRight:e.spacing(.5)}),checked:n}),t]}),sx:{width:370,maxWidth:`100%`},renderInput:e=>(0,Z.jsx)(W,{...e,label:`Value`})}):(0,Z.jsx)(W,{label:`Value`,id:`context-value`,sx:{width:370,maxWidth:`100%`},placeholder:`value1,value2,value3`,size:`small`,value:h,onChange:e=>g(e.target.value||``)})})(),(0,Z.jsx)(F,{variant:`outlined`,disabled:!p||!!s,onClick:v,sx:{width:`95px`,maxHeight:`40px`},children:`${l?`Replace`:`Add`} `})]}),(0,Z.jsx)(_n,{context:e,setContext:t,error:s})]})},jn=({environments:e,setEnvironments:t,availableEnvironments:n,disabled:r})=>{let i=[...n.map(e=>({label:e,id:e}))],a=i.filter(({id:t})=>e.includes(t));return(0,Z.jsx)(o,{disablePortal:!0,limitTags:3,id:`environment`,multiple:!0,options:i,sx:{flex:1},renderInput:e=>(0,Z.jsx)(W,{...e,label:`Environments`}),renderOption:te,renderTags:(e,t)=>e.map((e,n)=>{let{key:r,...i}=t({index:n});return(0,Z.jsx)(ge,{size:`small`,...i,label:e.label},r)}),getOptionLabel:({label:e})=>e,disableCloseOnSelect:!1,size:`small`,value:a,onChange:(e,n,r)=>{let i=n;return r===`clear`||i===null?t([]):Array.isArray(i)?i.length===0?t([]):t(i.map(({id:e})=>e)):t([i.id])},disabled:r,"data-testid":`PLAYGROUND_ENVIRONMENT_SELECT`})},Mn={label:`ALL`,id:`*`},Nn=G(Ue)({fontSize:`1.25rem`}),Pn=G(Ae)(()=>({width:`100%`})),Fn=G(P)(({theme:e})=>({display:`grid`,columnGap:e.spacing(2),rowGap:e.spacing(2),gridTemplateColumns:`1fr`,[e.breakpoints.up(`md`)]:{gridTemplateColumns:`1fr 1fr`}})),In=G(Pn)(({theme:e})=>({"& label":{WebkitTextFillColor:e.palette.text.secondary},"& input.Mui-disabled":{WebkitTextFillColor:e.palette.text.secondary}})),Ln=({environments:e,projects:t,token:n,setProjects:r,setEnvironments:i,setToken:o,availableEnvironments:s,changeRequest:c,onClearChangeRequest:l})=>{let d=u(),{tokens:f}=qe(),[p,m]=(0,Y.useState)(),{projects:h}=he(),g=[Mn,...h.map(({name:e,id:t})=>({label:e,id:t}))],_=async e=>{let t=e.target.value;if(o?.(t),t===``){T();return}try{En(t),m(void 0),v(t)}catch(e){m(e.message)}},v=e=>{let[t,n]=Dn(e);switch(i([n]),t){case`[]`:S(e);break;case`*`:C();break;default:w(t)}},b=e=>{!e.projects||e.projects===`*`?r([Mn.id]):typeof e.projects==`string`?r([e.projects]):Array.isArray(e.projects)&&r(e.projects)},S=e=>{let t=f.find(({secret:t})=>t===e);t?b(t):m(`Invalid token. Ensure you use a valid token from this Unleash instance.`)},C=()=>{r([Mn.id])},w=e=>{g.map(e=>e.id).includes(e)?r([e]):m(`Invalid token. Project ${e} does not exist.`)},T=()=>{m(void 0)};return(0,Z.jsxs)(P,{sx:{pb:2},children:[(0,Z.jsx)(P,{sx:{display:`flex`,alignItems:`center`,mb:2},children:(0,Z.jsx)(H,{variant:`body2`,color:d.palette.text.primary,sx:{ml:1},children:`Access configuration`})}),(0,Z.jsxs)(Fn,{children:[(0,Z.jsx)(P,{children:(0,Z.jsx)(Ge,{arrow:!0,title:n?`Environment is automatically selected because you are using a token`:`Select environments to use in the playground`,children:(0,Z.jsx)(P,{children:(0,Z.jsx)(jn,{environments:e,setEnvironments:i,availableEnvironments:s,disabled:!!(n||c)})})})}),(0,Z.jsx)(P,{children:(0,Z.jsx)(Ge,{arrow:!0,title:n?`Project is automatically selected because you are using a token`:`Select projects to use in the playground`,children:(0,Z.jsx)(x,{selectedProjects:t,onChange:r,dataTestId:`PLAYGROUND_PROJECT_SELECT`,disabled:!!(n||c),limitTags:3})})}),(0,Z.jsx)(P,{children:(0,Z.jsx)(Pn,{label:`API token`,value:n||(c?` `:``),onChange:_,type:`text`,error:!!p,errorText:p,placeholder:`Enter your API token`,"data-testid":`PLAYGROUND_TOKEN_INPUT`,InputProps:{endAdornment:n?(0,Z.jsx)(y,{position:`end`,"data-testid":`TOKEN_INPUT_CLEAR_BTN`,children:(0,Z.jsx)(L,{"aria-label":`clear API token`,onClick:()=>{o?.(``),T()},edge:`end`,children:(0,Z.jsx)(Nn,{})})}):null},disabled:!!c})}),(0,Z.jsx)(a,{condition:!!c,show:(0,Z.jsxs)(P,{sx:{display:`flex`,gap:2},children:[(0,Z.jsx)(P,{sx:{flex:1},children:(0,Z.jsx)(In,{label:`Change request`,value:c?`Change request #${c}`:``,onChange:()=>{},type:`text`,disabled:!0,InputProps:{endAdornment:(0,Z.jsx)(y,{position:`end`,children:(0,Z.jsx)(L,{"aria-label":`clear Change request results`,onClick:l,edge:`end`,children:(0,Z.jsx)(Nn,{})})})}})}),(0,Z.jsx)(F,{variant:`outlined`,size:`small`,to:`/projects/${t[0]}/change-requests/${c}`,component:oe,children:`View change request`})]})})]})]})},Rn=({availableEnvironments:e,environments:t,onSubmit:n,projects:r,token:i,setToken:a,setProjects:o,setEnvironments:s,context:c,setContext:l,changeRequest:u,onClearChangeRequest:d})=>(0,Z.jsxs)(P,{component:`form`,onSubmit:n,sx:{display:`flex`,flexDirection:`column`},children:[(0,Z.jsx)(Ln,{environments:Array.isArray(t)?t:[t],projects:r,token:i,setToken:a,setEnvironments:s,setProjects:o,availableEnvironments:e.map(({name:e})=>e),changeRequest:u,onClearChangeRequest:d}),(0,Z.jsx)(An,{context:c,setContext:l}),(0,Z.jsx)(P,{sx:{mt:2,display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:(0,Z.jsx)(F,{variant:`contained`,size:`large`,type:`submit`,sx:{marginLeft:`auto`},children:`Try configuration`})})]}),zn=G(`div`)(({style:e,theme:t})=>({width:`25px`,height:`25px`,borderRadius:`50%`,color:t.palette.common.white,display:`flex`,alignItems:`center`,justifyContent:`center`,fontWeight:`bold`,...e})),Bn=({style:e,children:t,type:n})=>{let r=u(),i={backgroundColor:r.palette.background.alternative,color:r.palette.common.white};return n===`secondary`&&(i.backgroundColor=r.palette.background.paper,i.color=r.palette.text.secondary),(0,Z.jsx)(zn,{style:{...i,...e},children:t})},Vn=({headerText:e,bodyText:t,sectionNumber:n})=>(0,Z.jsx)(P,{sx:{display:`flex`,alignItems:`flex-start`,mt:2,flexDirection:`column`},children:(0,Z.jsxs)(P,{sx:{display:`flex`},children:[(0,Z.jsx)(P,{children:(0,Z.jsx)(Bn,{children:n})}),(0,Z.jsxs)(P,{sx:{ml:2,display:`flex`,flexDirection:`column`},children:[(0,Z.jsx)(H,{variant:`body1`,sx:{fontWeight:`bold`},children:e}),(0,Z.jsx)(a,{condition:!!t,show:(0,Z.jsx)(H,{variant:`body1`,sx:{mt:1},children:t})})]})]})}),Hn=()=>(0,Z.jsxs)(P,{sx:{ml:4},children:[(0,Z.jsx)(H,{variant:`body1`,children:`Unleash playground is for helping you to understand how Unleash works, how feature flags are evaluated and for you to easily debug your feature flags.`}),(0,Z.jsx)(re,{sx:{mt:2,mb:2}}),(0,Z.jsx)(H,{variant:`body1`,sx:{mb:1},children:`What you need to do is:`}),(0,Z.jsx)(Vn,{headerText:`Select in which environment you want to test your
|
|
2
|
+
feature flag configuration`,bodyText:`You can also specify specific projects, or check
|
|
3
|
+
flags in all projects.`,sectionNumber:`1`}),(0,Z.jsx)(Vn,{headerText:`Select a context field that you'd like to check`,bodyText:`You can configure as many context fields as you want. You can also leave the context empty to test against an empty context.`,sectionNumber:`2`}),(0,Z.jsx)(Vn,{headerText:`Submit the form to try the configuration`,bodyText:`The results of evaluating your feature flags will appear after you submit the form. Then view the results.`,sectionNumber:`3`})]}),Un=I((0,Z.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25`}),`Help`),Wn=G(_)(({theme:e})=>({"& .MuiPaper-root":{borderRadius:e.shape.borderRadiusExtraLarge,border:`1px solid ${e.palette.divider}`,padding:e.spacing(8,4),maxWidth:`500px`}})),Gn=()=>{let[e,t]=(0,Y.useState)(null),n=e=>t(e.currentTarget),r=()=>t(null);return(0,Z.jsxs)(P,{children:[(0,Z.jsx)(L,{onClick:n,"aria-label":`Open Playground guidance`,children:(0,Z.jsx)(Un,{})}),(0,Z.jsxs)(Wn,{open:!!e,anchorEl:e,onClose:r,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},sx:e=>({zIndex:e.zIndex.tooltip,background:`none`}),children:[(0,Z.jsx)(L,{onClick:r,sx:{position:`absolute`,right:25,top:15},children:(0,Z.jsx)(j,{})}),(0,Z.jsx)(Hn,{})]})]})},Q=Ke(),Kn=e=>(0,Z.jsx)(`svg`,{width:14,height:14,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Z.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M8.84818 0.184159C8.56367 -0.0789547 8.1234 -0.0575747 7.86482 0.231912C7.60623 0.521399 7.62724 0.96937 7.91175 1.23248C9.48292 2.68551 10.6076 4.74934 10.6076 7C10.6076 9.25066 9.48292 11.3145 7.91175 12.7675C7.62724 13.0306 7.60623 13.4786 7.86482 13.7681C8.1234 14.0576 8.56367 14.079 8.84818 13.8158C10.6396 12.1592 11.9998 9.73702 11.9998 7C11.9998 4.26298 10.6396 1.84083 8.84818 0.184159ZM6.04105 2.23302C6.29109 1.93586 6.73054 1.90121 7.02259 2.15563C8.33146 3.29586 9.35426 5.02309 9.35426 6.99995C9.35426 8.97682 8.33145 10.7039 7.02259 11.8441C6.73054 12.0986 6.29109 12.0639 6.04105 11.7668C5.79101 11.4696 5.82506 11.0225 6.11711 10.768C7.19425 9.82969 7.96199 8.46967 7.96199 6.99995C7.96199 5.53021 7.19423 4.17007 6.11711 3.23173C5.82506 2.97731 5.79101 2.53017 6.04105 2.23302ZM6.56908 7.00015C6.56908 8.56492 5.3224 9.83342 3.78454 9.83342C2.24668 9.83342 1 8.56492 1 7.00015C1 5.43539 2.24668 4.16689 3.78454 4.16689C5.3224 4.16689 6.56908 5.43539 6.56908 7.00015Z`,fill:`currentColor`})}),qn=e=>(0,Z.jsx)(`svg`,{width:14,height:14,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Z.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M8.84835 0.184159C8.56384 -0.0789547 8.12358 -0.0575747 7.86499 0.231912C7.6064 0.521399 7.62741 0.96937 7.91192 1.23248C9.4831 2.68551 10.6078 4.74934 10.6078 7C10.6078 7.40738 10.5709 7.80863 10.5012 8.20125L11.6597 9.35972C11.8783 8.60937 12 7.81877 12 7C12 4.26298 10.6397 1.84083 8.84835 0.184159ZM9.35443 6.99995L9.35418 7.0542L7.63252 5.33255C7.30901 4.52372 6.76993 3.80029 6.11728 3.23173C5.82523 2.97731 5.79118 2.53017 6.04122 2.23302C6.29127 1.93586 6.73072 1.90121 7.02276 2.15563C8.33164 3.29586 9.35443 5.02309 9.35443 6.99995ZM7.57827 8.79752L6.48307 7.70233C6.17606 8.92745 5.08437 9.83342 3.78471 9.83342C2.24685 9.83342 1.00017 8.56492 1.00017 7.00015C1.00017 5.69492 1.8676 4.59583 3.04789 4.26714L0.458225 1.67748C0.172794 1.39205 0.178843 0.923223 0.471736 0.63033C0.764629 0.337437 1.23345 0.331388 1.51889 0.616819L13.2132 12.3111C13.4986 12.5965 13.4926 13.0654 13.1997 13.3583C12.9068 13.6511 12.4379 13.6572 12.1525 13.3718L10.556 11.7753C10.0694 12.539 9.48623 13.2259 8.84835 13.8158C8.56384 14.079 8.12358 14.0576 7.86499 13.7681C7.6064 13.4786 7.62741 13.0306 7.91192 12.7675C8.54021 12.1865 9.0971 11.5078 9.53922 10.7585L8.62356 9.84281C8.20906 10.6195 7.64861 11.2989 7.02276 11.8441C6.73072 12.0986 6.29127 12.0639 6.04122 11.7668C5.79118 11.4696 5.82523 11.0225 6.11728 10.768C6.73471 10.2302 7.25048 9.55374 7.57827 8.79752Z`,fill:`currentColor`})}),Jn=e=>e===`unknown`||e===`unevaluated`?[V,`info`]:e===!0?[Kn,`success`]:[qn,`error`],$=({enabled:e,label:t,showIcon:n=!0})=>{let[r,i]=Jn(e);return(0,Z.jsx)(ie,{color:i,icon:n?(0,Z.jsx)(r,{"aria-hidden":!0,color:i,strokeWidth:`0.25`}):void 0,children:t})},Yn=G(P)(({theme:e})=>({display:`flex`,alignItems:`center`,padding:e.spacing(1,0,1,2)})),Xn=G(P)(()=>({marginRight:`auto`})),Zn=({feature:e})=>{let[t,n]=e?.isEnabled?[!0,`True`]:e?.strategies?.result===`unknown`?[`unknown`,`Unknown`]:[!1,`False`];return(0,Z.jsx)(Yn,{children:(0,Z.jsx)(Xn,{"data-loading":!0,children:(0,Z.jsx)($,{enabled:t,label:n,showIcon:t!==`unknown`})})})};function Qn(e){return e===void 0?!0:Object.values(e).every(e=>e&&typeof e==`object`?Qn(e):e===null)}var $n=e=>e.strategies?.data?.find(e=>!k.includes(e.name)),er=e=>e.strategies?.data?.length>0&&!e.strategies?.data?.find(e=>k.includes(e.name)),tr=G(`div`)({display:`flex`,justifyContent:`space-between`,width:`100%`}),nr=G(`hgroup`)(({theme:e})=>({display:`inline-flex`,alignItems:`center`,gap:e.spacing(1.5)})),rr=G(`h3`)(({theme:e})=>({fontWeight:`bold`,fontSize:e.typography.subtitle1.fontSize,margin:0})),ir=({feature:e,input:t,onClose:n})=>{let r=u(),[i,a,o]=e.isEnabled?[`This feature flag is True in ${t?.environment} because `,`at least one strategy is True`,r.palette.success.contrastText]:e.hasUnsatisfiedDependency&&!e.isEnabledInCurrentEnvironment?[`This feature flag is False in ${t?.environment} because `,`parent dependency is not satisfied and the environment is disabled`,r.palette.error.contrastText]:e.isEnabledInCurrentEnvironment?er(e)?[`This feature flag is Unknown in ${t?.environment} because `,`no strategies could be fully evaluated`,r.palette.warning.contrastText]:$n(e)?[`This feature flag is Unknown in ${t?.environment} because `,`not all strategies could be fully evaluated`,r.palette.warning.contrastText]:e.hasUnsatisfiedDependency?[`This feature flag is False in ${t?.environment} because `,`parent dependency is not satisfied`,r.palette.error.contrastText]:[`This feature flag is False in ${t?.environment} because `,`all strategies are either False or could not be fully evaluated`,r.palette.error.contrastText]:[`This feature flag is False in ${t?.environment} because `,`the environment is disabled`,r.palette.error.contrastText],s=Qn(t?.context)?`You did not provide a value for your context field in step 2 of the configuration`:void 0,l=$n(e)?`This feature uses custom strategies. Custom strategies can't be evaluated, so they will be marked accordingly.`:void 0,d=n&&(e=>{e.stopPropagation(),n()});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(tr,{children:[(0,Z.jsxs)(nr,{children:[(0,Z.jsx)(rr,{children:e.name}),(0,Z.jsx)(`p`,{children:e?.strategies?.result===`unknown`?(0,Z.jsx)($,{enabled:`unknown`,label:`Unknown`,showIcon:!1}):(0,Z.jsx)($,{enabled:e.isEnabled,label:e.isEnabled?`True`:`False`})})]}),(0,Z.jsx)(L,{"aria-label":`Close`,onClick:d,children:(0,Z.jsx)(c,{})})]}),(0,Z.jsxs)(`p`,{children:[i,(0,Z.jsx)(H,{color:o,component:`span`,children:a}),`.`]}),s?(0,Z.jsx)(B,{color:`info`,children:s}):null,l?(0,Z.jsx)(B,{severity:`warning`,color:`info`,children:l}):null]})},ar=G(`div`,{shouldForwardProp:e=>e!==`variant`})(({theme:e,variant:t})=>({"--font-size":e.typography.body2.fontSize,display:`flex`,alignItems:`center`,gap:e.spacing(1),padding:e.spacing(.5,.25),color:t===`ok`?e.palette.success.dark:e.palette.error.dark,fontSize:`var(--font-size)`,svg:{fontSize:`calc(var(--font-size) * 1.25)`}})),or=()=>(0,Z.jsxs)(ar,{variant:`ok`,children:[(0,Z.jsx)(h,{"aria-hidden":`true`}),(0,Z.jsx)(`p`,{children:`Constraint met by value in context`})]}),sr=({text:e})=>(0,Z.jsxs)(ar,{variant:`error`,children:[(0,Z.jsx)(be,{"aria-hidden":`true`}),(0,Z.jsx)(`p`,{children:e})]}),cr=({constraint:e,input:t})=>{if(!e)return null;let n=()=>{let n=t?.context[e.contextName];return e.operator===`REGEX`&&n&&e.value?`Constraint not met – the value in the context ${e.contextName}: { ${n} } is not matching ${e.operator} ${e.value}`:n?`Constraint not met – the value in the context: { ${n} } is not ${e.operator} ${e.contextName}`:`Constraint not met – no value was specified for ${e.contextName}`};return(0,Z.jsx)(T,{children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(Ve,{...e}),e.result?(0,Z.jsx)(or,{}):(0,Z.jsx)(sr,{text:n()})]})})},lr=G(P)(({theme:e})=>({width:`auto`,height:`auto`,padding:e.spacing(2,3),borderRadius:e.shape.borderRadiusMedium,border:`1px solid ${e.palette.divider}`})),ur=({segment:e,input:t})=>(0,Z.jsx)(fe,{segment:e,constraintList:e.constraints.length>0?(0,Z.jsx)(D,{children:e.constraints.map(e=>(0,Z.jsx)(cr,{constraint:e,input:t},i(e)))}):void 0,isExpanded:!0}),dr=({strategyResult:e,input:t})=>{let{name:n,constraints:r,segments:a,parameters:o}=e,c=pe(e),{strategies:l}=M(),{isCustomStrategy:u,customStrategyParameters:d}=He(e,l),f=!!(a&&a.length>0),p=!!(r&&r?.length>0),m=n!==`default`&&Object.keys(s).includes(n);if(!o)return null;let h=[...f?a.map(e=>(0,Z.jsx)(ur,{segment:e,input:t},i(e))):[],...p?r.map(e=>(0,Z.jsx)(cr,{constraint:e,input:t},i(e))):[],m&&c.map((e,t)=>(0,Z.jsx)(T,{children:e},t)),u&&d.map((e,t)=>(0,Z.jsx)(T,{children:e},t)),n===`default`&&(0,Z.jsxs)(lr,{sx:{width:`100%`},children:[`The standard strategy is `,(0,Z.jsx)(ie,{color:`success`,children:`ON`}),` for all users.`]},`default-on`)].filter(Boolean),{variant:g,variants:_}=e.result;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(D,{children:h}),_?.length?(0,Z.jsx)(xe,{variants:_,selected:g?.name}):null]})},fr=({strategy:e,input:t,className:n})=>{let{result:r}=e,a=r.evaluationStatus===`incomplete`||r.evaluationStatus===`unevaluated`?`Not evaluated`:r.enabled?`True`:`False`;return(0,Z.jsx)(je,{strategy:{...e,id:`${i(e)}`},strategyHeaderLevel:4,className:n,headerItemsLeft:e.disabled?null:(0,Z.jsx)($,{showIcon:!1,enabled:r.enabled,label:a}),children:(0,Z.jsx)(dr,{strategyResult:e,input:t})})},pr=G(`hgroup`)(({theme:e})=>({paddingBottom:e.spacing(2)})),mr=G(`h4`)(({theme:e})=>({fontWeight:`normal`,fontSize:e.typography.body1.fontSize,margin:0})),hr=G(`p`)(({theme:e})=>({fontWeight:`bold`,fontSize:e.typography.body2.fontSize})),gr=G(ve)(({theme:e})=>({marginInline:`calc(var(--popover-inline-padding) * -1)`,borderTop:`1px solid ${e.palette.divider}`,"> li:last-of-type":{paddingBottom:0}})),_r=({strategies:e,input:t,titlePrefix:n,infoText:r})=>e.length===0?null:(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(pr,{children:[(0,Z.jsx)(mr,{children:`${n?n.concat(` strategies`):`Strategies`} (${e?.length})`}),r?(0,Z.jsx)(hr,{children:r}):null]}),(0,Z.jsx)(gr,{children:e?.map((e,n)=>(0,Z.jsxs)(De,{children:[n>0?(0,Z.jsx)(We,{}):``,(0,Z.jsx)(fr,{strategy:e,input:t})]},e.id))})]}),vr=({feature:e})=>{if(!e?.strategies?.data)return null;let t;if(e.hasUnsatisfiedDependency&&!e.isEnabledInCurrentEnvironment)t=`If the environment was enabled and parent dependencies were satisfied`;else if(e.hasUnsatisfiedDependency)t=`If parent dependencies were satisfied`;else if(!e.isEnabledInCurrentEnvironment)t=`If the environment was enabled`;else return;return(0,Z.jsxs)(B,{severity:`info`,color:`info`,children:[t,`, then this feature flag would be`,` `,e.strategies?.result?`TRUE`:`FALSE`,` with strategies evaluated like this:`]})},yr=({feature:e,input:t})=>{let n=e.strategies?.data?.filter(e=>!e.disabled),r=e.strategies?.data?.filter(e=>e.disabled),i=r?.length>0;return(e?.strategies?.data.length??0)===0?(0,Z.jsx)(B,{severity:`info`,children:`There are no strategies added to this feature flag in the selected environment.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(vr,{feature:e}),(0,Z.jsx)(_r,{strategies:n||[],input:t,titlePrefix:i?`Enabled`:void 0}),i?(0,Z.jsx)(_r,{strategies:r,input:t,titlePrefix:`Disabled`,infoText:`Disabled strategies are not evaluated for the overall result.`}):null]})},br=G(`div`)(({theme:e})=>({alignItems:`flex-end`,color:e.palette.divider})),xr=({feature:e,input:t})=>{let[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null);return(0,Z.jsxs)(br,{children:[(0,Z.jsx)(L,{onClick:()=>{r(!n)},children:(0,Z.jsx)(V,{ref:i})}),(0,Z.jsxs)(_,{open:n,onClose:()=>r(!1),anchorEl:i.current,PaperProps:{sx:e=>({"--popover-inline-padding":e.spacing(4),paddingInline:`var(--popover-inline-padding)`,paddingBlock:e.spacing(3),display:`flex`,flexDirection:`column`,width:728,maxWidth:`100%`,height:`auto`,gap:e.spacing(3),overflowY:`auto`,backgroundColor:e.palette.background.elevation1,borderRadius:e.shape.borderRadius})},anchorOrigin:{vertical:`top`,horizontal:`right`},transformOrigin:{vertical:`center`,horizontal:`left`},children:[(0,Z.jsx)(ir,{feature:e,input:t,onClose:()=>r(!1)}),(0,Z.jsx)(yr,{feature:e,input:t})]})]})},Sr=e=>e.feature?(0,Z.jsx)(xr,{...e}):null,Cr=I((0,Z.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4 8-8z`}),`CheckCircleOutlined`),wr=G(`div`)(({theme:e})=>({padding:e.spacing(4),maxWidth:`400px`})),Tr=G(H)(({theme:e})=>({marginBottom:e.spacing(2)})),Er=G(Cr)(({theme:e})=>({color:e.palette.success.main})),Dr=({variants:e,selectedVariant:t})=>{let n=u(),r=(0,Y.useMemo)(()=>e.map(e=>({name:e.name,weight:`${_e(e.weight)}%`,selected:e.name===t})),[e,t]),{getTableProps:i,getTableBodyProps:a,headerGroups:o,rows:s,prepareRow:c}=(0,Q.useTable)({initialState:(0,Y.useMemo)(()=>({sortBy:[{id:`name`,desc:!1}]}),[]),columns:Or,data:r,sortTypes:p,autoResetGlobalFilter:!1,autoResetSortBy:!1,disableSortRemove:!0},Q.useGlobalFilter,Q.useSortBy);return(0,Z.jsxs)(wr,{children:[(0,Z.jsx)(Tr,{variant:`subtitle2`,children:`Variant Information`}),(0,Z.jsx)(Tr,{variant:`body2`,children:`The following table shows the variants defined on this feature toggle and the variant result based on your context configuration.`}),(0,Z.jsx)(Tr,{variant:`body2`,children:`If you include "userId" or "sessionId" in your context, the variant will be the same every time because unleash uses these properties to ensure that the user receives the same experience.`}),(0,Z.jsxs)(Le,{...i(),rowHeight:`dense`,children:[(0,Z.jsx)(we,{headerGroups:o}),(0,Z.jsx)(Ce,{...a(),children:s.map(e=>{let t={};e.original.selected||(t.color=n.palette.text.secondary),c(e);let{key:r,...i}=e.getRowProps();return(0,Z.jsx)(ye,{hover:!0,...i,children:e.cells.map(e=>{let{key:n,...r}=e.getCellProps();return(0,Z.jsx)(Me,{...r,style:t,children:e.render(`Cell`)},n)})},r)})})]})]})},Or=[{id:`Icon`,Cell:({row:{original:{selected:e}}})=>(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsx)(a,{condition:e,show:(0,Z.jsx)(se,{icon:(0,Z.jsx)(Er,{})})})}),maxWidth:25,disableGlobalFilter:!0},{Header:`Name`,accessor:`name`,searchable:!0,Cell:({row:{original:{name:e}}})=>(0,Z.jsx)(le,{children:e}),maxWidth:175,width:175},{Header:`Weight`,accessor:`weight`,sortType:`alphanumeric`,searchable:!0,maxWidth:75,Cell:({row:{original:{weight:e}}})=>(0,Z.jsx)(le,{children:e})}],kr=G(`div`)(()=>({maxWidth:`100%`,display:`flex`,alignItems:`center`,wordBreak:`break-all`})),Ar=({variant:e,variants:t,feature:n,isEnabled:r})=>{let i=u(),[o,s]=(0,Y.useState)(null),c=e=>s(e.currentTarget),l=()=>s(null),d=!!o;return(0,Z.jsxs)(kr,{children:[e,(0,Z.jsx)(a,{condition:!!t&&t.length>0&&r,show:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(L,{onClick:c,children:(0,Z.jsx)(V,{})}),(0,Z.jsx)(_,{open:d,id:`${n}-result-variants`,PaperProps:{sx:{borderRadius:`${i.shape.borderRadiusLarge}px`}},onClose:l,anchorEl:o,anchorOrigin:{vertical:`bottom`,horizontal:-320},children:(0,Z.jsx)(Dr,{variants:t,selectedVariant:e})})]})})]})},jr=({features:e})=>{let t=S(u().breakpoints.down(`sm`)),n=Object.keys(e[0].context).map(e=>({Header:R(e),accessor:t=>t.context[e],minWidth:160,Cell:d})),r=(0,Y.useMemo)(()=>[...n,{Header:`Variant`,id:`variant`,accessor:`variant.name`,sortType:`alphanumeric`,filterName:`variant`,maxWidth:200,Cell:({value:e,row:{original:{variant:t,feature:n,variants:r,isEnabled:i}}})=>(0,Z.jsx)(Ar,{variant:t?.enabled?e:``,variants:r,feature:n,isEnabled:i})},{id:`isEnabled`,Header:`isEnabled`,filterName:`isEnabled`,accessor:e=>e?.isEnabled?`true`:e?.strategies?.result===`unknown`?`unknown`:`false`,Cell:({row:e})=>(0,Z.jsx)(Zn,{feature:e.original}),sortType:`playgroundResultState`,maxWidth:120,sortInverted:!0},{Header:``,maxWidth:70,id:`info`,Cell:({row:e})=>(0,Z.jsx)(Sr,{feature:e.original,input:{environment:e.original.environment,context:e.original.context}})}],[]),{headerGroups:i,rows:a,prepareRow:o,setHiddenColumns:s}=(0,Q.useTable)({columns:r,data:e,sortTypes:p,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},Q.useGlobalFilter,Q.useFlexLayout,Q.useSortBy);m([{condition:t,columns:[`variant`]}],s,r);let c=(0,Y.useRef)(null);return(0,Z.jsx)(P,{ref:c,sx:{overflow:`auto`,maxHeight:`800px`},children:(0,Z.jsx)(z,{parentRef:c,rows:a,headerGroups:i,prepareRow:o})})},Mr=G(`div`,{})(({theme:e})=>({flexGrow:0,...Re,justifyContent:`flex-start`,margin:e.spacing(0,1.5)})),Nr=G(P)(({theme:e})=>({display:`flex`,flexDirection:`row`,gap:e.spacing(1)})),Pr=({value:e})=>{let t=u(),[n,r]=(0,Y.useState)(null),i=e=>r(e.currentTarget),o=()=>r(null),s=!!n,c=(e||[]).filter(e=>e.isEnabled),l=(e||[]).filter(e=>!e.isEnabled);return(0,Z.jsxs)(Mr,{children:[(0,Z.jsxs)(Nr,{children:[(0,Z.jsx)(a,{condition:c.length>0,show:(0,Z.jsx)($,{enabled:!0,label:`${c.length}`,showIcon:!0})}),(0,Z.jsx)(a,{condition:l.length>0,show:(0,Z.jsx)($,{enabled:!1,label:`${l.length}`,showIcon:!0})})]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(L,{onClick:i,children:(0,Z.jsx)(V,{})}),(0,Z.jsxs)(_,{open:s,id:`${e}-result-details`,PaperProps:{sx:{borderRadius:`${t.shape.borderRadiusLarge}px`,padding:t.spacing(3)}},onClose:o,anchorEl:n,anchorOrigin:{vertical:`bottom`,horizontal:-320},children:[(0,Z.jsx)(H,{variant:`subtitle2`,sx:{mb:3},children:e[0].environment}),(0,Z.jsx)(jr,{features:e})]})]})]})},Fr=({features:e})=>{let t=Object.keys(e),n=e[t[0]],r=n[0].context,i=(0,Y.useMemo)(()=>n.map((n,r)=>({...Object.fromEntries(t.map(t=>[t,e[t][r]]))})),[JSON.stringify(e)]),a=Object.keys(r).map(e=>({Header:R(e),accessor:n=>n[t[0]].context[e],minWidth:160,Cell:d})),o=t.map(e=>({Header:e,accessor:t=>t[e]?.isEnabled?`true`:t[e]?.strategies?.result===`unknown`?`unknown`:`false`,Cell:({row:t})=>(0,Z.jsxs)(P,{sx:{display:`flex`},children:[(0,Z.jsx)(Zn,{feature:t.original[e]}),(0,Z.jsx)(Sr,{feature:t.original[e],input:{environment:t.original[e].environment,context:t.original[e].context}})]}),sortType:`playgroundResultState`,maxWidth:140})),{headerGroups:s,rows:c,prepareRow:l}=(0,Q.useTable)({columns:(0,Y.useMemo)(()=>[...a,...o],[]),data:i,sortTypes:p,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},Q.useGlobalFilter,Q.useFlexLayout,Q.useSortBy),u=(0,Y.useRef)(null);return(0,Z.jsx)(P,{ref:u,sx:{overflow:`auto`,maxHeight:`800px`},children:(0,Z.jsx)(z,{parentRef:u,rows:c,headerGroups:s,prepareRow:l})})},Ir=G(`div`,{})(({theme:e})=>({flexGrow:0,...Re,justifyContent:`flex-start`,margin:e.spacing(0,1.5)})),Lr=G(F)(({theme:e})=>({textAlign:`left`,textDecorationStyle:`dotted`,textDecorationLine:`underline`,textUnderlineOffset:e.spacing(.75),color:e.palette.neutral.dark,padding:0,fontWeight:`normal`})),Rr=({value:e})=>{let t=u(),[n,r]=(0,Y.useState)(null);return(0,Z.jsx)(Ir,{children:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Lr,{variant:`text`,onClick:e=>r(e.currentTarget),children:`View diff`}),(0,Z.jsxs)(_,{open:!!n,id:`${e}-result-details`,PaperProps:{sx:{borderRadius:`${t.shape.borderRadiusLarge}px`,padding:t.spacing(3)}},onClose:()=>r(null),anchorEl:n,anchorOrigin:{vertical:`bottom`,horizontal:-320},children:[(0,Z.jsx)(H,{variant:`subtitle2`,sx:{mb:3},children:`Environments diff`}),(0,Z.jsx)(Fr,{features:e})]})]})})},zr=e=>e.reduce((e,t)=>e+Object.values(t.environments).flatMap(e=>Object.keys(e)).length,0),Br=e=>e<0?`invalid bucket`:e>=2e4?`20000+`:e>=1e4?`10000-20000`:e>=1e3?`1000-10000`:e>=100?`100-1000`:`0-100`,{value:Vr,setValue:Hr}=Be(`AdvancedPlaygroundResultsTable:v1`,{id:`name`}),Ur=({features:e,input:t,loading:n})=>{let{trackEvent:r}=w();e&&r(`playground`,{props:{eventType:`number-of-combinations`,count:Br(zr(e))}});let[i,o]=ue(),s=ne(n),[c,l]=(0,Y.useState)(i.get(`search`)||``),f=S(u().breakpoints.down(`md`)),h=e&&e.length>0?Object.keys(e[0].environments).length:0,g=(0,Y.useMemo)(()=>[{Header:`Name`,accessor:`name`,searchable:!0,minWidth:160,Cell:({value:e,row:{original:t}})=>(0,Z.jsx)(ae,{title:e,to:`/projects/${t?.projectId}/features/${e}`})},{Header:`Project ID`,accessor:`projectId`,sortType:`alphanumeric`,filterName:`projectId`,searchable:!0,minWidth:150,Cell:({value:e})=>(0,Z.jsx)(ae,{title:e,to:`/projects/${e}`})},...t?.environments?.map(e=>({Header:n?()=>``:R(e),maxWidth:150,id:`environments.${e}`,align:`flex-start`,Cell:({row:t})=>(0,Z.jsx)(Pr,{value:t.original.environments[e]})}))||[],...h>1?[{Header:`Diff`,minWidth:150,id:`diff`,align:`left`,Cell:({row:e})=>(0,Z.jsx)(Rr,{value:e.original.environments})}]:[]],[t]),{data:_,getSearchText:y,getSearchContext:b}=ee(g,c,e||[]),x=(0,Y.useMemo)(()=>n?[,,,,,].fill({name:`Feature name`,projectId:`Feature Project`,environments:{name:`Feature Environments`,variants:[]},enabled:!0}):_,[_,n]),[C]=(0,Y.useState)(()=>({sortBy:[{id:i.get(`sort`)||Vr.id,desc:i.has(`order`)?i.get(`order`)===`desc`:Vr.desc}]})),{headerGroups:T,rows:E,state:{sortBy:D},prepareRow:O,setHiddenColumns:k}=(0,Q.useTable)({initialState:C,columns:g,data:x,sortTypes:p,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:d}},Q.useGlobalFilter,Q.useFlexLayout,Q.useSortBy);return m([{condition:f,columns:[`projectId`]}],k,g),(0,Y.useEffect)(()=>{if(n)return;let e=Object.fromEntries(i);e.sort=D[0].id,D[0].desc?e.order=`desc`:e.order&&delete e.order,c?e.search=c:delete e.search,o(e,{replace:!0}),Hr({id:D[0].id,desc:D[0].desc||!1})},[n,D,c]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(P,{sx:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,mb:3},children:[(0,Z.jsx)(H,{variant:`subtitle1`,sx:{ml:1},children:e!==void 0&&!n?`Results (${E.length<x.length?`${E.length} of ${x.length}`:x.length})`:`Results`}),(0,Z.jsx)(v,{initialValue:c,onChange:l,hasFilters:!0,getSearchContext:b,disabled:n,containerStyles:{marginLeft:`1rem`,maxWidth:`400px`}})]}),(0,Z.jsx)(a,{condition:!n&&!x,show:()=>(0,Z.jsx)(U,{children:x===void 0?`None of the feature flags were evaluated yet.`:`No results found.`}),elseShow:()=>(0,Z.jsxs)(P,{ref:s,sx:{overflow:`auto`},children:[(0,Z.jsx)(de,{value:y(c),children:(0,Z.jsx)(z,{rows:E,headerGroups:T,prepareRow:O})}),(0,Z.jsx)(a,{condition:x.length===0&&c?.length>0,show:(0,Z.jsxs)(U,{children:[`No feature flags found matching “`,c,`”`]})}),(0,Z.jsx)(a,{condition:x&&x.length===0&&!c,show:(0,Z.jsx)(U,{children:`No features flags to display`})})]})})]})},Wr=G(B)(({theme:e})=>({marginBottom:e.spacing(3)})),Gr=({response:e})=>{let t=e?.warnings?.invalidContextProperties;return t&&t.length>0?(t.sort(),(0,Z.jsx)(Wr,{severity:`warning`,children:(0,Z.jsxs)(G(`details`)(({theme:e})=>({"* + *":{marginBlockStart:e.spacing(1)}})),{children:[(0,Z.jsx)(`summary`,{children:`Some context properties were not taken into account during evaluation`}),(0,Z.jsx)(`p`,{children:`The context you provided for this query contained top-level properties with invalid values. These properties were not taken into consideration when evaluating your query. The properties are:`}),(0,Z.jsx)(`ul`,{children:t.map(e=>(0,Z.jsx)(`li`,{"data-testid":`context-warning-list-element`,children:(0,Z.jsx)(`code`,{children:e})},e))}),(0,Z.jsxs)(`p`,{children:[`Remember that context fields (with the exception of the`,` `,(0,Z.jsx)(`code`,{children:`properties`}),` object) must be strings.`]}),(0,Z.jsx)(`p`,{children:`Because we didn't take these properties into account during the feature flag evaluation, they will not appear in the results table.`})]})})):null},Kr=({FormComponent:e=Rn})=>{let{value:t,setValue:n}=Be(`AdvancedPlayground:v1`,{projects:[],environments:[]}),{trackEvent:r}=w(),{environments:i}=g(),o=u(),[s,c]=(0,Y.useState)(),[d,f]=(0,Y.useState)(t.environments),[p,m]=(0,Y.useState)(t.projects),[h,_]=(0,Y.useState)(t.token),[v,y]=(0,Y.useState)(t.context),[x,S]=(0,Y.useState)(),{setToastData:C}=A(),[T,E]=ue(),[D,k]=(0,Y.useState)(),{evaluateAdvancedPlayground:j,evaluateChangeRequestPlayground:M,loading:ee,errors:N}=Et(),[te,ne]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{d?.length===0&&i.length>0&&f([xn(i)])},[JSON.stringify(d),JSON.stringify(i)]),(0,Y.useEffect)(()=>{re()},[]);let re=async()=>{try{let e=ie(),t=ae(),n=oe();se(),le(),e&&n&&await F(e||[],t||`*`,n)}catch(e){C({type:`error`,text:`Failed to parse URL parameters: ${O(e)}`})}},ie=()=>{let e=null,t=T.get(`environments`);return t&&(e=t.split(`,`),f(e)),e},ae=()=>{let e=null,t=T.get(`projects`);return t&&(e=t.split(`,`),m(e)),e},oe=()=>{let e=T.get(`context`);return e&&(e=decodeURI(e),y(e)),e},se=()=>{let e=T.get(`token`);return e&&(e=decodeURI(e),_(e)),e},le=()=>{let e=T.get(`changeRequest`);e&&k(e)},F=async(e,t,n,r)=>{try{c(void 0);let i={appName:`playground`,...JSON.parse(n||`{}`)},a=D?await M(D,{context:i}):await j({environments:bn(e),projects:yn(t),context:i});r&&typeof r==`function`&&r(),S(a)}catch(e){e instanceof Te?c(e.message):e instanceof SyntaxError?C({type:`error`,text:`Error parsing context: ${O(e)}`}):C({type:`error`,text:O(e)})}},de=()=>{let e=`default`;h&&h!==``?e=`api_token`:D&&(e=`change_request`),r(`playground`,{props:{eventType:`try-configuration`,mode:e}})},I=async e=>{e.preventDefault(),ne(!0),de(),await F(d,p,v,()=>{pe(),D||n({environments:d,projects:p,context:v})})},fe=()=>{k(void 0)},pe=()=>{T.set(`context`,encodeURI(v||``)),Array.isArray(d)&&d.length>0&&!(d.length===1&&d[0]===`*`)?T.set(`environments`,d.join(`,`)):T.delete(`projects`),Array.isArray(p)&&p.length>0&&!(p.length===1&&p[0]===`*`)?T.set(`projects`,p.join(`,`)):T.delete(`projects`),D?T.set(`changeRequest`,D):T.delete(`changeRequest`),E(T)},L=Cn(!0,x);return(0,Z.jsx)(l,{header:(0,Z.jsx)(b,{title:`Unleash playground`,actions:(0,Z.jsx)(Gn,{})}),disableLoading:!0,bodyClass:`no-padding`,children:(0,Z.jsxs)(P,{sx:{display:`flex`,flexDirection:`column`},children:[(0,Z.jsx)(P,{sx:{background:o.palette.background.elevation2,borderBottomLeftRadius:o.shape.borderRadiusMedium,isolation:`isolate`,zIndex:2},children:(0,Z.jsx)(Pe,{elevation:0,sx:{px:4,py:3,background:o.palette.background.elevation2,transition:`width 0.4s ease`,minWidth:`auto`,width:`auto`,position:`sticky`,top:0},children:(0,Z.jsx)(e,{onSubmit:I,context:v,setContext:y,availableEnvironments:i,projects:p,environments:d,token:h,setToken:_,setProjects:m,setEnvironments:f,changeRequest:D||void 0,onClearChangeRequest:fe})})}),(0,Z.jsxs)(P,{sx:e=>({width:L,transition:`width 0.4s ease`,padding:e.spacing(4,4),isolation:`isolate`,zIndex:1}),children:[(0,Z.jsx)(a,{condition:!!s,show:(0,Z.jsx)(Wr,{severity:`warning`,children:s})}),(0,Z.jsx)(a,{condition:ee,show:(0,Z.jsx)(ce,{}),elseShow:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(a,{condition:!!x&&Object.values(N).length===0,show:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Gr,{response:x}),(0,Z.jsx)(Ur,{loading:ee,features:x?.features,input:x?.input})]})}),(0,Z.jsx)(a,{condition:!x&&!te,show:(0,Z.jsx)(Hn,{})})]})})]})]})})};export{Kr as AdvancedPlayground,Kr as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-ButemYzH.js";import{_ as t,a as n,g as r,h as i,i as a,o,u as s}from"./chart-BMc0j_v5.js";import{$l as c,Us as l,Xu as u,id as d,jt as f,kc as p,rd as m,wa as h,xd as g,yu as _}from"./index-B0RbDPtk.js";import{a as v,i as y,l as b,n as x,o as S,t as C,u as w}from"./networkTrafficUsageHighlightPlugin-ecHJHisK.js";import{t as T}from"./chartjs-plugin-annotation.esm-CII-nIyK.js";var E=e(),D=g(u)(({theme:e})=>({display:`flex`,alignItems:`center`,gap:e.spacing(.5)})),O=()=>{l(`Network - Backend Connections`);let{isOss:e}=p(),{chartDataSelection:t,setChartDataSelection:n,options:r}=x(),{chartData:i}=S(t);return(0,E.jsx)(c,{condition:e(),show:(0,E.jsx)(d,{severity:`warning`,children:`Not enabled.`}),elseShow:(0,E.jsx)(E.Fragment,{children:(0,E.jsxs)(y,{children:[(0,E.jsxs)(v,{children:[(0,E.jsx)(u,{children:(0,E.jsx)(d,{severity:`info`,icon:!1,children:(0,E.jsxs)(D,{children:[(0,E.jsx)(m,{children:`1 connection = 7200 backend SDK requests per day`}),(0,E.jsx)(_,{title:`1 connection involves polling every 15 seconds and sending metrics every 60 seconds. This translates to 5 requests per minute, 300 requests per hour, and 7200 requests per day.`,children:(0,E.jsx)(h,{})})]})})}),(0,E.jsx)(w,{selectedPeriod:t,setPeriod:n})]}),(0,E.jsx)(f,{data:i,plugins:[C],options:r,"aria-label":b(t)})]})})})};o.register(T,n,s,a,r,t,i);export{O as BackendConnections,O as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-ButemYzH.js";import{Qd as t}from"./index-B0RbDPtk.js";var n=e(),r=()=>(0,n.jsx)(t,{to:`/projects?create=true`,replace:!0});export{r as default};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{n as e,s as t,t as n}from"./jsx-runtime-ButemYzH.js";import{Ac as r,Al as i,Bs as a,Ca as o,Cd as s,Dd as c,El as l,Ks as u,Ol as ee,Ot as d,Ri as f,Sc as p,Us as te,Wa as m,Xd as h,Xl as g,Xs as _,Yu as v,Zl as y,_d as ne,cd as re,dd as ie,ji as ae,rd as b,ud as oe,xd as x,xl as se,yu as S}from"./index-B0RbDPtk.js";import{t as C}from"./enterpriseEdgeCloud-DI6o2DkU.js";import{t as w}from"./unknownify-D1gvOkgV.js";var T=t(e()),E={connectedEdges:[],revisionIds:[]},D=e=>{let{data:t,error:n,mutate:r}=i(ee(`api/admin/metrics/edges`),O,e);return(0,T.useMemo)(()=>{let e=!n&&!t;return t?.connectedEdges===void 0?Array.isArray(t)?{edgeObservability:{connectedEdges:t,revisionIds:[]},loading:e,refetch:()=>r(),error:n}:{edgeObservability:E,loading:e,refetch:()=>r(),error:n}:{edgeObservability:t,loading:e,refetch:()=>r(),error:n}},[t,n,r])},O=e=>fetch(e).then(r(`Connected Edges`)).then(e=>e.json()),k=d(),A=n(),j=ne((0,A.jsx)(`path`,{d:`M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2`}),`Circle`),M=x(`table`)(({theme:e})=>({width:`100%`,borderCollapse:`collapse`,fontSize:e.fontSizes.smallerBody,"& > thead":{borderBottom:`1px solid ${e.palette.text.primary}`},"& tr":{textAlign:`right`,"& > th:first-of-type, td:first-of-type":{textAlign:`left`}}})),N=x(`tr`)(({theme:e})=>({fontWeight:e.fontWeight.bold,"&&& > td":{paddingTop:e.spacing(1),"& > div":{display:`flex`,alignItems:`center`}}})),P=({instance:e})=>(0,A.jsxs)(M,{children:[(0,A.jsx)(`thead`,{children:(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`th`,{children:`Latency (ms)`}),(0,A.jsx)(`th`,{children:`Avg`}),(0,A.jsx)(`th`,{children:`p99`})]})}),(0,A.jsxs)(`tbody`,{children:[(0,A.jsx)(N,{children:(0,A.jsx)(`td`,{colSpan:3,children:(0,A.jsxs)(`div`,{children:[`Upstream`,` `,(0,A.jsx)(o,{tooltip:`Latency measured for requests sent from this Edge instance to the configured upstream, i.e. Unleash or another Edge instance.`,size:`16px`})]})})}),(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`td`,{children:`Client Features`}),(0,A.jsx)(`td`,{children:e.upstreamFeaturesAverageLatencyMs}),(0,A.jsx)(`td`,{children:e.upstreamFeaturesP99LatencyMs})]}),(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`td`,{children:`Metrics`}),(0,A.jsx)(`td`,{children:e.upstreamMetricsAverageLatencyMs}),(0,A.jsx)(`td`,{children:e.upstreamMetricsP99LatencyMs})]}),(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`td`,{children:`Edge`}),(0,A.jsx)(`td`,{children:e.upstreamEdgeAverageLatencyMs}),(0,A.jsx)(`td`,{children:e.upstreamEdgeP99LatencyMs})]}),(0,A.jsx)(N,{children:(0,A.jsx)(`td`,{colSpan:3,children:(0,A.jsxs)(`div`,{children:[`Downstream`,` `,(0,A.jsx)(o,{tooltip:`Latency measured when serving requests from clients, i.e. SDKs or other Edge instances.`,size:`16px`})]})})}),(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`td`,{children:`Client Features`}),(0,A.jsx)(`td`,{children:e.clientFeaturesAverageLatencyMs}),(0,A.jsx)(`td`,{children:e.clientFeaturesP99LatencyMs})]}),(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`td`,{children:`Frontend`}),(0,A.jsx)(`td`,{children:e.frontendApiAverageLatencyMs}),(0,A.jsx)(`td`,{children:e.frontendApiP99LatencyMs})]})]})]}),F=x(`table`)(({theme:e})=>({width:`100%`,borderCollapse:`collapse`,fontSize:e.fontSizes.smallerBody,"& > thead":{borderBottom:`1px solid ${e.palette.text.primary}`},"& tr":{textAlign:`right`,"& > th:first-of-type, td:first-of-type":{textAlign:`left`},paddingTop:e.spacing(1)}})),I=x(`td`)(({theme:e})=>({paddingTop:e.spacing(1),maxWidth:`80px`,"& > div":{display:`flex`,alignItems:`center`,justifyContent:`end`}})),L=x(m)(({theme:e})=>({padding:e.spacing(0,1)})),R=e=>e.length===1?e[0]:`[]`,z=e=>`${R(e.projects)}:${e.environment}.***`,B=e=>e.length<=1||e.includes(`*`)?``:`
|
|
2
|
+
Projects: ${e.join(`, `)}
|
|
3
|
+
`,V=e=>`[${e.projects.join(`,`)}]:${e.environment}`,H=(e,t)=>{let n=new Set(e||[]),r=new Set(t);if(n.size!==r.size)return!1;for(let e of n)if(!r.has(e))return!1;return!0},U=(e,t)=>(e||[]).every(e=>t.has(e)),W=e=>e.find(e=>!e.projects||e.projects.length===0)?.revisionId??0,G=(e,t)=>{if(e.length===0)return;if(t.projects.includes(`*`))return Math.max(...e.map(e=>e.revisionId));let n=e.find(e=>H(e.projects,t.projects));if(n)return n.revisionId;let r=new Set(t.projects),i=e.filter(e=>U(e.projects,r));if(i.length!==0)return Math.max(...i.map(e=>e.revisionId))},K=(e,t)=>{let n=e.filter(e=>e.environment===t.environment),r=W(n),i=G(n.filter(e=>!!(e.projects&&e.projects.length>0)),t);return Math.max(i??0,r)},ce=e=>e<=0?`success`:e<5?`warning`:`error`,le=({edgeRevisionId:e,upstreamRevisionId:t})=>{let n=t-e;return(0,A.jsx)(S,{title:n<=0?`Edge feature configuration is up to date`:`Edge is ${n} revisions behind expected upstream revision for this token`,children:(0,A.jsx)(L,{color:ce(n),children:e})})},ue=({apiKeys:e,revisionIds:t})=>{let{locationSettings:n}=_();return!e||e.length===0?null:(0,A.jsxs)(F,{children:[(0,A.jsx)(`thead`,{children:(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`th`,{children:`Token`}),(0,A.jsx)(`th`,{children:`Revision`})]})}),(0,A.jsx)(`tbody`,{children:e?.map(e=>{let r=z(e);return(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(I,{children:(0,A.jsx)(u,{title:r,children:r})}),(0,A.jsx)(I,{children:(0,A.jsxs)(`div`,{children:[(0,A.jsx)(le,{edgeRevisionId:e.revisionId,upstreamRevisionId:K(t,e)}),(0,A.jsx)(o,{tooltip:`
|
|
4
|
+
Edge last updated this token: ${p(e.lastUpdated,n.locale)}
|
|
5
|
+
${B(e.projects)}
|
|
6
|
+
`,size:`14px`})]})})]},V(e))})})]})},de=x(`div`)(({theme:e})=>({width:`100%`,borderRadius:e.shape.borderRadiusMedium,border:`1px solid`,borderColor:e.palette.secondary.border,backgroundColor:e.palette.secondary.light,display:`flex`,flexDirection:`column`,alignItems:`center`,padding:0,zIndex:1,marginTop:e.spacing(1)})),fe=x(ie)({width:`100%`,background:`transparent`,boxShadow:`none`}),pe=x(re,{shouldForwardProp:e=>e!==`connectionStatus`})(({theme:e,connectionStatus:t})=>({fontSize:e.fontSizes.smallBody,padding:e.spacing(1),minHeight:e.spacing(3),"& .MuiAccordionSummary-content":{alignItems:`center`,gap:e.spacing(1),margin:0,"&.Mui-expanded":{margin:0},"& svg":{fontSize:e.fontSizes.mainHeader,color:t===`Stale`?e.palette.warning.main:t===`Disconnected`?e.palette.error.main:e.palette.success.main}}})),me=x(oe)(({theme:e})=>({display:`flex`,flexDirection:`column`,fontSize:e.fontSizes.smallerBody,gap:e.spacing(2)})),q=x(`div`)(({theme:e})=>({display:`flex`,justifyContent:`space-between`,gap:e.spacing(2),"& > span":{display:`flex`,alignItems:`center`}})),he=x(m)(({theme:e})=>({padding:e.spacing(0,1)})),ge=({hosting:e})=>{switch(e){case`hosted`:return`Cloud`;case`enterprise-self-hosted`:return`Self-hosted`;default:return e?`Unknown: ${e}`:`Unknown`}},_e=({reportedAt:e})=>{let t=new Date(e).getTime(),n=(Date.now()-t)/1e3;return n>360?`Disconnected`:n>180?`Stale`:`Connected`},ve=({started:e,reportedAt:t,cpuUsage:n})=>{let r=Number(n);if(!r)return`No usage`;let i=new Date(e).getTime(),a=(new Date(t).getTime()-i)/1e3;return a===0?`No usage`:`${(r/a*100).toFixed(2)} %`},ye=({memoryUsage:e})=>{if(!e)return`No usage`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(2)} ${t[r]}`},be=({instance:e,revisionIds:t})=>{let{locationSettings:n}=_(),r=f(`enterpriseEdgeTokensList`),i=_e(e),a=p(e.started,n?.locale),s=p(e.reportedAt,n?.locale),c=ve(e),l=ye(e),u=c===`No usage`&&l===`No usage`&&(0,A.jsx)(`p`,{children:`Resource metrics are only available when running on Linux.`});return(0,A.jsx)(de,{children:(0,A.jsxs)(fe,{children:[(0,A.jsxs)(pe,{expandIcon:(0,A.jsx)(se,{}),connectionStatus:i,children:[(0,A.jsx)(S,{arrow:!0,title:`${i}. Last reported: ${s}`,children:(0,A.jsx)(j,{})}),e.id||e.instanceId]}),(0,A.jsxs)(me,{children:[(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`ID`}),(0,A.jsx)(`span`,{children:e.instanceId})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Upstream server`}),(0,A.jsx)(`span`,{children:e.connectedVia||`Unleash`})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Region`}),(0,A.jsx)(`span`,{children:e.region||`Unknown`})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Hosting`}),(0,A.jsx)(`span`,{children:ge(e)})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Version`}),(0,A.jsx)(`span`,{children:e.edgeVersion})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Status`}),(0,A.jsx)(he,{color:i===`Disconnected`?`error`:i===`Stale`?`warning`:`success`,children:i})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Start`}),(0,A.jsx)(`span`,{children:a})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Last report`}),(0,A.jsx)(`span`,{children:s})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`CPU`}),(0,A.jsxs)(`span`,{children:[c,` `,(0,A.jsx)(o,{tooltip:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`p`,{children:`CPU average usage since instance started.`}),u]}),size:`16px`})]})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Memory`}),(0,A.jsxs)(`span`,{children:[l,` `,(0,A.jsx)(o,{tooltip:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`p`,{children:`Current memory usage.`}),u]}),size:`16px`})]})]}),(0,A.jsxs)(q,{children:[(0,A.jsx)(`strong`,{children:`Stream clients`}),(0,A.jsx)(`span`,{children:e.connectedStreamingClients})]}),(0,A.jsx)(q,{children:(0,A.jsx)(P,{instance:e})}),r&&(0,A.jsx)(q,{children:(0,A.jsx)(ue,{apiKeys:e.apiKeyRevisionIds,revisionIds:t})})]})]})})},J=`Unleash`,xe=x(`div`)(({theme:e})=>({marginBottom:e.spacing(18),display:`flex`,justifyContent:`center`})),Se=x(`div`)(({theme:e})=>({display:`flex`,justifyContent:`center`,gap:e.spacing(4),flexWrap:`wrap`,marginTop:e.spacing(2)})),Y=x(`div`)(({theme:e})=>({borderRadius:e.shape.borderRadiusMedium,border:`1px solid ${e.palette.secondary.border}`,backgroundColor:e.palette.secondary.light,display:`flex`,flexDirection:`column`,alignItems:`center`,padding:e.spacing(1.5),zIndex:1,marginTop:e.spacing(1),"& > svg":{width:e.spacing(9),height:e.spacing(9)}})),Ce=x(Y)(({theme:e})=>({backgroundColor:c(e.palette.background.paper,.75),position:`relative`})),we=x(m)({position:`absolute`,top:-13}),Te=x(b)(({theme:e})=>({marginTop:e.spacing(.5),fontWeight:e.fontWeight.bold})),Ee=x(b)(({theme:e})=>({fontSize:e.fontSizes.smallerBody,color:e.palette.text.secondary})),De=e=>e.reduce((e,t)=>(e.has(t.appName)||e.set(t.appName,{appName:t.appName,instances:[],groupTargets:new Set,level:0}),e.get(t.appName).instances.push(t),e),new Map),Oe=e=>{let t=new Map,n=r=>{if(t.has(r.appName))return t.get(r.appName);let i=0;return r.groupTargets.forEach(t=>{if(t!==J){let r=e.get(t);r&&(i=Math.max(i,n(r)+1))}}),t.set(r.appName,i),i};e.forEach(e=>{e.level=n(e)});let r=new Map;return e.forEach(e=>{let t=r.get(e.level)||[];t.push(e),r.set(e.level,t)}),r},ke=e=>{let t=De(e),n=new Map,r=new Map;return t.forEach(e=>{e.instances=e.instances.sort((e,t)=>e.instanceId.localeCompare(t.instanceId)).map((t,i)=>{let a=`${e.appName}-${i+1}`;return n.set(t.instanceId,a),r.set(a,e.appName),{...t,id:a}})}),t.forEach(e=>{e.instances=e.instances.map(e=>({...e,connectedVia:e.connectedVia?n.get(e.connectedVia)||e.connectedVia:J}));let t=new Set;e.instances.forEach(n=>{if(!n.connectedVia||n.connectedVia===J)t.add(J);else{let i=r.get(n.connectedVia);i&&i!==e.appName&&t.add(i)}}),e.groupTargets=t}),Oe(t)},Ae=e=>e.every(e=>e.hosting===`hosted`)?{hostingLabel:`Cloud`,hostingColor:`secondary`}:e.every(e=>e.hosting===`enterprise-self-hosted`)?{hostingLabel:`Self-hosted`,hostingColor:`info`}:e.every(e=>e.hosting===`hosted`||e.hosting===`enterprise-self-hosted`)?{hostingLabel:`Hybrid`,hostingColor:`warning`}:{hostingLabel:`Unknown`,hostingColor:`neutral`},je=({connectedEdges:e,revisionIds:t})=>{let n=s(),r=(0,T.useMemo)(()=>ke(e),[e]),i=Array.from(r.keys()).sort((e,t)=>e-t);return(0,A.jsxs)(k.ArcherContainer,{strokeColor:n.palette.text.primary,endShape:{arrow:{arrowLength:4,arrowThickness:4}},children:[(0,A.jsx)(xe,{children:(0,A.jsx)(k.ArcherElement,{id:J,children:(0,A.jsxs)(Y,{children:[(0,A.jsx)(l,{darkmode:(0,A.jsx)(g,{}),lightmode:(0,A.jsx)(y,{})}),(0,A.jsx)(b,{sx:{mt:1},children:J})]})})}),i.map(e=>(0,A.jsx)(Se,{children:r.get(e)?.map(({appName:e,groupTargets:r,instances:i})=>{let{hostingLabel:a,hostingColor:o}=Ae(i);return(0,A.jsx)(k.ArcherElement,{id:e,relations:Array.from(r).map(e=>({targetId:e,targetAnchor:`bottom`,sourceAnchor:`top`,style:{strokeColor:n.palette.secondary.border}})),children:(0,A.jsxs)(Ce,{children:[(0,A.jsx)(we,{color:o,children:a}),(0,A.jsx)(Te,{children:w(e)}),(0,A.jsxs)(Ee,{children:[i.length,` instance`,i.length!==1&&`s`]}),i.map(e=>(0,A.jsx)(be,{instance:e,revisionIds:t},e.instanceId))]})},e)})},e))]})},Me=e=>(0,A.jsxs)(`svg`,{width:312,height:144,viewBox:`0 0 312 144`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,A.jsx)(`rect`,{width:312,height:144,rx:8,fill:`#F1F0FC`}),(0,A.jsxs)(`g`,{opacity:.2,children:[(0,A.jsx)(`circle`,{cx:155.933,cy:72.1494,r:59.9326,stroke:`#657A80`,strokeWidth:1.35669,strokeLinecap:`square`}),(0,A.jsx)(`ellipse`,{cx:155.933,cy:72.2595,rx:43.5873,ry:60.2595,stroke:`#657A80`,strokeWidth:1.35669,strokeLinecap:`square`}),(0,A.jsx)(`ellipse`,{cx:156.368,cy:72.1494,rx:27.2421,ry:59.9326,stroke:`#657A80`,strokeWidth:1.35669,strokeLinecap:`square`}),(0,A.jsx)(`ellipse`,{cx:156.369,cy:72.1494,rx:10.8968,ry:59.9326,stroke:`#657A80`,strokeWidth:1.35669,strokeLinecap:`square`})]}),(0,A.jsxs)(`g`,{opacity:.2,children:[(0,A.jsx)(`mask`,{id:`mask0_35832_1410`,style:{maskType:`alpha`},maskUnits:`userSpaceOnUse`,x:96,y:12,width:120,height:121,children:(0,A.jsx)(`circle`,{cx:155.933,cy:72.1494,r:59.2542,fill:`#92A1A5`,stroke:`#657A80`,strokeWidth:1.35669})}),(0,A.jsxs)(`g`,{mask:`url(#mask0_35832_1410)`,children:[(0,A.jsx)(`path`,{d:`M96 48.1777C96 48.1777 109.076 59.2925 155.933 59.2925C202.789 59.2925 215.865 48.1777 215.865 48.1777`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M96 28.3438C96 28.3438 109.076 45.7787 155.933 45.7787C202.789 45.7787 215.865 28.3438 215.865 28.3438`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M96 2.19141C96 2.19141 109.076 33.1384 155.933 33.1384C202.789 33.1384 215.865 2.19141 215.865 2.19141`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M96 -39.4336C96 -39.4336 109.076 21.3707 155.933 21.3707C202.789 21.3707 215.865 -39.4336 215.865 -39.4336`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`line`,{x1:96,y1:71.472,x2:215.865,y2:71.472,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M215.867 95.6855C215.867 95.6855 202.79 84.5708 155.934 84.5708C109.078 84.5708 96.0016 95.6855 96.0016 95.6855`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M215.867 115.518C215.867 115.518 202.79 98.0826 155.934 98.0826C109.078 98.0826 96.0016 115.518 96.0016 115.518`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M215.867 141.672C215.867 141.672 202.79 110.725 155.934 110.725C109.078 110.725 96.0016 141.672 96.0016 141.672`,stroke:`#657A80`,strokeWidth:1.35669}),(0,A.jsx)(`path`,{d:`M215.866 183.297C215.866 183.297 202.79 122.493 155.934 122.493C109.078 122.493 96.0013 183.297 96.0013 183.297`,stroke:`#657A80`,strokeWidth:1.35669})]})]}),(0,A.jsx)(`rect`,{x:116.749,y:86.5273,width:58.1081,height:29.0541,rx:14.527,transform:`rotate(-180 116.749 86.5273)`,fill:`url(#paint0_linear_35832_1410)`}),(0,A.jsx)(`ellipse`,{cx:102.184,cy:71.9997,rx:14.565,ry:14.527,fill:`#817AFE`}),(0,A.jsx)(`path`,{d:`M106.258 67.9648H98.187V76.0354H106.258V67.9648Z`,fill:`white`}),(0,A.jsx)(`path`,{d:`M140.556 78.3887L140.232 70.291L133.381 74.6202L140.556 78.3887ZM121.749 69.1189L129.108 72.5139L128.369 64.4436L121.749 69.1189ZM137.182 73.0493L137.645 72.5217C136.53 71.5447 135.079 70.5495 133.191 69.6186L132.88 70.2481L132.57 70.8776C134.358 71.7589 135.705 72.6876 136.719 73.577L137.182 73.0493ZM132.88 70.2481L133.191 69.6186C131.302 68.6877 129.629 68.143 128.176 67.8544L128.039 68.5428L127.902 69.2312C129.225 69.4939 130.782 69.9964 132.57 70.8776L132.88 70.2481Z`,fill:`#6C65E5`}),(0,A.jsx)(`rect`,{x:147.284,y:55.7305,width:17.4324,height:32.5405,rx:3.48649,fill:`#1A4049`}),(0,A.jsx)(`path`,{d:`M171.444 78.3887L171.768 70.291L178.619 74.6202L171.444 78.3887ZM190.251 69.1189L182.892 72.5139L183.631 64.4436L190.251 69.1189ZM174.818 73.0493L174.355 72.5217C175.47 71.5447 176.921 70.5495 178.809 69.6186L179.12 70.2481L179.43 70.8776C177.642 71.7589 176.295 72.6876 175.281 73.577L174.818 73.0493ZM179.12 70.2481L178.809 69.6186C180.698 68.6877 182.371 68.143 183.824 67.8544L183.961 68.5428L184.098 69.2312C182.775 69.4939 181.218 69.9964 179.43 70.8776L179.12 70.2481Z`,fill:`#6C65E5`}),(0,A.jsx)(`rect`,{x:253.359,y:86.5273,width:58.1081,height:29.0541,rx:14.527,transform:`rotate(-180 253.359 86.5273)`,fill:`url(#paint1_linear_35832_1410)`}),(0,A.jsx)(`ellipse`,{cx:238.794,cy:71.9997,rx:14.565,ry:14.527,fill:`#1A4049`}),(0,A.jsx)(`path`,{d:`M242.867 67.9648H234.797V76.0354H242.867V67.9648Z`,fill:`#EDF0F1`}),(0,A.jsxs)(`defs`,{children:[(0,A.jsxs)(`linearGradient`,{id:`paint0_linear_35832_1410`,x1:116.737,y1:100.985,x2:174.889,y2:100.985,gradientUnits:`userSpaceOnUse`,children:[(0,A.jsx)(`stop`,{stopColor:`#1A4049`,stopOpacity:0}),(0,A.jsx)(`stop`,{offset:1,stopColor:`#0E1A1D`})]}),(0,A.jsxs)(`linearGradient`,{id:`paint1_linear_35832_1410`,x1:253.347,y1:100.985,x2:311.499,y2:100.985,gradientUnits:`userSpaceOnUse`,children:[(0,A.jsx)(`stop`,{stopColor:`#657A80`,stopOpacity:0}),(0,A.jsx)(`stop`,{offset:1,stopColor:`#1A4049`,stopOpacity:.75})]})]})]}),Ne=x(`div`)(({theme:e})=>({display:`flex`,flexDirection:`column`,gap:e.spacing(1),maxWidth:e.spacing(80),margin:`auto`})),Pe=x(`div`)(({theme:e})=>({display:`flex`,flexDirection:`row`,gap:e.spacing(2.5),marginTop:e.spacing(2.5)})),Fe=x(`div`)(({theme:e})=>({border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadiusLarge,padding:e.spacing(3),flex:1,display:`flex`,flexDirection:`column`,gap:e.spacing(1.5)})),Ie=x(`div`)({"& > svg":{width:`auto`,maxWidth:`100%`,height:`auto`,display:`block`}}),Le=x(`ul`)(({theme:e})=>({listStyle:`none`,marginTop:e.spacing(1),marginBottom:e.spacing(1),paddingLeft:e.spacing(0),display:`flex`,flexDirection:`column`,gap:e.spacing(1)})),X=x(`li`)(({theme:e})=>({display:`flex`,alignItems:`center`,gap:e.spacing(1)})),Re=x(ae)(({theme:e})=>({color:e.palette.primary.main,fontSize:`18px`})),ze=x(`div`)(({theme:e})=>({display:`flex`,justifyContent:`flex-start`,margin:e.spacing(-.75)})),Be=()=>(0,A.jsxs)(Ne,{children:[(0,A.jsx)(b,{variant:`h3`,children:`Which version is right for you?`}),(0,A.jsxs)(b,{variant:`body2`,color:`text.secondary`,children:[`Unleash Enterprise Edge is a high-performance proxy engineered for scalability, resilience, and privacy. It acts as a shield between your SDKs and the Unleash API, allowing you to handle thousands of concurrent connections with zero impact on your primary instance. Contact`,` `,(0,A.jsx)(`a`,{href:`mailto:license@getunleash.io`,children:`license@getunleash.io`}),` `,`today to provision your private Enterprise Edge environment.`]}),(0,A.jsxs)(Pe,{children:[(0,A.jsx)(Z,{image:(0,A.jsx)(C,{}),title:`Cloud hosted`,description:`When you need to connect to Unleash from geographically distributed locations.`,bullets:[`Global infrastructure`,`No operational burden`,`Instant flag updates worldwide`],docsUrl:`https://docs.getunleash.io/deploy/hosting-options#cloud-hosted`}),(0,A.jsx)(Z,{image:(0,A.jsx)(Me,{}),title:`Self hosted`,description:`Ensure low latency and data sovereignty by running Enterprise Edge inside your private network.`,bullets:[`Ideal for PII heavy data`,`Optimized for minimal latency`,`Improved security`],docsUrl:`https://docs.getunleash.io/deploy/hosting-options#self-hosted`})]})]}),Z=({image:e,title:t,description:n,bullets:r,docsUrl:i})=>(0,A.jsxs)(Fe,{children:[(0,A.jsx)(Ie,{children:e}),(0,A.jsx)(b,{variant:`h3`,children:t}),(0,A.jsx)(b,{variant:`body2`,color:`text.secondary`,children:n}),(0,A.jsx)(Le,{children:r.map(e=>(0,A.jsxs)(X,{children:[(0,A.jsx)(Re,{}),` `,(0,A.jsx)(b,{variant:`body2`,color:`text.secondary`,children:e})]},e))}),(0,A.jsxs)(b,{variant:`body2`,color:`text.secondary`,children:[`Contact`,` `,(0,A.jsx)(`a`,{href:`mailto:license@getunleash.io`,children:`license@getunleash.io`}),` to get started.`]}),(0,A.jsx)(ze,{children:(0,A.jsx)(v,{component:h,to:i,size:`small`,sx:{fontSize:`14px`},rel:`noopener noreferrer`,target:`_blank`,children:`Read docs`})})]}),Ve=x(a)(({theme:e})=>({".body":{padding:e.spacing(0)}})),Q=x(`div`)(({theme:e})=>({padding:e.spacing(4)})),He=x(`hr`)(({theme:e})=>({border:`none`,height:`1px`,background:e.palette.divider,width:`100%`,margin:e.spacing(2,0)})),$=()=>{te(`Enterprise Edge`);let{edgeObservability:e}=D({refreshInterval:3e4}),t=e.connectedEdges.length>0;return(0,A.jsxs)(Ve,{header:`Enterprise Edge`,children:[t&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Q,{children:(0,A.jsx)(je,{connectedEdges:e.connectedEdges,revisionIds:e.revisionIds})}),(0,A.jsx)(He,{})]}),(0,A.jsx)(Q,{sx:{pb:t?6:4},children:(0,A.jsx)(Be,{})})]})};export{$ as EnterpriseEdge,$ as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,s as t,t as n}from"./jsx-runtime-ButemYzH.js";import{D as r,_ as i,a,f as o,g as s,h as c,i as l,o as u,u as d}from"./chart-BMc0j_v5.js";import{Cd as f,Xs as p,bc as m,jt as h,xc as g,yc as _}from"./index-B0RbDPtk.js";import{t as v}from"./daysOrHours-CWsdHL8Z.js";var y=t(e(),1),b=(e,t,n)=>({datasets:[{label:`Enabled`,borderColor:e.palette.charts.flagMetrics.enabled,backgroundColor:e.palette.charts.flagMetrics.enabled,data:x(t,n,e=>e.yes)},{label:`Not enabled`,borderColor:e.palette.charts.flagMetrics.notEnabled,backgroundColor:e.palette.charts.flagMetrics.notEnabled,data:x(t,n,e=>e.no)}]}),x=(e,t,n)=>e.map(e=>({x:e.timestamp,y:n(e),variants:e.variants||{}})),S=(e,t)=>{if(t===0)return``;let[n,r]=e;return`${r} (${Math.floor(Number(r)/t*100)}%) - ${n}`},C=(e,t,n,r)=>({locale:r.locale,responsive:!0,maintainAspectRatio:!1,interaction:{mode:`index`,intersect:!1},color:e.palette.text.secondary,plugins:{tooltip:{backgroundColor:e.palette.background.paper,bodyColor:e.palette.text.primary,titleColor:e.palette.text.secondary,borderColor:e.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,position:`nearest`,itemSort:(e,t)=>{let n=[`Enabled`,`Not enabled`];return n.indexOf(e.dataset.label)-n.indexOf(t.dataset.label)},callbacks:{beforeBody:e=>`${e.reduce((e,t)=>e+t.parsed.y,0).toLocaleString(r.locale)} - Total evaluations`,label:e=>`${e.formattedValue} - ${e.dataset.label}`,afterLabel:e=>{let t=e.dataset.data[e.dataIndex];if(e.dataset.label!==`Enabled`||t.variants===void 0)return``;let{disabled:n,...r}=t.variants;return Object.entries(r).map(e=>S(e,t.y)).join(`
|
|
2
|
+
`)},title:e=>`Time: ${n>48?g(e[0].parsed.x,r.locale,`UTC`):_(e[0].parsed.x,r.locale)}`}},legend:{position:`top`,align:`end`,labels:{boxWidth:10,boxHeight:10,usePointStyle:!0}},title:{text:w(n),position:`top`,align:`start`,display:!0,font:{size:16,weight:`400`},color:e.palette.text.primary}},scales:{y:{type:`linear`,stacked:!0,title:{display:!0,text:`Number of requests`,color:e.palette.text.secondary},suggestedMin:0,ticks:{precision:0,color:e.palette.text.secondary},grid:{color:e.palette.divider,borderColor:e.palette.divider}},x:{type:`time`,stacked:!0,time:{unit:n>48?`day`:`hour`},grid:{display:!1},ticks:{callback:(e,t,i)=>n>48?m(i[t].value,r.locale,`UTC`):_(i[t].value,r.locale),color:e.palette.text.secondary}}}}),w=e=>e===1?`Requests in the last hour`:`Requests in the last ${v(e)}`;r.font={...r.font,family:`Sen`,size:13,weight:`400`};var T=n(),E=({metrics:e,hoursBack:t,statsSectionId:n})=>{let r=f(),{locationSettings:i}=p(),a=(0,y.useMemo)(()=>[...e].sort((e,t)=>e.timestamp.localeCompare(t.timestamp)),[e]),o=(0,y.useMemo)(()=>C(r,a,t,i),[r,a,t,i]);return(0,T.jsx)(`div`,{style:{height:400},children:(0,T.jsx)(h,{data:(0,y.useMemo)(()=>b(r,a,i),[r,a,i]),options:o,"aria-label":`A stacked bar chart showing feature flag exposure metrics: exposed and not exposed requests.`,"aria-describedby":n})})};u.register(a,d,l,o,c,i,s);export{E as FeatureMetricsChart,E as default};
|