@testgorilla/tgo-ui 2.2.2 → 2.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.
Files changed (37) hide show
  1. package/components/autocomplete/autocomplete.component.d.ts +15 -4
  2. package/components/checkbox/checkbox.component.d.ts +8 -1
  3. package/components/field/field.component.d.ts +24 -1
  4. package/components/field/field.model.d.ts +1 -1
  5. package/components/icon/icon.config.d.ts +2 -2
  6. package/components/password-criteria/password.component.d.ts +2 -1
  7. package/components/phone-input/join-strings.pipe.d.ts +7 -0
  8. package/components/phone-input/phone-input.component.d.ts +129 -0
  9. package/components/phone-input/phone-input.component.module.d.ts +18 -0
  10. package/components/phone-input/phone-input.model.d.ts +8 -0
  11. package/components/radio-button/radio-button.component.d.ts +8 -1
  12. package/esm2022/assets/i18n/en.json +2 -1
  13. package/esm2022/components/autocomplete/autocomplete.component.mjs +34 -19
  14. package/esm2022/components/checkbox/checkbox.component.mjs +13 -4
  15. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
  16. package/esm2022/components/dialog/dialog.service.mjs +2 -2
  17. package/esm2022/components/dropdown/dropdown.component.mjs +3 -3
  18. package/esm2022/components/field/field.component.mjs +48 -8
  19. package/esm2022/components/field/field.model.mjs +1 -1
  20. package/esm2022/components/icon/icon.config.mjs +6 -1
  21. package/esm2022/components/password-criteria/password.component.mjs +7 -3
  22. package/esm2022/components/phone-input/join-strings.pipe.mjs +14 -0
  23. package/esm2022/components/phone-input/phone-input.component.mjs +324 -0
  24. package/esm2022/components/phone-input/phone-input.component.module.mjs +56 -0
  25. package/esm2022/components/phone-input/phone-input.model.mjs +2 -0
  26. package/esm2022/components/radio-button/radio-button.component.mjs +12 -3
  27. package/esm2022/public-api.mjs +5 -1
  28. package/fesm2022/testgorilla-tgo-ui.mjs +487 -45
  29. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  30. package/package.json +7 -3
  31. package/public-api.d.ts +3 -0
  32. package/src/assets/i18n/en.json +2 -1
  33. package/src/assets/icons/Google.svg +6 -0
  34. package/src/assets/icons/rebrand/Google-filled.svg +6 -0
  35. package/src/assets/icons/rebrand/Google-in-line.svg +6 -0
  36. package/src/theme/_input.scss +37 -0
  37. package/src/theme/theme.scss +25 -0
@@ -3,11 +3,13 @@ import { ControlValueAccessor } from '@angular/forms';
3
3
  import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
4
4
  import { ReplaySubject } from 'rxjs';
5
5
  import { Autocomplete, AutocompleteType, DropdownVariation } from './autocomplete.model';
