ng-configcat-publicapi-ui 4.2.2 → 5.0.1

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 (155) hide show
  1. package/README.md +2 -2
  2. package/fesm2022/ng-configcat-publicapi-ui.mjs +4240 -3534
  3. package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -1
  4. package/index.d.ts +476 -3
  5. package/package.json +11 -10
  6. package/src/css/button.scss +83 -0
  7. package/src/css/controls.scss +390 -0
  8. package/src/css/dialog.scss +63 -0
  9. package/src/css/icon.scss +7 -0
  10. package/src/css/slider.scss +82 -0
  11. package/src/css/snackbar.scss +16 -0
  12. package/src/css/table.scss +142 -0
  13. package/src/css/theme.scss +47 -0
  14. package/src/css/tooltip.scss +12 -0
  15. package/src/css/variables.scss +325 -0
  16. package/src/css/vars/auth.scss +24 -0
  17. package/src/css/vars/banner.scss +116 -0
  18. package/src/css/vars/box.scss +48 -0
  19. package/src/css/vars/config-overview.scss +27 -0
  20. package/src/css/vars/flag.scss +146 -0
  21. package/src/css/vars/header.scss +24 -0
  22. package/src/css/vars/icon.scss +33 -0
  23. package/src/css/vars/logo.scss +19 -0
  24. package/src/css/vars/notification.scss +38 -0
  25. package/src/css/vars/overview.scss +51 -0
  26. package/src/css/vars/prism.scss +44 -0
  27. package/src/css/vars/sidenav.scss +42 -0
  28. package/src/css/vars/theme.scss +78 -0
  29. package/src/public-api.scss +208 -0
  30. package/esm2022/lib/_directives/index.mjs +0 -2
  31. package/esm2022/lib/_directives/input-display-normalizer.directive.mjs +0 -38
  32. package/esm2022/lib/_models/deleteSettingModel.mjs +0 -2
  33. package/esm2022/lib/_models/flag-state.mjs +0 -2
  34. package/esm2022/lib/_models/index.mjs +0 -4
  35. package/esm2022/lib/_models/setting-value-formgroup.mjs +0 -2
  36. package/esm2022/lib/_models/settingValuesModel.mjs +0 -2
  37. package/esm2022/lib/_models/updateSettingValuesModel.mjs +0 -2
  38. package/esm2022/lib/_models/user-comparator.mjs +0 -100
  39. package/esm2022/lib/_services/app-data-adapter.mjs +0 -18
  40. package/esm2022/lib/_services/comparison-value-list-helper.mjs +0 -72
  41. package/esm2022/lib/_services/date-helper.mjs +0 -56
  42. package/esm2022/lib/_services/form-generator.mjs +0 -359
  43. package/esm2022/lib/_services/form-helper.mjs +0 -163
  44. package/esm2022/lib/_services/index.mjs +0 -3
  45. package/esm2022/lib/_services/messaging.service.mjs +0 -26
  46. package/esm2022/lib/_services/platform-helper.mjs +0 -7
  47. package/esm2022/lib/_services/public-api.service.mjs +0 -77
  48. package/esm2022/lib/_services/setting-list-form-helper.mjs +0 -171
  49. package/esm2022/lib/_services/tracking.directive.mjs +0 -16
  50. package/esm2022/lib/ace-editor/ace-editor.component.mjs +0 -137
  51. package/esm2022/lib/authorization/authorization.component.mjs +0 -62
  52. package/esm2022/lib/base/base-select.component.mjs +0 -27
  53. package/esm2022/lib/base/base.component.mjs +0 -48
  54. package/esm2022/lib/bootstrap.mjs +0 -11
  55. package/esm2022/lib/configuration.mjs +0 -14
  56. package/esm2022/lib/dialogs/confirmation-dialog/confirmation-dialog.mjs +0 -28
  57. package/esm2022/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.mjs +0 -27
  58. package/esm2022/lib/dialogs/expand-dialog/expand-dialog.component.mjs +0 -80
  59. package/esm2022/lib/dialogs/info-dialog/info-dialog.mjs +0 -29
  60. package/esm2022/lib/dialogs/reason-dialog/reason-dialog.component.mjs +0 -36
  61. package/esm2022/lib/dialogs/reroute-dialog/reroute-dialog.mjs +0 -28
  62. package/esm2022/lib/dialogs/save-snackbar/save-snackbar.component.mjs +0 -14
  63. package/esm2022/lib/ng-configcat-publicapi-ui.module.mjs +0 -288
  64. package/esm2022/lib/selects/config-select/config-select.component.mjs +0 -60
  65. package/esm2022/lib/selects/environment-select/environment-select.component.mjs +0 -47
  66. package/esm2022/lib/selects/product-select/product-select.component.mjs +0 -40
  67. package/esm2022/lib/selects/setting-select/setting-select.component.mjs +0 -47
  68. package/esm2022/lib/setting-item/setting-item.component.mjs +0 -118
  69. package/esm2022/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +0 -81
  70. package/esm2022/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +0 -293
  71. package/esm2022/lib/setting-list/setting/setting.component.mjs +0 -136
  72. package/esm2022/lib/setting-list/setting/value/value.component.mjs +0 -37
  73. package/esm2022/lib/setting-list/setting-list.component.mjs +0 -194
  74. package/esm2022/lib/v2/feature-flag/date-time-picker/date-time-picker.component.mjs +0 -123
  75. package/esm2022/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.mjs +0 -30
  76. package/esm2022/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.mjs +0 -220
  77. package/esm2022/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.mjs +0 -61
  78. package/esm2022/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.mjs +0 -72
  79. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.mjs +0 -25
  80. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.mjs +0 -105
  81. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.mjs +0 -75
  82. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.mjs +0 -48
  83. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.mjs +0 -113
  84. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.mjs +0 -251
  85. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.mjs +0 -444
  86. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.mjs +0 -84
  87. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.mjs +0 -129
  88. package/esm2022/lib/v2/feature-flag/feature-flag.component.mjs +0 -190
  89. package/esm2022/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.mjs +0 -65
  90. package/esm2022/lib/v2/feature-flag-item.component.mjs +0 -330
  91. package/esm2022/ng-configcat-publicapi-ui.mjs +0 -5
  92. package/esm2022/public-api.mjs +0 -15
  93. package/lib/_directives/index.d.ts +0 -1
  94. package/lib/_directives/input-display-normalizer.directive.d.ts +0 -13
  95. package/lib/_models/deleteSettingModel.d.ts +0 -6
  96. package/lib/_models/flag-state.d.ts +0 -20
  97. package/lib/_models/index.d.ts +0 -3
  98. package/lib/_models/setting-value-formgroup.d.ts +0 -69
  99. package/lib/_models/settingValuesModel.d.ts +0 -11
  100. package/lib/_models/updateSettingValuesModel.d.ts +0 -7
  101. package/lib/_models/user-comparator.d.ts +0 -84
  102. package/lib/_services/app-data-adapter.d.ts +0 -7
  103. package/lib/_services/comparison-value-list-helper.d.ts +0 -17
  104. package/lib/_services/date-helper.d.ts +0 -6
  105. package/lib/_services/form-generator.d.ts +0 -59
  106. package/lib/_services/form-helper.d.ts +0 -21
  107. package/lib/_services/index.d.ts +0 -2
  108. package/lib/_services/messaging.service.d.ts +0 -12
  109. package/lib/_services/platform-helper.d.ts +0 -3
  110. package/lib/_services/public-api.service.d.ts +0 -21
  111. package/lib/_services/setting-list-form-helper.d.ts +0 -19
  112. package/lib/_services/tracking.directive.d.ts +0 -6
  113. package/lib/ace-editor/ace-editor.component.d.ts +0 -32
  114. package/lib/authorization/authorization.component.d.ts +0 -21
  115. package/lib/base/base-select.component.d.ts +0 -10
  116. package/lib/base/base.component.d.ts +0 -18
  117. package/lib/bootstrap.d.ts +0 -13
  118. package/lib/configuration.d.ts +0 -9
  119. package/lib/dialogs/confirmation-dialog/confirmation-dialog.d.ts +0 -19
  120. package/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.d.ts +0 -17
  121. package/lib/dialogs/expand-dialog/expand-dialog.component.d.ts +0 -25
  122. package/lib/dialogs/info-dialog/info-dialog.d.ts +0 -17
  123. package/lib/dialogs/reason-dialog/reason-dialog.component.d.ts +0 -15
  124. package/lib/dialogs/reroute-dialog/reroute-dialog.d.ts +0 -20
  125. package/lib/dialogs/save-snackbar/save-snackbar.component.d.ts +0 -8
  126. package/lib/ng-configcat-publicapi-ui.module.d.ts +0 -75
  127. package/lib/selects/config-select/config-select.component.d.ts +0 -17
  128. package/lib/selects/environment-select/environment-select.component.d.ts +0 -17
  129. package/lib/selects/product-select/product-select.component.d.ts +0 -14
  130. package/lib/selects/setting-select/setting-select.component.d.ts +0 -17
  131. package/lib/setting-item/setting-item.component.d.ts +0 -37
  132. package/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.d.ts +0 -27
  133. package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +0 -61
  134. package/lib/setting-list/setting/setting.component.d.ts +0 -43
  135. package/lib/setting-list/setting/value/value.component.d.ts +0 -20
  136. package/lib/setting-list/setting-list.component.d.ts +0 -53
  137. package/lib/v2/feature-flag/date-time-picker/date-time-picker.component.d.ts +0 -25
  138. package/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.d.ts +0 -27
  139. package/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.d.ts +0 -41
  140. package/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.d.ts +0 -18
  141. package/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.d.ts +0 -30
  142. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.d.ts +0 -10
  143. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.d.ts +0 -27
  144. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.d.ts +0 -36
  145. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.d.ts +0 -21
  146. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.d.ts +0 -79
  147. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.d.ts +0 -63
  148. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.d.ts +0 -94
  149. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.d.ts +0 -31
  150. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.d.ts +0 -33
  151. package/lib/v2/feature-flag/feature-flag.component.d.ts +0 -49
  152. package/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.d.ts +0 -28
  153. package/lib/v2/feature-flag-item.component.d.ts +0 -66
  154. package/public-api.d.ts +0 -11
  155. package/public-api.scss +0 -350
