@abp/ng.feature-management 10.3.0-rc.1 → 10.3.0

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.
@@ -23,10 +23,10 @@ class FeaturesService {
23
23
  body: input,
24
24
  }, { apiName: this.apiName });
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeaturesService, providedIn: 'root' }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeaturesService, providedIn: 'root' }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeaturesService, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeaturesService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{
32
32
  providedIn: 'root',
@@ -31,10 +31,10 @@ class FreeTextInputDirective {
31
31
  const type = INPUT_TYPES[validatorType] ?? INPUT_TYPES['default'];
32
32
  this.renderer.setAttribute(this.elRef.nativeElement, 'type', type);
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FreeTextInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.6", type: FreeTextInputDirective, isStandalone: true, selector: "input[abpFeatureManagementFreeText]", inputs: { feature: { classPropertyName: "feature", publicName: "abpFeatureManagementFreeText", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["inputAbpFeatureManagementFreeText"], ngImport: i0 }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FreeTextInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: FreeTextInputDirective, isStandalone: true, selector: "input[abpFeatureManagementFreeText]", inputs: { feature: { classPropertyName: "feature", publicName: "abpFeatureManagementFreeText", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["inputAbpFeatureManagementFreeText"], ngImport: i0 }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FreeTextInputDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FreeTextInputDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: 'input[abpFeatureManagementFreeText]',
@@ -216,10 +216,10 @@ class FeatureManagementComponent {
216
216
  setFeatureValue(feature, val) {
217
217
  feature.value = val;
218
218
  }
219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: FeatureManagementComponent, isStandalone: true, selector: "abp-feature-management", inputs: { providerKey: { classPropertyName: "providerKey", publicName: "providerKey", isSignal: true, isRequired: false, transformFunction: null }, providerName: { classPropertyName: "providerName", publicName: "providerName", isSignal: true, isRequired: false, transformFunction: null }, providerTitle: { classPropertyName: "providerTitle", publicName: "providerTitle", isSignal: true, isRequired: false, transformFunction: null }, visibleInput: { classPropertyName: "visibleInput", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, exportAs: ["abpFeatureManagement"], ngImport: i0, template: "@if (visible) {\r\n<abp-modal [(visible)]=\"visible\" [busy]=\"modalBusy\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ 'AbpFeatureManagement::Features' | abpLocalization }}\r\n @if (providerTitle()) {\r\n - {{ providerTitle() }}\r\n }\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"row\">\r\n @if (groups.length) {\r\n <div ngTabs orientation=\"vertical\" class=\"row\">\r\n <div class=\"col-md-4\">\r\n <div ngTabList orientation=\"vertical\" selectionMode=\"follow\" [(selectedTab)]=\"selectedGroupDisplayName\" class=\"nav nav-pills flex-column\">\r\n @for (group of groups; track group.name) {\r\n <button ngTab #tab=\"ngTab\" type=\"button\" [value]=\"group.displayName\" class=\"nav-link text-start\" [class.active]=\"tab.selected()\">\r\n {{ group.displayName }}\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <ng-template #descTmp let-description>\r\n @if (description) {\r\n <small class=\"d-block form-text text-muted\">{{ description }}</small>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"col-md-8\">\r\n @for (group of groups; track group.name) {\r\n <div ngTabPanel [value]=\"group.displayName\">\r\n <ng-template ngTabContent>\r\n <h4>{{ selectedGroupDisplayName }}</h4>\r\n <hr class=\"mt-2 mb-3\" />\r\n\r\n @for (feature of features[group.name]; track feature.id || i; let i = $index) {\r\n @let provider = feature.provider.name;\r\n @let isFeatureDisabled = !feature.parentName ? isParentDisabled(feature.name, group.name, provider) :\r\n (provider !== providerName() && provider !== defaultProviderName);\r\n\r\n <div class=\"mt-2\" [style]=\"feature.style\" (keyup.enter)=\"save()\">\r\n @switch (feature.valueType?.name) {\r\n @case (valueTypes.ToggleStringValueType) {\r\n <div class=\"form-check\" [class.px-4]=\"!!feature.parentName\">\r\n <input class=\"form-check-input\" type=\"checkbox\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\"\r\n (ngModelChange)=\"onCheckboxClick($event, feature)\" [disabled]=\"isFeatureDisabled\" />\r\n\r\n <label class=\"form-check-label\" [htmlFor]=\"feature.name\">\r\n {{ feature.displayName }}\r\n @if (isFeatureDisabled) {\r\n <span>({{ provider }})</span>\r\n }\r\n </label>\r\n <ng-container *ngTemplateOutlet=\"\r\n descTmp;\r\n context: { $implicit: feature.description }\r\n \"></ng-container>\r\n </div>\r\n }\r\n @case (valueTypes.FreeTextStringValueType) {\r\n <div class=\"mb-3 form-group\" [class.px-2]=\"!!feature.parentName\">\r\n <label [htmlFor]=\"feature.name\" class=\"form-label\">\r\n {{ feature.displayName }}\r\n @if (isFeatureDisabled) {\r\n <span>({{ provider }})</span>\r\n }\r\n </label>\r\n <input class=\"form-control\" type=\"text\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\"\r\n [abpFeatureManagementFreeText]=\"feature\" [disabled]=\"isFeatureDisabled\" />\r\n\r\n <ng-container *ngTemplateOutlet=\"\r\n descTmp;\r\n context: { $implicit: feature.description }\r\n \"></ng-container>\r\n </div>\r\n }\r\n @case (valueTypes.SelectionStringValueType) {\r\n @if (feature.valueType.itemSource?.items?.length) {\r\n <div class=\"mb-3 form-group\" [class.px-2]=\"!!feature.parentName\">\r\n <label [htmlFor]=\"feature.name\" class=\"form-label\">\r\n {{ feature.displayName }}\r\n @if (isFeatureDisabled) {\r\n <span>({{ provider }})</span>\r\n }\r\n </label>\r\n <select class=\"form-select\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\"\r\n [disabled]=\"isFeatureDisabled\">\r\n @for (\r\n item of feature.valueType.itemSource?.items;\r\n track item.value\r\n ) {\r\n <option [ngValue]=\"item.value\">\r\n {{\r\n item.displayText?.resourceName +\r\n '::' +\r\n item.displayText?.name | abpLocalization\r\n }}\r\n </option>\r\n }\r\n </select>\r\n <ng-container *ngTemplateOutlet=\"\r\n descTmp;\r\n context: { $implicit: feature.description }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n }\r\n @default {\r\n {{ feature.displayName }}\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!groups.length) {\r\n <div class=\"col\">\r\n {{ 'AbpFeatureManagement::NoFeatureFoundMessage' | abpLocalization }}\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-link\">\r\n {{ 'AbpFeatureManagement::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n @if (groups.length) {\r\n <abp-button buttonClass=\"btn btn-outline-primary\" [disabled]=\"modalBusy\" (click)=\"resetToDefault()\"\r\n aria-hidden=\"true\">\r\n {{ 'AbpFeatureManagement::ResetToDefault' | abpLocalization }}\r\n </abp-button>\r\n }\r\n\r\n @if (groups.length) {\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"modalBusy\" (click)=\"save()\" aria-hidden=\"true\">\r\n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\r\n </abp-button>\r\n }\r\n </ng-template>\r\n</abp-modal>\r\n}", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: Tabs, selector: "[ngTabs]", exportAs: ["ngTabs"] }, { kind: "directive", type: TabList, selector: "[ngTabList]", inputs: ["orientation", "wrap", "softDisabled", "focusMode", "selectionMode", "selectedTab", "disabled"], outputs: ["selectedTabChange"], exportAs: ["ngTabList"] }, { kind: "directive", type: Tab, selector: "[ngTab]", inputs: ["id", "disabled", "value"], exportAs: ["ngTab"] }, { kind: "directive", type: TabPanel, selector: "[ngTabPanel]", inputs: ["id", "value"], exportAs: ["ngTabPanel"] }, { kind: "directive", type: TabContent, selector: "ng-template[ngTabContent]", exportAs: ["ngTabContent"] }, { kind: "directive", type: FreeTextInputDirective, selector: "input[abpFeatureManagementFreeText]", inputs: ["abpFeatureManagementFreeText"], exportAs: ["inputAbpFeatureManagementFreeText"] }, { kind: "directive", type: ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: FeatureManagementComponent, isStandalone: true, selector: "abp-feature-management", inputs: { providerKey: { classPropertyName: "providerKey", publicName: "providerKey", isSignal: true, isRequired: false, transformFunction: null }, providerName: { classPropertyName: "providerName", publicName: "providerName", isSignal: true, isRequired: false, transformFunction: null }, providerTitle: { classPropertyName: "providerTitle", publicName: "providerTitle", isSignal: true, isRequired: false, transformFunction: null }, visibleInput: { classPropertyName: "visibleInput", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, exportAs: ["abpFeatureManagement"], ngImport: i0, template: "@if (visible) {\r\n<abp-modal [(visible)]=\"visible\" [busy]=\"modalBusy\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ 'AbpFeatureManagement::Features' | abpLocalization }}\r\n @if (providerTitle()) {\r\n - {{ providerTitle() }}\r\n }\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"row\">\r\n @if (groups.length) {\r\n <div ngTabs orientation=\"vertical\" class=\"row\">\r\n <div class=\"col-md-4\">\r\n <div ngTabList orientation=\"vertical\" selectionMode=\"follow\" [(selectedTab)]=\"selectedGroupDisplayName\" class=\"nav nav-pills flex-column\">\r\n @for (group of groups; track group.name) {\r\n <button ngTab #tab=\"ngTab\" type=\"button\" [value]=\"group.displayName\" class=\"nav-link text-start\" [class.active]=\"tab.selected()\">\r\n {{ group.displayName }}\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <ng-template #descTmp let-description>\r\n @if (description) {\r\n <small class=\"d-block form-text text-muted\">{{ description }}</small>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"col-md-8\">\r\n @for (group of groups; track group.name) {\r\n <div ngTabPanel [value]=\"group.displayName\">\r\n <ng-template ngTabContent>\r\n <h4>{{ selectedGroupDisplayName }}</h4>\r\n <hr class=\"mt-2 mb-3\" />\r\n\r\n @for (feature of features[group.name]; track feature.id || i; let i = $index) {\r\n @let provider = feature.provider.name;\r\n @let isFeatureDisabled = !feature.parentName ? isParentDisabled(feature.name, group.name, provider) :\r\n (provider !== providerName() && provider !== defaultProviderName);\r\n\r\n <div class=\"mt-2\" [style]=\"feature.style\" (keyup.enter)=\"save()\">\r\n @switch (feature.valueType?.name) {\r\n @case (valueTypes.ToggleStringValueType) {\r\n <div class=\"form-check\" [class.px-4]=\"!!feature.parentName\">\r\n <input class=\"form-check-input\" type=\"checkbox\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\"\r\n (ngModelChange)=\"onCheckboxClick($event, feature)\" [disabled]=\"isFeatureDisabled\" />\r\n\r\n <label class=\"form-check-label\" [htmlFor]=\"feature.name\">\r\n {{ feature.displayName }}\r\n @if (isFeatureDisabled) {\r\n <span>({{ provider }})</span>\r\n }\r\n </label>\r\n <ng-container *ngTemplateOutlet=\"\r\n descTmp;\r\n context: { $implicit: feature.description }\r\n \"></ng-container>\r\n </div>\r\n }\r\n @case (valueTypes.FreeTextStringValueType) {\r\n <div class=\"mb-3 form-group\" [class.px-2]=\"!!feature.parentName\">\r\n <label [htmlFor]=\"feature.name\" class=\"form-label\">\r\n {{ feature.displayName }}\r\n @if (isFeatureDisabled) {\r\n <span>({{ provider }})</span>\r\n }\r\n </label>\r\n <input class=\"form-control\" type=\"text\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\"\r\n [abpFeatureManagementFreeText]=\"feature\" [disabled]=\"isFeatureDisabled\" />\r\n\r\n <ng-container *ngTemplateOutlet=\"\r\n descTmp;\r\n context: { $implicit: feature.description }\r\n \"></ng-container>\r\n </div>\r\n }\r\n @case (valueTypes.SelectionStringValueType) {\r\n @if (feature.valueType.itemSource?.items?.length) {\r\n <div class=\"mb-3 form-group\" [class.px-2]=\"!!feature.parentName\">\r\n <label [htmlFor]=\"feature.name\" class=\"form-label\">\r\n {{ feature.displayName }}\r\n @if (isFeatureDisabled) {\r\n <span>({{ provider }})</span>\r\n }\r\n </label>\r\n <select class=\"form-select\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\"\r\n [disabled]=\"isFeatureDisabled\">\r\n @for (\r\n item of feature.valueType.itemSource?.items;\r\n track item.value\r\n ) {\r\n <option [ngValue]=\"item.value\">\r\n {{\r\n item.displayText?.resourceName +\r\n '::' +\r\n item.displayText?.name | abpLocalization\r\n }}\r\n </option>\r\n }\r\n </select>\r\n <ng-container *ngTemplateOutlet=\"\r\n descTmp;\r\n context: { $implicit: feature.description }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n }\r\n @default {\r\n {{ feature.displayName }}\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!groups.length) {\r\n <div class=\"col\">\r\n {{ 'AbpFeatureManagement::NoFeatureFoundMessage' | abpLocalization }}\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-link\">\r\n {{ 'AbpFeatureManagement::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n @if (groups.length) {\r\n <abp-button buttonClass=\"btn btn-outline-primary\" [disabled]=\"modalBusy\" (click)=\"resetToDefault()\"\r\n aria-hidden=\"true\">\r\n {{ 'AbpFeatureManagement::ResetToDefault' | abpLocalization }}\r\n </abp-button>\r\n }\r\n\r\n @if (groups.length) {\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"modalBusy\" (click)=\"save()\" aria-hidden=\"true\">\r\n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\r\n </abp-button>\r\n }\r\n </ng-template>\r\n</abp-modal>\r\n}", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: Tabs, selector: "[ngTabs]", exportAs: ["ngTabs"] }, { kind: "directive", type: TabList, selector: "[ngTabList]", inputs: ["orientation", "wrap", "softDisabled", "focusMode", "selectionMode", "selectedTab", "disabled"], outputs: ["selectedTabChange"], exportAs: ["ngTabList"] }, { kind: "directive", type: Tab, selector: "[ngTab]", inputs: ["id", "disabled", "value"], exportAs: ["ngTab"] }, { kind: "directive", type: TabPanel, selector: "[ngTabPanel]", inputs: ["id", "value"], exportAs: ["ngTabPanel"] }, { kind: "directive", type: TabContent, selector: "ng-template[ngTabContent]", exportAs: ["ngTabContent"] }, { kind: "directive", type: FreeTextInputDirective, selector: "input[abpFeatureManagementFreeText]", inputs: ["abpFeatureManagementFreeText"], exportAs: ["inputAbpFeatureManagementFreeText"] }, { kind: "directive", type: ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
221
221
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementComponent, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementComponent, decorators: [{
223
223
  type: Component,
224
224
  args: [{ selector: 'abp-feature-management', exportAs: 'abpFeatureManagement', imports: [
225
225
  NgTemplateOutlet,
@@ -261,10 +261,10 @@ class FeatureManagementTabComponent {
261
261
  openFeaturesModal() {
262
262
  this.visibleFeatures = true;
263
263
  }
264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: FeatureManagementTabComponent, isStandalone: true, selector: "abp-feature-management-tab", ngImport: i0, template: "<p class=\"pt-2 text-wrap\">{{ 'AbpFeatureManagement::ManageHostFeaturesText' | abpLocalization }}</p>\r\n\r\n<button class=\"btn btn-primary\" type=\"button\" (click)=\"openFeaturesModal()\">\r\n <i class=\"me-1 fa fa-cog\" aria-hidden=\"true\"></i>\r\n {{ 'AbpFeatureManagement::ManageHostFeatures' | abpLocalization }}\r\n</button>\r\n@if (visibleFeatures) {\r\n <abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisibleFeaturesChange },\r\n componentKey: 'FeatureManagement.FeatureManagementComponent'\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n >\r\n </abp-feature-management>\r\n}\r\n", dependencies: [{ kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: FeatureManagementComponent, selector: "abp-feature-management", inputs: ["providerKey", "providerName", "providerTitle", "visible"], outputs: ["visibleChange"], exportAs: ["abpFeatureManagement"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: FeatureManagementTabComponent, isStandalone: true, selector: "abp-feature-management-tab", ngImport: i0, template: "<p class=\"pt-2 text-wrap\">{{ 'AbpFeatureManagement::ManageHostFeaturesText' | abpLocalization }}</p>\r\n\r\n<button class=\"btn btn-primary\" type=\"button\" (click)=\"openFeaturesModal()\">\r\n <i class=\"me-1 fa fa-cog\" aria-hidden=\"true\"></i>\r\n {{ 'AbpFeatureManagement::ManageHostFeatures' | abpLocalization }}\r\n</button>\r\n@if (visibleFeatures) {\r\n <abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisibleFeaturesChange },\r\n componentKey: 'FeatureManagement.FeatureManagementComponent'\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n >\r\n </abp-feature-management>\r\n}\r\n", dependencies: [{ kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: FeatureManagementComponent, selector: "abp-feature-management", inputs: ["providerKey", "providerName", "providerTitle", "visible"], outputs: ["visibleChange"], exportAs: ["abpFeatureManagement"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
266
266
  }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementTabComponent, decorators: [{
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementTabComponent, decorators: [{
268
268
  type: Component,
269
269
  args: [{ selector: 'abp-feature-management-tab', imports: [ReplaceableTemplateDirective, LocalizationPipe, FeatureManagementComponent], template: "<p class=\"pt-2 text-wrap\">{{ 'AbpFeatureManagement::ManageHostFeaturesText' | abpLocalization }}</p>\r\n\r\n<button class=\"btn btn-primary\" type=\"button\" (click)=\"openFeaturesModal()\">\r\n <i class=\"me-1 fa fa-cog\" aria-hidden=\"true\"></i>\r\n {{ 'AbpFeatureManagement::ManageHostFeatures' | abpLocalization }}\r\n</button>\r\n@if (visibleFeatures) {\r\n <abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisibleFeaturesChange },\r\n componentKey: 'FeatureManagement.FeatureManagementComponent'\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n >\r\n </abp-feature-management>\r\n}\r\n" }]
270
270
  }] });
@@ -307,16 +307,16 @@ class FeatureManagementModule {
307
307
  providers: [provideFeatureManagementConfig()],
308
308
  };
309
309
  }
310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
311
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementModule, imports: [FeatureManagementComponent,
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
311
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementModule, imports: [FeatureManagementComponent,
312
312
  FreeTextInputDirective,
313
313
  FeatureManagementTabComponent], exports: [FeatureManagementComponent,
314
314
  FreeTextInputDirective,
315
315
  FeatureManagementTabComponent] }); }
316
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementModule, imports: [FeatureManagementComponent,
316
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementModule, imports: [FeatureManagementComponent,
317
317
  FeatureManagementTabComponent] }); }
318
318
  }
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: FeatureManagementModule, decorators: [{
319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FeatureManagementModule, decorators: [{
320
320
  type: NgModule,
321
321
  args: [{
322
322
  imports: [...FEATURE_MANAGEMENT_EXPORTS],
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@abp/ng.feature-management",
3
- "version": "10.3.0-rc.1",
3
+ "version": "10.3.0",
4
4
  "homepage": "https://abp.io",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/abpframework/abp.git"
8
8
  },
9
9
  "dependencies": {
10
- "@abp/ng.theme.shared": "~10.3.0-rc.1",
10
+ "@abp/ng.theme.shared": "~10.3.0",
11
11
  "tslib": "^2.0.0"
12
12
  },
13
13
  "peerDependencies": {