6
- import { ApplicationTheme } from "../../models/application-theme.model";
6
+ import { ApplicationTheme } from '../../models/application-theme.model';
7
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class AutocompleteComponent implements ControlValueAccessor, OnChanges, AfterViewInit {
9
10
  private readonly defaultAppTheme;
10
11
  private readonly cdr;
12
+ private readonly domSanitizer;
11
13
  /**
12
14
  * @property itemsList
13
15
  * @description The list of items to display in the autocomplete.
@@ -110,11 +112,19 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnCh
110
112
  * @memberof AutocompleteComponent
111
113
  */
112
114
  applicationTheme: ApplicationTheme;
115
+ /**
116
+ * Input field errors
117
+ *
118
+ * @type {string[]}
119
+ * @memberof AutocompleteComponent
120
+ */
121
+ set errors(errors: string[]);
113
122
  selectionChange: EventEmitter<any>;
114
123
  searchTextChange: EventEmitter<string>;
115
124
  formFieldElement: ElementRef<HTMLElement>;
116
125
  tagContainer: ElementRef<HTMLElement>;
117
126
  autocomplete: MatAutocompleteTrigger;
127
+ protected safeErrors: SafeHtml[];
118
128
  protected value: any;
119
129
  protected inputValue: any;
120
130
  protected isInputFocus: boolean;
@@ -128,7 +138,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnCh
128
138
  protected filteredSuggestionList$: import("rxjs").Observable<any>;
129
139
  protected searchResult$: import("rxjs").Observable<boolean>;
130
140
  protected translationContext: string;
131
- constructor(defaultAppTheme: ApplicationTheme, cdr: ChangeDetectorRef);
141
+ constructor(defaultAppTheme: ApplicationTheme, cdr: ChangeDetectorRef, domSanitizer: DomSanitizer);
132
142
  ngOnChanges(): void;
133
143
  ngAfterViewInit(): void;
134
144
  onChange: (_: any) => void;
@@ -150,6 +160,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnCh
150
160
  protected get isDropdown(): boolean;
151
161
  protected onChevronClick(autocomplete: MatAutocomplete): void;
152
162
  protected get inputWidth(): number;
153
- static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, [{ optional: true; }, null]>;
154
- static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "ui-autocomplete", never, { "itemsList": { "alias": "itemsList"; "required": false; }; "suggestionsList": { "alias": "suggestionsList"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "allowAdd": { "alias": "allowAdd"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "label": { "alias": "label"; "required": false; }; "itemValue": { "alias": "itemValue"; "required": false; }; "type": { "alias": "type"; "required": false; }; "minCharactersSearch": { "alias": "minCharactersSearch"; "required": false; }; "variant": { "alias": "variant"; "required": true; }; "language": { "alias": "language"; "required": false; }; "showBottomContent": { "alias": "showBottomContent"; "required": false; }; "valuePrimitive": { "alias": "valuePrimitive"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, { "selectionChange": "selectionChange"; "searchTextChange": "searchTextChange"; }, never, never, false, never>;
163
+ protected trackByFn: (index: number, value: any) => any;
164
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, [{ optional: true; }, null, null]>;
165
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "ui-autocomplete", never, { "itemsList": { "alias": "itemsList"; "required": false; }; "suggestionsList": { "alias": "suggestionsList"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "allowAdd": { "alias": "allowAdd"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "label": { "alias": "label"; "required": false; }; "itemValue": { "alias": "itemValue"; "required": false; }; "type": { "alias": "type"; "required": false; }; "minCharactersSearch": { "alias": "minCharactersSearch"; "required": false; }; "variant": { "alias": "variant"; "required": true; }; "language": { "alias": "language"; "required": false; }; "showBottomContent": { "alias": "showBottomContent"; "required": false; }; "valuePrimitive": { "alias": "valuePrimitive"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; }, { "selectionChange": "selectionChange"; "searchTextChange": "searchTextChange"; }, never, never, false, never>;
155
166
  }
@@ -83,6 +83,13 @@ export declare class CheckboxComponent implements OnInit, ControlValueAccessor {
83
83
  * @memberof CheckboxComponent
84
84
  */
85
85
  ariaRequired: boolean;
86
+ /**
87
+ * Defines if checkbox has error
88
+ *
89
+ * @type {boolean}
90
+ * @memberof CheckboxComponent
91
+ */
92
+ hasError: boolean;
86
93
  /**
87
94
  * Event emitted when the checkbox's checked value changes.
88
95
  *
@@ -109,5 +116,5 @@ export declare class CheckboxComponent implements OnInit, ControlValueAccessor {
109
116
  registerOnTouched(fn: any): void;
110
117
  setDisabledState(isDisabled: boolean): void;
111
118
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, [{ optional: true; }, null]>;
112
- static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "ui-checkbox", never, { "disabled": { "alias": "disabled"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; }, { "changed": "changed"; }, never, ["[checkbox-label]"], false, never>;
119
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "ui-checkbox", never, { "disabled": { "alias": "disabled"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; }, { "changed": "changed"; }, never, ["[checkbox-label]"], false, never>;
113
120
  }
@@ -147,6 +147,27 @@ export declare class FieldComponent implements OnInit, ControlValueAccessor {
147
147
  * @memberof FieldComponent
148
148
  */
149
149
  isValid: boolean;
150
+ /**
151
+ * Max characters number
152
+ *
153
+ * @type {number}
154
+ * @memberof FieldComponent
155
+ */
156
+ maxCharacters: number;
157
+ /**
158
+ * Trim text on blur
159
+ *
160
+ * @type {boolean}
161
+ * @memberof FieldComponent
162
+ */
163
+ trimOnBlur: boolean;
164
+ /**
165
+ * Trim text on submit
166
+ *
167
+ * @type {boolean}
168
+ * @memberof FieldComponent
169
+ */
170
+ trimOnSubmit: boolean;
150
171
  validateEvent: EventEmitter<string>;
151
172
  get getPasswordIcon(): IconName;
152
173
  isActiveField: boolean;
@@ -180,7 +201,9 @@ export declare class FieldComponent implements OnInit, ControlValueAccessor {
180
201
  setDisabledState(isDisabled: boolean): void;
181
202
  onFieldClick(event: MouseEvent): void;
182
203
  onActive(state: boolean, action: string): void;
204
+ onSubmit(): void;
205
+ private clearSpace;
183
206
  trackByFn: (index: number, value: any) => any;
184
207
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldComponent, [{ optional: true; }, null, null, null]>;
185
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldComponent, "ui-field", never, { "label": { "alias": "label"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "value": { "alias": "value"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hintMessage": { "alias": "hintMessage"; "required": false; }; "type": { "alias": "type"; "required": false; }; "updateOnBlur": { "alias": "updateOnBlur"; "required": false; }; "allowOnlyDigits": { "alias": "allowOnlyDigits"; "required": false; }; "language": { "alias": "language"; "required": false; }; "showBottomContent": { "alias": "showBottomContent"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "isValid": { "alias": "isValid"; "required": false; }; }, { "validateEvent": "validateEvent"; }, never, never, false, never>;
208
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldComponent, "ui-field", never, { "label": { "alias": "label"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "value": { "alias": "value"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hintMessage": { "alias": "hintMessage"; "required": false; }; "type": { "alias": "type"; "required": false; }; "updateOnBlur": { "alias": "updateOnBlur"; "required": false; }; "allowOnlyDigits": { "alias": "allowOnlyDigits"; "required": false; }; "language": { "alias": "language"; "required": false; }; "showBottomContent": { "alias": "showBottomContent"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "isValid": { "alias": "isValid"; "required": false; }; "maxCharacters": { "alias": "maxCharacters"; "required": false; }; "trimOnBlur": { "alias": "trimOnBlur"; "required": false; }; "trimOnSubmit": { "alias": "trimOnSubmit"; "required": false; }; }, { "validateEvent": "validateEvent"; }, never, never, false, never>;
186
209
  }
@@ -1 +1 @@
1
- export type FieldType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'search' | 'collapsed-search' | 'validation-text';
1
+ export type FieldType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'search' | 'collapsed-search' | 'validation-text' | 'textarea' | 'multi-line';
@@ -1,5 +1,5 @@
1
- export declare const tgoIcons: readonly ["Add", "Archive", "Arrow_down", "Arrow_left", "Arrow_right", "Arrow_up", "Assessment", "Attempts", "Book", "Calendar", "Candidates", "Chat-notifications", "Chat", "Check", "Clone", "Close", "Code", "Company", "Copy", "Custom-questions", "Delete", "Devices", "Document", "Download", "Edit", "Email-message", "Empty-placeholder", "Error", "Essay", "Eye-hide", "Eye-view", "Feedback-1", "Feedback-2", "Feedback-3", "Feedback-4", "Feedback-5", "File-attach", "File-upload", "Filter", "Folder", "Format-add-file", "Format-add-table", "Format-align-L", "Format-align-R", "Format-align-center", "Format-align-justify", "Format-bold", "Format-code-active", "Format-code-block", "Format-edit-table", "Format-format", "Format-function", "Format-italics", "Format-list-bulleted", "Format-list-numbered", "Format-picker", "Format-quote", "Format-subscript", "Format-superscript", "Format-text-direction-L", "Format-text-direction-R", "Format-text-size", "Format-underline", "Format-variable", "Full-screen", "Gender-female", "Gender-male", "Help-2", "Help", "Image", "Info", "Integration", "Language", "Layout", "Learn", "Level", "Light-bulb", "Link", "Loading-spinner", "Localisation", "Location", "Lock", "Log-out", "Menu-burger", "Menu-ellipsis", "Microphone", "Minus", "Mouse-cursor", "Mouse-grab-cursor", "Mouse", "Multi-choice", "Notifications", "Password", "Path", "Plan-billing", "Plus", "Premium", "Promotion", "Question-count", "Refer", "Reset", "Review", "Round-check-filled", "Round-check", "Search", "Secure-checkout", "Send", "Settings", "Social-facebook", "Social-instagram", "Social-linkedin", "Sorting-down-1", "Sorting-down", "Speedometer", "Star-filled", "Star-half", "Star-outline", "Support", "Sync", "Team", "Test", "Thunder", "Timer", "Type", "Unarchive", "Unlock", "Upgrade", "Upload", "User-access", "User-add", "User-invite", "User-profile", "User-reject", "User-switch", "Video-pause", "Video-play", "Video-record", "Video", "Volume", "Warning", "Zoom-in", "Zoom-out", "Fire", "Gift", "Grab", "Share", "Sparkles", "Video-stop", "Minimize", "Employee", "Money-bag", "Suitcase"];
2
- export declare const tgoRebrandIcons: readonly ["Archive-filled", "Archive-in-line", "Add-in-line", "Add-filled", "Arrow-chevron-down-filled", "Arrow-chevron-down-in-line", "Arrow-chevron-left-filled", "Arrow-chevron-left-in-line", "Arrow-chevron-right-filled", "Arrow-chevron-right-in-line", "Arrow-chevron-up-filled", "Arrow-chevron-up-in-line", "Arrow-down-filled", "Arrow-down-in-line", "Arrow-up-filled", "Arrow-up-in-line", "Assessment-filled", "Assessment-in-line", "Attach-filled", "Attach-in-line", "Attempts-filled", "Attempts-in-line", "Book-filled", "Book-in-line", "Calendar-filled", "Calendar-in-line", "Candidates-filled", "Candidates-in-line", "Chat-filled", "Chat-in-line", "Check-filled", "Check-in-line", "Check-round-filled", "Check-round-in-line", "Clone-filled", "Clone-in-line", "Close-filled", "Close-in-line", "Code-filled", "Code-in-line", "Company-filled", "Company-in-line", "Copy-filled", "Copy-in-line", "Delete-filled", "Delete-in-line", "Devices-filled", "Devices-in-line", "Document-filled", "Document-in-line", "Download-filled", "Download-in-line", "Edit-filled", "Edit-in-line", "Edit-text-filled", "Edit-text-in-line", "Employee-filled", "Employee-in-line", "Error-filled", "Error-in-line", "Essay-filled", "Essay-in-line", "Experience-filled", "Experience-in-line", "Facebook-filled", "Facebook-in-line", "Filter-filled", "Filter-in-line", "Fire-filled", "Fire-in-line", "Folder-filled", "Folder-in-line", "Full-screen-filled", "Full-screen-in-line", "Gender-male-filled", "Gender-male-in-line", "Gender-female-filled", "Gender-female-in-line", "Gift-filled", "Gift-in-line", "Grab-filled", "Grab-in-line", "Help-filled", "Help-in-line", "Hide-filled", "Hide-in-line", "Image-filled", "Image-in-line", "Info-filled", "Info-in-line", "Instagram-filled", "Instagram-in-line", "Integration-filled", "Integration-in-line", "Invite-filled", "Invite-in-line", "Language-filled", "Language-in-line", "Layout-filled", "Layout-in-line", "Learn-filled", "Learn-in-line", "Level-filled", "Level-in-line", "Light-bulb-filled", "Light-bulb-in-line", "Link-filled", "Link-in-line", "Linkedin-filled", "Linkedin-in-line", "Localization-filled", "Localization-in-line", "Location-filled", "Location-in-line", "Lock-filled", "Lock-in-line", "Logout-filled", "Logout-in-line", "Menu-burger-filled", "Menu-burger-in-line", "Menu-ellipsis-filled", "Menu-ellipsis-in-line", "Mic-filled", "Mic-in-line", "Minimize-filled", "Minimize-in-line", "Minus-filled", "Minus-in-line", "Mouse-filled", "Mouse-in-line", "Multi-choice-filled", "Multi-choice-in-line", "Notification-bell-filled", "Notification-bell-in-line", "Password-filled", "Password-in-line", "Path-filled", "Path-in-line", "Pause-filled", "Pause-in-line", "Plan-billing-filled", "Plan-billing-in-line", "Play-filled", "Play-in-line", "Plus-filled", "Plus-in-line", "Premium-filled", "Premium-in-line", "Premium-circle-in-line", "Question-count-filled", "Question-count-in-line", "Question-filled", "Question-in-line", "Record-filled", "Record-in-line", "Reject-filled", "Reject-in-line", "Reset-filled", "Reset-in-line", "Review-emoji-1-filled", "Review-emoji-1-in-line", "Review-emoji-2-filled", "Review-emoji-2-in-line", "Review-emoji-3-filled", "Review-emoji-3-in-line", "Review-emoji-4-filled", "Review-emoji-4-in-line", "Review-emoji-5-filled", "Review-emoji-5-in-line", "Review-filled", "Review-half-star-filled", "Review-half-star-in-line", "Review-in-line", "Review-star-filled", "Review-star-in-line", "Search-filled", "Search-in-line", "Secure-filled", "Secure-in-line", "Send-filled", "Send-in-line", "Settings-filled", "Settings-in-line", "Share-filled", "Share-in-line", "Sparkle-filled", "Sparkle-in-line", "Speedometer-filled", "Speedometer-in-line", "Stop-filled", "Stop-in-line", "Switch-filled", "Switch-in-line", "Sync-filled", "Sync-in-line", "Team-filled", "Team-in-line", "Test-filled", "Test-in-line", "Timer-filled", "Timer-in-line", "Type-filled", "Type-in-line", "Unarchive-filled", "Unarchive-in-line", "Unlock-filled", "Unlock-in-line", "Upgrade-filled", "Upgrade-in-line", "Upload-filled", "Upload-in-line", "User-access-filled", "User-access-in-line", "User-add-filled", "User-add-in-line", "User-profile-filled", "User-profile-in-line", "Video-filled", "Video-in-line", "View-filled", "View-in-line", "Volume-filled", "Volume-in-line", "Warning-filled", "Warning-in-line", "Zoom-in-filled", "Zoom-in-in-line", "Zoom-out-filled", "Zoom-out-in-line"];
1
+ export declare const tgoIcons: readonly ["Add", "Archive", "Arrow_down", "Arrow_left", "Arrow_right", "Arrow_up", "Assessment", "Attempts", "Book", "Calendar", "Candidates", "Chat-notifications", "Chat", "Check", "Clone", "Close", "Code", "Company", "Copy", "Custom-questions", "Delete", "Devices", "Document", "Download", "Edit", "Email-message", "Empty-placeholder", "Error", "Essay", "Eye-hide", "Eye-view", "Feedback-1", "Feedback-2", "Feedback-3", "Feedback-4", "Feedback-5", "File-attach", "File-upload", "Filter", "Folder", "Format-add-file", "Format-add-table", "Format-align-L", "Format-align-R", "Format-align-center", "Format-align-justify", "Format-bold", "Format-code-active", "Format-code-block", "Format-edit-table", "Format-format", "Format-function", "Format-italics", "Format-list-bulleted", "Format-list-numbered", "Format-picker", "Format-quote", "Format-subscript", "Format-superscript", "Format-text-direction-L", "Format-text-direction-R", "Format-text-size", "Format-underline", "Format-variable", "Full-screen", "Gender-female", "Gender-male", "Help-2", "Help", "Image", "Info", "Integration", "Language", "Layout", "Learn", "Level", "Light-bulb", "Link", "Loading-spinner", "Localisation", "Location", "Lock", "Log-out", "Menu-burger", "Menu-ellipsis", "Microphone", "Minus", "Mouse-cursor", "Mouse-grab-cursor", "Mouse", "Multi-choice", "Notifications", "Password", "Path", "Plan-billing", "Plus", "Premium", "Promotion", "Question-count", "Refer", "Reset", "Review", "Round-check-filled", "Round-check", "Search", "Secure-checkout", "Send", "Settings", "Social-facebook", "Social-instagram", "Social-linkedin", "Sorting-down-1", "Sorting-down", "Speedometer", "Star-filled", "Star-half", "Star-outline", "Support", "Sync", "Team", "Test", "Thunder", "Timer", "Type", "Unarchive", "Unlock", "Upgrade", "Upload", "User-access", "User-add", "User-invite", "User-profile", "User-reject", "User-switch", "Video-pause", "Video-play", "Video-record", "Video", "Volume", "Warning", "Zoom-in", "Zoom-out", "Fire", "Gift", "Grab", "Share", "Sparkles", "Video-stop", "Minimize", "Employee", "Money-bag", "Suitcase", "Google"];
2
+ export declare const tgoRebrandIcons: readonly ["Archive-filled", "Archive-in-line", "Add-in-line", "Add-filled", "Arrow-chevron-down-filled", "Arrow-chevron-down-in-line", "Arrow-chevron-left-filled", "Arrow-chevron-left-in-line", "Arrow-chevron-right-filled", "Arrow-chevron-right-in-line", "Arrow-chevron-up-filled", "Arrow-chevron-up-in-line", "Arrow-down-filled", "Arrow-down-in-line", "Arrow-up-filled", "Arrow-up-in-line", "Assessment-filled", "Assessment-in-line", "Attach-filled", "Attach-in-line", "Attempts-filled", "Attempts-in-line", "Book-filled", "Book-in-line", "Calendar-filled", "Calendar-in-line", "Candidates-filled", "Candidates-in-line", "Chat-filled", "Chat-in-line", "Check-filled", "Check-in-line", "Check-round-filled", "Check-round-in-line", "Clone-filled", "Clone-in-line", "Close-filled", "Close-in-line", "Code-filled", "Code-in-line", "Company-filled", "Company-in-line", "Copy-filled", "Copy-in-line", "Delete-filled", "Delete-in-line", "Devices-filled", "Devices-in-line", "Document-filled", "Document-in-line", "Download-filled", "Download-in-line", "Edit-filled", "Edit-in-line", "Edit-text-filled", "Edit-text-in-line", "Employee-filled", "Employee-in-line", "Error-filled", "Error-in-line", "Essay-filled", "Essay-in-line", "Experience-filled", "Experience-in-line", "Facebook-filled", "Facebook-in-line", "Filter-filled", "Filter-in-line", "Fire-filled", "Fire-in-line", "Folder-filled", "Folder-in-line", "Full-screen-filled", "Full-screen-in-line", "Gender-male-filled", "Gender-male-in-line", "Gender-female-filled", "Gender-female-in-line", "Gift-filled", "Gift-in-line", "Grab-filled", "Grab-in-line", "Help-filled", "Help-in-line", "Hide-filled", "Hide-in-line", "Image-filled", "Image-in-line", "Info-filled", "Info-in-line", "Instagram-filled", "Instagram-in-line", "Integration-filled", "Integration-in-line", "Invite-filled", "Invite-in-line", "Language-filled", "Language-in-line", "Layout-filled", "Layout-in-line", "Learn-filled", "Learn-in-line", "Level-filled", "Level-in-line", "Light-bulb-filled", "Light-bulb-in-line", "Link-filled", "Link-in-line", "Linkedin-filled", "Linkedin-in-line", "Localization-filled", "Localization-in-line", "Location-filled", "Location-in-line", "Lock-filled", "Lock-in-line", "Logout-filled", "Logout-in-line", "Menu-burger-filled", "Menu-burger-in-line", "Menu-ellipsis-filled", "Menu-ellipsis-in-line", "Mic-filled", "Mic-in-line", "Minimize-filled", "Minimize-in-line", "Minus-filled", "Minus-in-line", "Mouse-filled", "Mouse-in-line", "Multi-choice-filled", "Multi-choice-in-line", "Notification-bell-filled", "Notification-bell-in-line", "Password-filled", "Password-in-line", "Path-filled", "Path-in-line", "Pause-filled", "Pause-in-line", "Plan-billing-filled", "Plan-billing-in-line", "Play-filled", "Play-in-line", "Plus-filled", "Plus-in-line", "Premium-filled", "Premium-in-line", "Premium-circle-in-line", "Question-count-filled", "Question-count-in-line", "Question-filled", "Question-in-line", "Record-filled", "Record-in-line", "Reject-filled", "Reject-in-line", "Reset-filled", "Reset-in-line", "Review-emoji-1-filled", "Review-emoji-1-in-line", "Review-emoji-2-filled", "Review-emoji-2-in-line", "Review-emoji-3-filled", "Review-emoji-3-in-line", "Review-emoji-4-filled", "Review-emoji-4-in-line", "Review-emoji-5-filled", "Review-emoji-5-in-line", "Review-filled", "Review-half-star-filled", "Review-half-star-in-line", "Review-in-line", "Review-star-filled", "Review-star-in-line", "Search-filled", "Search-in-line", "Secure-filled", "Secure-in-line", "Send-filled", "Send-in-line", "Settings-filled", "Settings-in-line", "Share-filled", "Share-in-line", "Sparkle-filled", "Sparkle-in-line", "Speedometer-filled", "Speedometer-in-line", "Stop-filled", "Stop-in-line", "Switch-filled", "Switch-in-line", "Sync-filled", "Sync-in-line", "Team-filled", "Team-in-line", "Test-filled", "Test-in-line", "Timer-filled", "Timer-in-line", "Type-filled", "Type-in-line", "Unarchive-filled", "Unarchive-in-line", "Unlock-filled", "Unlock-in-line", "Upgrade-filled", "Upgrade-in-line", "Upload-filled", "Upload-in-line", "User-access-filled", "User-access-in-line", "User-add-filled", "User-add-in-line", "User-profile-filled", "User-profile-in-line", "Video-filled", "Video-in-line", "View-filled", "View-in-line", "Volume-filled", "Volume-in-line", "Warning-filled", "Warning-in-line", "Zoom-in-filled", "Zoom-in-in-line", "Zoom-out-filled", "Zoom-out-in-line", "Google-filled", "Google-in-line"];
3
3
  export declare const groupedIcons: {
4
4
  directional: string[];
5
5
  assessment: string[];
@@ -18,6 +18,7 @@ export declare class PasswordComponent implements ControlValueAccessor {
18
18
  */
19
19
  showCriteria: boolean;
20
20
  passwordChange: EventEmitter<string>;
21
+ allCriteriaPassed: EventEmitter<boolean>;
21
22
  protected formControl: FormControl<string | null>;
22
23
  protected criteriaPassed: {
23
24
  [key: string]: boolean;
@@ -37,5 +38,5 @@ export declare class PasswordComponent implements ControlValueAccessor {
37
38
  registerOnChange(fn: any): void;
38
39
  registerOnTouched(fn: any): void;
39
40
  static ɵfac: i0.ɵɵFactoryDeclaration<PasswordComponent, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<PasswordComponent, "ui-password-criteria", never, { "language": { "alias": "language"; "required": false; }; "showCriteria": { "alias": "showCriteria"; "required": false; }; }, { "passwordChange": "passwordChange"; }, never, never, false, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<PasswordComponent, "ui-password-criteria", never, { "language": { "alias": "language"; "required": false; }; "showCriteria": { "alias": "showCriteria"; "required": false; }; }, { "passwordChange": "passwordChange"; "allCriteriaPassed": "allCriteriaPassed"; }, never, never, false, never>;
41
42
  }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class JoinStringsPipe implements PipeTransform {
4
+ transform(value: string[], separator?: string): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<JoinStringsPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<JoinStringsPipe, "joinStrings", false>;
7
+ }
@@ -0,0 +1,129 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
3
+ import { ControlValueAccessor, NgControl, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
4
+ import { ErrorStateMatcher } from '@angular/material/core';
5
+ import { BehaviorSubject, Observable, Subject } from 'rxjs';
6
+ import { MatIconRegistry } from '@angular/material/icon';
7
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
8
+ import { ApplicationTheme } from '../../models/application-theme.model';
9
+ import { UICountry } from './phone-input.model';
10
+ import * as i0 from "@angular/core";
11
+ export declare class PhoneInputComponent implements OnInit, OnDestroy, ControlValueAccessor {
12
+ ngControl: NgControl;
13
+ private errorMatcher;
14
+ private fb;
15
+ private focusMonitor;
16
+ private ref;
17
+ private iconRegistry;
18
+ private sanitizer;
19
+ private readonly defaultAppTheme;
20
+ /**
21
+ * Phone number
22
+ *
23
+ * @type {string}
24
+ * @memberof PhoneInputComponent
25
+ */
26
+ set value(value: string);
27
+ /**
28
+ * Country list for select
29
+ *
30
+ * @type {UICountry[]}
31
+ * @memberof PhoneInputComponent
32
+ */
33
+ set countryList(countryList: UICountry[]);
34
+ /**
35
+ * Placeholder input
36
+ *
37
+ * @type {text}
38
+ * @memberof PhoneInputComponent
39
+ */
40
+ set placeholder(value: string);
41
+ /**
42
+ * Determines if input is disabled
43
+ *
44
+ * @type {boolean}
45
+ * @memberof PhoneInputComponent
46
+ */
47
+ disabled: boolean;
48
+ /**
49
+ * Input is required or not
50
+ *
51
+ * @type {boolean}
52
+ * @memberof PhoneInputComponent
53
+ */
54
+ required: boolean;
55
+ /**
56
+ *
57
+ * Defines the application theme
58
+ *
59
+ * @type {ApplicationTheme}
60
+ * @memberof PhoneInputComponent
61
+ */
62
+ applicationTheme: ApplicationTheme;
63
+ _errors: SafeHtml[];
64
+ /**
65
+ * Input field errors
66
+ *
67
+ * @type {string}
68
+ * @memberof PhoneInputComponent
69
+ */
70
+ set errors(errors: string[]);
71
+ /**
72
+ * The language to be used
73
+ * @property language
74
+ * @type {Language}
75
+ * @memberof PhoneInputComponent
76
+ */
77
+ language: import("@testgorilla/tgo-ui").Language;
78
+ static nextId: number;
79
+ private countries;
80
+ protected countries$: Observable<UICountry[]>;
81
+ form: UntypedFormGroup;
82
+ protected controlType: string;
83
+ protected userAriaDescribedBy?: string;
84
+ protected loadCountries$: BehaviorSubject<UICountry[]>;
85
+ protected countryCode: BehaviorSubject<string>;
86
+ protected stateChanges: Subject<void>;
87
+ protected focused: boolean;
88
+ protected selectFilterCtrl: UntypedFormControl;
89
+ protected errorsLength: boolean;
90
+ input: ElementRef<HTMLElement>;
91
+ select: ElementRef<HTMLElement>;
92
+ id: string;
93
+ get shouldLabelFloat(): boolean;
94
+ describedBy: string;
95
+ get empty(): boolean;
96
+ get errorState(): boolean;
97
+ get value(): string;
98
+ get placeholder(): string;
99
+ private initialValue;
100
+ private readonly DEFAULT_COUNTRY_CODE;
101
+ private internalPlaceholder;
102
+ protected selectedCountry: UICountry;
103
+ private unsubscribeAll$;
104
+ constructor(ngControl: NgControl, errorMatcher: ErrorStateMatcher, fb: UntypedFormBuilder, focusMonitor: FocusMonitor, ref: ChangeDetectorRef, iconRegistry: MatIconRegistry, sanitizer: DomSanitizer, defaultAppTheme: ApplicationTheme);
105
+ ngOnInit(): void;
106
+ registerCountryFlag(countryIso: string): void;
107
+ setErrorsLength(): boolean;
108
+ setDescribedByIds(ids: string[]): void;
109
+ onChange: (value: string) => void;
110
+ onTouch: () => void;
111
+ writeValue(phoneNumber: string): void;
112
+ registerOnChange(fn: (value: string) => void): void;
113
+ registerOnTouched(fn: () => void): void;
114
+ setDisabledState(isDisabled: boolean): void;
115
+ ngOnDestroy(): void;
116
+ onOptionsSelected(value: UICountry): void;
117
+ onInput(value: string): void;
118
+ filteredCountryTrackByMethod(index: number, el: UICountry): string;
119
+ private getNumberWithCountryCode;
120
+ private subscribeToFocusEvents;
121
+ private preSelectCountry;
122
+ private setCountry;
123
+ private getCountryByAlpha2Code;
124
+ private loadCountries;
125
+ disableClick(ev: Event): void;
126
+ trackByFn: (index: number, value: any) => any;
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoneInputComponent, [{ optional: true; self: true; }, null, null, null, null, null, null, { optional: true; }]>;
128
+ static ɵcmp: i0.ɵɵComponentDeclaration<PhoneInputComponent, "ui-phone-input", never, { "value": { "alias": "value"; "required": false; }; "countryList": { "alias": "countryList"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; "language": { "alias": "language"; "required": false; }; }, {}, never, never, false, never>;
129
+ }
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./phone-input.component";
3
+ import * as i2 from "./join-strings.pipe";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/material/progress-spinner";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "@angular/material/select";
8
+ import * as i7 from "@angular/material/icon";
9
+ import * as i8 from "@angular/material/input";
10
+ import * as i9 from "ngx-mat-select-search";
11
+ import * as i10 from "../icon/icon.component.module";
12
+ import * as i11 from "../spinner/spinner.module";
13
+ import * as i12 from "../../pipes/ui-translate.pipe";
14
+ export declare class PhoneInputComponentModule {
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoneInputComponentModule, never>;
16
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PhoneInputComponentModule, [typeof i1.PhoneInputComponent, typeof i2.JoinStringsPipe], [typeof i3.CommonModule, typeof i4.MatProgressSpinnerModule, typeof i5.ReactiveFormsModule, typeof i6.MatSelectModule, typeof i7.MatIconModule, typeof i8.MatInputModule, typeof i9.NgxMatSelectSearchModule, typeof i10.IconComponentModule, typeof i11.SpinnerComponentModule, typeof i12.UiTranslatePipe], [typeof i1.PhoneInputComponent]>;
17
+ static ɵinj: i0.ɵɵInjectorDeclaration<PhoneInputComponentModule>;
18
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Country interface ISO 3166 (minus numeric code and alpha3Code)
3
+ */
4
+ export interface UICountry {
5
+ name: string;
6
+ alpha2Code: string;
7
+ callingCode: string;
8
+ }
@@ -91,6 +91,13 @@ export declare class RadioButtonComponent implements OnInit, OnChanges {
91
91
  * @memberof RadioButtonComponent
92
92
  */
93
93
  ariaRequired: boolean;
94
+ /**
95
+ * Defines if checkbox has error
96
+ *
97
+ * @type {boolean}
98
+ * @memberof RadioButtonComponent
99
+ */
100
+ hasError: boolean;
94
101
  /**
95
102
  * Event emitted when the checked state of the radio button changes.
96
103
  *
@@ -105,5 +112,5 @@ export declare class RadioButtonComponent implements OnInit, OnChanges {
105
112
  clickRadio(element: MatRadioButton, event: MouseEvent): void;
106
113
  setClass(): string;
107
114
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonComponent, [{ optional: true; }]>;
108
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonComponent, "ui-radio-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "allowUnselect": { "alias": "allowUnselect"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "value": { "alias": "value"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; }, { "changeRadio": "changeRadio"; }, never, ["[radio-label]"], false, never>;
115
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonComponent, "ui-radio-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "allowUnselect": { "alias": "allowUnselect"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "value": { "alias": "value"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; }, { "changeRadio": "changeRadio"; }, never, ["[radio-label]"], false, never>;
109
116
  }
@@ -54,7 +54,8 @@
54
54
  "NO_RESULTS": "No results",
55
55
  "MAX": "Max",
56
56
  "MIN": "Min",
57
- "CLEAR": "Clear"
57
+ "CLEAR": "Clear",
58
+ "PHONE_NUMBER": "Phone number"
58
59
  },
59
60
  "DIALOG": {
60
61
  "CLOSE_LABEL": "Close dialog"