unleash-server 5.2.5 → 5.2.6

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.
Files changed (33) hide show
  1. package/dist/lib/routes/admin-api/project/project-features.d.ts +5 -3
  2. package/dist/lib/routes/admin-api/project/project-features.js +23 -1
  3. package/dist/lib/routes/admin-api/project/project-features.js.map +1 -1
  4. package/dist/lib/routes/admin-api/tag.d.ts +0 -2
  5. package/dist/lib/routes/admin-api/tag.js +1 -21
  6. package/dist/lib/routes/admin-api/tag.js.map +1 -1
  7. package/dist/test/e2e/api/admin/tags.e2e.test.js +3 -3
  8. package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
  9. package/frontend/build/index.html +1 -1
  10. package/frontend/build/static/{AdvancedPlayground-23b331cd.js → AdvancedPlayground-fa382438.js} +1 -1
  11. package/frontend/build/static/{CreateProject-3de26b03.js → CreateProject-33102f1d.js} +1 -1
  12. package/frontend/build/static/{Error-3f9f3bb5.js → Error-cf795e47.js} +1 -1
  13. package/frontend/build/static/{FeatureArchiveDialog-33634918.js → FeatureArchiveDialog-7c45ad83.js} +4 -4
  14. package/frontend/build/static/{FeatureMetricsChart-29151824.js → FeatureMetricsChart-098be7ad.js} +1 -1
  15. package/frontend/build/static/{FeatureViewLazyExport-440af9f1.js → FeatureViewLazyExport-c74a2e4d.js} +2 -2
  16. package/frontend/build/static/{LazyAdminExport-2f4272d5.js → LazyAdminExport-c83e066d.js} +2 -2
  17. package/frontend/build/static/{LazyProjectExport-eb893846.js → LazyProjectExport-0e097671.js} +1 -1
  18. package/frontend/build/static/{NetworkOverview-01bb5ab9.js → NetworkOverview-d29a2982.js} +2 -2
  19. package/frontend/build/static/{NetworkTraffic-6f341b62.js → NetworkTraffic-75dedea1.js} +1 -1
  20. package/frontend/build/static/{Playground-85262bd8.js → Playground-2547cabf.js} +1 -1
  21. package/frontend/build/static/{PlaygroundGuidancePopper-b41d2afe.js → PlaygroundGuidancePopper-de0c6f7c.js} +1 -1
  22. package/frontend/build/static/{RoleCell-90199573.js → RoleCell-86b02c95.js} +1 -1
  23. package/frontend/build/static/{StrategyItemContainer-bb74986e.js → StrategyItemContainer-cada0ab5.js} +1 -1
  24. package/frontend/build/static/{chartjs-adapter-date-fns.esm-4f594471.js → chartjs-adapter-date-fns.esm-d78073b7.js} +1 -1
  25. package/frontend/build/static/{flowchart-elk-definition-170a3958-bdf223e6.js → flowchart-elk-definition-170a3958-3edd9f6d.js} +1 -1
  26. package/frontend/build/static/{index-d11f5e3e.js → index-1023a005.js} +1 -1
  27. package/frontend/build/static/{index-56e4c3f3.js → index-4f1029d3.js} +1 -1
  28. package/frontend/build/static/{index-6c460833.js → index-6d9a536e.js} +2 -2
  29. package/frontend/build/static/{is_dark-8e88e01a.js → is_dark-4cf688db.js} +1 -1
  30. package/frontend/build/static/{mindmap-definition-44684416-33fa2a43.js → mindmap-definition-44684416-d564c247.js} +1 -1
  31. package/frontend/build/static/{timeline-definition-8e5a9bc6-5a93a392.js → timeline-definition-8e5a9bc6-d80977bf.js} +1 -1
  32. package/frontend/build/static/{unknownify-ad38e3d1.js → unknownify-e541f268.js} +1 -1
  33. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { Operation } from 'fast-json-patch';
3
3
  import Controller from '../../controller';
4
4
  import { IUnleashConfig, IUnleashServices } from '../../../types';
5
5
  import { IAuthRequest } from '../../unleash-types';
6
- import { AdminFeaturesQuerySchema, BulkToggleFeaturesSchema, CreateFeatureSchema, CreateFeatureStrategySchema, FeatureEnvironmentSchema, FeatureSchema, FeaturesSchema, FeatureStrategySchema, ParametersSchema, SetStrategySortOrderSchema, UpdateFeatureSchema, UpdateFeatureStrategySchema } from '../../../openapi';
6
+ import { AdminFeaturesQuerySchema, BulkToggleFeaturesSchema, CreateFeatureSchema, CreateFeatureStrategySchema, FeatureEnvironmentSchema, FeatureSchema, FeaturesSchema, FeatureStrategySchema, ParametersSchema, SetStrategySortOrderSchema, TagsBulkAddSchema, TagSchema, UpdateFeatureSchema, UpdateFeatureStrategySchema } from '../../../openapi';
7
7
  import { BatchStaleSchema } from '../../../openapi/spec/batch-stale-schema';
8
8
  import { TransactionCreator, UnleashTransaction } from '../../../db/transaction';
9
9
  interface FeatureStrategyParams {
@@ -34,15 +34,16 @@ export interface IFeatureProjectUserParams extends ProjectParam {
34
34
  tag?: string[][];
35
35
  namePrefix?: string;
36
36
  }
37
- declare type ProjectFeaturesServices = Pick<IUnleashServices, 'featureToggleServiceV2' | 'projectHealthService' | 'openApiService' | 'transactionalFeatureToggleService'>;
37
+ declare type ProjectFeaturesServices = Pick<IUnleashServices, 'featureToggleServiceV2' | 'projectHealthService' | 'openApiService' | 'transactionalFeatureToggleService' | 'featureTagService'>;
38
38
  export default class ProjectFeaturesController extends Controller {
39
39
  private featureService;
40
+ private featureTagService;
40
41
  private transactionalFeatureToggleService;
41
42
  private openApiService;
42
43
  private flagResolver;
43
44
  private readonly logger;
44
45
  private readonly startTransaction;
45
- constructor(config: IUnleashConfig, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, }: ProjectFeaturesServices, startTransaction: TransactionCreator<UnleashTransaction>);
46
+ constructor(config: IUnleashConfig, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, featureTagService, }: ProjectFeaturesServices, startTransaction: TransactionCreator<UnleashTransaction>);
46
47
  getFeatures(req: IAuthRequest<ProjectParam, any, any, AdminFeaturesQuerySchema>, res: Response<FeaturesSchema>): Promise<void>;
47
48
  prepQuery({ tag, namePrefix }: AdminFeaturesQuerySchema, projectId: string): Promise<IFeatureProjectUserParams>;
48
49
  paramToArray(param: any): Array<any>;
@@ -83,6 +84,7 @@ export default class ProjectFeaturesController extends Controller {
83
84
  name: string;
84
85
  value: string | number;
85
86
  }, any>, res: Response<FeatureStrategySchema>): Promise<void>;
87
+ updateFeaturesTags(req: IAuthRequest<void, void, TagsBulkAddSchema>, res: Response<TagSchema>): Promise<void>;
86
88
  getStrategyParameters(req: Request<StrategyIdParams, any, any, any>, res: Response<ParametersSchema>): Promise<void>;
87
89
  }
88
90
  export {};
@@ -11,6 +11,7 @@ const openapi_1 = require("../../../openapi");
11
11
  const feature_schema_1 = require("../../../schema/feature-schema");
12
12
  const PATH = '/:projectId/features';
13
13
  const PATH_STALE = '/:projectId/stale';
14
+ const PATH_TAGS = `/:projectId/tags`;
14
15
  const PATH_FEATURE = `${PATH}/:featureName`;
15
16
  const PATH_FEATURE_CLONE = `${PATH_FEATURE}/clone`;
16
17
  const PATH_ENV = `${PATH_FEATURE}/environments/:environment`;
@@ -18,13 +19,14 @@ const BULK_PATH_ENV = `/:projectId/bulk_features/environments/:environment`;
18
19
  const PATH_STRATEGIES = `${PATH_ENV}/strategies`;
19
20
  const PATH_STRATEGY = `${PATH_STRATEGIES}/:strategyId`;
20
21
  class ProjectFeaturesController extends controller_1.default {
21
- constructor(config, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, }, startTransaction) {
22
+ constructor(config, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, featureTagService, }, startTransaction) {
22
23
  super(config);
23
24
  this.featureService = featureToggleServiceV2;
24
25
  this.transactionalFeatureToggleService =
25
26
  transactionalFeatureToggleService;
26
27
  this.startTransaction = startTransaction;
27
28
  this.openApiService = openApiService;
29
+ this.featureTagService = featureTagService;
28
30
  this.flagResolver = config.flagResolver;
29
31
  this.logger = config.getLogger('/admin-api/project/features.ts');
30
32
  this.route({
@@ -339,6 +341,20 @@ class ProjectFeaturesController extends controller_1.default {
339
341
  }),
340
342
  ],
341
343
  });
344
+ this.route({
345
+ method: 'put',
346
+ path: PATH_TAGS,
347
+ handler: this.updateFeaturesTags,
348
+ permission: types_1.UPDATE_FEATURE,
349
+ middleware: [
350
+ openApiService.validPath({
351
+ tags: ['Tags'],
352
+ operationId: 'addTagToFeatures',
353
+ requestBody: (0, openapi_1.createRequestSchema)('tagsBulkAddSchema'),
354
+ responses: { 200: openapi_1.emptyResponse },
355
+ }),
356
+ ],
357
+ });
342
358
  }
343
359
  async getFeatures(req, res) {
344
360
  const { projectId } = req.params;
@@ -530,6 +546,12 @@ class ProjectFeaturesController extends controller_1.default {
530
546
  const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value, { environment, projectId, featureName }, userName);
531
547
  res.status(200).json(updatedStrategy);
532
548
  }