package/index.d.ts CHANGED
@@ -1,5 +1,478 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Provider, InjectionToken, OnInit, OnChanges, OnDestroy } from '@angular/core';
3
+ import * as ng_configcat_publicapi from 'ng-configcat-publicapi';
4
+ import { MeService, ProductsService, ConfigsService, EnvironmentsService, FeatureFlagsSettingsService, FeatureFlagSettingValuesV2Service, FeatureFlagSettingValuesService, IntegrationLinksService, SegmentsService, UserComparator, SettingType, SegmentComparator, PrerequisiteComparator, SettingFormulaModel, FeatureFlagLimitations, TargetingRuleModel, PercentageOptionModel, ConditionModel, UserConditionModel, SegmentConditionModel, PrerequisiteFlagConditionModel, ComparisonValueListModel, ComparisonValueModel, ValueModel, UpdateEvaluationFormulaModel, ConfigModel, EnvironmentModel, SettingValueModel, UpdateSettingValueModel, SettingDataModel, SegmentListModel, ProductModel, SettingModel } from 'ng-configcat-publicapi';
5
+ import { HttpErrorResponse } from '@angular/common/http';
6
+ import * as _angular_forms from '@angular/forms';
7
+ import { FormGroup, FormControl, FormArray, ValidatorFn, AbstractControl } from '@angular/forms';
8
+ import { Observable, Subscription } from 'rxjs';
9
+ import { MatDialogRef } from '@angular/material/dialog';
10
+
11
+ interface IConfigCatPublicApiConfiguration {
12
+ basicAuthUsername?: string;
13
+ basicAuthPassword?: string;
14
+ basePath?: string;
15
+ dashboardBasePath?: string;
16
+ }
17
+
18
+ declare function provideConfigCatPublicApiUi(): Provider[];
19
+ declare const CONFIGCAT_PUBLICAPI_UI_CONFIGURATION: InjectionToken<IConfigCatPublicApiConfiguration>;
20
+
1
21
  /**
2
- * Generated bundle index. Do not edit.
22
+ * Makes sure that values entered into HTML input fields are displayed in the correct format,
23
+ * where correct means normalized (e.g. `'.10'` --> `'0.1'`) and corresponding to the locale setting.
24
+ *
25
+ * The format is adjusted on the blur event. Only the format of number inputs is adjusted currently.
3
26
  */
