@c8y/ngx-components 1023.14.157 → 1023.14.160
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/echart/index.d.ts +7 -5
- package/echart/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +98 -32
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +7 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +233 -51
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/index.d.ts +90 -13
- package/index.d.ts.map +1 -1
- package/locales/de.po +26 -8
- package/locales/es.po +21 -3
- package/locales/fr.po +28 -9
- package/locales/ja_JP.po +133 -56
- package/locales/ko.po +21 -3
- package/locales/locales.pot +21 -3
- package/locales/nl.po +21 -3
- package/locales/pl.po +21 -3
- package/locales/pt_BR.po +21 -3
- package/locales/zh_CN.po +21 -3
- package/locales/zh_TW.po +21 -3
- package/package.json +1 -1
- package/upgrade/index.d.ts.map +1 -1
|
@@ -17959,7 +17959,8 @@ class ValidationPattern {
|
|
|
17959
17959
|
maxlength: gettext$1('Should have at most {{ requiredLength }} characters.'),
|
|
17960
17960
|
pattern: gettext$1('Does not match pattern {{ requiredPattern }}.'),
|
|
17961
17961
|
opcuaBrowsePath: gettext$1('Invalid OPC UA URI.'),
|
|
17962
|
-
password: gettext$1('Password must have at least
|
|
17962
|
+
password: gettext$1('Password must have at least {{ minLength }} characters and no more than {{ maxLength }} and can only contain letters, numbers and following symbols: {{ allowedCharactersList }}'),
|
|
17963
|
+
passwordSimple: gettext$1('Password must have at least {{ minLength }} characters and no more than {{ maxLength }}.'),
|
|
17963
17964
|
passwordConfirm: gettext$1('Passwords do not match.'),
|
|
17964
17965
|
passwordStrength: gettext$1('Password is not strong enough, use a stronger password.'),
|
|
17965
17966
|
passwordStrengthChecklist: gettext$1('Password is not strong enough, use a stronger password. Check the requirements listed on the right.'),
|
|
@@ -18003,6 +18004,8 @@ class ValidationPattern {
|
|
|
18003
18004
|
pattern: /^(opc.tcp|http|https):\/\/[^ "]+$/
|
|
18004
18005
|
},
|
|
18005
18006
|
password: {
|
|
18007
|
+
// Note: min length {8} is a fallback default. Actual password validation uses
|
|
18008
|
+
// PasswordValidationService with dynamically configured min length.
|
|
18006
18009
|
pattern: /^[a-zA-Z0-9`~!@#$%^&*()_|+\-=?;:'",.<>{}[\]\\/]{8,32}$/
|
|
18007
18010
|
},
|
|
18008
18011
|
tenantId: {
|
|
@@ -18215,6 +18218,7 @@ class MessagesComponent {
|
|
|
18215
18218
|
this.defaults = ValidationPattern.messages;
|
|
18216
18219
|
this.helpMessage = '';
|
|
18217
18220
|
this.messages = [];
|
|
18221
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18218
18222
|
this.messageMap = {};
|
|
18219
18223
|
}
|
|
18220
18224
|
ngAfterContentInit() {
|
|
@@ -18239,7 +18243,10 @@ class MessagesComponent {
|
|
|
18239
18243
|
}
|
|
18240
18244
|
}
|
|
18241
18245
|
toMessage(key, value) {
|
|
18242
|
-
|
|
18246
|
+
// First check customMessages directly for the most up-to-date text
|
|
18247
|
+
// (handles async binding updates that occur after ngAfterContentInit)
|
|
18248
|
+
const customMessage = this.customMessages?.find(({ name }) => name === key);
|
|
18249
|
+
let message = customMessage?.text || this.messageMap[key];
|
|
18243
18250
|
if ((!message || message === ValidationPattern.messages.pattern) &&
|
|
18244
18251
|
key === 'pattern' &&
|
|
18245
18252
|
typeof value?.requiredPattern === 'string') {
|
|
@@ -18247,7 +18254,8 @@ class MessagesComponent {
|
|
|
18247
18254
|
const foundPattern = Object.keys(ValidationPattern.rules).find(tmp => ValidationPattern.rules[tmp].pattern?.source === pattern);
|
|
18248
18255
|
if (foundPattern) {
|
|
18249
18256
|
key = foundPattern;
|
|
18250
|
-
|
|
18257
|
+
const foundCustomMessage = this.customMessages?.find(({ name }) => name === key);
|
|
18258
|
+
message = foundCustomMessage?.text || this.messageMap[key];
|
|
18251
18259
|
}
|
|
18252
18260
|
}
|
|
18253
18261
|
if (!message) {
|
|
@@ -18256,11 +18264,11 @@ class MessagesComponent {
|
|
|
18256
18264
|
return this.translateService.instant(message, value);
|
|
18257
18265
|
}
|
|
18258
18266
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: MessagesComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18259
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
18267
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: MessagesComponent, isStandalone: true, selector: "c8y-messages", inputs: { show: "show", defaults: "defaults", helpMessage: "helpMessage" }, queries: [{ propertyName: "customMessages", predicate: MessageDirective }], usesOnChanges: true, ngImport: i0, template: "<small class=\"form-control-feedback-message\">\n @for (msg of messages; track msg) {\n <div class=\"d-block\">\n {{ msg | translate }}\n </div>\n }\n @if (!messages.length && helpMessage) {\n <div class=\"help-block\">\n {{ helpMessage | translate }}\n </div>\n }\n <ng-content></ng-content>\n</small>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
18260
18268
|
}
|
|
18261
18269
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: MessagesComponent, decorators: [{
|
|
18262
18270
|
type: Component,
|
|
18263
|
-
args: [{ selector: 'c8y-messages', standalone: true, imports: [
|
|
18271
|
+
args: [{ selector: 'c8y-messages', standalone: true, imports: [C8yTranslatePipe], template: "<small class=\"form-control-feedback-message\">\n @for (msg of messages; track msg) {\n <div class=\"d-block\">\n {{ msg | translate }}\n </div>\n }\n @if (!messages.length && helpMessage) {\n <div class=\"help-block\">\n {{ helpMessage | translate }}\n </div>\n }\n <ng-content></ng-content>\n</small>\n" }]
|
|
18264
18272
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { show: [{
|
|
18265
18273
|
type: Input
|
|
18266
18274
|
}], defaults: [{
|
|
@@ -20365,7 +20373,9 @@ class PasswordService {
|
|
|
20365
20373
|
return password.search(/[0-9]/) !== -1;
|
|
20366
20374
|
}
|
|
20367
20375
|
hasSpecialChars(password) {
|
|
20368
|
-
|
|
20376
|
+
// Only match ALLOWED symbols, not any non-alphanumeric character
|
|
20377
|
+
// Allowed: `~!@#$%^&*()_|+-=?;:'",.<>{}[]\\/
|
|
20378
|
+
return password.search(/[`~!@#$%^&*()_|+\-=?;:'",.<>{}\[\]\\/]/) !== -1;
|
|
20369
20379
|
}
|
|
20370
20380
|
getStrengthColor(password) {
|
|
20371
20381
|
const passwordStrength = filter$2([
|
|
@@ -20606,6 +20616,110 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
20606
20616
|
type: Input
|
|
20607
20617
|
}] } });
|
|
20608
20618
|
|
|
20619
|
+
/**
|
|
20620
|
+
* Shared password validation service for Angular and AngularJS.
|
|
20621
|
+
*
|
|
20622
|
+
* Validation logic:
|
|
20623
|
+
* - Invalid characters → error with full message (allowed symbols)
|
|
20624
|
+
* - Too long (>32) → error
|
|
20625
|
+
* - Too short when NOT enforced → simple error (length only)
|
|
20626
|
+
* - Too short when enforced → valid (checklist handles it)
|
|
20627
|
+
*/
|
|
20628
|
+
class PasswordValidationService {
|
|
20629
|
+
constructor() {
|
|
20630
|
+
this.DEFAULT_MIN_LENGTH = 8;
|
|
20631
|
+
this.MAX_LENGTH = 32;
|
|
20632
|
+
this.ALLOWED_SYMBOLS = '`~!@#$%^&*()_|+-=?;:\'",.<>{}[]\\/';
|
|
20633
|
+
this.VALID_CHARS_PATTERN = /^[a-zA-Z0-9`~!@#$%^&*()_|+\-=?;:'",.<>{}[\]\\/]*$/;
|
|
20634
|
+
}
|
|
20635
|
+
/**
|
|
20636
|
+
* @param password The password to validate.
|
|
20637
|
+
* @param strengthEnforced Whether password strength enforcement is enabled.
|
|
20638
|
+
* @param minGreenLength Minimum length to be considered strong/green.
|
|
20639
|
+
* When strength is enforced, this is the green minimum from tenant settings.
|
|
20640
|
+
* Defaults to DEFAULT_MIN_LENGTH.
|
|
20641
|
+
*/
|
|
20642
|
+
validate(password, strengthEnforced, minGreenLength) {
|
|
20643
|
+
const min = minGreenLength ?? this.DEFAULT_MIN_LENGTH;
|
|
20644
|
+
if (!password) {
|
|
20645
|
+
return { valid: true, errorKey: null };
|
|
20646
|
+
}
|
|
20647
|
+
// Invalid characters - always show full message with allowed symbols
|
|
20648
|
+
if (!this.hasValidCharsOnly(password)) {
|
|
20649
|
+
return { valid: false, errorKey: 'password' };
|
|
20650
|
+
}
|
|
20651
|
+
// Too long - always validate
|
|
20652
|
+
if (password.length > this.MAX_LENGTH) {
|
|
20653
|
+
return { valid: false, errorKey: strengthEnforced ? 'password' : 'passwordSimple' };
|
|
20654
|
+
}
|
|
20655
|
+
// Shorter than absolute minimum - always invalid regardless of enforcement
|
|
20656
|
+
if (password.length < this.DEFAULT_MIN_LENGTH) {
|
|
20657
|
+
return { valid: false, errorKey: 'passwordSimple' };
|
|
20658
|
+
}
|
|
20659
|
+
// Too short for configured min - only validate when strength is NOT enforced (checklist handles it otherwise)
|
|
20660
|
+
if (!strengthEnforced && password.length < min) {
|
|
20661
|
+
return { valid: false, errorKey: 'passwordSimple' };
|
|
20662
|
+
}
|
|
20663
|
+
return { valid: true, errorKey: null };
|
|
20664
|
+
}
|
|
20665
|
+
hasValidCharsOnly(password) {
|
|
20666
|
+
return this.VALID_CHARS_PATTERN.test(password);
|
|
20667
|
+
}
|
|
20668
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20669
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordValidationService, providedIn: 'root' }); }
|
|
20670
|
+
}
|
|
20671
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordValidationService, decorators: [{
|
|
20672
|
+
type: Injectable,
|
|
20673
|
+
args: [{ providedIn: 'root' }]
|
|
20674
|
+
}] });
|
|
20675
|
+
|
|
20676
|
+
/**
|
|
20677
|
+
* Password validation directive using shared PasswordValidationService.
|
|
20678
|
+
*
|
|
20679
|
+
* Returns `{ password: { minLength, maxLength, allowedCharactersList } }` for full message (with allowed symbols)
|
|
20680
|
+
* or `{ passwordSimple: { minLength, maxLength, allowedCharactersList } }` for simple message (length only).
|
|
20681
|
+
*/
|
|
20682
|
+
class PasswordValidationDirective {
|
|
20683
|
+
constructor() {
|
|
20684
|
+
this.validationService = inject(PasswordValidationService);
|
|
20685
|
+
}
|
|
20686
|
+
validate(control) {
|
|
20687
|
+
const password = control.value;
|
|
20688
|
+
if (!password) {
|
|
20689
|
+
return null;
|
|
20690
|
+
}
|
|
20691
|
+
const strengthEnforced = this.passwordStrengthEnforced === true;
|
|
20692
|
+
const min = strengthEnforced
|
|
20693
|
+
? (this.minLength ?? this.validationService.DEFAULT_MIN_LENGTH)
|
|
20694
|
+
: this.validationService.DEFAULT_MIN_LENGTH;
|
|
20695
|
+
const result = this.validationService.validate(password, strengthEnforced, min);
|
|
20696
|
+
if (result.valid) {
|
|
20697
|
+
return null;
|
|
20698
|
+
}
|
|
20699
|
+
return {
|
|
20700
|
+
[result.errorKey]: {
|
|
20701
|
+
minLength: min,
|
|
20702
|
+
maxLength: this.validationService.MAX_LENGTH,
|
|
20703
|
+
allowedCharactersList: this.validationService.ALLOWED_SYMBOLS
|
|
20704
|
+
}
|
|
20705
|
+
};
|
|
20706
|
+
}
|
|
20707
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20708
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.19", type: PasswordValidationDirective, isStandalone: true, selector: "[c8yPasswordValidation]", inputs: { passwordStrengthEnforced: "passwordStrengthEnforced", minLength: "minLength" }, providers: [{ provide: NG_VALIDATORS, useExisting: PasswordValidationDirective, multi: true }], ngImport: i0 }); }
|
|
20709
|
+
}
|
|
20710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordValidationDirective, decorators: [{
|
|
20711
|
+
type: Directive,
|
|
20712
|
+
args: [{
|
|
20713
|
+
selector: '[c8yPasswordValidation]',
|
|
20714
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: PasswordValidationDirective, multi: true }],
|
|
20715
|
+
standalone: true
|
|
20716
|
+
}]
|
|
20717
|
+
}], propDecorators: { passwordStrengthEnforced: [{
|
|
20718
|
+
type: Input
|
|
20719
|
+
}], minLength: [{
|
|
20720
|
+
type: Input
|
|
20721
|
+
}] } });
|
|
20722
|
+
|
|
20609
20723
|
class PasswordConfirm {
|
|
20610
20724
|
constructor(passwordConfirm) {
|
|
20611
20725
|
this.passwordConfirm = passwordConfirm;
|
|
@@ -20656,7 +20770,7 @@ class PasswordStrengthService {
|
|
|
20656
20770
|
};
|
|
20657
20771
|
}
|
|
20658
20772
|
/**
|
|
20659
|
-
* Gets the minimal number of characters that a password should have to be considered a
|
|
20773
|
+
* Gets the minimal number of characters that a password should have to be considered a "green" strong one.
|
|
20660
20774
|
* @return The min length for password or default value.
|
|
20661
20775
|
*/
|
|
20662
20776
|
async getGreenMinLength() {
|
|
@@ -20740,43 +20854,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
20740
20854
|
}], ctorParameters: () => [{ type: AppStateService }] });
|
|
20741
20855
|
|
|
20742
20856
|
class PasswordCheckListComponent {
|
|
20743
|
-
|
|
20744
|
-
if (typeof password === 'string') {
|
|
20745
|
-
this.onPasswordChange(password);
|
|
20746
|
-
}
|
|
20747
|
-
}
|
|
20748
|
-
constructor(passwordStrength, passwordStrengthChecker, passwordService) {
|
|
20857
|
+
constructor(passwordStrength, passwordService) {
|
|
20749
20858
|
this.passwordStrength = passwordStrength;
|
|
20750
|
-
this.passwordStrengthChecker = passwordStrengthChecker;
|
|
20751
20859
|
this.passwordService = passwordService;
|
|
20752
20860
|
this.strengthEnforced = false;
|
|
20861
|
+
this.password = '';
|
|
20753
20862
|
this.onRequirementsFulfilled = new EventEmitter();
|
|
20754
20863
|
this.minGreenLength = 8;
|
|
20755
20864
|
this.enhancedStrengthCheckList = [
|
|
20756
20865
|
{
|
|
20757
20866
|
label: gettext$1('Include lowercase characters (for example, abcdef)'),
|
|
20758
|
-
check: this.
|
|
20867
|
+
check: this.passwordService.hasLowerCase,
|
|
20759
20868
|
icon: '',
|
|
20760
20869
|
contextualColor: '',
|
|
20761
20870
|
textColor: ''
|
|
20762
20871
|
},
|
|
20763
20872
|
{
|
|
20764
20873
|
label: gettext$1('Include uppercase characters (for example, ABCDEF)'),
|
|
20765
|
-
check: this.
|
|
20874
|
+
check: this.passwordService.hasUpperCase,
|
|
20766
20875
|
icon: '',
|
|
20767
20876
|
contextualColor: '',
|
|
20768
20877
|
textColor: ''
|
|
20769
20878
|
},
|
|
20770
20879
|
{
|
|
20771
20880
|
label: gettext$1('Include numbers (for example, 123456)'),
|
|
20772
|
-
check: this.
|
|
20881
|
+
check: this.passwordService.hasNumbers,
|
|
20773
20882
|
icon: '',
|
|
20774
20883
|
contextualColor: '',
|
|
20775
20884
|
textColor: ''
|
|
20776
20885
|
},
|
|
20777
20886
|
{
|
|
20778
20887
|
label: gettext$1('Include symbols (for example, !@#$%^)'),
|
|
20779
|
-
check: this.
|
|
20888
|
+
check: this.passwordService.hasSpecialChars,
|
|
20780
20889
|
icon: '',
|
|
20781
20890
|
contextualColor: '',
|
|
20782
20891
|
textColor: ''
|
|
@@ -20785,7 +20894,7 @@ class PasswordCheckListComponent {
|
|
|
20785
20894
|
this.basicChecklist = [
|
|
20786
20895
|
{
|
|
20787
20896
|
label: gettext$1('Must have at least {{length}} characters'),
|
|
20788
|
-
check: password => password.length >= this.minGreenLength,
|
|
20897
|
+
check: (password) => password.length >= this.minGreenLength,
|
|
20789
20898
|
icon: '',
|
|
20790
20899
|
contextualColor: '',
|
|
20791
20900
|
textColor: ''
|
|
@@ -20794,15 +20903,26 @@ class PasswordCheckListComponent {
|
|
|
20794
20903
|
this.combinedChecklist = [];
|
|
20795
20904
|
}
|
|
20796
20905
|
async ngOnInit() {
|
|
20797
|
-
this.
|
|
20798
|
-
if (!this.
|
|
20799
|
-
this.
|
|
20906
|
+
this.defaultMinLength = this.passwordService.getDefaultPasswordMinLength();
|
|
20907
|
+
if (!this.greenMinLength) {
|
|
20908
|
+
this.greenMinLength = await this.passwordStrength.getGreenMinLength();
|
|
20909
|
+
}
|
|
20910
|
+
this.updateMinGreenLength();
|
|
20911
|
+
this.onPasswordChange(this.password);
|
|
20912
|
+
}
|
|
20913
|
+
ngOnChanges(changes) {
|
|
20914
|
+
if ((changes.strengthEnforced && !changes.strengthEnforced.firstChange) ||
|
|
20915
|
+
(changes.greenMinLength && !changes.greenMinLength.firstChange)) {
|
|
20916
|
+
this.updateMinGreenLength();
|
|
20917
|
+
}
|
|
20918
|
+
if (changes.password || changes.strengthEnforced || changes.greenMinLength) {
|
|
20919
|
+
this.onPasswordChange(this.password);
|
|
20800
20920
|
}
|
|
20801
|
-
this.onPasswordChange('');
|
|
20802
20921
|
}
|
|
20803
20922
|
get translateParams() {
|
|
20804
20923
|
return {
|
|
20805
|
-
length: this.minGreenLength
|
|
20924
|
+
length: this.minGreenLength,
|
|
20925
|
+
recommendedLength: this.recommendedMinLength
|
|
20806
20926
|
};
|
|
20807
20927
|
}
|
|
20808
20928
|
checkRequirement(requirement, password) {
|
|
@@ -20815,12 +20935,16 @@ class PasswordCheckListComponent {
|
|
|
20815
20935
|
return requirement;
|
|
20816
20936
|
}
|
|
20817
20937
|
onPasswordChange(password) {
|
|
20938
|
+
const pwd = typeof password === 'string' ? password : '';
|
|
20818
20939
|
this.basicChecklist.forEach(requirement => {
|
|
20819
|
-
this.checkRequirement(requirement,
|
|
20940
|
+
this.checkRequirement(requirement, pwd);
|
|
20820
20941
|
});
|
|
20821
20942
|
this.enhancedStrengthCheckList.forEach(requirement => {
|
|
20822
|
-
this.checkRequirement(requirement,
|
|
20943
|
+
this.checkRequirement(requirement, pwd);
|
|
20823
20944
|
});
|
|
20945
|
+
if (this.recommendedMinLengthCheck) {
|
|
20946
|
+
this.checkRequirement(this.recommendedMinLengthCheck, pwd);
|
|
20947
|
+
}
|
|
20824
20948
|
this.combinedChecklist = [...this.basicChecklist, ...this.enhancedStrengthCheckList];
|
|
20825
20949
|
this.onRequirementsFulfilled.emit(this.isPasswordValid());
|
|
20826
20950
|
}
|
|
@@ -20828,30 +20952,61 @@ class PasswordCheckListComponent {
|
|
|
20828
20952
|
const checklist = this.strengthEnforced ? this.combinedChecklist : this.basicChecklist;
|
|
20829
20953
|
return checklist.every(requirement => requirement.icon !== 'radio-button-unchecked');
|
|
20830
20954
|
}
|
|
20831
|
-
|
|
20832
|
-
|
|
20955
|
+
updateMinGreenLength() {
|
|
20956
|
+
this.minGreenLength = this.strengthEnforced
|
|
20957
|
+
? this.greenMinLength || this.defaultMinLength
|
|
20958
|
+
: this.defaultMinLength;
|
|
20959
|
+
if (!this.strengthEnforced && this.greenMinLength > this.defaultMinLength) {
|
|
20960
|
+
this.recommendedMinLength = this.greenMinLength;
|
|
20961
|
+
this.recommendedMinLengthCheck = {
|
|
20962
|
+
label: gettext$1('Have at least {{recommendedLength}} characters'),
|
|
20963
|
+
check: (password) => password.length >= this.recommendedMinLength,
|
|
20964
|
+
icon: '',
|
|
20965
|
+
contextualColor: '',
|
|
20966
|
+
textColor: ''
|
|
20967
|
+
};
|
|
20968
|
+
}
|
|
20969
|
+
else {
|
|
20970
|
+
this.recommendedMinLength = undefined;
|
|
20971
|
+
this.recommendedMinLengthCheck = undefined;
|
|
20972
|
+
}
|
|
20973
|
+
}
|
|
20974
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordCheckListComponent, deps: [{ token: PasswordStrengthService }, { token: PasswordService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20975
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: PasswordCheckListComponent, isStandalone: true, selector: "c8y-password-check-list", inputs: { strengthEnforced: "strengthEnforced", password: "password", greenMinLength: "greenMinLength" }, outputs: { onRequirementsFulfilled: "onRequirementsFulfilled" }, usesOnChanges: true, ngImport: i0, template: "@if (strengthEnforced) {\n <div class=\"m-b-8\">{{ 'Password must meet the requirements below:' | translate }}</div>\n <ul class=\"list-unstyled\">\n @for (requirement of combinedChecklist; track requirement.label) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ requirement.contextualColor }}\"\n [c8yIcon]=\"requirement.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ requirement.textColor }}\"\n [translate]=\"requirement.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n </ul>\n} @else {\n <div class=\"m-b-8\">{{ 'Password must meet the requirements below:' | translate }}</div>\n <ul class=\"list-unstyled\">\n @for (requirement of basicChecklist; track requirement.label) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ requirement.contextualColor }}\"\n [c8yIcon]=\"requirement.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ requirement.textColor }}\"\n [translate]=\"requirement.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n </ul>\n\n <div class=\"m-b-8\">\n {{ 'We recommend you to meet these conditions for a stronger password:' | translate }}\n </div>\n <ul class=\"list-unstyled\">\n @if (recommendedMinLengthCheck) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ recommendedMinLengthCheck.contextualColor }}\"\n [c8yIcon]=\"recommendedMinLengthCheck.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ recommendedMinLengthCheck.textColor }}\"\n [translate]=\"recommendedMinLengthCheck.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n @for (requirement of enhancedStrengthCheckList; track requirement.label) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ requirement.contextualColor }}\"\n [c8yIcon]=\"requirement.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ requirement.textColor }}\"\n [translate]=\"requirement.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n </ul>\n}\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
20833
20976
|
}
|
|
20834
20977
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PasswordCheckListComponent, decorators: [{
|
|
20835
20978
|
type: Component,
|
|
20836
|
-
args: [{ selector: 'c8y-password-check-list', standalone: true, imports: [
|
|
20837
|
-
}], ctorParameters: () => [{ type: PasswordStrengthService }, { type: PasswordService }
|
|
20979
|
+
args: [{ selector: 'c8y-password-check-list', standalone: true, imports: [IconDirective, C8yTranslateDirective, C8yTranslatePipe], template: "@if (strengthEnforced) {\n <div class=\"m-b-8\">{{ 'Password must meet the requirements below:' | translate }}</div>\n <ul class=\"list-unstyled\">\n @for (requirement of combinedChecklist; track requirement.label) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ requirement.contextualColor }}\"\n [c8yIcon]=\"requirement.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ requirement.textColor }}\"\n [translate]=\"requirement.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n </ul>\n} @else {\n <div class=\"m-b-8\">{{ 'Password must meet the requirements below:' | translate }}</div>\n <ul class=\"list-unstyled\">\n @for (requirement of basicChecklist; track requirement.label) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ requirement.contextualColor }}\"\n [c8yIcon]=\"requirement.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ requirement.textColor }}\"\n [translate]=\"requirement.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n </ul>\n\n <div class=\"m-b-8\">\n {{ 'We recommend you to meet these conditions for a stronger password:' | translate }}\n </div>\n <ul class=\"list-unstyled\">\n @if (recommendedMinLengthCheck) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ recommendedMinLengthCheck.contextualColor }}\"\n [c8yIcon]=\"recommendedMinLengthCheck.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ recommendedMinLengthCheck.textColor }}\"\n [translate]=\"recommendedMinLengthCheck.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n @for (requirement of enhancedStrengthCheckList; track requirement.label) {\n <li class=\"small d-flex\">\n <i\n class=\"{{ requirement.contextualColor }}\"\n [c8yIcon]=\"requirement.icon\"\n ></i>\n <span\n class=\"m-l-4 small {{ requirement.textColor }}\"\n [translate]=\"requirement.label\"\n [translateParams]=\"this.translateParams\"\n ></span>\n </li>\n }\n </ul>\n}\n" }]
|
|
20980
|
+
}], ctorParameters: () => [{ type: PasswordStrengthService }, { type: PasswordService }], propDecorators: { strengthEnforced: [{
|
|
20838
20981
|
type: Input
|
|
20839
20982
|
}], password: [{
|
|
20840
|
-
type: Input
|
|
20841
|
-
|
|
20983
|
+
type: Input
|
|
20984
|
+
}], greenMinLength: [{
|
|
20985
|
+
type: Input
|
|
20842
20986
|
}], onRequirementsFulfilled: [{
|
|
20843
20987
|
type: Output
|
|
20844
20988
|
}] } });
|
|
20845
20989
|
|
|
20846
20990
|
class NewPasswordComponent {
|
|
20991
|
+
/**
|
|
20992
|
+
* Returns effective min length for validation:
|
|
20993
|
+
* - When enforceStrength=true: use greenMinLength (or default 8)
|
|
20994
|
+
* - When enforceStrength=false: always use default 8
|
|
20995
|
+
*/
|
|
20996
|
+
get effectiveMinLength() {
|
|
20997
|
+
return this.passwordEnforced
|
|
20998
|
+
? this.minlength || this.DEFAULT_MIN_LENGTH
|
|
20999
|
+
: this.DEFAULT_MIN_LENGTH;
|
|
21000
|
+
}
|
|
20847
21001
|
set _newPasswordModel(ngModel) {
|
|
20848
21002
|
if (ngModel) {
|
|
20849
21003
|
this.newPasswordModel = ngModel;
|
|
20850
21004
|
ngModel.control.addValidators(this.passwordChecklistValidator);
|
|
20851
21005
|
}
|
|
20852
21006
|
}
|
|
20853
|
-
constructor(passwordStrength, cdRef, elementRef) {
|
|
21007
|
+
constructor(passwordStrength, passwordValidation, cdRef, elementRef) {
|
|
20854
21008
|
this.passwordStrength = passwordStrength;
|
|
21009
|
+
this.passwordValidation = passwordValidation;
|
|
20855
21010
|
this.cdRef = cdRef;
|
|
20856
21011
|
this.elementRef = elementRef;
|
|
20857
21012
|
this.password = new EventEmitter();
|
|
@@ -20859,13 +21014,22 @@ class NewPasswordComponent {
|
|
|
20859
21014
|
this.model = {};
|
|
20860
21015
|
this.changePassword = false;
|
|
20861
21016
|
this.passwordEnforced = false;
|
|
20862
|
-
this.
|
|
21017
|
+
this.DEFAULT_MIN_LENGTH = 8;
|
|
21018
|
+
// Only enforce checklist validation when password strength is enforced.
|
|
21019
|
+
// When not enforced, checklist is just informational/recommendations.
|
|
21020
|
+
this.passwordChecklistValidator = control => !this.passwordEnforced || this.requirementsFulfilled || !control.value
|
|
21021
|
+
? null
|
|
21022
|
+
: { passwordStrengthChecklist: true };
|
|
20863
21023
|
}
|
|
20864
|
-
ngOnInit() {
|
|
20865
|
-
|
|
20866
|
-
|
|
20867
|
-
this.minlength =
|
|
20868
|
-
}
|
|
21024
|
+
async ngOnInit() {
|
|
21025
|
+
try {
|
|
21026
|
+
await this.loadPasswordStrengthSettings();
|
|
21027
|
+
this.minlength = await this.passwordStrength.getGreenMinLength();
|
|
21028
|
+
}
|
|
21029
|
+
catch (e) {
|
|
21030
|
+
this.passwordEnforced = false;
|
|
21031
|
+
this.minlength = this.DEFAULT_MIN_LENGTH;
|
|
21032
|
+
}
|
|
20869
21033
|
}
|
|
20870
21034
|
async ngOnChanges(changes) {
|
|
20871
21035
|
if (changes.showChangePasswordButton) {
|
|
@@ -20884,12 +21048,29 @@ class NewPasswordComponent {
|
|
|
20884
21048
|
updateValidity(requirementsFulfilled) {
|
|
20885
21049
|
this.requirementsFulfilled = requirementsFulfilled;
|
|
20886
21050
|
this.cdRef.detectChanges();
|
|
21051
|
+
if (!this.newPasswordModel) {
|
|
21052
|
+
return;
|
|
21053
|
+
}
|
|
20887
21054
|
this.newPasswordModel.control.updateValueAndValidity();
|
|
20888
|
-
|
|
20889
|
-
|
|
20890
|
-
|
|
20891
|
-
|
|
21055
|
+
const errors = this.newPasswordModel.control.errors;
|
|
21056
|
+
if (!errors || !this.passwordEnforced) {
|
|
21057
|
+
return;
|
|
21058
|
+
}
|
|
21059
|
+
// Check if password has invalid characters (pattern error should take priority)
|
|
21060
|
+
const password = this.model.newPassword || '';
|
|
21061
|
+
const hasInvalidChars = password && !this.passwordValidation.hasValidCharsOnly(password);
|
|
21062
|
+
const filteredErrors = { ...errors };
|
|
21063
|
+
if (!this.requirementsFulfilled && !hasInvalidChars) {
|
|
21064
|
+
// Checklist not fulfilled AND no invalid chars - show checklist error, hide pattern errors
|
|
21065
|
+
delete filteredErrors['password'];
|
|
21066
|
+
delete filteredErrors['passwordSimple'];
|
|
21067
|
+
}
|
|
21068
|
+
else if (filteredErrors['password'] || filteredErrors['passwordSimple']) {
|
|
21069
|
+
// Pattern error (invalid chars or checklist fulfilled) - show pattern error, hide checklist
|
|
21070
|
+
delete filteredErrors['passwordStrengthChecklist'];
|
|
20892
21071
|
}
|
|
21072
|
+
const remaining = Object.keys(filteredErrors).length ? filteredErrors : null;
|
|
21073
|
+
this.newPasswordModel.control.setErrors(remaining);
|
|
20893
21074
|
}
|
|
20894
21075
|
async loadPasswordStrengthSettings() {
|
|
20895
21076
|
if (this.requireStrongPassword) {
|
|
@@ -20909,23 +21090,22 @@ class NewPasswordComponent {
|
|
|
20909
21090
|
this.model = {};
|
|
20910
21091
|
}
|
|
20911
21092
|
}
|
|
20912
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NewPasswordComponent, deps: [{ token: PasswordStrengthService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20913
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
21093
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NewPasswordComponent, deps: [{ token: PasswordStrengthService }, { token: PasswordValidationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21094
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NewPasswordComponent, isStandalone: true, selector: "c8y-new-password", inputs: { showChangePasswordButton: "showChangePasswordButton", requireStrongPassword: "requireStrongPassword" }, outputs: { password: "password" }, viewQueries: [{ propertyName: "_newPasswordModel", first: true, predicate: ["newPassword"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (showChangePasswordButton) {\n <div class=\"form-group\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"toggleChangePassword()\"\n data-cy=\"c8y-new-password--change-button\"\n >\n @if (!changePassword) {\n {{ 'Change password' | translate }}\n } @else {\n {{ 'Cancel password change' | translate }}\n }\n </button>\n </div>\n}\n\n@if (changePassword) {\n <div class=\"row content-flex-50\">\n <div class=\"col-6\">\n <c8y-form-group>\n <label\n for=\"newPassword\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"newPassword\"\n required\n [id]=\"'newPassword'\"\n #newPassword=\"ngModel\"\n [(ngModel)]=\"model.newPassword\"\n (change)=\"newPasswordChanged()\"\n (input)=\"newPasswordConfirm.control.updateValueAndValidity()\"\n c8yPasswordValidation\n [passwordStrengthEnforced]=\"passwordEnforced\"\n [minLength]=\"effectiveMinLength\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n\n <c8y-form-group>\n <label\n for=\"newConfirmPassword\"\n translate\n >\n Confirm password\n </label>\n <c8y-password-input\n name=\"newPasswordConfirm\"\n required\n [id]=\"'newConfirmPassword'\"\n #newPasswordConfirm=\"ngModel\"\n [(ngModel)]=\"model.newPasswordConfirm\"\n passwordConfirm=\"newPassword\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n </div>\n <div class=\"col-6\">\n <c8y-password-check-list\n [password]=\"model.newPassword\"\n [strengthEnforced]=\"passwordEnforced\"\n (onRequirementsFulfilled)=\"updateValidity($event)\"\n ></c8y-password-check-list>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete", "large"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: PasswordValidationDirective, selector: "[c8yPasswordValidation]", inputs: ["passwordStrengthEnforced", "minLength"] }, { kind: "directive", type: PasswordConfirm, selector: "[passwordConfirm]" }, { kind: "component", type: PasswordCheckListComponent, selector: "c8y-password-check-list", inputs: ["strengthEnforced", "password", "greenMinLength"], outputs: ["onRequirementsFulfilled"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
|
|
20914
21095
|
}
|
|
20915
21096
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NewPasswordComponent, decorators: [{
|
|
20916
21097
|
type: Component,
|
|
20917
21098
|
args: [{ selector: 'c8y-new-password', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], standalone: true, imports: [
|
|
20918
|
-
NgIf,
|
|
20919
21099
|
FormGroupComponent,
|
|
20920
21100
|
C8yTranslateDirective,
|
|
20921
21101
|
PasswordInputComponent,
|
|
20922
21102
|
FormsModule$1,
|
|
20923
|
-
|
|
21103
|
+
PasswordValidationDirective,
|
|
20924
21104
|
PasswordConfirm,
|
|
20925
21105
|
PasswordCheckListComponent,
|
|
20926
21106
|
C8yTranslatePipe
|
|
20927
|
-
], template: "
|
|
20928
|
-
}], ctorParameters: () => [{ type: PasswordStrengthService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { password: [{
|
|
21107
|
+
], template: "@if (showChangePasswordButton) {\n <div class=\"form-group\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"toggleChangePassword()\"\n data-cy=\"c8y-new-password--change-button\"\n >\n @if (!changePassword) {\n {{ 'Change password' | translate }}\n } @else {\n {{ 'Cancel password change' | translate }}\n }\n </button>\n </div>\n}\n\n@if (changePassword) {\n <div class=\"row content-flex-50\">\n <div class=\"col-6\">\n <c8y-form-group>\n <label\n for=\"newPassword\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"newPassword\"\n required\n [id]=\"'newPassword'\"\n #newPassword=\"ngModel\"\n [(ngModel)]=\"model.newPassword\"\n (change)=\"newPasswordChanged()\"\n (input)=\"newPasswordConfirm.control.updateValueAndValidity()\"\n c8yPasswordValidation\n [passwordStrengthEnforced]=\"passwordEnforced\"\n [minLength]=\"effectiveMinLength\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n\n <c8y-form-group>\n <label\n for=\"newConfirmPassword\"\n translate\n >\n Confirm password\n </label>\n <c8y-password-input\n name=\"newPasswordConfirm\"\n required\n [id]=\"'newConfirmPassword'\"\n #newPasswordConfirm=\"ngModel\"\n [(ngModel)]=\"model.newPasswordConfirm\"\n passwordConfirm=\"newPassword\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n </div>\n <div class=\"col-6\">\n <c8y-password-check-list\n [password]=\"model.newPassword\"\n [strengthEnforced]=\"passwordEnforced\"\n (onRequirementsFulfilled)=\"updateValidity($event)\"\n ></c8y-password-check-list>\n </div>\n </div>\n}\n" }]
|
|
21108
|
+
}], ctorParameters: () => [{ type: PasswordStrengthService }, { type: PasswordValidationService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { password: [{
|
|
20929
21109
|
type: Output
|
|
20930
21110
|
}], showChangePasswordButton: [{
|
|
20931
21111
|
type: Input
|
|
@@ -23408,7 +23588,9 @@ class PasswordStrengthCheckerService {
|
|
|
23408
23588
|
return password.search(/[0-9]/) !== -1;
|
|
23409
23589
|
}
|
|
23410
23590
|
hasSpecialChars(password) {
|
|
23411
|
-
|
|
23591
|
+
// Only match ALLOWED symbols, not any non-alphanumeric character
|
|
23592
|
+
// Allowed: `~!@#$%^&*()_|+-=?;:'",.<>{}[]\\/
|
|
23593
|
+
return password.search(/[`~!@#$%^&*()_|+\-=?;:'",.<>{}\[\]\\/]/) !== -1;
|
|
23412
23594
|
}
|
|
23413
23595
|
getStrengthColor(password) {
|
|
23414
23596
|
const passwordStrength = filter$2([
|
|
@@ -38212,5 +38394,5 @@ function colorValidator(allowedModes) {
|
|
|
38212
38394
|
* Generated bundle index. Do not edit.
|
|
38213
38395
|
*/
|
|
38214
38396
|
|
|
38215
|
-
export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LABELS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, AGGREGATION_VALUES, AGGREGATION_VALUES_ARR, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AggregationPickerComponent, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppHrefPipe, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8Y_PLUGIN_CONTEXT_PATH, C8Y_PLUGIN_NAME, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yTranslationCache, C8yTranslationLoader, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeCurrentUserPasswordService, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, CustomTranslateService, CustomTranslateStore, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DatapointSyncService, DateContextQueryParamNames, DateFilterMapper, DateFormatService, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FeatureCacheService, FeedbackFormComponent, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterByPipe, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GLOBAL_CONTEXT_AUTO_REFRESH, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_CURRENT_APPLICATION, HOOK_CURRENT_TENANT, HOOK_CURRENT_USER, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_PLUGIN, HOOK_PREVIEW, HOOK_QUERY_PARAM, HOOK_QUERY_PARAM_BOTTOM_DRAWER, HOOK_QUERY_PARAM_MODAL, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InterAppService, IntervalBasedReload, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, MOChunkLoaderService, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_ROUTER_STATE_PROP, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PREVIEW_FEATURE_PROVIDERS, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthService, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginLoadedPipe, PluginsExportScopes, PluginsLoaderService, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, PreviewFeatureButtonComponent, PreviewFeatureShowNotification, PreviewService, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QUERY_PARAM_HANDLER_PROVIDERS, QueryParamBottomDrawerFactory, QueryParamBottomDrawerStateService, QueryParamHandlerService, QueryParamModalFactory, QueryParamModalStateService, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeControlComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RelativeTimePipe, RequiredInputPlaceholderDirective, ResizableGridComponent, ResolverServerError, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SHOW_PREVIEW_FEATURES, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SimplifiedAuthService, SkipLinkDirective, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpChallengeComponent, TotpSetupComponent, TranslateService, TreeNodeCellRendererComponent, TreeNodeColumn, TreeNodeHeaderCellRendererComponent, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WIDGET_CONFIGURATION_GRID_SIZE, WIDGET_TYPE_VALUES, WILDCARD_SEARCH_FEATURE_KEY, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetTimeContextMediatorService, WidgetsDashboardComponent, WidgetsDashboardEventService, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, gettext, globalAutoRefreshLoading, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookCurrentApplication, hookCurrentTenant, hookCurrentUser, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookPlugin, hookPreview, hookQueryParam, hookQueryParamBottomDrawer, hookQueryParamModal, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookUserMenu, hookVersion, hookWidget, hookWizard, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, provideCommonPipes, provideCommonServices, provideDefaultOptionsAppInitializer, provideI18n, provideLanguageSelectorAppInitializer, providePluginsLoaderServiceAppInitializer, provideTranslationServiceInstance, ratiosByColumnTypes, removeContextIndicators, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
|
|
38397
|
+
export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LABELS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, AGGREGATION_VALUES, AGGREGATION_VALUES_ARR, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AggregationPickerComponent, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppHrefPipe, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8Y_PLUGIN_CONTEXT_PATH, C8Y_PLUGIN_NAME, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yTranslationCache, C8yTranslationLoader, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeCurrentUserPasswordService, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, CustomTranslateService, CustomTranslateStore, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DatapointSyncService, DateContextQueryParamNames, DateFilterMapper, DateFormatService, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FeatureCacheService, FeedbackFormComponent, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterByPipe, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GLOBAL_CONTEXT_AUTO_REFRESH, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_CURRENT_APPLICATION, HOOK_CURRENT_TENANT, HOOK_CURRENT_USER, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_PLUGIN, HOOK_PREVIEW, HOOK_QUERY_PARAM, HOOK_QUERY_PARAM_BOTTOM_DRAWER, HOOK_QUERY_PARAM_MODAL, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InterAppService, IntervalBasedReload, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, MOChunkLoaderService, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_ROUTER_STATE_PROP, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PREVIEW_FEATURE_PROVIDERS, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthService, PasswordValidationDirective, PasswordValidationService, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginLoadedPipe, PluginsExportScopes, PluginsLoaderService, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, PreviewFeatureButtonComponent, PreviewFeatureShowNotification, PreviewService, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QUERY_PARAM_HANDLER_PROVIDERS, QueryParamBottomDrawerFactory, QueryParamBottomDrawerStateService, QueryParamHandlerService, QueryParamModalFactory, QueryParamModalStateService, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeControlComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RelativeTimePipe, RequiredInputPlaceholderDirective, ResizableGridComponent, ResolverServerError, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SHOW_PREVIEW_FEATURES, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SimplifiedAuthService, SkipLinkDirective, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpChallengeComponent, TotpSetupComponent, TranslateService, TreeNodeCellRendererComponent, TreeNodeColumn, TreeNodeHeaderCellRendererComponent, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WIDGET_CONFIGURATION_GRID_SIZE, WIDGET_TYPE_VALUES, WILDCARD_SEARCH_FEATURE_KEY, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetTimeContextMediatorService, WidgetsDashboardComponent, WidgetsDashboardEventService, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, gettext, globalAutoRefreshLoading, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookCurrentApplication, hookCurrentTenant, hookCurrentUser, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookPlugin, hookPreview, hookQueryParam, hookQueryParamBottomDrawer, hookQueryParamModal, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookUserMenu, hookVersion, hookWidget, hookWizard, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, provideCommonPipes, provideCommonServices, provideDefaultOptionsAppInitializer, provideI18n, provideLanguageSelectorAppInitializer, providePluginsLoaderServiceAppInitializer, provideTranslationServiceInstance, ratiosByColumnTypes, removeContextIndicators, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
|
|
38216
38398
|
//# sourceMappingURL=c8y-ngx-components.mjs.map
|