549
+ async updateFeaturesTags(req, res) {
550
+ const { features, tags } = req.body;
551
+ const userName = (0, util_1.extractUsername)(req);
552
+ await this.featureTagService.updateTags(features, tags.addedTags, tags.removedTags, userName);
553
+ res.status(200).end();
554
+ }
533
555
  async getStrategyParameters(req, res) {
534
556
  this.logger.info('Getting strategy parameters');
535
557
  const { strategyId } = req.params;
@@ -1 +1 @@
1
- {"version":3,"file":"project-features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/project-features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/project-features.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ import { IAuthRequest } from '../unleash-types';
6
6
  import { TagsSchema } from '../../openapi/spec/tags-schema';
7
7
  import { TagSchema } from '../../openapi/spec/tag-schema';
8
8
  import { TagWithVersionSchema } from '../../openapi/spec/tag-with-version-schema';
9
- import { TagsBulkAddSchema } from '../../openapi/spec/tags-bulk-add-schema';
10
9
  declare class TagController extends Controller {
11
10
  private logger;
12
11
  private tagService;
@@ -19,6 +18,5 @@ declare class TagController extends Controller {
19
18
  getTag(req: Request<TagSchema>, res: Response<TagWithVersionSchema>): Promise<void>;
20
19
  createTag(req: IAuthRequest<unknown, unknown, TagSchema>, res: Response<TagWithVersionSchema>): Promise<void>;
21
20
  deleteTag(req: IAuthRequest<TagSchema>, res: Response): Promise<void>;
22
- updateFeaturesTags(req: IAuthRequest<void, void, TagsBulkAddSchema>, res: Response<TagSchema>): Promise<void>;
23
21
  }
24
22
  export default TagController;
@@ -37,7 +37,7 @@ class TagController extends controller_1.default {
37
37
  method: 'post',
38
38
  path: '',
39
39
  handler: this.createTag,
40
- permission: permissions_1.UPDATE_FEATURE,
40
+ permission: permissions_1.NONE,
41
41
  middleware: [
42
42
  openApiService.validPath({
43
43
  tags: ['Tags'],
@@ -49,20 +49,6 @@ class TagController extends controller_1.default {
49
49
  }),
50
50
  ],
51
51
  });
52
- this.route({
53
- method: 'put',
54
- path: '/features',
55
- handler: this.updateFeaturesTags,
56
- permission: permissions_1.UPDATE_FEATURE,
57
- middleware: [
58
- openApiService.validPath({
59
- tags: ['Tags'],
60
- operationId: 'addTagToFeatures',
61
- requestBody: (0, create_request_schema_1.createRequestSchema)('tagsBulkAddSchema'),
62
- responses: { 200: standard_responses_1.emptyResponse },
63
- }),
64
- ],
65
- });
66
52
  this.route({
67
53
  method: 'get',
68
54
  path: '/:type',
@@ -137,12 +123,6 @@ class TagController extends controller_1.default {
137
123
  await this.tagService.deleteTag({ type, value }, userName);
138
124
  res.status(200).end();
139
125
  }
140
- async updateFeaturesTags(req, res) {
141
- const { features, tags } = req.body;
142
- const userName = (0, extract_user_1.extractUsername)(req);
143
- await this.featureTagService.updateTags(features, tags.addedTags, tags.removedTags, userName);
144
- res.status(200).end();
145
- }
146
126
  }
147
127
  exports.default = TagController;
148
128
  //# sourceMappingURL=tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/tag.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ test('Can tag features', async () => {
122
122
  enabled: true,
123
123
  strategies: [{ name: 'default' }],
124
124
  });
125
- await app.request.put('/api/admin/tags/features').send({
125
+ await app.request.put('/api/admin/projects/default/tags').send({
126
126
  features: [featureName, featureName2],
127
127
  tags: {
128
128
  addedTags: [addedTag],
@@ -154,7 +154,7 @@ test('Can bulk remove tags', async () => {
154
154
  strategies: [{ name: 'default' }],
155
155
  });
156
156
  await app.request
157
- .put('/api/admin/tags/features')
157
+ .put('/api/admin/projects/default/tags')
158
158
  .send({
159
159
  features: [featureName, featureName2],
160
160
  tags: {
@@ -164,7 +164,7 @@ test('Can bulk remove tags', async () => {
164
164
  })
165
165
  .expect(200);
166
166
  await app.request
167
- .put('/api/admin/tags/features')
167
+ .put('/api/admin/projects/default/tags')
168
168
  .send({
169
169
  features: [featureName, featureName2],
170
170
  tags: {
@@ -1 +1 @@
1
- {"version":3,"file":"tags.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/tags.e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,gFAAiD;AACjD,2DAAqE;AACrE,4EAAoD;AAEpD,IAAI,GAAG,CAAC;AACR,IAAI,EAAE,CAAC;AAEP,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,IAAA,uBAAM,EAAC,gBAAgB,EAAE,mBAAS,CAAC,CAAC;IAC/C,GAAG,GAAG,MAAM,IAAA,sCAAwB,EAAC,EAAE,CAAC,MAAM,EAAE;QAC5C,YAAY,EAAE;YACV,KAAK,EAAE;gBACH,sBAAsB,EAAE,IAAI;aAC/B;SACJ;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,iBAAiB,CAAC;SACvB,IAAI,CAAC;QACF,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC;SACD,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAE7C,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,iBAAiB,CAAC;SACvB,IAAI,CAAC;QACF,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC;SACD,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,+BAA+B,CAAC;SACpC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAErB,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACrE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAChC,GAAG,CAAC,OAAO;KACN,IAAI,CAAC,iBAAiB,CAAC;KACvB,IAAI,CAAC;IACF,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,QAAQ;CACjB,CAAC;KACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC;AAEZ,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAClC,GAAG,CAAC,OAAO;KACN,IAAI,CAAC,iBAAiB,CAAC;KACvB,IAAI,CAAC;IACF,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,kBAAkB;CAC3B,CAAC;KACD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;KAC9B,MAAM,CAAC,GAAG,CAAC;KACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAC3C,6BAA6B,CAChC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACZ,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,GAAG,CAAC,OAAO;SACZ,MAAM,CAAC,+BAA+B,CAAC;SACvC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CACjB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAC3D,CACJ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,MAAM,YAAY,GAAG,eAAe,CAAC;IACrC,MAAM,QAAQ,GAAG;QACb,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;KACjB,CAAC;IACF,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,QAAQ;KACjB,CAAC;IACF,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEpE,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CACzC,uBAAuB,WAAW,OAAO,CAC5C,CAAC;IAEF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEnE,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC;QACnD,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,IAAI,EAAE;YACF,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,WAAW,EAAE,CAAC,UAAU,CAAC;SAC5B;KACJ,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAC7B,uBAAuB,WAAW,OAAO,CAC5C,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAC9B,uBAAuB,YAAY,OAAO,CAC7C,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,WAAW,GAAG,eAAe,CAAC;IACpC,MAAM,YAAY,GAAG,eAAe,CAAC;IACrC,MAAM,QAAQ,GAAG;QACb,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;KACjB,CAAC;IAEF,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,OAAO;SACZ,GAAG,CAAC,0BAA0B,CAAC;SAC/B,IAAI,CAAC;QACF,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,IAAI,EAAE;YACF,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,WAAW,EAAE,EAAE;SAClB;KACJ,CAAC;SACD,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,MAAM,GAAG,CAAC,OAAO;SACZ,GAAG,CAAC,0BAA0B,CAAC;SAC/B,IAAI,CAAC;QACF,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACrC,IAAI,EAAE;YACF,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,CAAC,QAAQ,CAAC;SAC1B;KACJ,CAAC;SACD,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tags.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/tags.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  href="https://fonts.googleapis.com/css2?family=Sen:wght@400;700;800&display=swap"
17
17
  rel="stylesheet"
18
18
  />
19
- <script type="module" crossorigin src="/static/index-6c460833.js"></script>
19
+ <script type="module" crossorigin src="/static/index-6d9a536e.js"></script>
20
20
  <link rel="stylesheet" href="/static/index-66c635eb.css">
21
21
  </head>
22
22
  <body>
@@ -1 +1 @@
1
- import{b as B,d as Y,H as G,r as d,j as e,f as C,s as D,g as Z,B as w,V,t as O,v as _,h as g,C as E,F as I,I as he,w as pe,x as ee,T as z,y as fe,c as te,z as ge,u as ne,a as ye,L as Q,e as be,S as ve,i as W,k as xe,A as Se,l as Ce,m as Pe,n as M,D as Re,P as je,o as Ee,p as we,q as Fe}from"./index-6c460833.js";import{V as ke,F as se,a as oe,f as K,u as He,r as Te,g as Ae,b as Be,P as Oe,d as Le,c as $e,e as Ue}from"./PlaygroundGuidancePopper-b41d2afe.js";import"./StrategyItemContainer-bb74986e.js";import"./Error-3f9f3bb5.js";const q=t=>t.charAt(0).toUpperCase()+t.slice(1),Ie=({features:t})=>{const l=B(),n=Y(l.breakpoints.down("sm")),h=Object.keys(t[0].context).map(o=>({Header:q(o),accessor:`context.${o}`,minWidth:160,Cell:G})),m=d.useMemo(()=>[...h,{Header:"Variant",id:"variant",accessor:"variant.name",sortType:"alphanumeric",filterName:"variant",maxWidth:200,Cell:({value:o,row:{original:{variant:i,feature:c,variants:u,isEnabled:v}}})=>e(ke,{variant:i!=null&&i.enabled?o:"",variants:u,feature:c,isEnabled:v})},{id:"isEnabled",Header:"isEnabled",filterName:"isEnabled",accessor:o=>{var i;return o!=null&&o.isEnabled?"true":((i=o==null?void 0:o.strategies)==null?void 0:i.result)==="unknown"?"unknown":"false"},Cell:({row:o})=>e(se,{feature:o.original}),sortType:"playgroundResultState",maxWidth:120,sortInverted:!0},{Header:"",maxWidth:70,id:"info",Cell:({row:o})=>e(oe,{feature:o.original,input:{environment:o.original.environment,context:o.original.context}})}],[]),{headerGroups:y,rows:P,prepareRow:a,setHiddenColumns:R}=C.useTable({columns:m,data:t,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);Z([{condition:n,columns:["variant"]}],R,m);const s=d.useRef(null);return e(w,{ref:s,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:s,rows:P,headerGroups:y,prepareRow:a})})},Ne=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),We=O(w)(({theme:t})=>({display:"flex",flexDirection:"row",gap:t.spacing(1)})),Me=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=s=>h(s.currentTarget),y=()=>h(null),P=!!n,a=(t||[]).filter(s=>s.isEnabled),R=(t||[]).filter(s=>!s.isEnabled);return g(Ne,{children:[g(We,{children:[e(E,{condition:a.length>0,show:e(K,{enabled:!0,label:`${a.length}`,showIcon:!0})}),e(E,{condition:R.length>0,show:e(K,{enabled:!1,label:`${R.length}`,showIcon:!0})})]}),g(I,{children:[e(he,{onClick:m,children:e(pe,{})}),g(ee,{open:P,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:t[0].environment}),e(Ie,{features:t})]})]})]})},Ge=({features:t})=>{const l=Object.keys(t),n=t[l[0]],h=n[0].context,m=d.useMemo(()=>n.map((c,u)=>({...Object.fromEntries(l.map(v=>[v,t[v][u]]))})),[JSON.stringify(t)]),y=Object.keys(h).map(c=>({Header:q(c),accessor:`${l[0]}.context.${c}`,minWidth:160,Cell:G})),P=l.map(c=>({Header:c,accessor:u=>{var v,p,f;return(v=u[c])!=null&&v.isEnabled?"true":((f=(p=u[c])==null?void 0:p.strategies)==null?void 0:f.result)==="unknown"?"unknown":"false"},Cell:({row:u})=>g(w,{sx:{display:"flex"},children:[e(se,{feature:u.original[c]}),e(oe,{feature:u.original[c],input:{environment:u.original[c].environment,context:u.original[c].context}})]}),sortType:"playgroundResultState",maxWidth:140})),a=d.useMemo(()=>[...y,...P],[]),{headerGroups:R,rows:s,prepareRow:o}=C.useTable({columns:a,data:m,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy),i=d.useRef(null);return e(w,{ref:i,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:i,rows:s,headerGroups:R,prepareRow:o})})},De=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),Ve=O(fe)(({theme:t})=>({textAlign:"left",textDecorationStyle:"dotted",textUnderlineOffset:t.spacing(.75),color:t.palette.neutral.dark})),ze=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=a=>h(a.currentTarget),y=()=>h(null);return e(De,{children:g(I,{children:[e(Ve,{variant:"body2",onClick:m,children:"Preview diff"}),g(ee,{open:!!n,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:"Environments diff"}),e(Ge,{features:t})]})]})})},qe=t=>t.reduce((l,n)=>l+Object.values(n.environments).flatMap(h=>Object.keys(h)).length,0),Je={id:"name"},{value:X,setValue:Qe}=te("AdvancedPlaygroundResultsTable:v1",Je),Ke=({features:t,input:l,loading:n})=>{const{trackEvent:h}=ge();t&&h("playground",{props:{eventType:"number-of-combinations",count:qe(t)}});const[m,y]=ne(),P=ye(n),[a,R]=d.useState(m.get("search")||""),s=B(),o=Y(s.breakpoints.down("md")),i=t&&t.length>0?Object.keys(t[0].environments).length:0,c=d.useMemo(()=>{var S;return[{Header:"Name",accessor:"name",searchable:!0,minWidth:160,Cell:({value:b,row:{original:k}})=>e(Q,{title:b,to:`/projects/${k==null?void 0:k.projectId}/features/${b}`})},{Header:"Project ID",accessor:"projectId",sortType:"alphanumeric",filterName:"projectId",searchable:!0,minWidth:150,Cell:({value:b})=>e(Q,{title:b,to:`/projects/${b}`})},...((S=l==null?void 0:l.environments)==null?void 0:S.map(b=>({Header:n?()=>"":q(b),maxWidth:140,id:`environments.${b}`,align:"flex-start",Cell:({row:k})=>e(Me,{value:k.original.environments[b]})})))||[],...i>1?[{Header:"Diff",minWidth:150,id:"diff",align:"left",Cell:({row:b})=>e(ze,{value:b.original.environments})}]:[]]},[l]),{data:u,getSearchText:v,getSearchContext:p}=be(c,a,t||[]),f=d.useMemo(()=>n?Array(5).fill({name:"Feature name",projectId:"Feature Project",environments:{name:"Feature Environments",variants:[]},enabled:!0}):u,[u,n]),[T]=d.useState(()=>({sortBy:[{id:m.get("sort")||X.id,desc:m.has("order")?m.get("order")==="desc":X.desc}]})),{headerGroups:x,rows:A,state:{sortBy:F},prepareRow:N,setHiddenColumns:L}=C.useTable({initialState:T,columns:c,data:f,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:G}},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);return Z([{condition:o,columns:["projectId"]}],L,c),d.useEffect(()=>{if(n)return;const S=Object.fromEntries(m);S.sort=F[0].id,F[0].desc?S.order="desc":S.order&&delete S.order,a?S.search=a:delete S.search,y(S,{replace:!0}),Qe({id:F[0].id,desc:F[0].desc||!1})},[n,F,a]),g(I,{children:[g(w,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[e(z,{variant:"subtitle1",sx:{ml:1},children:t!==void 0&&!n?`Results (${A.length<f.length?`${A.length} of ${f.length}`:f.length})`:"Results"}),e(ve,{initialValue:a,onChange:R,hasFilters:!0,getSearchContext:p,disabled:n,containerStyles:{marginLeft:"1rem",maxWidth:"400px"}})]}),e(E,{condition:!n&&!f,show:()=>e(W,{children:f===void 0?"None of the feature toggles were evaluated yet.":"No results found."}),elseShow:()=>g(w,{ref:P,sx:{overflow:"auto"},children:[e(xe,{value:v(a),children:e(V,{rows:A,headerGroups:x,prepareRow:N})}),e(E,{condition:f.length===0&&(a==null?void 0:a.length)>0,show:g(W,{children:["No feature toggles found matching “",a,"”"]})}),e(E,{condition:f&&f.length===0&&!a,show:e(W,{children:"No features toggles to display"})})]})})]})},Xe=O(Se)(({theme:t})=>({marginBottom:t.spacing(3)})),tt=({FormComponent:t=$e})=>{const l={projects:[],environments:[]},{value:n,setValue:h}=te("AdvancedPlayground:v1",l),{environments:m}=Ce(),y=B(),P=!0,[a,R]=d.useState(),[s,o]=d.useState(n.environments),[i,c]=d.useState(n.projects),[u,v]=d.useState(n.context),[p,f]=d.useState(),{setToastData:T}=Pe(),[x,A]=ne(),F=Array.from(x.entries()).length,{evaluateAdvancedPlayground:N,loading:L}=He(),[S,b]=d.useState(!1);d.useEffect(()=>{(s==null?void 0:s.length)===0&&o([Te(m)])},[JSON.stringify(s),JSON.stringify(m)]),d.useEffect(()=>{F>0&&k()},[]);const k=()=>{try{const r=re(),j=ae(),$=le();(async()=>{r&&$&&await J(r||[],j||"*",$)})()}catch(r){T({type:"error",title:`Failed to parse URL parameters: ${M(r)}`})}},re=()=>{let r=null;const j=x.get("environments");return j&&(r=j.split(","),o(r)),r},ae=()=>{let r=null,j=x.get("projects");return j&&(r=j.split(","),c(r)),r},le=()=>{let r=x.get("context");return r&&(r=decodeURI(r),v(r)),r},J=async(r,j,$,U)=>{try{R(void 0);const H=JSON.parse($||"{}"),me=await N({environments:Ae(r),projects:Be(j),context:{appName:"playground",...H}});U&&typeof U=="function"&&U(),f(me)}catch(H){H instanceof Re?R(H.message):H instanceof SyntaxError?T({type:"error",title:`Error parsing context: ${M(H)}`}):T({type:"error",title:M(H)})}},ie=async r=>{r.preventDefault(),b(!0),await J(s,i,u,()=>{ce(),h({environments:s,projects:i,context:u})})},ce=()=>{x.set("context",encodeURI(u||"")),Array.isArray(s)&&s.length>0&&!(s.length===1&&s[0]==="*")?x.set("environments",s.join(",")):x.delete("projects"),Array.isArray(i)&&i.length>0&&!(i.length===1&&i[0]==="*")?x.set("projects",i.join(",")):x.delete("projects"),A(x)},de=p&&!P?"35%":"auto",ue=Ue(P,p);return e(je,{header:e(Ee,{title:"Unleash playground",actions:e(Oe,{})}),disableLoading:!0,bodyClass:"no-padding",children:g(w,{sx:{display:"flex",flexDirection:"column"},children:[e(w,{sx:{background:y.palette.background.elevation2,borderBottomLeftRadius:y.shape.borderRadiusMedium},children:e(we,{elevation:0,sx:{px:4,py:3,mb:4,mt:2,background:y.palette.background.elevation2,transition:"width 0.4s ease",minWidth:"auto",width:de,position:"sticky",top:0},children:e(t,{onSubmit:ie,context:u,setContext:v,availableEnvironments:m,projects:i,environments:s,setProjects:c,setEnvironments:o})})}),g(w,{sx:r=>({width:ue,transition:"width 0.4s ease",padding:r.spacing(4,2)}),children:[e(E,{condition:!!a,show:e(Xe,{severity:"warning",children:a})}),e(E,{condition:L,show:e(Fe,{}),elseShow:g(I,{children:[e(E,{condition:!!p,show:e(Ke,{loading:L,features:p==null?void 0:p.features,input:p==null?void 0:p.input})}),e(E,{condition:!p&&!S,show:e(Le,{})})]})})]})]})})};export{tt as AdvancedPlayground,tt as default};
1
+ import{b as B,d as Y,H as G,r as d,j as e,f as C,s as D,g as Z,B as w,V,t as O,v as _,h as g,C as E,F as I,I as he,w as pe,x as ee,T as z,y as fe,c as te,z as ge,u as ne,a as ye,L as Q,e as be,S as ve,i as W,k as xe,A as Se,l as Ce,m as Pe,n as M,D as Re,P as je,o as Ee,p as we,q as Fe}from"./index-6d9a536e.js";import{V as ke,F as se,a as oe,f as K,u as He,r as Te,g as Ae,b as Be,P as Oe,d as Le,c as $e,e as Ue}from"./PlaygroundGuidancePopper-de0c6f7c.js";import"./StrategyItemContainer-cada0ab5.js";import"./Error-cf795e47.js";const q=t=>t.charAt(0).toUpperCase()+t.slice(1),Ie=({features:t})=>{const l=B(),n=Y(l.breakpoints.down("sm")),h=Object.keys(t[0].context).map(o=>({Header:q(o),accessor:`context.${o}`,minWidth:160,Cell:G})),m=d.useMemo(()=>[...h,{Header:"Variant",id:"variant",accessor:"variant.name",sortType:"alphanumeric",filterName:"variant",maxWidth:200,Cell:({value:o,row:{original:{variant:i,feature:c,variants:u,isEnabled:v}}})=>e(ke,{variant:i!=null&&i.enabled?o:"",variants:u,feature:c,isEnabled:v})},{id:"isEnabled",Header:"isEnabled",filterName:"isEnabled",accessor:o=>{var i;return o!=null&&o.isEnabled?"true":((i=o==null?void 0:o.strategies)==null?void 0:i.result)==="unknown"?"unknown":"false"},Cell:({row:o})=>e(se,{feature:o.original}),sortType:"playgroundResultState",maxWidth:120,sortInverted:!0},{Header:"",maxWidth:70,id:"info",Cell:({row:o})=>e(oe,{feature:o.original,input:{environment:o.original.environment,context:o.original.context}})}],[]),{headerGroups:y,rows:P,prepareRow:a,setHiddenColumns:R}=C.useTable({columns:m,data:t,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);Z([{condition:n,columns:["variant"]}],R,m);const s=d.useRef(null);return e(w,{ref:s,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:s,rows:P,headerGroups:y,prepareRow:a})})},Ne=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),We=O(w)(({theme:t})=>({display:"flex",flexDirection:"row",gap:t.spacing(1)})),Me=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=s=>h(s.currentTarget),y=()=>h(null),P=!!n,a=(t||[]).filter(s=>s.isEnabled),R=(t||[]).filter(s=>!s.isEnabled);return g(Ne,{children:[g(We,{children:[e(E,{condition:a.length>0,show:e(K,{enabled:!0,label:`${a.length}`,showIcon:!0})}),e(E,{condition:R.length>0,show:e(K,{enabled:!1,label:`${R.length}`,showIcon:!0})})]}),g(I,{children:[e(he,{onClick:m,children:e(pe,{})}),g(ee,{open:P,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:t[0].environment}),e(Ie,{features:t})]})]})]})},Ge=({features:t})=>{const l=Object.keys(t),n=t[l[0]],h=n[0].context,m=d.useMemo(()=>n.map((c,u)=>({...Object.fromEntries(l.map(v=>[v,t[v][u]]))})),[JSON.stringify(t)]),y=Object.keys(h).map(c=>({Header:q(c),accessor:`${l[0]}.context.${c}`,minWidth:160,Cell:G})),P=l.map(c=>({Header:c,accessor:u=>{var v,p,f;return(v=u[c])!=null&&v.isEnabled?"true":((f=(p=u[c])==null?void 0:p.strategies)==null?void 0:f.result)==="unknown"?"unknown":"false"},Cell:({row:u})=>g(w,{sx:{display:"flex"},children:[e(se,{feature:u.original[c]}),e(oe,{feature:u.original[c],input:{environment:u.original[c].environment,context:u.original[c].context}})]}),sortType:"playgroundResultState",maxWidth:140})),a=d.useMemo(()=>[...y,...P],[]),{headerGroups:R,rows:s,prepareRow:o}=C.useTable({columns:a,data:m,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy),i=d.useRef(null);return e(w,{ref:i,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:i,rows:s,headerGroups:R,prepareRow:o})})},De=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),Ve=O(fe)(({theme:t})=>({textAlign:"left",textDecorationStyle:"dotted",textUnderlineOffset:t.spacing(.75),color:t.palette.neutral.dark})),ze=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=a=>h(a.currentTarget),y=()=>h(null);return e(De,{children:g(I,{children:[e(Ve,{variant:"body2",onClick:m,children:"Preview diff"}),g(ee,{open:!!n,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:"Environments diff"}),e(Ge,{features:t})]})]})})},qe=t=>t.reduce((l,n)=>l+Object.values(n.environments).flatMap(h=>Object.keys(h)).length,0),Je={id:"name"},{value:X,setValue:Qe}=te("AdvancedPlaygroundResultsTable:v1",Je),Ke=({features:t,input:l,loading:n})=>{const{trackEvent:h}=ge();t&&h("playground",{props:{eventType:"number-of-combinations",count:qe(t)}});const[m,y]=ne(),P=ye(n),[a,R]=d.useState(m.get("search")||""),s=B(),o=Y(s.breakpoints.down("md")),i=t&&t.length>0?Object.keys(t[0].environments).length:0,c=d.useMemo(()=>{var S;return[{Header:"Name",accessor:"name",searchable:!0,minWidth:160,Cell:({value:b,row:{original:k}})=>e(Q,{title:b,to:`/projects/${k==null?void 0:k.projectId}/features/${b}`})},{Header:"Project ID",accessor:"projectId",sortType:"alphanumeric",filterName:"projectId",searchable:!0,minWidth:150,Cell:({value:b})=>e(Q,{title:b,to:`/projects/${b}`})},...((S=l==null?void 0:l.environments)==null?void 0:S.map(b=>({Header:n?()=>"":q(b),maxWidth:140,id:`environments.${b}`,align:"flex-start",Cell:({row:k})=>e(Me,{value:k.original.environments[b]})})))||[],...i>1?[{Header:"Diff",minWidth:150,id:"diff",align:"left",Cell:({row:b})=>e(ze,{value:b.original.environments})}]:[]]},[l]),{data:u,getSearchText:v,getSearchContext:p}=be(c,a,t||[]),f=d.useMemo(()=>n?Array(5).fill({name:"Feature name",projectId:"Feature Project",environments:{name:"Feature Environments",variants:[]},enabled:!0}):u,[u,n]),[T]=d.useState(()=>({sortBy:[{id:m.get("sort")||X.id,desc:m.has("order")?m.get("order")==="desc":X.desc}]})),{headerGroups:x,rows:A,state:{sortBy:F},prepareRow:N,setHiddenColumns:L}=C.useTable({initialState:T,columns:c,data:f,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:G}},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);return Z([{condition:o,columns:["projectId"]}],L,c),d.useEffect(()=>{if(n)return;const S=Object.fromEntries(m);S.sort=F[0].id,F[0].desc?S.order="desc":S.order&&delete S.order,a?S.search=a:delete S.search,y(S,{replace:!0}),Qe({id:F[0].id,desc:F[0].desc||!1})},[n,F,a]),g(I,{children:[g(w,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[e(z,{variant:"subtitle1",sx:{ml:1},children:t!==void 0&&!n?`Results (${A.length<f.length?`${A.length} of ${f.length}`:f.length})`:"Results"}),e(ve,{initialValue:a,onChange:R,hasFilters:!0,getSearchContext:p,disabled:n,containerStyles:{marginLeft:"1rem",maxWidth:"400px"}})]}),e(E,{condition:!n&&!f,show:()=>e(W,{children:f===void 0?"None of the feature toggles were evaluated yet.":"No results found."}),elseShow:()=>g(w,{ref:P,sx:{overflow:"auto"},children:[e(xe,{value:v(a),children:e(V,{rows:A,headerGroups:x,prepareRow:N})}),e(E,{condition:f.length===0&&(a==null?void 0:a.length)>0,show:g(W,{children:["No feature toggles found matching “",a,"”"]})}),e(E,{condition:f&&f.length===0&&!a,show:e(W,{children:"No features toggles to display"})})]})})]})},Xe=O(Se)(({theme:t})=>({marginBottom:t.spacing(3)})),tt=({FormComponent:t=$e})=>{const l={projects:[],environments:[]},{value:n,setValue:h}=te("AdvancedPlayground:v1",l),{environments:m}=Ce(),y=B(),P=!0,[a,R]=d.useState(),[s,o]=d.useState(n.environments),[i,c]=d.useState(n.projects),[u,v]=d.useState(n.context),[p,f]=d.useState(),{setToastData:T}=Pe(),[x,A]=ne(),F=Array.from(x.entries()).length,{evaluateAdvancedPlayground:N,loading:L}=He(),[S,b]=d.useState(!1);d.useEffect(()=>{(s==null?void 0:s.length)===0&&o([Te(m)])},[JSON.stringify(s),JSON.stringify(m)]),d.useEffect(()=>{F>0&&k()},[]);const k=()=>{try{const r=re(),j=ae(),$=le();(async()=>{r&&$&&await J(r||[],j||"*",$)})()}catch(r){T({type:"error",title:`Failed to parse URL parameters: ${M(r)}`})}},re=()=>{let r=null;const j=x.get("environments");return j&&(r=j.split(","),o(r)),r},ae=()=>{let r=null,j=x.get("projects");return j&&(r=j.split(","),c(r)),r},le=()=>{let r=x.get("context");return r&&(r=decodeURI(r),v(r)),r},J=async(r,j,$,U)=>{try{R(void 0);const H=JSON.parse($||"{}"),me=await N({environments:Ae(r),projects:Be(j),context:{appName:"playground",...H}});U&&typeof U=="function"&&U(),f(me)}catch(H){H instanceof Re?R(H.message):H instanceof SyntaxError?T({type:"error",title:`Error parsing context: ${M(H)}`}):T({type:"error",title:M(H)})}},ie=async r=>{r.preventDefault(),b(!0),await J(s,i,u,()=>{ce(),h({environments:s,projects:i,context:u})})},ce=()=>{x.set("context",encodeURI(u||"")),Array.isArray(s)&&s.length>0&&!(s.length===1&&s[0]==="*")?x.set("environments",s.join(",")):x.delete("projects"),Array.isArray(i)&&i.length>0&&!(i.length===1&&i[0]==="*")?x.set("projects",i.join(",")):x.delete("projects"),A(x)},de=p&&!P?"35%":"auto",ue=Ue(P,p);return e(je,{header:e(Ee,{title:"Unleash playground",actions:e(Oe,{})}),disableLoading:!0,bodyClass:"no-padding",children:g(w,{sx:{display:"flex",flexDirection:"column"},children:[e(w,{sx:{background:y.palette.background.elevation2,borderBottomLeftRadius:y.shape.borderRadiusMedium},children:e(we,{elevation:0,sx:{px:4,py:3,mb:4,mt:2,background:y.palette.background.elevation2,transition:"width 0.4s ease",minWidth:"auto",width:de,position:"sticky",top:0},children:e(t,{onSubmit:ie,context:u,setContext:v,availableEnvironments:m,projects:i,environments:s,setProjects:c,setEnvironments:o})})}),g(w,{sx:r=>({width:ue,transition:"width 0.4s ease",padding:r.spacing(4,2)}),children:[e(E,{condition:!!a,show:e(Xe,{severity:"warning",children:a})}),e(E,{condition:L,show:e(Fe,{}),elseShow:g(I,{children:[e(E,{condition:!!p,show:e(Ke,{loading:L,features:p==null?void 0:p.features,input:p==null?void 0:p.input})}),e(E,{condition:!p&&!S,show:e(Le,{})})]})})]})]})})};export{tt as AdvancedPlayground,tt as default};
@@ -1,4 +1,4 @@
1
- import{m as k,ar as R,a6 as w,as as O,z as U,at as D,au as J,j as e,av as b,aw as x,ax as B,ay as F,az as L,n as z,aA as K}from"./index-6c460833.js";const $="CREATE_PROJECT_BTN",H=()=>{const{setToastData:n,setToastApiError:i}=k(),{refetchUser:d}=R(),{uiConfig:l}=w(),t=O(),{trackEvent:u}=U(),{projectId:a,projectName:j,projectMode:p,projectDesc:m,setProjectId:P,setProjectName:C,setProjectDesc:T,getProjectPayload:o,clearErrors:r,validateProjectId:s,validateName:h,setProjectStickiness:E,setProjectMode:f,projectStickiness:c,errors:g}=D(),{createProject:A,loading:_}=J();return e(b,{loading:_,title:"Create project",description:"Projects allows you to group feature toggles together in the management UI.",documentationLink:"https://docs.getunleash.io/reference/projects",documentationLinkLabel:"Projects documentation",formatApiCode:()=>`curl --location --request POST '${l.unleashUrl}/api/admin/projects' \\
1
+ import{m as k,ar as R,a6 as w,as as O,z as U,at as D,au as J,j as e,av as b,aw as x,ax as B,ay as F,az as L,n as z,aA as K}from"./index-6d9a536e.js";const $="CREATE_PROJECT_BTN",H=()=>{const{setToastData:n,setToastApiError:i}=k(),{refetchUser:d}=R(),{uiConfig:l}=w(),t=O(),{trackEvent:u}=U(),{projectId:a,projectName:j,projectMode:p,projectDesc:m,setProjectId:P,setProjectName:C,setProjectDesc:T,getProjectPayload:o,clearErrors:r,validateProjectId:s,validateName:h,setProjectStickiness:E,setProjectMode:f,projectStickiness:c,errors:g}=D(),{createProject:A,loading:_}=J();return e(b,{loading:_,title:"Create project",description:"Projects allows you to group feature toggles together in the management UI.",documentationLink:"https://docs.getunleash.io/reference/projects",documentationLinkLabel:"Projects documentation",formatApiCode:()=>`curl --location --request POST '${l.unleashUrl}/api/admin/projects' \\
2
2
  --header 'Authorization: INSERT_API_KEY' \\
3
3
  --header 'Content-Type: application/json' \\
4
4
  --data-raw '${JSON.stringify(o(),void 0,2)}'`,children:e(x,{errors:g,handleSubmit:async N=>{N.preventDefault(),r();const v=h(),y=await s();if(v&&y){const S=o();try{await A(S),d(),t(`/projects/${a}`),n({title:"Project created",text:"Now you can add toggles to this project",confetti:!0,type:"success"}),c!==L&&u("project_stickiness_set")}catch(I){i(z(I))}}},handleCancel:()=>{t(K)},projectId:a,setProjectId:P,projectName:j,projectMode:p,projectStickiness:c,setProjectStickiness:E,setProjectMode:f,setProjectName:C,projectDesc:m,setProjectDesc:T,mode:"Create",clearErrors:r,validateProjectId:s,children:e(B,{name:"project",permission:F,"data-testid":$})})})};export{H as default};
@@ -1 +1 @@
1
- import{E as r,j as o}from"./index-6c460833.js";const a=r(o("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");export{a as E};
1
+ import{E as r,j as o}from"./index-6d9a536e.js";const a=r(o("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");export{a as E};
@@ -1,10 +1,10 @@
1
- import{E as ie,j as r,b as ce,aI as Y,a_ as Z,h as C,bb as W,C as U,A as we,T as O,ca as Ae,t as j,fx as xe,bh as Re,fy as X,as as J,a6 as ee,fz as ke,fA as Fe,fB as De,fC as Pe,bv as G,fD as $e,ai as Oe,fE as Be,fF as N,cl as le,r as w,au as ue,m as z,fG as de,z as ge,fH as he,av as fe,a$ as pe,br as qe,fI as _e,n as B,dp as Le,b0 as Ue,aZ as me,aJ as Q,b2 as ye,fJ as je,fK as Ve,fL as Ie,fM as ze,fN as Ye,fO as We,b3 as be,bc as He,fP as Me,F as K,aN as ne,B as Ge,v as Je,bR as te,fQ as Ke,ej as Ne,fR as Qe,fS as Ze,fT as Xe,be as et,bf as tt,bg as at,am as Se,al as ve,bU as st,cc as nt,df as rt,$ as ot,fU as it,de as ct,a8 as lt,bP as ut,aU as dt,aS as gt,aT as ht}from"./index-6c460833.js";const ft=ie(r("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"}),"Cloud"),zt=ie(r("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater"),Yt=({enabled:e,className:s})=>{const t=ce(),i=e?"Environment enabled":"Environment disabled",a={backgroundColor:e?t.palette.primary.light:t.palette.neutral.border,borderRadius:"50%",width:"28px",height:"28px",minWidth:"28px",display:"flex",alignItems:"center",justifyContent:"center",marginRight:t.spacing(1)},n={fill:t.palette.common.white,width:"16px",height:"16px"};return r("div",{style:a,className:s,children:r(ft,{style:n,titleAccess:i})})},pt=({isOpen:e,onConfirm:s,onClose:t,showBanner:i,environment:a,messageComponent:n})=>{const o=Y("projectId"),{data:d}=Z(o),{changeRequestInReviewOrApproved:f,alert:h}=Ae(d),l=f(a||"");return C(W,{open:e,primaryButtonText:l?"Add to existing change request":"Add suggestion to draft",secondaryButtonText:"Cancel",onClick:s,onClose:t,title:"Request changes",fullWidth:!0,children:[r(U,{condition:l,show:h}),r(U,{condition:!!i,show:C(we,{severity:"info",sx:{mb:2},children:["Change requests feature is enabled for ",a,". Your changes need to be approved before they will be live. All the changes you do now will be added into a draft that you can submit for review."]})}),r(O,{variant:"body2",color:"text.secondary",children:"Your suggestion:"}),n]})},mt=(e,s)=>{const t={};return s.parameters.forEach(i=>{t[i.name]=yt(e,i)}),{name:s.name,constraints:[],parameters:t}},yt=(e,s)=>s.name==="rollout"||s.name==="percentage"||s.type==="percentage"?"50":s.name==="stickiness"?"":s.name==="groupId"?e:s.type==="boolean"?"false":"",bt=j("form")(({theme:e})=>({display:"grid",gap:e.spacing(2)})),re=j("hr")(({theme:e})=>({width:"100%",height:"1px",margin:e.spacing(2,0),border:"none",background:e.palette.background.elevation2})),St=j("div")(({theme:e})=>({display:"flex",justifyContent:"end",gap:e.spacing(2),paddingBottom:e.spacing(10)})),vt=({projectId:e,environmentId:s,permission:t,onSubmit:i,onCancel:a,loading:n,strategy:o,setStrategy:d,segments:f,setSegments:h,errors:l})=>{const S=xe(o.constraints),c=Re(t,e,s),{strategyDefinition:u}=X(o==null?void 0:o.name),m=J(),{uiConfig:g,error:v,loading:x}=ee();if(v)throw v;if(x||!u)return null;const D=p=>u.parameters.find(E=>E.name===p),A=(p,E)=>{const F=D(p);if(p!=="groupId"){const T=Be(F,E);return T?(l.setFormError(p,T),!1):(l.removeFormError(p),!0)}return!0},y=()=>u.parameters.map(p=>p.name).map(p=>{var E;return A(p,(E=o.parameters)==null?void 0:E[p])}).every(Boolean),q=()=>{m(`/projects/${e}/settings/default-strategy`)};return C(bt,{onSubmit:async p=>{if(p.preventDefault(),y())i();else return},children:[r(ke,{title:o.title||"",setTitle:p=>{d(E=>({...E,title:p}))}}),r(U,{condition:!!g.flags.SE,show:r(Fe,{segments:f,setSegments:h,projectId:e})}),r(De,{projectId:e,environmentId:s,strategy:o,setStrategy:d}),r(re,{}),r(Pe,{strategy:o,strategyDefinition:u,setStrategy:d,validateParameter:A,errors:l,hasAccess:c}),r(re,{}),C(St,{children:[r(G,{permission:t,projectId:e,environmentId:s,variant:"contained",color:"primary",type:"submit",disabled:n||!S||l.hasFormErrors(),"data-testid":$e,children:"Save strategy"}),r(Oe,{type:"button",color:"primary",onClick:a||q,disabled:n,children:"Cancel"})]})]})},Te={name:"flexibleRollout",constraints:[],parameters:{rollout:"100",stickiness:"default",groupId:""}},Wt=()=>{var F;const e=Y("projectId"),s=N("environmentId"),{project:t,refetch:i}=le(e),a=(F=t.environments.find(T=>T.environment===s))==null?void 0:F.defaultStrategy,[n,o]=w.useState(a||Te),[d,f]=w.useState([]),{updateDefaultStrategy:h,loading:l}=ue(),{strategyDefinition:S}=X(n==null?void 0:n.name),{setToastData:c,setToastApiError:u}=z(),m=de(),{uiConfig:g}=ee(),{unleashUrl:v}=g,x=J(),{trackEvent:D}=ge(),{segments:A,refetchSegments:y}=he();w.useEffect(()=>{if(A&&(a!=null&&a.segments)){const T=[];for(const P of a==null?void 0:a.segments)T.push(...A.filter(V=>V.id===P));f(T)}},[JSON.stringify(A),JSON.stringify(a==null?void 0:a.segments)]);const q=g!=null&&g.flags.SE?d:[],k=Tt(n,q),p=async T=>{await h(e,s,T),D("default_strategy",{props:{action:"edit",hasTitle:!!T.title}}),await y(),c({title:"Default Strategy updated",type:"success",confetti:!0})},E=async()=>{const T=`/projects/${e}/settings/default-strategy`;try{await p(k),await i(),x(T)}catch(P){u(B(P))}};return!S||!n?null:r(fe,{modal:!0,title:pe((n==null?void 0:n.name)??""),description:Et,documentationLink:wt,documentationLinkLabel:At,formatApiCode:()=>Ct(e,s,k,S,v),children:r(vt,{projectId:e,strategy:n,setStrategy:o,segments:d,setSegments:f,environmentId:s,onSubmit:E,loading:l,permission:qe,errors:m,isChangeRequest:!1})})},Tt=(e,s)=>({name:e.name,title:e.title,constraints:e.constraints??[],parameters:e.parameters??{},segments:s.map(t=>t.id),disabled:e.disabled??!1}),Ct=(e,s,t,i,a)=>{if(!a)return"";const n={...t,parameters:_e(t.parameters??{},i)},o=`${a}/api/admin/projects/${e}/environments/${s}/default-strategy}`,d=JSON.stringify(n,void 0,2);return`curl --location --request PUT '${o}' \\
1
+ import{E as ie,j as r,b as ce,aI as Y,a_ as Z,h as C,bb as W,C as U,A as we,T as O,ca as Ae,t as j,fx as xe,bh as Re,fy as X,as as J,a6 as ee,fz as ke,fA as Fe,fB as De,fC as Pe,bv as G,fD as $e,ai as Oe,fE as Be,fF as N,cl as le,r as w,au as ue,m as z,fG as de,z as ge,fH as he,av as fe,a$ as pe,br as qe,fI as _e,n as B,dp as Le,b0 as Ue,aZ as me,aJ as Q,b2 as ye,fJ as je,fK as Ve,fL as Ie,fM as ze,fN as Ye,fO as We,b3 as be,bc as He,fP as Me,F as K,aN as ne,B as Ge,v as Je,bR as te,fQ as Ke,ej as Ne,fR as Qe,fS as Ze,fT as Xe,be as et,bf as tt,bg as at,am as Se,al as ve,bU as st,cc as nt,df as rt,$ as ot,fU as it,de as ct,a8 as lt,bP as ut,aU as dt,aS as gt,aT as ht}from"./index-6d9a536e.js";const ft=ie(r("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"}),"Cloud"),zt=ie(r("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater"),Yt=({enabled:e,className:s})=>{const t=ce(),i=e?"Environment enabled":"Environment disabled",a={backgroundColor:e?t.palette.primary.light:t.palette.neutral.border,borderRadius:"50%",width:"28px",height:"28px",minWidth:"28px",display:"flex",alignItems:"center",justifyContent:"center",marginRight:t.spacing(1)},n={fill:t.palette.common.white,width:"16px",height:"16px"};return r("div",{style:a,className:s,children:r(ft,{style:n,titleAccess:i})})},pt=({isOpen:e,onConfirm:s,onClose:t,showBanner:i,environment:a,messageComponent:n})=>{const o=Y("projectId"),{data:u}=Z(o),{changeRequestInReviewOrApproved:f,alert:g}=Ae(u),l=f(a||"");return C(W,{open:e,primaryButtonText:l?"Add to existing change request":"Add suggestion to draft",secondaryButtonText:"Cancel",onClick:s,onClose:t,title:"Request changes",fullWidth:!0,children:[r(U,{condition:l,show:g}),r(U,{condition:!!i,show:C(we,{severity:"info",sx:{mb:2},children:["Change requests feature is enabled for ",a,". Your changes need to be approved before they will be live. All the changes you do now will be added into a draft that you can submit for review."]})}),r(O,{variant:"body2",color:"text.secondary",children:"Your suggestion:"}),n]})},mt=(e,s)=>{const t={};return s.parameters.forEach(i=>{t[i.name]=yt(e,i)}),{name:s.name,constraints:[],parameters:t}},yt=(e,s)=>s.name==="rollout"||s.name==="percentage"||s.type==="percentage"?"50":s.name==="stickiness"?"":s.name==="groupId"?e:s.type==="boolean"?"false":"",bt=j("form")(({theme:e})=>({display:"grid",gap:e.spacing(2)})),re=j("hr")(({theme:e})=>({width:"100%",height:"1px",margin:e.spacing(2,0),border:"none",background:e.palette.background.elevation2})),St=j("div")(({theme:e})=>({display:"flex",justifyContent:"end",gap:e.spacing(2),paddingBottom:e.spacing(10)})),vt=({projectId:e,environmentId:s,permission:t,onSubmit:i,onCancel:a,loading:n,strategy:o,setStrategy:u,segments:f,setSegments:g,errors:l})=>{const S=xe(o.constraints),c=Re(t,e,s),{strategyDefinition:d}=X(o==null?void 0:o.name),m=J(),{uiConfig:h,error:v,loading:x}=ee();if(v)throw v;if(x||!d)return null;const D=p=>d.parameters.find(E=>E.name===p),A=(p,E)=>{const F=D(p);if(p!=="groupId"){const T=Be(F,E);return T?(l.setFormError(p,T),!1):(l.removeFormError(p),!0)}return!0},y=()=>d.parameters.map(p=>p.name).map(p=>{var E;return A(p,(E=o.parameters)==null?void 0:E[p])}).every(Boolean),q=()=>{m(`/projects/${e}/settings/default-strategy`)};return C(bt,{onSubmit:async p=>{if(p.preventDefault(),y())i();else return},children:[r(ke,{title:o.title||"",setTitle:p=>{u(E=>({...E,title:p}))}}),r(U,{condition:!!h.flags.SE,show:r(Fe,{segments:f,setSegments:g,projectId:e})}),r(De,{projectId:e,environmentId:s,strategy:o,setStrategy:u}),r(re,{}),r(Pe,{strategy:o,strategyDefinition:d,setStrategy:u,validateParameter:A,errors:l,hasAccess:c}),r(re,{}),C(St,{children:[r(G,{permission:t,projectId:e,environmentId:s,variant:"contained",color:"primary",type:"submit",disabled:n||!S||l.hasFormErrors(),"data-testid":$e,children:"Save strategy"}),r(Oe,{type:"button",color:"primary",onClick:a||q,disabled:n,children:"Cancel"})]})]})},Te={name:"flexibleRollout",constraints:[],parameters:{rollout:"100",stickiness:"default",groupId:""}},Wt=()=>{var F;const e=Y("projectId"),s=N("environmentId"),{project:t,refetch:i}=le(e),a=(F=t.environments.find(T=>T.environment===s))==null?void 0:F.defaultStrategy,[n,o]=w.useState(a||Te),[u,f]=w.useState([]),{updateDefaultStrategy:g,loading:l}=ue(),{strategyDefinition:S}=X(n==null?void 0:n.name),{setToastData:c,setToastApiError:d}=z(),m=de(),{uiConfig:h}=ee(),{unleashUrl:v}=h,x=J(),{trackEvent:D}=ge(),{segments:A,refetchSegments:y}=he();w.useEffect(()=>{if(A&&(a!=null&&a.segments)){const T=[];for(const P of a==null?void 0:a.segments)T.push(...A.filter(V=>V.id===P));f(T)}},[JSON.stringify(A),JSON.stringify(a==null?void 0:a.segments)]);const q=h!=null&&h.flags.SE?u:[],k=Tt(n,q),p=async T=>{await g(e,s,T),D("default_strategy",{props:{action:"edit",hasTitle:!!T.title}}),await y(),c({title:"Default Strategy updated",type:"success",confetti:!0})},E=async()=>{const T=`/projects/${e}/settings/default-strategy`;try{await p(k),await i(),x(T)}catch(P){d(B(P))}};return!S||!n?null:r(fe,{modal:!0,title:pe((n==null?void 0:n.name)??""),description:Et,documentationLink:wt,documentationLinkLabel:At,formatApiCode:()=>Ct(e,s,k,S,v),children:r(vt,{projectId:e,strategy:n,setStrategy:o,segments:u,setSegments:f,environmentId:s,onSubmit:E,loading:l,permission:qe,errors:m,isChangeRequest:!1})})},Tt=(e,s)=>({name:e.name,title:e.title,constraints:e.constraints??[],parameters:e.parameters??{},segments:s.map(t=>t.id),disabled:e.disabled??!1}),Ct=(e,s,t,i,a)=>{if(!a)return"";const n={...t,parameters:_e(t.parameters??{},i)},o=`${a}/api/admin/projects/${e}/environments/${s}/default-strategy}`,u=JSON.stringify(n,void 0,2);return`curl --location --request PUT '${o}' \\
2
2
  --header 'Authorization: INSERT_API_KEY' \\
3
3
  --header 'Content-Type: application/json' \\
4
- --data-raw '${d}'`},Et=`
4
+ --data-raw '${u}'`},Et=`
5
5
  An activation strategy will only run when a feature toggle is enabled and provides a way to control who will get access to the feature.
6
6
  If any of a feature toggle's activation strategies returns true, the user will get access.
7
- `,wt="https://docs.getunleash.io/reference/activation-strategies",At="Default strategy documentation",Ht=()=>{var se;const e=Y("projectId"),s=Y("featureId"),t=N("environmentId"),i=N("strategyName"),a=JSON.parse(Le().get("defaultStrategy")||"false"),{project:n}=le(e),o=(se=n.environments.find(R=>R.environment===t))==null?void 0:se.defaultStrategy,{segments:d}=he(),f=(d||[]).filter(R=>{var L;return(L=o==null?void 0:o.segments)==null?void 0:L.includes(R.id)}),[h,l]=w.useState({}),[S,c]=w.useState(a?f:[]),{strategyDefinition:u}=X(i),m=de(),{addStrategyToFeature:g,loading:v}=Ue(),{addChange:x}=me(),{setToastData:D,setToastApiError:A}=z(),{uiConfig:y}=ee(),{unleashUrl:q}=y,k=J(),{feature:p,refetchFeature:E}=Q(e,s),F=w.useRef(p),{isChangeRequestConfigured:T}=ye(e),{refetch:P}=Z(e),{trackEvent:V}=ge(),{data:I,staleDataNotification:b,forceRefreshCache:$}=je({unleashGetter:Q,params:[e,s],dataKey:"feature",refetchFunctionKey:"refetchFeature",options:{}},p,{afterSubmitAction:E},Me);w.useEffect(()=>{F.current.name===""&&p.name&&($(p),F.current=p)},[p.name]),w.useEffect(()=>{var R;if(a){const L=o||Te;((R=L.parameters)==null?void 0:R.groupId)===""&&s?l({...L,parameters:{...L.parameters,groupId:s}}):l(L)}else u&&l(mt(s,u))},[s,JSON.stringify(u),a]);const H=async R=>{await g(e,s,t,R),D({title:"Strategy created",type:"success",confetti:!0})},M=async R=>{await x(e,t,{action:"addStrategy",feature:s,payload:R}),D({title:"Strategy added to draft",type:"success",confetti:!0}),P()},_=Ve(h,S),Ee=async()=>{V("strategyTitle",{props:{hasTitle:!!h.title,on:"create"}});try{T(t)?await M(_):await H(_),E(),k(He(e,s))}catch(R){A(B(R))}};return!I||!I.project?null:C(fe,{modal:!0,title:pe(i),description:Ie,documentationLink:ze,documentationLinkLabel:Ye,formatApiCode:()=>Rt(e,s,t,_,q),children:[r(We,{projectId:e,feature:I,strategy:h,setStrategy:l,segments:S,setSegments:c,environmentId:t,onSubmit:Ee,loading:v,permission:be,errors:m,isChangeRequest:T(t)}),b]})},xt=(e,s,t,i,a=!1)=>{const n=new URLSearchParams({environmentId:t,strategyName:i,defaultStrategy:String(a)});return`/projects/${e}/features/${s}/strategies/create?${n}`},Rt=(e,s,t,i,a)=>{if(!a)return"";const n=`${a}/api/admin/projects/${e}/features/${s}/environments/${t}/strategies`,o=JSON.stringify(i,void 0,2);return`curl --location --request POST '${n}' \\
7
+ `,wt="https://docs.getunleash.io/reference/activation-strategies",At="Default strategy documentation",Ht=()=>{var se;const e=Y("projectId"),s=Y("featureId"),t=N("environmentId"),i=N("strategyName"),a=JSON.parse(Le().get("defaultStrategy")||"false"),{project:n}=le(e),o=(se=n.environments.find(R=>R.environment===t))==null?void 0:se.defaultStrategy,{segments:u}=he(),f=(u||[]).filter(R=>{var L;return(L=o==null?void 0:o.segments)==null?void 0:L.includes(R.id)}),[g,l]=w.useState({}),[S,c]=w.useState(a?f:[]),{strategyDefinition:d}=X(i),m=de(),{addStrategyToFeature:h,loading:v}=Ue(),{addChange:x}=me(),{setToastData:D,setToastApiError:A}=z(),{uiConfig:y}=ee(),{unleashUrl:q}=y,k=J(),{feature:p,refetchFeature:E}=Q(e,s),F=w.useRef(p),{isChangeRequestConfigured:T}=ye(e),{refetch:P}=Z(e),{trackEvent:V}=ge(),{data:I,staleDataNotification:b,forceRefreshCache:$}=je({unleashGetter:Q,params:[e,s],dataKey:"feature",refetchFunctionKey:"refetchFeature",options:{}},p,{afterSubmitAction:E},Me);w.useEffect(()=>{F.current.name===""&&p.name&&($(p),F.current=p)},[p.name]),w.useEffect(()=>{var R;if(a){const L=o||Te;((R=L.parameters)==null?void 0:R.groupId)===""&&s?l({...L,parameters:{...L.parameters,groupId:s}}):l(L)}else d&&l(mt(s,d))},[s,JSON.stringify(d),a]);const H=async R=>{await h(e,s,t,R),D({title:"Strategy created",type:"success",confetti:!0})},M=async R=>{await x(e,t,{action:"addStrategy",feature:s,payload:R}),D({title:"Strategy added to draft",type:"success",confetti:!0}),P()},_=Ve(g,S),Ee=async()=>{V("strategyTitle",{props:{hasTitle:!!g.title,on:"create"}});try{T(t)?await M(_):await H(_),E(),k(He(e,s))}catch(R){A(B(R))}};return!I||!I.project?null:C(fe,{modal:!0,title:pe(i),description:Ie,documentationLink:ze,documentationLinkLabel:Ye,formatApiCode:()=>Rt(e,s,t,_,q),children:[r(We,{projectId:e,feature:I,strategy:g,setStrategy:l,segments:S,setSegments:c,environmentId:t,onSubmit:Ee,loading:v,permission:be,errors:m,isChangeRequest:T(t)}),b]})},xt=(e,s,t,i,a=!1)=>{const n=new URLSearchParams({environmentId:t,strategyName:i,defaultStrategy:String(a)});return`/projects/${e}/features/${s}/strategies/create?${n}`},Rt=(e,s,t,i,a)=>{if(!a)return"";const n=`${a}/api/admin/projects/${e}/features/${s}/environments/${t}/strategies`,o=JSON.stringify(i,void 0,2);return`curl --location --request POST '${n}' \\
8
8
  --header 'Authorization: INSERT_API_KEY' \\
9
9
  --header 'Content-Type: application/json' \\
10
- --data-raw '${o}'`},oe=j("p")(({theme:e})=>({marginBottom:e.spacing(.5),fontSize:e.fontSizes.bodySize})),Mt=({open:e,environmentName:s,featureId:t,projectId:i,onClose:a})=>{const n=J(),o=xt(i,t,s,"default");return C(W,{open:e,maxWidth:"sm",onClose:()=>a(),title:"You need to add a strategy to your toggle",primaryButtonText:"Take me directly to add strategy",permissionButton:r(G,{type:"button",permission:be,projectId:i,environmentId:s,onClick:()=>{a(),n(o)},children:"Take me directly to add strategy"}),secondaryButtonText:"Cancel",children:[r(oe,{children:"Before you can enable the toggle in the environment, you need to add an activation strategy."}),r(oe,{children:"You can add the activation strategy by selecting the toggle, open the environment accordion and add the activation strategy."})]})},kt="You can not enable the environment before it has strategies",Ft=e=>{const{setToastData:s,setToastApiError:t}=z(),{addChange:i}=me(),{refetch:a}=Z(e),[n,o]=w.useState({isOpen:!1}),d=w.useCallback((l,S,c,u)=>{o({featureName:l,environment:S,enabled:c,shouldActivateDisabledStrategies:u,isOpen:!0})},[]),f=w.useCallback(()=>{o(l=>({...l,isOpen:!1}))},[]),h=w.useCallback(async()=>{try{await i(e,n.environment,{feature:n.featureName,action:"updateEnabled",payload:{enabled:!!n.enabled,shouldActivateDisabledStrategies:!!n.shouldActivateDisabledStrategies}}),a(),o(l=>({...l,isOpen:!1})),s({type:"success",title:"Changes added to the draft!"})}catch(l){t(B(l)),o(S=>({...S,isOpen:!1}))}},[i]);return{onChangeRequestToggle:d,onChangeRequestToggleClose:f,onChangeRequestToggleConfirm:h,changeRequestDialogDetails:n}},Dt=({isOpen:e,onAddDefaultStrategy:s,onActivateDisabledStrategies:t,onClose:i,environment:a,disabledStrategiesCount:n=0})=>{const o=Y("projectId");return C(W,{open:e,secondaryButtonText:"Cancel",permissionButton:C(K,{children:[r(G,{type:"button",permission:ne,projectId:o,environmentId:a,onClick:s,children:"Add default strategy"}),r(G,{type:"button",variant:"text",permission:ne,projectId:o,environmentId:a,onClick:t,children:"Enable all strategies"})]}),onClose:i,title:"Enable feature toggle",fullWidth:!0,children:[C(O,{variant:"body1",color:"text.primary",sx:{mb:d=>d.spacing(2)},children:["The feature toggle has ",n," disabled",n===1?" strategy":" strategies","."]}),r(O,{variant:"body1",color:"text.primary",children:"You can choose to enable all the disabled strategies or you can add the default strategy to enable this feature toggle."})]})},Pt=({enabled:e,featureName:s,environment:t})=>C(O,{"data-testid":"update-enabled-message",children:[r("strong",{children:e?"Enable":"Disable"})," feature toggle"," ",r("strong",{children:s})," in ",r("strong",{children:t})]}),$t=j(Ge)(()=>({mx:"auto",...Je})),Gt=({projectId:e,featureId:s,environmentName:t,value:i,onToggle:a,onError:n})=>{var I;const{toggleFeatureEnvironmentOn:o,toggleFeatureEnvironmentOff:d}=te(),{setToastData:f,setToastApiError:h}=z(),{isChangeRequestConfigured:l}=ye(e),{onChangeRequestToggle:S,onChangeRequestToggleClose:c,onChangeRequestToggleConfirm:u,changeRequestDialogDetails:m}=Ft(e),[g,v,x]=Ke(i),[D,A]=w.useState(!1),{feature:y}=Q(e,s),q=((I=y==null?void 0:y.environments.find(b=>b.name===t))==null?void 0:I.strategies.filter(b=>b.disabled).length)??0,k=async(b=!1)=>{try{v(!g),await o(e,y.name,t,b),f({type:"success",title:`Available in ${t}`,text:`${y.name} is now available in ${t} based on its defined strategies.`}),a==null||a(e,y.name,t,!g)}catch($){$ instanceof Error&&$.message===kt?n==null||n():h(B($)),x()}},p=async()=>{try{v(!g),await d(e,y.name,t),f({type:"success",title:`Unavailable in ${t}`,text:`${y.name} is unavailable in ${t} and its strategies will no longer have any effect.`}),a==null||a(e,y.name,t,!g)}catch(b){h(B(b)),x()}},E=async b=>{if(l(t)){b.preventDefault(),P()?A(!0):S(y.name,t,!g,!1);return}if(g){await p();return}P()?A(!0):await k()},F=async()=>{l(t)?S(y.name,t,!g,!0):await k(!0),A(!1)},T=async()=>{l(t)?S(y.name,t,!g,!1):await k(),A(!1)},P=()=>{var $,H,M;const b=($=y==null?void 0:y.environments)==null?void 0:$.find(_=>_.name===t);return(b==null?void 0:b.strategies)&&((H=b==null?void 0:b.strategies)==null?void 0:H.length)>0&&((M=b==null?void 0:b.strategies)==null?void 0:M.every(_=>_.disabled))},V=`${y.name}-${t}`;return C(K,{children:[r($t,{"data-testid":`TOGGLE-${V}`,children:r(Ne,{tooltip:g?`Disable feature in ${t}`:`Enable feature in ${t}`,checked:g,environmentId:t,projectId:e,permission:Qe,inputProps:{"aria-label":t},onClick:E})},V),r(Dt,{isOpen:D,onClose:()=>A(!1),environment:t,disabledStrategiesCount:q,onActivateDisabledStrategies:F,onAddDefaultStrategy:T}),r(pt,{isOpen:m.isOpen,onClose:c,environment:m==null?void 0:m.environment,onConfirm:u,messageComponent:r(Pt,{enabled:m==null?void 0:m.enabled,featureName:m==null?void 0:m.featureName,environment:m.environment})})]})},Ot=j(Ze)(({theme:e})=>({color:e.palette.warning.main,fontSize:e.fontSizes.bodySize})),Jt=()=>r(Xe,{arrow:!0,title:C(K,{children:["This environment has no variants enabled. If you check this feature's variants in this environment, you will get the"," ",r("a",{href:"https://docs.getunleash.io/reference/feature-toggle-variants#the-disabled-variant",target:"_blank",rel:"noreferrer",children:"disabled variant"}),"."]}),children:r(Ot,{})});var ae={},Bt=tt;Object.defineProperty(ae,"__esModule",{value:!0});var Ce=ae.default=void 0,qt=Bt(et()),_t=at,Lt=(0,qt.default)((0,_t.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");Ce=ae.default=Lt;const Ut=it(),Kt=({options:e,selectedOptions:s,indeterminateOptions:t,tagType:i,existingTags:a,disabled:n=!1,onChange:o})=>{const d=r(ct,{fontSize:"small"});return r(Se,{multiple:!0,id:"checkboxes-tag",sx:{marginTop:c=>c.spacing(2),width:500},disableCloseOnSelect:!0,placeholder:"Select Values",options:e,value:s,renderTags:(c,u)=>c.map((m,g)=>a.some(x=>x.value===m.title&&x.type===i.name)&&t===void 0?null:r(ot,{...u({index:g}),label:m.title})),isOptionEqualToValue:(c,u)=>u.inputValue&&u.inputValue!==""?c.title===u.inputValue:c.title===u.title,getOptionLabel:c=>c.inputValue?c.inputValue:c.title,renderOption:(c,u,{selected:m})=>{const g=(t==null?void 0:t.some(v=>v.title===u.title))??!1;return C("li",{...c,children:[r(U,{condition:!!u.inputValue,show:r(st,{sx:{mr:v=>v.spacing(.5)}}),elseShow:r(nt,{icon:d,checkedIcon:r(rt,{fontSize:"small"}),indeterminateIcon:r(Ce,{fontSize:"small"}),sx:{mr:v=>v.spacing(.5)},checked:m&&!g,indeterminate:g})}),u.title]})},filterOptions:(c,u)=>{const m=Ut(c,u),{inputValue:g}=u,v=c.some(x=>g===x.title);return g!==""&&!v&&m.push({inputValue:g,title:`Create new value "${g}"`}),m},ListboxProps:{style:{maxHeight:200,overflow:"auto"}},onChange:o,renderInput:c=>r(ve,{...c,label:"Select values",placeholder:"Select values"}),disabled:n})},jt=j("li")({flexDirection:"column"}),Nt=({options:e,value:s,disabled:t=!1,onChange:i})=>{const a=ce();return r(Se,{disablePortal:!0,disabled:t,id:"tag-type-select",sx:{marginTop:n=>n.spacing(2),width:500},options:e,disableClearable:!0,value:s,getOptionLabel:n=>n.name,renderOption:(n,o)=>C(jt,{...n,style:{alignItems:"flex-start",gap:a.spacing(.5)},children:[r(O,{variant:"body1",children:o.name}),r(O,{variant:"caption",children:o.description})]}),renderInput:n=>r(ve,{...n,label:"Tag type",value:s}),onChange:i,ListboxProps:{style:{maxHeight:200,overflow:"auto"}}})},Qt=()=>{const{makeRequest:e,createRequest:s,errors:t,loading:i}=lt({propagateErrors:!0});return{createTag:async o=>{const f=s("api/admin/tags",{method:"POST",body:JSON.stringify(o)});try{return await e(f.caller,f.id)}catch(h){throw h}},bulkUpdateTags:async o=>{const f=s("api/admin/tags/features",{method:"PUT",body:JSON.stringify(o)});try{return await e(f.caller,f.id)}catch(h){throw h}},errors:t,loading:i}},Zt=(e,s={})=>{const t=async()=>{const h=gt(`api/admin/tags/${e}`);return(await fetch(h,{method:"GET"}).then(ht("Tags"))).json()},i=`api/admin/tags/${e}`,{data:a,error:n}=ut(!!e,{tags:[]},i,t,s),[o,d]=w.useState(!n&&!a),f=()=>{dt(i)};return w.useEffect(()=>{d(!n&&!a)},[a,n]),{tags:(a==null?void 0:a.tags)||[],error:n,loading:o,refetch:f}},Xt=({isStale:e,isOpen:s,projectId:t,featureId:i,onClose:a})=>{const{setToastData:n,setToastApiError:o}=z(),{patchFeatureToggle:d}=te(),f=r(O,{children:"Setting a toggle to stale marks it for cleanup"}),h=r(O,{children:"Setting a toggle to active marks it as in active use"}),l=e?"active":"stale",S=async c=>{c.stopPropagation();try{await d(t,i,[{op:"replace",path:"/stale",value:!e}]),a()}catch(u){o(B(u))}n(e?{type:"success",title:"And we're back!",text:"The toggle is no longer marked as stale."}:{type:"success",title:"A job well done.",text:"The toggle has been marked as stale."})};return r(W,{open:s,secondaryButtonText:"Cancel",primaryButtonText:`Flip to ${l}`,title:`Set feature state to ${l}`,onClick:S,onClose:a,children:r(U,{condition:e,show:h,elseShow:f})})},ea=({isOpen:e,onClose:s,onConfirm:t,projectId:i,featureIds:a})=>{const{archiveFeatureToggle:n}=te(),{archiveFeatures:o}=ue(),{setToastData:d,setToastApiError:f}=z(),h=(a==null?void 0:a.length)>1;return r(W,{onClick:h?async()=>{try{await o(i,a),d({text:"Selected feature toggles have been archived",type:"success",title:"Feature toggles archived"}),t(),s()}catch(c){f(B(c)),s()}}:async()=>{try{await n(i,a[0]),d({text:"Your feature toggle has been archived",type:"success",title:"Feature archived"}),t(),s()}catch(c){f(B(c)),s()}},open:e,onClose:s,primaryButtonText:h?"Archive toggles":"Archive toggle",secondaryButtonText:"Cancel",title:h?"Archive feature toggles":"Archive feature toggle",children:r(U,{condition:h,show:C(K,{children:[C("p",{children:["Are you sure you want to archive"," ",r("strong",{children:a==null?void 0:a.length})," feature toggles?"]}),r(U,{condition:(a==null?void 0:a.length)<=5,show:r("ul",{children:a==null?void 0:a.map(c=>r("li",{children:c},c))})})]}),elseShow:r("p",{children:"Are you sure you want to archive these feature toggles?"})})})};export{pt as C,Yt as E,Gt as F,Nt as T,Pt as U,Jt as V,zt as W,Mt as a,Zt as b,Kt as c,Ht as d,ea as e,xt as f,Xt as g,Ft as h,Wt as i,Qt as u};
10
+ --data-raw '${o}'`},oe=j("p")(({theme:e})=>({marginBottom:e.spacing(.5),fontSize:e.fontSizes.bodySize})),Mt=({open:e,environmentName:s,featureId:t,projectId:i,onClose:a})=>{const n=J(),o=xt(i,t,s,"default");return C(W,{open:e,maxWidth:"sm",onClose:()=>a(),title:"You need to add a strategy to your toggle",primaryButtonText:"Take me directly to add strategy",permissionButton:r(G,{type:"button",permission:be,projectId:i,environmentId:s,onClick:()=>{a(),n(o)},children:"Take me directly to add strategy"}),secondaryButtonText:"Cancel",children:[r(oe,{children:"Before you can enable the toggle in the environment, you need to add an activation strategy."}),r(oe,{children:"You can add the activation strategy by selecting the toggle, open the environment accordion and add the activation strategy."})]})},kt="You can not enable the environment before it has strategies",Ft=e=>{const{setToastData:s,setToastApiError:t}=z(),{addChange:i}=me(),{refetch:a}=Z(e),[n,o]=w.useState({isOpen:!1}),u=w.useCallback((l,S,c,d)=>{o({featureName:l,environment:S,enabled:c,shouldActivateDisabledStrategies:d,isOpen:!0})},[]),f=w.useCallback(()=>{o(l=>({...l,isOpen:!1}))},[]),g=w.useCallback(async()=>{try{await i(e,n.environment,{feature:n.featureName,action:"updateEnabled",payload:{enabled:!!n.enabled,shouldActivateDisabledStrategies:!!n.shouldActivateDisabledStrategies}}),a(),o(l=>({...l,isOpen:!1})),s({type:"success",title:"Changes added to the draft!"})}catch(l){t(B(l)),o(S=>({...S,isOpen:!1}))}},[i]);return{onChangeRequestToggle:u,onChangeRequestToggleClose:f,onChangeRequestToggleConfirm:g,changeRequestDialogDetails:n}},Dt=({isOpen:e,onAddDefaultStrategy:s,onActivateDisabledStrategies:t,onClose:i,environment:a,disabledStrategiesCount:n=0})=>{const o=Y("projectId");return C(W,{open:e,secondaryButtonText:"Cancel",permissionButton:C(K,{children:[r(G,{type:"button",permission:ne,projectId:o,environmentId:a,onClick:s,children:"Add default strategy"}),r(G,{type:"button",variant:"text",permission:ne,projectId:o,environmentId:a,onClick:t,children:"Enable all strategies"})]}),onClose:i,title:"Enable feature toggle",fullWidth:!0,children:[C(O,{variant:"body1",color:"text.primary",sx:{mb:u=>u.spacing(2)},children:["The feature toggle has ",n," disabled",n===1?" strategy":" strategies","."]}),r(O,{variant:"body1",color:"text.primary",children:"You can choose to enable all the disabled strategies or you can add the default strategy to enable this feature toggle."})]})},Pt=({enabled:e,featureName:s,environment:t})=>C(O,{"data-testid":"update-enabled-message",children:[r("strong",{children:e?"Enable":"Disable"})," feature toggle"," ",r("strong",{children:s})," in ",r("strong",{children:t})]}),$t=j(Ge)(()=>({mx:"auto",...Je})),Gt=({projectId:e,featureId:s,environmentName:t,value:i,onToggle:a,onError:n})=>{var I;const{toggleFeatureEnvironmentOn:o,toggleFeatureEnvironmentOff:u}=te(),{setToastData:f,setToastApiError:g}=z(),{isChangeRequestConfigured:l}=ye(e),{onChangeRequestToggle:S,onChangeRequestToggleClose:c,onChangeRequestToggleConfirm:d,changeRequestDialogDetails:m}=Ft(e),[h,v,x]=Ke(i),[D,A]=w.useState(!1),{feature:y}=Q(e,s),q=((I=y==null?void 0:y.environments.find(b=>b.name===t))==null?void 0:I.strategies.filter(b=>b.disabled).length)??0,k=async(b=!1)=>{try{v(!h),await o(e,y.name,t,b),f({type:"success",title:`Available in ${t}`,text:`${y.name} is now available in ${t} based on its defined strategies.`}),a==null||a(e,y.name,t,!h)}catch($){$ instanceof Error&&$.message===kt?n==null||n():g(B($)),x()}},p=async()=>{try{v(!h),await u(e,y.name,t),f({type:"success",title:`Unavailable in ${t}`,text:`${y.name} is unavailable in ${t} and its strategies will no longer have any effect.`}),a==null||a(e,y.name,t,!h)}catch(b){g(B(b)),x()}},E=async b=>{if(l(t)){b.preventDefault(),P()?A(!0):S(y.name,t,!h,!1);return}if(h){await p();return}P()?A(!0):await k()},F=async()=>{l(t)?S(y.name,t,!h,!0):await k(!0),A(!1)},T=async()=>{l(t)?S(y.name,t,!h,!1):await k(),A(!1)},P=()=>{var $,H,M;const b=($=y==null?void 0:y.environments)==null?void 0:$.find(_=>_.name===t);return(b==null?void 0:b.strategies)&&((H=b==null?void 0:b.strategies)==null?void 0:H.length)>0&&((M=b==null?void 0:b.strategies)==null?void 0:M.every(_=>_.disabled))},V=`${y.name}-${t}`;return C(K,{children:[r($t,{"data-testid":`TOGGLE-${V}`,children:r(Ne,{tooltip:h?`Disable feature in ${t}`:`Enable feature in ${t}`,checked:h,environmentId:t,projectId:e,permission:Qe,inputProps:{"aria-label":t},onClick:E})},V),r(Dt,{isOpen:D,onClose:()=>A(!1),environment:t,disabledStrategiesCount:q,onActivateDisabledStrategies:F,onAddDefaultStrategy:T}),r(pt,{isOpen:m.isOpen,onClose:c,environment:m==null?void 0:m.environment,onConfirm:d,messageComponent:r(Pt,{enabled:m==null?void 0:m.enabled,featureName:m==null?void 0:m.featureName,environment:m.environment})})]})},Ot=j(Ze)(({theme:e})=>({color:e.palette.warning.main,fontSize:e.fontSizes.bodySize})),Jt=()=>r(Xe,{arrow:!0,title:C(K,{children:["This environment has no variants enabled. If you check this feature's variants in this environment, you will get the"," ",r("a",{href:"https://docs.getunleash.io/reference/feature-toggle-variants#the-disabled-variant",target:"_blank",rel:"noreferrer",children:"disabled variant"}),"."]}),children:r(Ot,{})});var ae={},Bt=tt;Object.defineProperty(ae,"__esModule",{value:!0});var Ce=ae.default=void 0,qt=Bt(et()),_t=at,Lt=(0,qt.default)((0,_t.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");Ce=ae.default=Lt;const Ut=it(),Kt=({options:e,selectedOptions:s,indeterminateOptions:t,tagType:i,existingTags:a,disabled:n=!1,onChange:o})=>{const u=r(ct,{fontSize:"small"});return r(Se,{multiple:!0,id:"checkboxes-tag",sx:{marginTop:c=>c.spacing(2),width:500},disableCloseOnSelect:!0,placeholder:"Select Values",options:e,value:s,renderTags:(c,d)=>c.map((m,h)=>a.some(x=>x.value===m.title&&x.type===i.name)&&t===void 0?null:r(ot,{...d({index:h}),label:m.title})),isOptionEqualToValue:(c,d)=>d.inputValue&&d.inputValue!==""?c.title===d.inputValue:c.title===d.title,getOptionLabel:c=>c.inputValue?c.inputValue:c.title,renderOption:(c,d,{selected:m})=>{const h=(t==null?void 0:t.some(v=>v.title===d.title))??!1;return C("li",{...c,children:[r(U,{condition:!!d.inputValue,show:r(st,{sx:{mr:v=>v.spacing(.5)}}),elseShow:r(nt,{icon:u,checkedIcon:r(rt,{fontSize:"small"}),indeterminateIcon:r(Ce,{fontSize:"small"}),sx:{mr:v=>v.spacing(.5)},checked:m&&!h,indeterminate:h})}),d.title]})},filterOptions:(c,d)=>{const m=Ut(c,d),{inputValue:h}=d,v=c.some(x=>h===x.title);return h!==""&&!v&&m.push({inputValue:h,title:`Create new value "${h}"`}),m},ListboxProps:{style:{maxHeight:200,overflow:"auto"}},onChange:o,renderInput:c=>r(ve,{...c,label:"Select values",placeholder:"Select values"}),disabled:n})},jt=j("li")({flexDirection:"column"}),Nt=({options:e,value:s,disabled:t=!1,onChange:i})=>{const a=ce();return r(Se,{disablePortal:!0,disabled:t,id:"tag-type-select",sx:{marginTop:n=>n.spacing(2),width:500},options:e,disableClearable:!0,value:s,getOptionLabel:n=>n.name,renderOption:(n,o)=>C(jt,{...n,style:{alignItems:"flex-start",gap:a.spacing(.5)},children:[r(O,{variant:"body1",children:o.name}),r(O,{variant:"caption",children:o.description})]}),renderInput:n=>r(ve,{...n,label:"Tag type",value:s}),onChange:i,ListboxProps:{style:{maxHeight:200,overflow:"auto"}}})},Qt=()=>{const{makeRequest:e,createRequest:s,errors:t,loading:i}=lt({propagateErrors:!0});return{createTag:async o=>{const f=s("api/admin/tags",{method:"POST",body:JSON.stringify(o)});try{return await e(f.caller,f.id)}catch(g){throw g}},bulkUpdateTags:async(o,u)=>{const f=`api/admin/projects/${u}/tags`,g=s(f,{method:"PUT",body:JSON.stringify(o)});try{return await e(g.caller,g.id)}catch(l){throw l}},errors:t,loading:i}},Zt=(e,s={})=>{const t=async()=>{const g=gt(`api/admin/tags/${e}`);return(await fetch(g,{method:"GET"}).then(ht("Tags"))).json()},i=`api/admin/tags/${e}`,{data:a,error:n}=ut(!!e,{tags:[]},i,t,s),[o,u]=w.useState(!n&&!a),f=()=>{dt(i)};return w.useEffect(()=>{u(!n&&!a)},[a,n]),{tags:(a==null?void 0:a.tags)||[],error:n,loading:o,refetch:f}},Xt=({isStale:e,isOpen:s,projectId:t,featureId:i,onClose:a})=>{const{setToastData:n,setToastApiError:o}=z(),{patchFeatureToggle:u}=te(),f=r(O,{children:"Setting a toggle to stale marks it for cleanup"}),g=r(O,{children:"Setting a toggle to active marks it as in active use"}),l=e?"active":"stale",S=async c=>{c.stopPropagation();try{await u(t,i,[{op:"replace",path:"/stale",value:!e}]),a()}catch(d){o(B(d))}n(e?{type:"success",title:"And we're back!",text:"The toggle is no longer marked as stale."}:{type:"success",title:"A job well done.",text:"The toggle has been marked as stale."})};return r(W,{open:s,secondaryButtonText:"Cancel",primaryButtonText:`Flip to ${l}`,title:`Set feature state to ${l}`,onClick:S,onClose:a,children:r(U,{condition:e,show:g,elseShow:f})})},ea=({isOpen:e,onClose:s,onConfirm:t,projectId:i,featureIds:a})=>{const{archiveFeatureToggle:n}=te(),{archiveFeatures:o}=ue(),{setToastData:u,setToastApiError:f}=z(),g=(a==null?void 0:a.length)>1;return r(W,{onClick:g?async()=>{try{await o(i,a),u({text:"Selected feature toggles have been archived",type:"success",title:"Feature toggles archived"}),t(),s()}catch(c){f(B(c)),s()}}:async()=>{try{await n(i,a[0]),u({text:"Your feature toggle has been archived",type:"success",title:"Feature archived"}),t(),s()}catch(c){f(B(c)),s()}},open:e,onClose:s,primaryButtonText:g?"Archive toggles":"Archive toggle",secondaryButtonText:"Cancel",title:g?"Archive feature toggles":"Archive feature toggle",children:r(U,{condition:g,show:C(K,{children:[C("p",{children:["Are you sure you want to archive"," ",r("strong",{children:a==null?void 0:a.length})," feature toggles?"]}),r(U,{condition:(a==null?void 0:a.length)<=5,show:r("ul",{children:a==null?void 0:a.map(c=>r("li",{children:c},c))})})]}),elseShow:r("p",{children:"Are you sure you want to archive these feature toggles?"})})})};export{pt as C,Yt as E,Gt as F,Nt as T,Pt as U,Jt as V,zt as W,Mt as a,Zt as b,Kt as c,Ht as d,ea as e,xt as f,Xt as g,Ft as h,Wt as i,Qt as u};
@@ -1,2 +1,2 @@
1
- import{f_ as c,b as m,bK as g,r as d,j as u}from"./index-6c460833.js";import{d as b,L as x,C as f,a as C,b as v,P as S,c as h,T as q,p as k,e as M,f as L}from"./chartjs-adapter-date-fns.esm-4f594471.js";import"./index-d11f5e3e.js";import"./index-56e4c3f3.js";const $=(e,s,n)=>{const a={label:"Total requests",borderColor:e.palette.primary.main,backgroundColor:e.palette.primary.main,data:p(s,n,o=>o.yes+o.no),elements:{point:{radius:6,pointStyle:"circle"},line:{borderDash:[8,4]}}},t={label:"Exposed",borderColor:e.palette.success.main,backgroundColor:e.palette.success.main,data:p(s,n,o=>o.yes),elements:{point:{radius:6,pointStyle:"triangle"}}},r={label:"Not exposed",borderColor:e.palette.error.main,backgroundColor:e.palette.error.main,data:p(s,n,o=>o.no),elements:{point:{radius:6,pointStyle:"triangle",pointRotation:180}}};return{datasets:[t,r,a]}},p=(e,s,n)=>e.map(a=>({x:a.timestamp,y:n(a),variants:a.variants})),E=(e,s)=>{if(s===0)return"";const[n,a]=e,t=Math.floor(Number(a)/s*100);return`${a} (${t}%) - ${n}`},P=(e,s,n,a)=>({locale:a.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,itemSort:(t,r)=>{const o=["Total requests","Exposed","Not exposed"],l=o.indexOf(t.dataset.label),i=o.indexOf(r.dataset.label);return l-i},callbacks:{label:t=>`${t.formattedValue} - ${t.dataset.label}`,afterLabel:t=>{const r=t.dataset.data[t.dataIndex];if(t.dataset.label!=="Exposed"||r.variants===void 0)return"";const{disabled:o,...l}=r.variants;return Object.entries(l).map(i=>E(i,r.y)).join(`
1
+ import{f_ as c,b as m,bK as g,r as d,j as u}from"./index-6d9a536e.js";import{d as b,L as x,C as f,a as C,b as v,P as S,c as h,T as q,p as k,e as M,f as L}from"./chartjs-adapter-date-fns.esm-d78073b7.js";import"./index-1023a005.js";import"./index-4f1029d3.js";const $=(e,s,n)=>{const a={label:"Total requests",borderColor:e.palette.primary.main,backgroundColor:e.palette.primary.main,data:p(s,n,o=>o.yes+o.no),elements:{point:{radius:6,pointStyle:"circle"},line:{borderDash:[8,4]}}},t={label:"Exposed",borderColor:e.palette.success.main,backgroundColor:e.palette.success.main,data:p(s,n,o=>o.yes),elements:{point:{radius:6,pointStyle:"triangle"}}},r={label:"Not exposed",borderColor:e.palette.error.main,backgroundColor:e.palette.error.main,data:p(s,n,o=>o.no),elements:{point:{radius:6,pointStyle:"triangle",pointRotation:180}}};return{datasets:[t,r,a]}},p=(e,s,n)=>e.map(a=>({x:a.timestamp,y:n(a),variants:a.variants})),E=(e,s)=>{if(s===0)return"";const[n,a]=e,t=Math.floor(Number(a)/s*100);return`${a} (${t}%) - ${n}`},P=(e,s,n,a)=>({locale:a.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,itemSort:(t,r)=>{const o=["Total requests","Exposed","Not exposed"],l=o.indexOf(t.dataset.label),i=o.indexOf(r.dataset.label);return l-i},callbacks:{label:t=>`${t.formattedValue} - ${t.dataset.label}`,afterLabel:t=>{const r=t.dataset.data[t.dataIndex];if(t.dataset.label!=="Exposed"||r.variants===void 0)return"";const{disabled:o,...l}=r.variants;return Object.entries(l).map(i=>E(i,r.y)).join(`
2
2
  `)},title:t=>`Time: ${c(t[0].parsed.x,a.locale)}`}},legend:{position:"top",align:"end",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0}},title:{text:T(n),position:"top",align:"start",display:!0,font:{size:16,weight:"400"},color:e.palette.text.primary}},scales:{y:{type:"linear",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",time:{unit:"hour"},grid:{display:!1},ticks:{callback:(t,r,o)=>c(o[r].value,a.locale),color:e.palette.text.secondary}}}}),T=e=>e===1?"Requests in the last hour":`Requests in the last ${e} hours`;b.font={...b.font,family:"Sen",size:13,weight:"400"};const R=({metrics:e,hoursBack:s,statsSectionId:n})=>{const a=m(),{locationSettings:t}=g(),r=d.useMemo(()=>[...e].sort((i,y)=>i.timestamp.localeCompare(y.timestamp)),[e]),o=d.useMemo(()=>P(a,r,s,t),[a,r,s,t]),l=d.useMemo(()=>$(a,r,t),[a,r,t]);return u("div",{style:{height:400},children:u(x,{options:o,data:l,"aria-label":"A feature metrics line chart, with three lines: all requests, positive requests, and negative requests.","aria-describedby":n})})};f.register(C,v,S,h,q,k,M,L);export{R as FeatureMetricsChart,R as default};