4
- /// <amd-module name="ng-configcat-publicapi-ui" />
5
- export * from './public-api';
27
+ declare class InputDisplayNormalizerDirective {
28
+ onChange($event: Event): void;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputDisplayNormalizerDirective, never>;
30
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputDisplayNormalizerDirective, "input[inputDisplayNormalizer]", never, {}, {}, never, never, true, never>;
31
+ }
32
+
33
+ declare class PublicApiService {
34
+ private readonly httpClient;
35
+ private readonly configuration;
36
+ createMeService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): MeService;
37
+ createProductsService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): ProductsService;
38
+ createConfigsService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): ConfigsService;
39
+ createEnvironmentsService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): EnvironmentsService;
40
+ createSettingsService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): FeatureFlagsSettingsService;
41
+ createSettingValuesV2Service(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): FeatureFlagSettingValuesV2Service;
42
+ createSettingValuesService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): FeatureFlagSettingValuesService;
43
+ createIntegrationLinksService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): IntegrationLinksService;
44
+ createSegmentsService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): SegmentsService;
45
+ getDashboardBasePath(): string;
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PublicApiService, never>;
47
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PublicApiService>;
48
+ }
49
+
50
+ declare const percentageRegex = "^[0-9]*$";
51
+ declare const wholeNumberRegex = "^[-+]?[0-9]\\d*$";
52
+ declare const featureFlagKeyRegex = "^[a-zA-Z]+[a-zA-Z0-9_-]*$";
53
+ declare const defaultErrorMessageTypes: string[];
54
+ declare class FormHelper {
55
+ static handleErrors(formGroup: FormGroup, error: Error): void;
56
+ static getHttpErrorResponseMessage(error: HttpErrorResponse, fieldName: string): string | undefined;
57
+ static getErrorMessage(control: FormControl | FormGroup | FormArray, hint?: string): string;
58
+ /**
59
+ * Converts a value representing a number to a `number` value.
60
+ * Returns `NaN` in the case of non-numerical values.
61
+ */
62
+ static normalizeNumber(value: string | number | bigint): number;
63
+ /**
64
+ * Converts a value representing a number to the normalized `string`
65
+ * representation of the number. (e.g. `.1` --> `'0.1'`, `3.14e2` --> `'314'`).
66
+ * Returns `''` in the case of non-numerical values or non-finite numerical values.
67
+ */
68
+ static normalizeNumberStoredAsString(value: string): string;
69
+ }
70
+
71
+ declare enum UserComparatorText {
72
+ SensitiveIsOneOf = "IS ONE OF (hashed)",
73
+ SensitiveIsNotOneOf = "IS NOT ONE OF (hashed)",
74
+ SensitiveTextStartsWithAnyOf = "STARTS WITH ANY OF (hashed)",
75
+ SensitiveTextEndsWithAnyOf = "ENDS WITH ANY OF (hashed)",
76
+ SensitiveTextNotStartsWithAnyOf = "NOT STARTS WITH ANY OF (hashed)",
77
+ SensitiveTextNotEndsWithAnyOf = "NOT ENDS WITH ANY OF (hashed)",
78
+ SensitiveArrayContainsAnyOf = "ARRAY CONTAINS ANY OF (hashed)",
79
+ SensitiveArrayDoesNotContainAnyOf = "ARRAY NOT CONTAINS ANY OF (hashed)",
80
+ IsOneOf = "IS ONE OF (cleartext)",
81
+ IsNotOneOf = "IS NOT ONE OF (cleartext)",
82
+ TextStartsWithAnyOf = "STARTS WITH ANY OF (cleartext)",
83
+ TextEndsWithAnyOf = "ENDS WITH ANY OF (cleartext)",
84
+ TextNotStartsWithAnyOf = "NOT STARTS WITH ANY OF (cleartext)",
85
+ TextNotEndsWithAnyOf = "NOT ENDS WITH ANY OF (cleartext)",
86
+ ArrayContainsAnyOf = "ARRAY CONTAINS ANY OF (cleartext)",
87
+ ArrayDoesNotContainAnyOf = "ARRAY NOT CONTAINS ANY OF (cleartext)",
88
+ ContainsAnyOf = "CONTAINS ANY OF (cleartext)",
89
+ DoesNotContainAnyOf = "NOT CONTAINS ANY OF (cleartext)",
90
+ SensitiveTextEquals = "EQUALS (hashed)",
91
+ SensitiveTextDoesNotEqual = "NOT EQUALS (hashed)",
92
+ TextEquals = "EQUALS (cleartext)",
93
+ TextDoesNotEqual = "NOT EQUALS (cleartext)",
94
+ NumberEquals = "= (number)",
95
+ NumberDoesNotEqual = "!= (number)",
96
+ NumberLess = "< (number)",
97
+ NumberLessOrEquals = "<= (number)",
98
+ NumberGreater = "> (number)",
99
+ NumberGreaterOrEquals = ">= (number)",
100
+ SemVerIsOneOf = "IS ONE OF (semver)",
101
+ SemVerIsNotOneOf = "IS NOT ONE OF (semver)",
102
+ SemVerLess = "< (semver)",
103
+ SemVerLessOrEquals = "<= (semver)",
104
+ SemVerGreater = "> (semver)",
105
+ SemVerGreaterOrEquals = ">= (semver)",
106
+ DateTimeBefore = "BEFORE (UTC datetime)",
107
+ DateTimeAfter = "AFTER (UTC datetime)"
108
+ }
109
+ declare function isClearTextComparator(comparator: UserComparator): boolean;
110
+ declare enum UserComparatorType {
111
+ StringList = 0,
112
+ String = 1,
113
+ Number = 2,
114
+ SemverList = 3,
115
+ Semver = 4,
116
+ DateTime = 5
117
+ }
118
+
119
+ interface ComparisonValueListForm {
120
+ value: FormControl<string>;
121
+ hint: FormControl<string | null>;
122
+ index: FormControl<number>;
123
+ }
124
+ interface ComparisonValueForm {
125
+ stringValue?: FormControl<string>;
126
+ doubleValue?: FormControl<number>;
127
+ listValue?: FormArray<FormGroup<ComparisonValueListForm>>;
128
+ }
129
+ interface ValueForm {
130
+ boolValue?: FormControl<boolean>;
131
+ stringValue?: FormControl<string>;
132
+ intValue?: FormControl<number>;
133
+ doubleValue?: FormControl<number>;
134
+ }
135
+ interface UserConditionForm {
136
+ comparisonAttribute: FormControl<string>;
137
+ comparator: FormControl<UserComparator>;
138
+ comparisonValue: FormGroup<ComparisonValueForm>;
139
+ }
140
+ interface SegmentConditionForm {
141
+ segmentId: FormControl<string | null>;
142
+ comparator: FormControl<SegmentComparator>;
143
+ }
144
+ interface PrerequisiteFlagConditionForm {
145
+ prerequisiteSettingId: FormControl<number | null>;
146
+ comparator: FormControl<PrerequisiteComparator>;
147
+ prerequisiteComparisonValue: FormGroup<ValueForm>;
148
+ }
149
+ interface ConditionForm {
150
+ userCondition?: FormGroup<UserConditionForm>;
151
+ segmentCondition?: FormGroup<SegmentConditionForm>;
152
+ prerequisiteFlagCondition?: FormGroup<PrerequisiteFlagConditionForm>;
153
+ }
154
+ interface PercentageOptionForm {
155
+ percentage: FormControl<number>;
156
+ value: FormGroup<ValueForm>;
157
+ }
158
+ interface TargetingRuleForm {
159
+ conditions: FormArray<FormGroup<ConditionForm>>;
160
+ percentageOptions?: FormArray<FormGroup<PercentageOptionForm>>;
161
+ value?: FormGroup<ValueForm>;
162
+ }
163
+ interface UpdateSettingValueForm {
164
+ defaultValue: FormGroup<ValueForm>;
165
+ percentageEvaluationAttribute: FormControl<string | null>;
166
+ targetingRules: FormArray<FormGroup<TargetingRuleForm>>;
167
+ }
168
+ interface IPrerequisiteSetting {
169
+ settingId: number;
170
+ key: string;
171
+ name: string;
172
+ settingType: SettingType;
173
+ }
174
+ interface IDependeeSetting {
175
+ settingId: number;
176
+ key: string;
177
+ name: string;
178
+ }
179
+
180
+ interface IFlagState {
181
+ addButtonRenderState: IAddButtonsRenderState;
182
+ settingValue: SettingFormulaModel;
183
+ dependeeSettings: IDependeeSetting[];
184
+ prerequisiteSettings: IPrerequisiteSetting[];
185
+ panelExpanded: boolean;
186
+ readOnly: boolean;
187
+ }
188
+ interface IAddButtonsRenderState {
189
+ renderTopAddButtons: boolean;
190
+ hasPercentageOnlyRule: boolean;
191
+ addRuleButtonTracker: IAddRuleButtonTracker[];
192
+ }
193
+ interface IAddRuleButtonTracker {
194
+ showAddRuleButtons: boolean;
195
+ showOrChip: boolean;
196
+ renderSeparationArea: boolean;
197
+ }
198
+
199
+ declare class FormGenerator {
200
+ generateSettingValuesFormGroup(model: SettingFormulaModel, readOnly: boolean, settings: IPrerequisiteSetting[], featureFlagLimitations: FeatureFlagLimitations): FormGroup<UpdateSettingValueForm>;
201
+ generatePercentageEvaluationAttributeFormControl(percentageEvaluationAttribute: string | null, readOnly: boolean): FormControl<string | null>;
202
+ generateTargetingRuleFormGroup(model: TargetingRuleModel, settingType: SettingType, readOnly: boolean, settings: IPrerequisiteSetting[], featureFlagLimitations: FeatureFlagLimitations): FormGroup<TargetingRuleForm>;
203
+ generateTargetingRuleWithEmptyPercentageOptions(settingType: SettingType, readOnly: boolean, settings: IPrerequisiteSetting[], featureFlagLimitations: FeatureFlagLimitations): FormGroup<TargetingRuleForm>;
204
+ getEmptyPercentageOptions(settingType: SettingType): PercentageOptionModel[];
205
+ generatePercentageOptionFormGroup(model: PercentageOptionModel, settingType: SettingType, readOnly: boolean, featureFlagLimitations: FeatureFlagLimitations): FormGroup<PercentageOptionForm>;
206
+ generateConditionFormGroup(model: ConditionModel, readOnly: boolean, settings: IPrerequisiteSetting[], featureFlagLimitations: FeatureFlagLimitations): FormGroup<ConditionForm>;
207
+ generateUserConditionFormGroup(value: UserConditionModel, readOnly: boolean, featureFlagLimitations: FeatureFlagLimitations): FormGroup<UserConditionForm>;
208
+ generateSegmentConditionFormGroup(value: SegmentConditionModel, readOnly: boolean): FormGroup<SegmentConditionForm>;
209
+ generatePrerequisiteFlagConditionFormGroup(value: PrerequisiteFlagConditionModel, readOnly: boolean, settings: IPrerequisiteSetting[], featureFlagLimitations: FeatureFlagLimitations): FormGroup<PrerequisiteFlagConditionForm>;
210
+ generateEmptySegmentConditionFormGroup(): FormGroup<SegmentConditionForm>;
211
+ generateEmptyPrerequisiteFlagConditionFormGroup(featureFlagLimitations: FeatureFlagLimitations): FormGroup<PrerequisiteFlagConditionForm>;
212
+ getNextIndex(formArray: FormArray<FormGroup<ComparisonValueListForm>>): number;
213
+ generateComparisonValueListFormGroup(listValue: ComparisonValueListModel, readOnly: boolean, validators: ValidatorFn[], index: number): FormGroup<ComparisonValueListForm>;
214
+ generateComparisonValueFormGroup(value: ComparisonValueModel, comparator: UserComparator, readOnly: boolean, featureFlagLimitations: FeatureFlagLimitations): FormGroup<ComparisonValueForm>;
215
+ generateComparisonValueListValueArray(listValue: ComparisonValueListModel[], readOnly: boolean, featureFlagLimitations: FeatureFlagLimitations, itemValidators: ValidatorFn[]): FormArray<FormGroup<ComparisonValueListForm>>;
216
+ getComparisonValueStringValidators(featureFlagLimitations: FeatureFlagLimitations): ValidatorFn[];
217
+ getComparisonValueStringListItemValidators(featureFlagLimitations: FeatureFlagLimitations): ValidatorFn[];
218
+ getComparisonValueSemverValidators(featureFlagLimitations: FeatureFlagLimitations): ValidatorFn[];
219
+ getComparisonValueSemverListItemValidators(featureFlagLimitations: FeatureFlagLimitations): ValidatorFn[];
220
+ generateDefaultValue(settingType: SettingType): ValueModel;
221
+ generateDefaultValueFormGroup(settingType: SettingType, readOnly: boolean, featureFlagLimitations: FeatureFlagLimitations): FormGroup<ValueForm>;
222
+ generateValueFormGroup(value: ValueModel, settingType: SettingType, readOnly: boolean, featureFlagLimitations: FeatureFlagLimitations): FormGroup<ValueForm>;
223
+ getComparisonValueType(comparator: UserComparator): UserComparatorType;
224
+ getValidatorsForSettingType(settingType: SettingType, featureFlagLimitations: FeatureFlagLimitations): ValidatorFn[];
225
+ isPercentageOnlyTargetingRule(formGroup: FormGroup<TargetingRuleForm>): boolean;
226
+ addComparisonValueListValueItems(userComparator: UserComparator, listValueFormArray: FormArray<FormGroup<ComparisonValueListForm>>, comparisonValueList: ComparisonValueListModel[], featureFlagLimitations: FeatureFlagLimitations): void;
227
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormGenerator, never>;
228
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<FormGenerator>;
229
+ }
230
+ declare function validatePercentageSum(c: AbstractControl): {
231
+ validatePercentageSum: {
232
+ valid: boolean;
233
+ };
234
+ } | null;
235
+ declare function getRawValue(formGroup: FormGroup<UpdateSettingValueForm>): UpdateEvaluationFormulaModel;
236
+ declare function getRawSettiongValue(formGroup: FormGroup<ValueForm>): ValueModel;
237
+
238
+ declare enum Theme {
239
+ Light = "light",
240
+ Dark = "dark"
241
+ }
242
+ declare class ThemeService {
243
+ private readonly document;
244
+ private currentTheme;
245
+ private readonly themeSubject;
246
+ initialize(): void;
247
+ isDark(): boolean;
248
+ setTheme(theme: Theme): void;
249
+ asObservable(): Observable<boolean>;
250
+ private setThemeAttributeAndNotify;
251
+ private setThemeAttribute;
252
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeService, never>;
253
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeService>;
254
+ }
255
+
256
+ interface SettingValuesModel {
257
+ apiKey?: string;
258
+ apiKey2?: string;
259
+ reasonRequired?: boolean;
260
+ lastUpdatedAt?: Date;
261
+ featureFlagLimitations: FeatureFlagLimitations;
262
+ config: ConfigModel;
263
+ environment: EnvironmentModel;
264
+ readOnly: boolean;
265
+ settingValues: SettingValueModel[];
266
+ }
267
+
268
+ interface UpdateSettingValuesModel {
269
+ settingValues: UpdateSettingValueModel[];
270
+ reason: string;
271
+ forced: boolean;
272
+ knownLastUpdatedAt: Date;
273
+ }
274
+
275
+ interface DeleteSettingModel {
276
+ setting: SettingDataModel;
277
+ environment: EnvironmentModel;
278
+ config: ConfigModel;
279
+ }
280
+
281
+ interface AuthorizationModel {
282
+ basicAuthUsername: string;
283
+ basicAuthPassword: string;
284
+ email: string;
285
+ fullName: string;
286
+ }
287
+
288
+ declare class BaseComponent {
289
+ private readonly publicApiService;
290
+ readonly basePath: _angular_core.InputSignal<string | null>;
291
+ readonly basicAuthUsername: _angular_core.InputSignal<string | null>;
292
+ readonly basicAuthPassword: _angular_core.InputSignal<string | null>;
293
+ protected createProductsService(): ng_configcat_publicapi.ProductsService;
294
+ protected createConfigsService(): ng_configcat_publicapi.ConfigsService;
295
+ protected createEnvironmentsService(): ng_configcat_publicapi.EnvironmentsService;
296
+ protected createSettingsService(): ng_configcat_publicapi.FeatureFlagsSettingsService;
297
+ protected createSettingValuesService(): ng_configcat_publicapi.FeatureFlagSettingValuesService;
298
+ protected createSettingValuesV2Service(): ng_configcat_publicapi.FeatureFlagSettingValuesV2Service;
299
+ protected createSegmentsService(): ng_configcat_publicapi.SegmentsService;
300
+ protected getDashboardBasePath(): string;
301
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseComponent, never>;
302
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseComponent, "app-base", never, { "basePath": { "alias": "basePath"; "required": false; "isSignal": true; }; "basicAuthUsername": { "alias": "basicAuthUsername"; "required": false; "isSignal": true; }; "basicAuthPassword": { "alias": "basicAuthPassword"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
303
+ }
304
+
305
+ declare class SettingItemComponent extends BaseComponent {
306
+ readonly productId: _angular_core.InputSignal<string>;
307
+ readonly environmentId: _angular_core.InputSignal<string>;
308
+ readonly configId: _angular_core.InputSignal<string>;
309
+ readonly settingId: _angular_core.InputSignal<number>;
310
+ readonly canDeleteSetting: _angular_core.InputSignal<boolean>;
311
+ readonly deleteSettingText: _angular_core.InputSignal<string>;
312
+ readonly showEnvironmentName: _angular_core.InputSignal<boolean>;
313
+ readonly deleteSettingRequested: _angular_core.OutputEmitterRef<DeleteSettingModel>;
314
+ readonly loadSucceeded: _angular_core.OutputEmitterRef<boolean>;
315
+ readonly loadFailed: _angular_core.OutputEmitterRef<Error>;
316
+ readonly saveSucceeded: _angular_core.OutputEmitterRef<SettingValuesModel>;
317
+ readonly saveFailed: _angular_core.OutputEmitterRef<Error>;
318
+ readonly formValuesChanged: _angular_core.OutputEmitterRef<void>;
319
+ settingValue: SettingValueModel;
320
+ segments: SegmentListModel[];
321
+ dashboardBasePath: string;
322
+ settingFormulaModel: SettingFormulaModel;
323
+ constructor();
324
+ loadSettingValues: () => Observable<SettingValuesModel>;
325
+ itemLoadSucceeded(): void;
326
+ loadSegments: () => Observable<SegmentListModel[]>;
327
+ handleSave: (model: UpdateSettingValuesModel) => Observable<SettingValuesModel>;
328
+ onDeleteSettingRequested(setting: DeleteSettingModel): void;
329
+ onFormValuesChanged(): void;
330
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SettingItemComponent, never>;
331
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SettingItemComponent, "app-setting-item", never, { "productId": { "alias": "productId"; "required": true; "isSignal": true; }; "environmentId": { "alias": "environmentId"; "required": true; "isSignal": true; }; "configId": { "alias": "configId"; "required": true; "isSignal": true; }; "settingId": { "alias": "settingId"; "required": true; "isSignal": true; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; "isSignal": true; }; "deleteSettingText": { "alias": "deleteSettingText"; "required": false; "isSignal": true; }; "showEnvironmentName": { "alias": "showEnvironmentName"; "required": false; "isSignal": true; }; }, { "deleteSettingRequested": "deleteSettingRequested"; "loadSucceeded": "loadSucceeded"; "loadFailed": "loadFailed"; "saveSucceeded": "saveSucceeded"; "saveFailed": "saveFailed"; "formValuesChanged": "formValuesChanged"; }, never, never, true, never>;
332
+ }
333
+
334
+ declare class AuthorizationComponent {
335
+ private readonly formBuilder;
336
+ private readonly publicApiService;
337
+ readonly basePath: _angular_core.InputSignal<null>;
338
+ readonly integrationName: _angular_core.InputSignal<string>;
339
+ readonly authorized: _angular_core.OutputEmitterRef<AuthorizationModel>;
340
+ readonly authorizationError: _angular_core.OutputEmitterRef<void>;
341
+ FormHelper: typeof FormHelper;
342
+ formGroup: _angular_forms.FormGroup<{
343
+ basicAuthUsername: FormControl<string>;
344
+ basicAuthPassword: FormControl<string>;
345
+ }>;
346
+ onSubmit(): void;
347
+ getPublicApiUrl(): string;
348
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthorizationComponent, never>;
349
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AuthorizationComponent, "app-authorization", never, { "basePath": { "alias": "basePath"; "required": false; "isSignal": true; }; "integrationName": { "alias": "integrationName"; "required": false; "isSignal": true; }; }, { "authorized": "authorized"; "authorizationError": "authorizationError"; }, never, never, true, never>;
350
+ }
351
+
352
+ declare class BaseSelectComponent extends BaseComponent {
353
+ readonly customDropdown: _angular_core.InputSignal<boolean>;
354
+ readonly dropdownOpened: _angular_core.OutputEmitterRef<boolean>;
355
+ protected openChanged(event: boolean): void;
356
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseSelectComponent, never>;
357
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseSelectComponent, "app-base-select", never, { "customDropdown": { "alias": "customDropdown"; "required": false; "isSignal": true; }; }, { "dropdownOpened": "dropdownOpened"; }, never, never, true, never>;
358
+ }
359
+
360
+ declare class ProductSelectComponent extends BaseSelectComponent implements OnInit {
361
+ readonly valueFormControl: _angular_core.InputSignal<FormControl<any>>;
362
+ products: ProductModel[];
363
+ ngOnInit(): void;
364
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProductSelectComponent, never>;
365
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProductSelectComponent, "app-product-select", never, { "valueFormControl": { "alias": "valueFormControl"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
366
+ }
367
+
368
+ declare class ConfigSelectComponent extends BaseSelectComponent implements OnInit, OnChanges {
369
+ readonly valueFormControl: _angular_core.InputSignal<FormControl<any>>;
370
+ readonly productId: _angular_core.InputSignal<string>;
371
+ configs: ConfigModel[];
372
+ ngOnInit(): void;
373
+ ngOnChanges(): void;
374
+ reloadConfigs(): void;
375
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfigSelectComponent, never>;
376
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfigSelectComponent, "app-config-select", never, { "valueFormControl": { "alias": "valueFormControl"; "required": true; "isSignal": true; }; "productId": { "alias": "productId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
377
+ }
378
+
379
+ declare class EnvironmentSelectComponent extends BaseSelectComponent implements OnInit, OnChanges {
380
+ readonly valueFormControl: _angular_core.InputSignal<FormControl<any>>;
381
+ readonly productId: _angular_core.InputSignal<string>;
382
+ environments: EnvironmentModel[];
383
+ ngOnInit(): void;
384
+ ngOnChanges(): void;
385
+ reloadEnvironments(): void;
386
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EnvironmentSelectComponent, never>;
387
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EnvironmentSelectComponent, "app-environment-select", never, { "valueFormControl": { "alias": "valueFormControl"; "required": true; "isSignal": true; }; "productId": { "alias": "productId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
388
+ }
389
+
390
+ declare class SettingSelectComponent extends BaseSelectComponent implements OnInit, OnChanges {
391
+ readonly valueFormControl: _angular_core.InputSignal<FormControl<any>>;
392
+ readonly configId: _angular_core.InputSignal<string>;
393
+ settings: SettingModel[];
394
+ ngOnInit(): void;
395
+ ngOnChanges(): void;
396
+ reloadSettings(): void;
397
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SettingSelectComponent, never>;
398
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SettingSelectComponent, "app-setting-select", never, { "valueFormControl": { "alias": "valueFormControl"; "required": true; "isSignal": true; }; "configId": { "alias": "configId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
399
+ }
400
+
401
+ interface DeleteSettingDialogResult {
402
+ button: string;
403
+ }
404
+ interface DeleteSettingDialogData {
405
+ system: string;
406
+ ticketType: string;
407
+ }
408
+ declare class DeleteSettingDialogComponent {
409
+ dialogRef: MatDialogRef<DeleteSettingDialogComponent, DeleteSettingDialogResult>;
410
+ data: {
411
+ system: string;
412
+ ticketType: string;
413
+ };
414
+ remove(): void;
415
+ cancel(): void;
416
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeleteSettingDialogComponent, never>;
417
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeleteSettingDialogComponent, "app-delete-setting-dialog", never, {}, {}, never, never, true, never>;
418
+ }
419
+
420
+ declare class FeatureFlagItemComponent extends BaseComponent implements OnInit, OnDestroy {
421
+ private readonly formGenerator;
422
+ private readonly dialog;
423
+ private readonly messagingService;
424
+ readonly productId: _angular_core.InputSignal<string>;
425
+ readonly environmentId: _angular_core.InputSignal<string>;
426
+ readonly configId: _angular_core.InputSignal<string>;
427
+ readonly settingId: _angular_core.InputSignal<number>;
428
+ readonly canDeleteSetting: _angular_core.InputSignal<boolean>;
429
+ readonly deleteSettingText: _angular_core.InputSignal<string>;
430
+ readonly showEnvironmentName: _angular_core.InputSignal<boolean>;
431
+ readonly deleteSettingRequested: _angular_core.OutputEmitterRef<DeleteSettingModel>;
432
+ readonly loadSucceeded: _angular_core.OutputEmitterRef<void>;
433
+ readonly loadFailed: _angular_core.OutputEmitterRef<Error>;
434
+ readonly saveSucceeded: _angular_core.OutputEmitterRef<void>;
435
+ readonly saveFailed: _angular_core.OutputEmitterRef<void>;
436
+ readonly expandedStateChanged: _angular_core.OutputEmitterRef<void>;
437
+ readonly formValuesChanged: _angular_core.OutputEmitterRef<void>;
438
+ segments: SegmentListModel[];
439
+ dashboardBasePath: string;
440
+ loading: boolean;
441
+ formGroup: FormGroup<UpdateSettingValueForm>;
442
+ formValueChangesSubscription: Subscription | null;
443
+ settings: SettingModel[];
444
+ flagState: IFlagState;
445
+ settingFormula: SettingFormulaModel;
446
+ prerequisiteSettings: IPrerequisiteSetting[];
447
+ showFeedBackMessage: boolean;
448
+ hasSettingValues: boolean;
449
+ hasOtherEnvironment: boolean;
450
+ constructor();
451
+ ngOnInit(): void;
452
+ ngOnDestroy(): void;
453
+ reloadSettingValues(): void;
454
+ handleFetchedSettingValues(model: SettingFormulaModel): void;
455
+ unsubscribeFormValueChangesSubscription(): void;
456
+ private createFormGroupFromState;
457
+ getAvailablePrerequisiteSettings(settingId: number): IPrerequisiteSetting[];
458
+ revert(): void;
459
+ revertDirtyValuesFromState(): void;
460
+ submit(): void;
461
+ updateSettingValues(updateModel: UpdateEvaluationFormulaModel, reason?: string): void;
462
+ onDeleteSettingRequested(setting: {
463
+ setting: SettingDataModel;
464
+ }): void;
465
+ private deleteSettingInternal;
466
+ subscriptionLimitReachedCalled(): void;
467
+ addSegmentConditionRequestedWithoutSegments(): void;
468
+ trackByIndex(index: number): number;
469
+ recalcPrerequisites(): void;
470
+ recalcAddButtons(): void;
471
+ hasOnlyPercentageRule(group: FormGroup<UpdateSettingValueForm>): boolean;
472
+ expandedChanged(expandedState: boolean): void;
473
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeatureFlagItemComponent, never>;
474
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeatureFlagItemComponent, "app-feature-flag-item", never, { "productId": { "alias": "productId"; "required": true; "isSignal": true; }; "environmentId": { "alias": "environmentId"; "required": true; "isSignal": true; }; "configId": { "alias": "configId"; "required": true; "isSignal": true; }; "settingId": { "alias": "settingId"; "required": true; "isSignal": true; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; "isSignal": true; }; "deleteSettingText": { "alias": "deleteSettingText"; "required": false; "isSignal": true; }; "showEnvironmentName": { "alias": "showEnvironmentName"; "required": false; "isSignal": true; }; }, { "deleteSettingRequested": "deleteSettingRequested"; "loadSucceeded": "loadSucceeded"; "loadFailed": "loadFailed"; "saveSucceeded": "saveSucceeded"; "saveFailed": "saveFailed"; "expandedStateChanged": "expandedStateChanged"; "formValuesChanged": "formValuesChanged"; }, never, never, true, never>;
475
+ }
476
+
477
+ export { AuthorizationComponent, CONFIGCAT_PUBLICAPI_UI_CONFIGURATION, ConfigSelectComponent, DeleteSettingDialogComponent, EnvironmentSelectComponent, FeatureFlagItemComponent, FormGenerator, FormHelper, InputDisplayNormalizerDirective, ProductSelectComponent, PublicApiService, SettingItemComponent, SettingSelectComponent, Theme, ThemeService, UserComparatorText, UserComparatorType, defaultErrorMessageTypes, featureFlagKeyRegex, getRawSettiongValue, getRawValue, isClearTextComparator, percentageRegex, provideConfigCatPublicApiUi, validatePercentageSum, wholeNumberRegex };
478
+ export type { AuthorizationModel, DeleteSettingDialogData, DeleteSettingDialogResult, DeleteSettingModel, SettingValuesModel, UpdateSettingValuesModel };
package/package.json CHANGED
@@ -1,16 +1,19 @@
1
1
  {
2
2
  "name": "ng-configcat-publicapi-ui",
3
- "version": "4.2.2",
3
+ "version": "5.0.1",
4
4
  "peerDependencies": {
5
- "@angular/common": "^18.2.12",
6
- "@angular/core": "^18.2.12",
7
- "ng-configcat-publicapi": "^4.4.1",
8
- "semver": "^7.5.3",
9
- "papaparse": "^5.4.1",
10
- "ace-builds": "^1.31.0"
5
+ "@angular/cdk": "^20.1.4",
6
+ "@angular/common": "^20.1.4",
7
+ "@angular/core": "^20.1.4",
8
+ "@angular/forms": "^20.1.4",
9
+ "@angular/material": "^20.1.4",
10
+ "@angular/router": "^20.1.4",
11
+ "ng-configcat-publicapi": "^5.0.1",
12
+ "papaparse": "^5.5.3",
13
+ "ace-builds": "^1.37.0"
11
14
  },
12
15
  "dependencies": {
13
- "tslib": "^2.4.0"
16
+ "tslib": "^2.8.1"
14
17
  },
15
18
  "module": "fesm2022/ng-configcat-publicapi-ui.mjs",
16
19
  "typings": "index.d.ts",
@@ -20,8 +23,6 @@
20
23
  },
21
24
  ".": {
22
25
  "types": "./index.d.ts",
23
- "esm2022": "./esm2022/ng-configcat-publicapi-ui.mjs",
24
- "esm": "./esm2022/ng-configcat-publicapi-ui.mjs",
25
26
  "default": "./fesm2022/ng-configcat-publicapi-ui.mjs"
26
27
  }
27
28
  },
@@ -0,0 +1,83 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ html > body {
4
+ .mat-mdc-icon-button.action-icon-button {
5
+ color: var(--action-icon-button-color);
6
+ }
7
+
8
+ .mat-mdc-icon-button.action-icon-button:disabled {
9
+ opacity: var(--action-icon-button-disabled-opacity);
10
+ }
11
+
12
+ .small-icon-button {
13
+ @include mat.icon-button-density(-5);
14
+
15
+ .mat-icon {
16
+ padding: 0 0 0 6px !important;
17
+ }
18
+
19
+ .mat-mdc-icon-button {
20
+ .mat-icon {
21
+ padding: 0 0 !important;
22
+ }
23
+ }
24
+ }
25
+
26
+ .mdc-button {
27
+ white-space: nowrap;
28
+ letter-spacing: normal;
29
+ font-size: 13px !important;
30
+
31
+ &:not(.mat-button-toggle-button):not(.mat-mdc-icon-button) {
32
+ text-transform: uppercase;
33
+ height: 34px;
34
+ }
35
+ }
36
+
37
+ .mat-button-toggle-label-content {
38
+ line-height: 34px !important;
39
+ }
40
+
41
+ .mat-mdc-outlined-button.mat-primary:disabled {
42
+ color: var(--mat-button-outlined-disabled-label-text-color) !important;
43
+ }
44
+
45
+ .mat-mdc-outlined-button.mat-primary {
46
+ color: var(--outlined-button-color) !important;
47
+ }
48
+
49
+ .mat-mdc-outlined-button:not(:disabled) {
50
+ border-color: var(--input-border-color);
51
+ color: var(--text-color);
52
+ }
53
+
54
+ .mat-mdc-unelevated-button.mat-primary .mat-mdc-button-persistent-ripple::before {
55
+ background-color: var(--primary-button-state-layer-color);
56
+ }
57
+
58
+ .mat-mdc-unelevated-button.mat-warn .mat-mdc-button-persistent-ripple::before {
59
+ background-color: var(--warn-button-state-layer-color);
60
+ }
61
+
62
+ .mat-mdc-unelevated-button {
63
+ --mat-button-filled-focus-state-layer-opacity: 0.1;
64
+ }
65
+
66
+ .filled-outline-buttons {
67
+ .mat-mdc-outlined-button:not(:disabled) {
68
+ background-color: var(--input-background);
69
+ }
70
+ }
71
+
72
+ .mat-datepicker-toggle, .mat-timepicker-toggle {
73
+ @include mat.icon-button-density(-5);
74
+
75
+ .mat-mdc-icon-button {
76
+ color: var(--action-icon-button-color);
77
+ }
78
+ }
79
+
80
+ .disabled-btn-container {
81
+ display: inline-block;
82
+ }
83
+ }