bpm-core 0.0.103 → 0.0.104

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 (130) hide show
  1. package/fesm2022/bpm-core.mjs +226 -229
  2. package/fesm2022/bpm-core.mjs.map +1 -1
  3. package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +2 -1
  4. package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +1 -1
  5. package/lib/components/shared-components/form-field/shared-imports.d.ts +1 -1
  6. package/lib/components/shared-components/form-field/textarea/special-chars.directive.d.ts +1 -1
  7. package/lib/components/shared-components/title-section/title-section.component.d.ts +1 -1
  8. package/lib/pipes/currency.pipe.d.ts +1 -1
  9. package/lib/pipes/format-as-password.pipe.d.ts +1 -1
  10. package/lib/validators/string-to-boolean.pipe.d.ts +1 -1
  11. package/lib/validators/text.directive.d.ts +1 -1
  12. package/lib/validators/timer.pipe.d.ts +1 -1
  13. package/package.json +2 -4
  14. package/esm2022/bpm-core.mjs +0 -5
  15. package/esm2022/lib/app/app.component.mjs +0 -79
  16. package/esm2022/lib/classes/form-validation.mjs +0 -80
  17. package/esm2022/lib/classes/index.mjs +0 -2
  18. package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +0 -44
  19. package/esm2022/lib/components/app-component-sections/approvals/approvals.component.mjs +0 -23
  20. package/esm2022/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.mjs +0 -113
  21. package/esm2022/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.mjs +0 -25
  22. package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +0 -27
  23. package/esm2022/lib/components/app-component-sections/faqs/index.mjs +0 -2
  24. package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +0 -237
  25. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +0 -255
  26. package/esm2022/lib/components/app-component-sections/index.mjs +0 -9
  27. package/esm2022/lib/components/app-component-sections/layout/header/header.component.mjs +0 -79
  28. package/esm2022/lib/components/app-component-sections/layout/layout.component.mjs +0 -89
  29. package/esm2022/lib/components/app-component-sections/layout/side-nav/side-nav.component.mjs +0 -158
  30. package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +0 -34
  31. package/esm2022/lib/components/app-component-sections/previous-requests/previous-requests.component.mjs +0 -345
  32. package/esm2022/lib/components/app-component-sections/profile-section/profile-section.component.mjs +0 -45
  33. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +0 -271
  34. package/esm2022/lib/components/app-component-sections/status/status.component.mjs +0 -38
  35. package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +0 -164
  36. package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +0 -138
  37. package/esm2022/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -30
  38. package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +0 -29
  39. package/esm2022/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.mjs +0 -67
  40. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +0 -138
  41. package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +0 -234
  42. package/esm2022/lib/components/shared-components/form-field/base-component/base-component.component.mjs +0 -198
  43. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +0 -91
  44. package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +0 -185
  45. package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +0 -131
  46. package/esm2022/lib/components/shared-components/form-field/date-picker/date-format.mjs +0 -31
  47. package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +0 -175
  48. package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +0 -186
  49. package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +0 -525
  50. package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +0 -33
  51. package/esm2022/lib/components/shared-components/form-field/index.mjs +0 -26
  52. package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +0 -76
  53. package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +0 -71
  54. package/esm2022/lib/components/shared-components/form-field/input-autocomplete/index.mjs +0 -3
  55. package/esm2022/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.mjs +0 -2
  56. package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +0 -73
  57. package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +0 -69
  58. package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +0 -61
  59. package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +0 -74
  60. package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +0 -85
  61. package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +0 -52
  62. package/esm2022/lib/components/shared-components/form-field/repeated-list/repeated-list.component.mjs +0 -32
  63. package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +0 -192
  64. package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +0 -191
  65. package/esm2022/lib/components/shared-components/form-field/shared-imports.mjs +0 -36
  66. package/esm2022/lib/components/shared-components/form-field/table-list/table-list.component.mjs +0 -116
  67. package/esm2022/lib/components/shared-components/form-field/textarea/special-chars.directive.mjs +0 -39
  68. package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +0 -57
  69. package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +0 -90
  70. package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +0 -43
  71. package/esm2022/lib/components/shared-components/index.mjs +0 -9
  72. package/esm2022/lib/components/shared-components/table/table.component.mjs +0 -243
  73. package/esm2022/lib/components/shared-components/terms-conditions/terms-conditions.component.mjs +0 -31
  74. package/esm2022/lib/components/shared-components/title-section/title-section.component.mjs +0 -31
  75. package/esm2022/lib/constants/constants.mjs +0 -149
  76. package/esm2022/lib/constants/index.mjs +0 -2
  77. package/esm2022/lib/directives/ar.directive.mjs +0 -54
  78. package/esm2022/lib/directives/currency.directive.mjs +0 -77
  79. package/esm2022/lib/directives/en.directive.mjs +0 -51
  80. package/esm2022/lib/directives/number.directive.mjs +0 -68
  81. package/esm2022/lib/directives/skip-location.directive.mjs +0 -28
  82. package/esm2022/lib/enums/actions.enum.mjs +0 -22
  83. package/esm2022/lib/enums/colors.enum.mjs +0 -6
  84. package/esm2022/lib/enums/events.enum.mjs +0 -6
  85. package/esm2022/lib/functions/data-to-blob.mjs +0 -12
  86. package/esm2022/lib/functions/encode-password.mjs +0 -14
  87. package/esm2022/lib/functions/handel-error-response.mjs +0 -12
  88. package/esm2022/lib/functions/index.mjs +0 -5
  89. package/esm2022/lib/functions/is-valid-data.mjs +0 -42
  90. package/esm2022/lib/helpers/shared.helper.mjs +0 -26
  91. package/esm2022/lib/hooks/index.mjs +0 -3
  92. package/esm2022/lib/hooks/load-form.mjs +0 -13
  93. package/esm2022/lib/hooks/save-form.mjs +0 -18
  94. package/esm2022/lib/i18n/ar.mjs +0 -200
  95. package/esm2022/lib/i18n/en.mjs +0 -204
  96. package/esm2022/lib/i18n/index.mjs +0 -3
  97. package/esm2022/lib/interfaces/action.interface.mjs +0 -2
  98. package/esm2022/lib/interfaces/api-response.interface.mjs +0 -2
  99. package/esm2022/lib/interfaces/document-file.interface.mjs +0 -2
  100. package/esm2022/lib/interfaces/form-items.interface.mjs +0 -2
  101. package/esm2022/lib/interfaces/form.interface.mjs +0 -150
  102. package/esm2022/lib/interfaces/igate-user.interface.mjs +0 -2
  103. package/esm2022/lib/interfaces/index.mjs +0 -8
  104. package/esm2022/lib/interfaces/lov-list.interface.mjs +0 -2
  105. package/esm2022/lib/interfaces/lov.interface.mjs +0 -2
  106. package/esm2022/lib/interfaces/shared.interface.mjs +0 -2
  107. package/esm2022/lib/pipes/currency.pipe.mjs +0 -66
  108. package/esm2022/lib/pipes/format-as-password.pipe.mjs +0 -19
  109. package/esm2022/lib/pipes/index.mjs +0 -3
  110. package/esm2022/lib/pipes/status-style.pipe.mjs +0 -57
  111. package/esm2022/lib/pipes/translate.pipe.mjs +0 -36
  112. package/esm2022/lib/regex/index.mjs +0 -2
  113. package/esm2022/lib/regex/regex-patterns.mjs +0 -4
  114. package/esm2022/lib/services/action.service.ts.mjs +0 -25
  115. package/esm2022/lib/services/core.service.ts.mjs +0 -527
  116. package/esm2022/lib/services/feedBack.service.mjs +0 -81
  117. package/esm2022/lib/services/i18n.service.mjs +0 -36
  118. package/esm2022/lib/services/index.mjs +0 -6
  119. package/esm2022/lib/services/sidenav.service.mjs +0 -36
  120. package/esm2022/lib/testComponent/config/segment-dynamic-loader.config.mjs +0 -8
  121. package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +0 -90
  122. package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +0 -482
  123. package/esm2022/lib/testComponent/services/i18n.service.mjs +0 -39
  124. package/esm2022/lib/testComponent/services/segment-dynamic-loader.service.mjs +0 -54
  125. package/esm2022/lib/validators/id.validator.mjs +0 -66
  126. package/esm2022/lib/validators/index.mjs +0 -8
  127. package/esm2022/lib/validators/string-to-boolean.pipe.mjs +0 -16
  128. package/esm2022/lib/validators/text.directive.mjs +0 -50
  129. package/esm2022/lib/validators/timer.pipe.mjs +0 -19
  130. package/esm2022/public-api.mjs +0 -19
@@ -1,61 +0,0 @@
1
- /* eslint-disable @angular-eslint/use-lifecycle-interface */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- /* eslint-disable @angular-eslint/component-selector */
4
- // import { Validators } from '@angular/forms';
5
- import { Component, CUSTOM_ELEMENTS_SCHEMA, forwardRef, Input, } from '@angular/core';
6
- import { MatFormField } from '@angular/material/form-field';
7
- import { SatPopoverModule } from '@ncstate/sat-popover';
8
- import { NgxMaskDirective } from 'ngx-mask';
9
- import { NgClass } from '@angular/common';
10
- import { InfoItemComponent } from '../info-item/info-item.component';
11
- import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
12
- import { ControlValueAccessorDirective } from '../control-value-accessor.directive';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@ncstate/sat-popover";
15
- import * as i2 from "@angular/forms";
16
- export class InputMaskComponent extends ControlValueAccessorDirective {
17
- floatLabel = 'auto';
18
- className = 'bordered-input';
19
- matPrefix;
20
- iconPrefixName;
21
- iconSuffixName;
22
- numberSuffixName;
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputMaskComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputMaskComponent, isStandalone: true, selector: "app-input-mask", inputs: { floatLabel: "floatLabel", className: "className", matPrefix: "matPrefix", iconPrefixName: "iconPrefixName", iconSuffixName: "iconSuffixName", numberSuffixName: "numberSuffixName" }, providers: [
25
- {
26
- provide: NG_VALUE_ACCESSOR,
27
- useExisting: forwardRef(() => InputMaskComponent),
28
- multi: true,
29
- },
30
- ], usesInheritance: true, ngImport: i0, template: "\r\n@if(!isReadOnly){\r\n <ng-container>\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n @if(label){\r\n <div class=\"d-flex justify-content-between mb-1\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n @if(!required){\r\n <span class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : isDisabled }\"\r\n [floatLabel]=\"floatLabel\">\r\n\r\n @if(iconPrefixName){\r\n <span matPrefix class=\"sfi {{iconPrefixName}}\"></span>\r\n }\r\n <label class=\"mat-form-content\">\r\n <input matInput [placeholder]=\"placeholder\" [value]=\"value\" [attr.disabled]=\"isDisabled\" [mask]=\"mask\"\r\n [showMaskTyped]=\"false\" oninput=\"validity.valid || (value='');\" [formControl]=\"control\"\r\n [required]=\"required\" [placeholder]=\"placeholder\">\r\n </label>\r\n\r\n @if(matSuffix){\r\n <span matSuffix class=\"sfi {{iconSuffixName}}\"></span>\r\n }\r\n @if(type === 'number'){\r\n <div matSuffix class=\"d-flex align-items-center gap-2\">\r\n @if(numberSuffixName){\r\n <span class=\"fs-14 fw-medium\">{{numberSuffixName}}</span>\r\n }\r\n <!-- <span class=\"sfi sfi-minus p-2 bc-light-gray fc-black\"></span>\r\n <span class=\"sfi sfi-plus p-2 bc-light-gray fc-black\"></span> -->\r\n </div>\r\n }\r\n <!-- @if((!control?.valid)){\r\n <mat-error class=\"mb-2\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n } -->\r\n\r\n\r\n <!-- <mat-error *ngIf=\"(type ==='email' && !control?.valid)\">\r\n {{i18n.translate('validEmailError')}}\r\n </mat-error> -->\r\n @if(showHint){\r\n <mat-hint>\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <!-- <span class=\"fc-coral\" style=\"color:#f44336\" *ngIf=\"( showErrorMessage && control.value)\">\r\n {{errorMessage}}\r\n </span> -->\r\n\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && control.value){\r\n <ng-container class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\" [hasLabel]=\"label ? true: false\"\r\n [value]=\"control\"></app-info-item>\r\n </ng-container>\r\n\r\n}\r\n\r\n\r\n<!-- section tooltip -->\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputMaskComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'app-input-mask', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, providers: [
35
- {
36
- provide: NG_VALUE_ACCESSOR,
37
- useExisting: forwardRef(() => InputMaskComponent),
38
- multi: true,
39
- },
40
- ], imports: [
41
- SatPopoverModule,
42
- MatFormField,
43
- NgxMaskDirective,
44
- InfoItemComponent,
45
- ReactiveFormsModule,
46
- NgClass,
47
- ], template: "\r\n@if(!isReadOnly){\r\n <ng-container>\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n @if(label){\r\n <div class=\"d-flex justify-content-between mb-1\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n @if(!required){\r\n <span class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : isDisabled }\"\r\n [floatLabel]=\"floatLabel\">\r\n\r\n @if(iconPrefixName){\r\n <span matPrefix class=\"sfi {{iconPrefixName}}\"></span>\r\n }\r\n <label class=\"mat-form-content\">\r\n <input matInput [placeholder]=\"placeholder\" [value]=\"value\" [attr.disabled]=\"isDisabled\" [mask]=\"mask\"\r\n [showMaskTyped]=\"false\" oninput=\"validity.valid || (value='');\" [formControl]=\"control\"\r\n [required]=\"required\" [placeholder]=\"placeholder\">\r\n </label>\r\n\r\n @if(matSuffix){\r\n <span matSuffix class=\"sfi {{iconSuffixName}}\"></span>\r\n }\r\n @if(type === 'number'){\r\n <div matSuffix class=\"d-flex align-items-center gap-2\">\r\n @if(numberSuffixName){\r\n <span class=\"fs-14 fw-medium\">{{numberSuffixName}}</span>\r\n }\r\n <!-- <span class=\"sfi sfi-minus p-2 bc-light-gray fc-black\"></span>\r\n <span class=\"sfi sfi-plus p-2 bc-light-gray fc-black\"></span> -->\r\n </div>\r\n }\r\n <!-- @if((!control?.valid)){\r\n <mat-error class=\"mb-2\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n } -->\r\n\r\n\r\n <!-- <mat-error *ngIf=\"(type ==='email' && !control?.valid)\">\r\n {{i18n.translate('validEmailError')}}\r\n </mat-error> -->\r\n @if(showHint){\r\n <mat-hint>\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <!-- <span class=\"fc-coral\" style=\"color:#f44336\" *ngIf=\"( showErrorMessage && control.value)\">\r\n {{errorMessage}}\r\n </span> -->\r\n\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && control.value){\r\n <ng-container class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\" [hasLabel]=\"label ? true: false\"\r\n [value]=\"control\"></app-info-item>\r\n </ng-container>\r\n\r\n}\r\n\r\n\r\n<!-- section tooltip -->\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}\n"] }]
48
- }], propDecorators: { floatLabel: [{
49
- type: Input
50
- }], className: [{
51
- type: Input
52
- }], matPrefix: [{
53
- type: Input
54
- }], iconPrefixName: [{
55
- type: Input
56
- }], iconSuffixName: [{
57
- type: Input
58
- }], numberSuffixName: [{
59
- type: Input
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC1tYXNrL2lucHV0LW1hc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtbWFzay9pbnB1dC1tYXNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsdURBQXVEO0FBQ3ZELCtDQUErQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBd0JwRixNQUFNLE9BQU8sa0JBRVgsU0FBUSw2QkFBbUM7SUFDbEMsVUFBVSxHQUFRLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0IsU0FBUyxDQUFXO0lBQ3BCLGNBQWMsQ0FBVTtJQUN4QixjQUFjLENBQVU7SUFDeEIsZ0JBQWdCLENBQVU7dUdBUnhCLGtCQUFrQjsyRkFBbEIsa0JBQWtCLDZQQWhCbEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDL0JILGc1RkE4RUEsNkVEN0NJLGdCQUFnQiwwZ0JBQ2hCLFlBQVksNExBQ1osZ0JBQWdCLGlqQkFDaEIsaUJBQWlCLCtMQUNqQixtQkFBbUIsdXlCQUNuQixPQUFPOzsyRkFHRSxrQkFBa0I7a0JBdEI5QixTQUFTOytCQUNFLGdCQUFnQixXQUdqQixDQUFDLHNCQUFzQixDQUFDLGNBQ3JCLElBQUksYUFDTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsV0FDUTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsT0FBTztxQkFDUjs4QkFLUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3VzZS1saWZlY3ljbGUtaW50ZXJmYWNlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG4vLyBpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IFNhdFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XHJcbmltcG9ydCB7IE5neE1hc2tEaXJlY3RpdmUgfSBmcm9tICduZ3gtbWFzayc7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmZvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtbWFzaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW1hc2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LW1hc2suY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0TWFza0NvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBOZ3hNYXNrRGlyZWN0aXZlLFxyXG4gICAgSW5mb0l0ZW1Db21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTmdDbGFzcyxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRNYXNrQ29tcG9uZW50PFxyXG4gIFR5cGVcclxuPiBleHRlbmRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlPFR5cGU+IHtcclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICBASW5wdXQoKSBtYXRQcmVmaXghOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGljb25QcmVmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25TdWZmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG51bWJlclN1ZmZpeE5hbWUhOiBzdHJpbmc7XHJcbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgLy8gdGhpcy5yZXNldFByb3BhZ2F0b3Iuc3Vic2NyaWJlKHRoaXMsIHRoaXMucmVzZXREYXRhKTtcclxuXHJcbiAgLy8gY29kZVx0bWVhbmluZ1xyXG4gIC8vIDBcdGRpZ2l0cyAobGlrZSAwIHRvIDkgbnVtYmVycylcclxuICAvLyA5XHRkaWdpdHMgKGxpa2UgMCB0byA5IG51bWJlcnMpLCBidXQgb3B0aW9uYWxcclxuICAvLyBBXHRsZXR0ZXJzICh1cHBlcmNhc2Ugb3IgbG93ZXJjYXNlKSBhbmQgZGlnaXRzXHJcbiAgLy8gU1x0b25seSBsZXR0ZXJzICh1cHBlcmNhc2Ugb3IgbG93ZXJjYXNlKVxyXG4gIC8vIFVcdG9ubHkgbGV0dGVycyB1cHBlcmNhc2VcclxuICAvLyBMXHRvbmx5IGxldHRlcnMgbG93ZXJjYXNlXHJcblxyXG4gIC8vIH1cclxufVxyXG4iLCJcclxuQGlmKCFpc1JlYWRPbmx5KXtcclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgPCEtLSA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cIiFyZXF1aXJlZFwiIFtoaWRlT3B0aW9uXT1cImhpZGVPcHRpb25cIiBbc2hvd0xhYmVsXT1cInNob3dMYWJlbFwiPjwvYXBwLWZvcm0tbGFiZWw+IC0tPlxyXG4gICAgIEBpZihsYWJlbCl7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0wXCI+e3tsYWJlbH19PC9zcGFuPlxyXG4gICAgICAgIEBpZighcmVxdWlyZWQpe1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMSBmYy1kYXJrLWdyYXlcIj57e2kxOG4udHJhbnNsYXRlKCdPcHRpb25hbCcpfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgIH1cclxuXHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJwcmltYXJ5LWZvcm0ge3tjbGFzc05hbWV9fVwiIFtuZ0NsYXNzXT1cInsnaW5wdXQtZGlzYWJsZWQnIDogaXNEaXNhYmxlZCB9XCJcclxuICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxyXG5cclxuICAgICAgQGlmKGljb25QcmVmaXhOYW1lKXtcclxuICAgICAgICA8c3BhbiBtYXRQcmVmaXggY2xhc3M9XCJzZmkge3tpY29uUHJlZml4TmFtZX19XCI+PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3ZhbHVlXT1cInZhbHVlXCIgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFttYXNrXT1cIm1hc2tcIlxyXG4gICAgICAgICAgW3Nob3dNYXNrVHlwZWRdPVwiZmFsc2VcIiBvbmlucHV0PVwidmFsaWRpdHkudmFsaWQgfHwgKHZhbHVlPScnKTtcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cclxuICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgIEBpZihtYXRTdWZmaXgpe1xyXG4gICAgICA8c3BhbiAgbWF0U3VmZml4IGNsYXNzPVwic2ZpIHt7aWNvblN1ZmZpeE5hbWV9fVwiPjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYodHlwZSA9PT0gJ251bWJlcicpe1xyXG4gICAgICAgIDxkaXYgIG1hdFN1ZmZpeCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgIEBpZihudW1iZXJTdWZmaXhOYW1lKXtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtXCI+e3tudW1iZXJTdWZmaXhOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwic2ZpIHNmaS1taW51cyBwLTIgYmMtbGlnaHQtZ3JheSBmYy1ibGFja1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2ZpIHNmaS1wbHVzIHAtMiBiYy1saWdodC1ncmF5IGZjLWJsYWNrXCI+PC9zcGFuPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICA8IS0tIEBpZigoIWNvbnRyb2w/LnZhbGlkKSl7XHJcbiAgICA8bWF0LWVycm9yIGNsYXNzPVwibWItMlwiPlxyXG4gICAgICB7e2kxOG4udHJhbnNsYXRlKCd2YWxpZEZpZWxkRXJyb3InKX19e3tsYWJlbH19XHJcbiAgICA8L21hdC1lcnJvcj5cclxuICAgfSAtLT5cclxuXHJcblxyXG4gICAgICA8IS0tIDxtYXQtZXJyb3IgKm5nSWY9XCIodHlwZSA9PT0nZW1haWwnICYmICFjb250cm9sPy52YWxpZClcIj5cclxuICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCd2YWxpZEVtYWlsRXJyb3InKX19XHJcbiAgICAgIDwvbWF0LWVycm9yPiAtLT5cclxuICAgICAgQGlmKHNob3dIaW50KXtcclxuICAgICAgICA8bWF0LWhpbnQ+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktY2hlY2stY2lyY2xlIGZvbnQtMTAgZmMtZGFyay1ncmF5XCIgW25nQ2xhc3NdPVwieydmYy1vYXNpcy1saWdodC1pbXAnOnZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtb255eFwiPnt7aGludH19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWhpbnQ+XHJcbiAgICAgIH1cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIDxzcGFuIGNsYXNzPVwiZmMtY29yYWxcIiBzdHlsZT1cImNvbG9yOiNmNDQzMzZcIiAqbmdJZj1cIiggc2hvd0Vycm9yTWVzc2FnZSAmJiBjb250cm9sLnZhbHVlKVwiPlxyXG4gICAgICB7e2Vycm9yTWVzc2FnZX19XHJcbiAgICA8L3NwYW4+IC0tPlxyXG5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG5cclxuQGlmKGlzUmVhZE9ubHkgJiYgY29udHJvbC52YWx1ZSl7XHJcbiAgPG5nLWNvbnRhaW5lciBjbGFzcz1cImluZm8tc2VjdGlvblwiPlxyXG4gICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBbbGFiZWxdPVwibGFiZWxcIiBbaW5zaWRlVGFibGVdPVwiaW5zaWRlVGFibGVcIiBbaGFzTGFiZWxdPVwibGFiZWwgPyB0cnVlOiBmYWxzZVwiXHJcbiAgICAgIFt2YWx1ZV09XCJjb250cm9sXCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxufVxyXG5cclxuXHJcbjwhLS0gc2VjdGlvbiB0b29sdGlwIC0tPlxyXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIj5cclxuICA8ZGl2IGNsYXNzPVwiZGVhZnVsdC10b29sdGlwXCI+XHJcbiAgICB7e3Rvb2x0aXB9fVxyXG4gIDwvZGl2PlxyXG48L3NhdC1wb3BvdmVyPlxyXG4iXX0=
@@ -1,74 +0,0 @@
1
- /* eslint-disable @angular-eslint/use-lifecycle-interface */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- /* eslint-disable @angular-eslint/component-selector */
4
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, EventEmitter, forwardRef, inject, Input, Output } from '@angular/core';
6
- import { ControlValueAccessorDirective } from '../control-value-accessor.directive';
7
- import { NumberDirective } from "../../../../directives/number.directive";
8
- import { MatFormImports, Shareds } from '../shared-imports';
9
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../form-label/form-label.component";
12
- import * as i2 from "../validation-errors/validation-errors.component";
13
- import * as i3 from "../info-item/info-item.component";
14
- import * as i4 from "@angular/forms";
15
- import * as i5 from "@angular/common";
16
- import * as i6 from "@angular/material/form-field";
17
- import * as i7 from "@angular/material/input";
18
- export class InputNumberComponent extends ControlValueAccessorDirective {
19
- floatLabel = 'auto';
20
- className = 'bordered-input';
21
- iconPrefixName;
22
- iconSuffixName;
23
- numberSuffixName;
24
- allowedPattern = '';
25
- destroyRef = inject(DestroyRef);
26
- emitedChangedValue = new EventEmitter();
27
- ngOnInit() {
28
- super.ngOnInit();
29
- this.actionStateService.resetAction$
30
- .pipe(takeUntilDestroyed(this.destroyRef))
31
- .subscribe(res => {
32
- if (!this.isReadOnly && this.control.enabled) {
33
- this.control.reset();
34
- }
35
- });
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputNumberComponent, isStandalone: true, selector: "app-input-number", inputs: { floatLabel: "floatLabel", className: "className", iconPrefixName: "iconPrefixName", iconSuffixName: "iconSuffixName", numberSuffixName: "numberSuffixName", allowedPattern: "allowedPattern" }, outputs: { emitedChangedValue: "emitedChangedValue" }, providers: [
39
- {
40
- provide: NG_VALUE_ACCESSOR,
41
- useExisting: forwardRef(() => InputNumberComponent),
42
- multi: true,
43
- },
44
- ], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': control.disabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n >\r\n @if(iconPrefixName){<span class=\"sfi {{ iconPrefixName }}\"></span>}\r\n @if(loading){<span\r\n class=\"sfi sfi-spinner d-inline-block spin fc-coral\"\r\n matSuffix\r\n ></span\r\n >}\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n <input\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n numberOnly\r\n />\r\n </label>\r\n @if(iconSuffixName){<span matSuffix class=\"sfi {{ iconSuffixName }}\"></span>}\r\n @if(hint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span\r\n class=\"sfi sfi-info fs-17 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n } @if(isReadOnly && control.value && (showIfEmpty || control)){\r\n <ng-container class=\"info-section\">\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [type]=\"type\"\r\n [value]=\"control.value\"\r\n ></app-info-item>\r\n </ng-container>\r\n }\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"], dependencies: [{ kind: "directive", type: NumberDirective, selector: "[numberOnly]", inputs: ["decimals"] }, { kind: "component", type: i1.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i2.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i3.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i4.ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: i6.MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputNumberComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'app-input-number', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, imports: [
49
- NumberDirective,
50
- ...Shareds,
51
- ...MatFormImports
52
- ], providers: [
53
- {
54
- provide: NG_VALUE_ACCESSOR,
55
- useExisting: forwardRef(() => InputNumberComponent),
56
- multi: true,
57
- },
58
- ], template: "@if(!isReadOnly){\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': control.disabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n >\r\n @if(iconPrefixName){<span class=\"sfi {{ iconPrefixName }}\"></span>}\r\n @if(loading){<span\r\n class=\"sfi sfi-spinner d-inline-block spin fc-coral\"\r\n matSuffix\r\n ></span\r\n >}\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n <input\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n numberOnly\r\n />\r\n </label>\r\n @if(iconSuffixName){<span matSuffix class=\"sfi {{ iconSuffixName }}\"></span>}\r\n @if(hint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span\r\n class=\"sfi sfi-info fs-17 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n } @if(isReadOnly && control.value && (showIfEmpty || control)){\r\n <ng-container class=\"info-section\">\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [type]=\"type\"\r\n [value]=\"control.value\"\r\n ></app-info-item>\r\n </ng-container>\r\n }\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"] }]
59
- }], propDecorators: { floatLabel: [{
60
- type: Input
61
- }], className: [{
62
- type: Input
63
- }], iconPrefixName: [{
64
- type: Input
65
- }], iconSuffixName: [{
66
- type: Input
67
- }], numberSuffixName: [{
68
- type: Input
69
- }], allowedPattern: [{
70
- type: Input
71
- }], emitedChangedValue: [{
72
- type: Output
73
- }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsdURBQXVEO0FBQ3ZELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9ILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUFxQmhFLE1BQU0sT0FBTyxvQkFBMkIsU0FBUSw2QkFBbUM7SUFDeEUsVUFBVSxHQUFRLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0IsY0FBYyxDQUFVO0lBQ3hCLGNBQWMsQ0FBVTtJQUN4QixnQkFBZ0IsQ0FBVTtJQUMxQixjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzdCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEIsa0JBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN6QyxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO2FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO3VHQW5CVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnVUFScEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILGcxREFtREEsOEhEakNJLGVBQWU7OzJGQVlOLG9CQUFvQjtrQkFuQmhDLFNBQVM7K0JBQ0Usa0JBQWtCLFdBR25CLENBQUMsc0JBQXNCLENBQUMsY0FDckIsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsR0FBRyxPQUFPO3dCQUNWLEdBQUcsY0FBYztxQkFDbEIsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR1EsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdXNlLWxpZmVjeWNsZS1pbnRlcmZhY2UgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXHJcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIGluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7TnVtYmVyRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9udW1iZXIuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1JbXBvcnRzLCBTaGFyZWRzIH0gZnJvbSAnLi4vc2hhcmVkLWltcG9ydHMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC1udW1iZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE51bWJlckRpcmVjdGl2ZSxcclxuICAgIC4uLlNoYXJlZHMsXHJcbiAgICAuLi5NYXRGb3JtSW1wb3J0c1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dE51bWJlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXROdW1iZXJDb21wb25lbnQ8VHlwZT4gZXh0ZW5kcyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZTxUeXBlPiAge1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIEBJbnB1dCgpIGljb25QcmVmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25TdWZmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG51bWJlclN1ZmZpeE5hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWxsb3dlZFBhdHRlcm4gPSAnJztcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIEBPdXRwdXQoKSBlbWl0ZWRDaGFuZ2VkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCJAaWYoIWlzUmVhZE9ubHkpe1xyXG4gIEBpZihsYWJlbCl7XHJcbiAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cInJlcXVpcmVkIHx8IG1hbmRhdG9yeSA/IGZhbHNlIDogdHJ1ZVwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgfVxyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgY2xhc3M9XCJwcmltYXJ5LWZvcm0ge3sgY2xhc3NOYW1lIH19XCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ2lucHV0LWRpc2FibGVkJzogY29udHJvbC5kaXNhYmxlZCB9XCJcclxuICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxyXG4gID5cclxuICAgIEBpZihpY29uUHJlZml4TmFtZSl7PHNwYW4gY2xhc3M9XCJzZmkge3sgaWNvblByZWZpeE5hbWUgfX1cIj48L3NwYW4+fVxyXG4gICAgQGlmKGxvYWRpbmcpezxzcGFuXHJcbiAgICAgIGNsYXNzPVwic2ZpIHNmaS1zcGlubmVyIGQtaW5saW5lLWJsb2NrIHNwaW4gZmMtY29yYWxcIlxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgID48L3NwYW5cclxuICAgID59XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgIDwhLS0gYWRkIGlucHV0IGZvciBhciAmJiBlbiBjdXN0b20gZGlyZWN0aXZlIHdpdGggYWRkIHR5cGUgPSBhck9ubHkgfHwgIHR5cGUgPSBlbk9ubHktLT5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgIG9uaW5wdXQ9XCJ2YWxpZGl0eS52YWxpZCB8fCAodmFsdWU9JycpO1wiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgbnVtYmVyT25seVxyXG4gICAgICAvPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIEBpZihpY29uU3VmZml4TmFtZSl7PHNwYW4gbWF0U3VmZml4IGNsYXNzPVwic2ZpIHt7IGljb25TdWZmaXhOYW1lIH19XCI+PC9zcGFuPn1cclxuICAgIEBpZihoaW50KXtcclxuICAgIDxtYXQtaGludCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEgbXQtMVwiPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwic2ZpIHNmaS1pbmZvIGZzLTE3IGZjLWRhcmstZ3JheVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZmMtb2FzaXMtbGlnaHQtaW1wJzogdmFsdWUgfVwiXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtYmxhY2sgbGluZS1oZWlnaHQtMVwiPnt7IGhpbnQgfX08L3NwYW4+XHJcbiAgICA8L21hdC1oaW50PlxyXG4gICAgfVxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGFwcC12YWxpZGF0aW9uLWVycm9ycyBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCI+PC9hcHAtdmFsaWRhdGlvbi1lcnJvcnM+XHJcbiAgfSBAaWYoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlICYmIChzaG93SWZFbXB0eSB8fCBjb250cm9sKSl7XHJcbiAgPG5nLWNvbnRhaW5lciBjbGFzcz1cImluZm8tc2VjdGlvblwiPlxyXG4gICAgPGFwcC1pbmZvLWl0ZW1cclxuICAgICAgY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbaW5zaWRlVGFibGVdPVwiaW5zaWRlVGFibGVcIlxyXG4gICAgICBbaGFzTGFiZWxdPVwiISFsYWJlbFwiXHJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiXHJcbiAgICA+PC9hcHAtaW5mby1pdGVtPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuIl19
@@ -1,85 +0,0 @@
1
- import { NgxIntlTelInputModule } from 'ngx-intl-tel-input-gg';
2
- import { CountryISO, SearchCountryField } from 'ngx-intl-tel-input-gg';
3
- import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { Component, Input, CUSTOM_ELEMENTS_SCHEMA, forwardRef, inject, DestroyRef } from '@angular/core';
5
- import { CommonModule } from "@angular/common";
6
- import { ControlValueAccessorDirective } from '../control-value-accessor.directive';
7
- import { Shareds } from '../shared-imports';
8
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "ngx-intl-tel-input-gg";
13
- import * as i4 from "../form-label/form-label.component";
14
- import * as i5 from "../info-item/info-item.component";
15
- export class InputTelephoneComponent extends ControlValueAccessorDirective {
16
- floatLabel = 'auto';
17
- className = 'bordered-input';
18
- controlValue = '';
19
- destroyRef = inject(DestroyRef);
20
- errorMessages = {
21
- required: this.i18n.translate('thisFieldIsRequired'),
22
- validatePhoneNumber: this.i18n.translate('pleaseEnterValidNumber')
23
- };
24
- ngOnInit() {
25
- super.ngOnInit();
26
- if (this.control.hasValidator(this.Validators.required)) {
27
- this.telephoneControl.setValidators(this.Validators.required);
28
- }
29
- else {
30
- this.telephoneControl.setValidators(null);
31
- }
32
- this.telephoneControl.updateValueAndValidity;
33
- this.actionStateService.resetAction$
34
- .pipe(takeUntilDestroyed(this.destroyRef))
35
- .subscribe(res => {
36
- if (!this.isReadOnly && this.control.enabled) {
37
- this.control.reset();
38
- }
39
- });
40
- }
41
- CountryISO = CountryISO;
42
- SearchCountryField = SearchCountryField;
43
- show = false;
44
- setControlValue(controlValue) {
45
- console.log(this.telephoneControl.errors);
46
- if (this.telephoneControl.valid && controlValue) {
47
- this.control.setValue(controlValue['internationalNumber']);
48
- this.telephoneControl.setValue(controlValue['internationalNumber']);
49
- }
50
- if (!controlValue) {
51
- this.control.reset();
52
- }
53
- if (this.telephoneControl.invalid && this.telephoneControl.touched) {
54
- this.control.markAsTouched();
55
- }
56
- }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTelephoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputTelephoneComponent, isStandalone: true, selector: "app-input-telephone", inputs: { floatLabel: "floatLabel", className: "className" }, providers: [
59
- {
60
- provide: NG_VALUE_ACCESSOR,
61
- useExisting: forwardRef(() => InputTelephoneComponent),
62
- multi: true,
63
- },
64
- ], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <!-- <mat-form-field style=\"height: 50px;\" class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\"> -->\r\n <div class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\">\r\n <label class=\"mat-form-content\">\r\n <!-- [placeholder]=\"label\" -->\r\n <!-- <input matInput [disabled]=\"disabled\" ng2TelInput numberOnly #phone\r\n [ng2TelInputOptions]=\"{initialCountry: 'sa', utilsScript: 'assets/js/utils.js'}\" (hasError)=\"hasError($event)\"\r\n (ng2TelOutput)=\"getNumber($event)\" (intlTelInputObject)=\"telInputObject($event)\"\r\n (countryChange)=\"onCountryChange($event)\" [(ngModel)]=\"field\" [name]=\"name\"\r\n oninput=\"this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\"\r\n [maxlength]=\"maxLength\" [minLength]=\"minLength\" />-->\r\n <!-- <input matInput [hidden]=\"true\"/> -->\r\n <ngx-intl-tel-input\r\n (input)=\"setControlValue(telephoneControl.value)\"\r\n [formControl]=\"telephoneControl\"\r\n [cssClass]=\"'custom'\"\r\n [preferredCountries]=\"[CountryISO.UnitedStates, CountryISO.UnitedKingdom]\"\r\n [enableAutoCountrySelect]=\"false\"\r\n [enablePlaceholder]=\"true\"\r\n [searchCountryFlag]=\"true\"\r\n [searchCountryField]=\"[SearchCountryField.Iso2, SearchCountryField.Name]\"\r\n [selectFirstCountry]=\"false\"\r\n [selectedCountryISO]=\"CountryISO.SaudiArabia\"\r\n [maxLength]=\"17\"\r\n [phoneValidation]=\"true\"\r\n [inputId]=\"\"\r\n name=\"phone\"\r\n ></ngx-intl-tel-input>\r\n </label>\r\n </div>\r\n <!-- </mat-form-field> -->\r\n <!-- <app-validation-errors [errors]=\"telephoneControl.errors\"></app-validation-errors> -->\r\n @if(telephoneControl.touched){\r\n @for(error of telephoneControl.errors | keyvalue; track error ) {\r\n <mat-error class=\"mb-2\">\r\n {{ errorMessages[error.key] }}\r\n </mat-error>\r\n }\r\n }\r\n\r\n </ng-container>\r\n}\r\n@if(isReadOnly && control.value){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [type]=\"'telephone'\" [label]=\"label\"\r\n [value]=\"control.value\"></app-info-item>\r\n </ng-container>\r\n}\r\n", styles: ["[dir=rtl] :host .mat-input-element{direction:ltr;text-align:right}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: NgxIntlTelInputModule }, { kind: "component", type: i3.NgxIntlTelInputComponent, selector: "ngx-intl-tel-input", inputs: ["value", "preferredCountries", "enablePlaceholder", "customPlaceholder", "numberFormat", "cssClass", "onlyCountries", "enableAutoCountrySelect", "searchCountryFlag", "searchCountryField", "searchCountryPlaceholder", "maxLength", "selectFirstCountry", "selectedCountryISO", "phoneValidation", "inputId", "separateDialCode"], outputs: ["countryChange"] }, { kind: "directive", type: i3.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "component", type: i4.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i5.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTelephoneComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'app-input-telephone', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, imports: [
69
- CommonModule,
70
- FormsModule,
71
- NgxIntlTelInputModule,
72
- ...Shareds
73
- ], providers: [
74
- {
75
- provide: NG_VALUE_ACCESSOR,
76
- useExisting: forwardRef(() => InputTelephoneComponent),
77
- multi: true,
78
- },
79
- ], template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <!-- <mat-form-field style=\"height: 50px;\" class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\"> -->\r\n <div class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\">\r\n <label class=\"mat-form-content\">\r\n <!-- [placeholder]=\"label\" -->\r\n <!-- <input matInput [disabled]=\"disabled\" ng2TelInput numberOnly #phone\r\n [ng2TelInputOptions]=\"{initialCountry: 'sa', utilsScript: 'assets/js/utils.js'}\" (hasError)=\"hasError($event)\"\r\n (ng2TelOutput)=\"getNumber($event)\" (intlTelInputObject)=\"telInputObject($event)\"\r\n (countryChange)=\"onCountryChange($event)\" [(ngModel)]=\"field\" [name]=\"name\"\r\n oninput=\"this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\"\r\n [maxlength]=\"maxLength\" [minLength]=\"minLength\" />-->\r\n <!-- <input matInput [hidden]=\"true\"/> -->\r\n <ngx-intl-tel-input\r\n (input)=\"setControlValue(telephoneControl.value)\"\r\n [formControl]=\"telephoneControl\"\r\n [cssClass]=\"'custom'\"\r\n [preferredCountries]=\"[CountryISO.UnitedStates, CountryISO.UnitedKingdom]\"\r\n [enableAutoCountrySelect]=\"false\"\r\n [enablePlaceholder]=\"true\"\r\n [searchCountryFlag]=\"true\"\r\n [searchCountryField]=\"[SearchCountryField.Iso2, SearchCountryField.Name]\"\r\n [selectFirstCountry]=\"false\"\r\n [selectedCountryISO]=\"CountryISO.SaudiArabia\"\r\n [maxLength]=\"17\"\r\n [phoneValidation]=\"true\"\r\n [inputId]=\"\"\r\n name=\"phone\"\r\n ></ngx-intl-tel-input>\r\n </label>\r\n </div>\r\n <!-- </mat-form-field> -->\r\n <!-- <app-validation-errors [errors]=\"telephoneControl.errors\"></app-validation-errors> -->\r\n @if(telephoneControl.touched){\r\n @for(error of telephoneControl.errors | keyvalue; track error ) {\r\n <mat-error class=\"mb-2\">\r\n {{ errorMessages[error.key] }}\r\n </mat-error>\r\n }\r\n }\r\n\r\n </ng-container>\r\n}\r\n@if(isReadOnly && control.value){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [type]=\"'telephone'\" [label]=\"label\"\r\n [value]=\"control.value\"></app-info-item>\r\n </ng-container>\r\n}\r\n", styles: ["[dir=rtl] :host .mat-input-element{direction:ltr;text-align:right}\n"] }]
80
- }], propDecorators: { floatLabel: [{
81
- type: Input
82
- }], className: [{
83
- type: Input
84
- }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVsZXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2lucHV0LXRlbGVwaG9uZS9pbnB1dC10ZWxlcGhvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtdGVsZXBob25lL2lucHV0LXRlbGVwaG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFHLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBc0JoRSxNQUFNLE9BQU8sdUJBQThCLFNBQVEsNkJBQW1DO0lBQzNFLFVBQVUsR0FBUSxNQUFNLENBQUM7SUFDekIsU0FBUyxHQUFHLGdCQUFnQixDQUFDO0lBQ3RDLFlBQVksR0FBVSxFQUFFLENBQUM7SUFDekIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxhQUFhLEdBQUc7UUFDZCxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUM7UUFDcEQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUM7S0FDbkUsQ0FBQztJQUdLLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMzQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFBO1FBRTVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO2FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFHTCxDQUFDO0lBQ0MsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUN4QixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxJQUFJLEdBQVcsS0FBSyxDQUFDO0lBRXJCLGVBQWUsQ0FBQyxZQUFZO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxZQUFZLEVBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFBO1lBQzFELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsSUFBRyxDQUFDLFlBQVksRUFBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDdEIsQ0FBQztRQUVELElBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUM5QixDQUFDO0lBQ0gsQ0FBQzt1R0EvQ1UsdUJBQXVCOzJGQUF2Qix1QkFBdUIsZ0lBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzdCSCx1bUZBb0RBLDZIRGxDSSxZQUFZLHlGQUNaLFdBQVcsc0lBQ1gscUJBQXFCOzsyRkFXWix1QkFBdUI7a0JBcEJuQyxTQUFTOytCQUNFLHFCQUFxQixXQUd0QixDQUFDLHNCQUFzQixDQUFDLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gscUJBQXFCO3dCQUNyQixHQUFHLE9BQU87cUJBQ1gsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR1EsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4SW50bFRlbElucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWludGwtdGVsLWlucHV0LWdnJztcclxuaW1wb3J0IHsgQ291bnRyeUlTTywgU2VhcmNoQ291bnRyeUZpZWxkICB9IGZyb20gJ25neC1pbnRsLXRlbC1pbnB1dC1nZyc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBmb3J3YXJkUmVmLCBPbkluaXQsIGluamVjdCwgRGVzdHJveVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0luZm9JdGVtQ29tcG9uZW50fSBmcm9tIFwiLi4vaW5mby1pdGVtL2luZm8taXRlbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnNDb21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9ycy92YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFyZWRzIH0gZnJvbSAnLi4vc2hhcmVkLWltcG9ydHMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC10ZWxlcGhvbmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZWxlcGhvbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRlbGVwaG9uZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmd4SW50bFRlbElucHV0TW9kdWxlLFxyXG4gICAgLi4uU2hhcmVkc1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudDxUeXBlPiBleHRlbmRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlPFR5cGU+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICBjb250cm9sVmFsdWU6c3RyaW5nID0gJyc7XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICBlcnJvck1lc3NhZ2VzID0ge1xyXG4gICAgcmVxdWlyZWQ6IHRoaXMuaTE4bi50cmFuc2xhdGUoJ3RoaXNGaWVsZElzUmVxdWlyZWQnKSxcclxuICAgIHZhbGlkYXRlUGhvbmVOdW1iZXI6IHRoaXMuaTE4bi50cmFuc2xhdGUoJ3BsZWFzZUVudGVyVmFsaWROdW1iZXInKVxyXG4gIH07XHJcblxyXG5cclxub3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgc3VwZXIubmdPbkluaXQoKTtcclxuICBpZih0aGlzLmNvbnRyb2wuaGFzVmFsaWRhdG9yKHRoaXMuVmFsaWRhdG9ycy5yZXF1aXJlZCkpe1xyXG4gICAgdGhpcy50ZWxlcGhvbmVDb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5WYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnRlbGVwaG9uZUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhudWxsKVxyXG4gIH1cclxuICB0aGlzLnRlbGVwaG9uZUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eVxyXG5cclxuICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgXHJcbn1cclxuICBDb3VudHJ5SVNPID0gQ291bnRyeUlTTztcclxuICBTZWFyY2hDb3VudHJ5RmllbGQgPSBTZWFyY2hDb3VudHJ5RmllbGQ7XHJcbiAgc2hvdzpib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgc2V0Q29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSl7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRlbGVwaG9uZUNvbnRyb2wuZXJyb3JzKVxyXG4gICAgaWYgKHRoaXMudGVsZXBob25lQ29udHJvbC52YWxpZCAmJiBjb250cm9sVmFsdWUpe1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoY29udHJvbFZhbHVlWydpbnRlcm5hdGlvbmFsTnVtYmVyJ10pXHJcbiAgICAgIHRoaXMudGVsZXBob25lQ29udHJvbC5zZXRWYWx1ZShjb250cm9sVmFsdWVbJ2ludGVybmF0aW9uYWxOdW1iZXInXSlcclxuICAgIH0gXHJcbiAgICBpZighY29udHJvbFZhbHVlKXtcclxuICAgICAgdGhpcy5jb250cm9sLnJlc2V0KClcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIHRoaXMudGVsZXBob25lQ29udHJvbC5pbnZhbGlkICYmIHRoaXMudGVsZXBob25lQ29udHJvbC50b3VjaGVkKXtcclxuICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYoIWlzUmVhZE9ubHkpe1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICBAaWYobGFiZWwpe1xyXG4gICAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cInJlcXVpcmVkIHx8IG1hbmRhdG9yeSA/IGZhbHNlIDogdHJ1ZVwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgICB9XHJcbiAgICA8IS0tIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cImhlaWdodDogNTBweDtcIiBjbGFzcz1cInByaW1hcnktZm9ybSBpbnB1dC10ZWxlcGhvbmUge3tjbGFzc05hbWV9fVwiIGZsb2F0TGFiZWw9XCJhbHdheXNcIj4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcmltYXJ5LWZvcm0gaW5wdXQtdGVsZXBob25lIHt7Y2xhc3NOYW1lfX1cIiBmbG9hdExhYmVsPVwiYWx3YXlzXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tY29udGVudFwiPlxyXG4gICAgICAgICAgPCEtLSBbcGxhY2Vob2xkZXJdPVwibGFiZWxcIiAtLT5cclxuICAgICAgICA8IS0tICA8aW5wdXQgbWF0SW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgbmcyVGVsSW5wdXQgbnVtYmVyT25seSAjcGhvbmVcclxuICAgICAgICAgICAgW25nMlRlbElucHV0T3B0aW9uc109XCJ7aW5pdGlhbENvdW50cnk6ICdzYScsIHV0aWxzU2NyaXB0OiAnYXNzZXRzL2pzL3V0aWxzLmpzJ31cIiAoaGFzRXJyb3IpPVwiaGFzRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChuZzJUZWxPdXRwdXQpPVwiZ2V0TnVtYmVyKCRldmVudClcIiAoaW50bFRlbElucHV0T2JqZWN0KT1cInRlbElucHV0T2JqZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoY291bnRyeUNoYW5nZSk9XCJvbkNvdW50cnlDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZmllbGRcIiBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUucmVwbGFjZSgvW14wLTkuXS9nLCAnJyk7IHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnJlcGxhY2UoLyhcXC4uKilcXC4vZywgJyQxJyk7XCJcclxuICAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbbWluTGVuZ3RoXT1cIm1pbkxlbmd0aFwiIC8+LS0+XHJcbiAgICAgICAgICA8IS0tIDxpbnB1dCBtYXRJbnB1dCBbaGlkZGVuXT1cInRydWVcIi8+IC0tPlxyXG4gICAgICAgICAgICA8bmd4LWludGwtdGVsLWlucHV0XHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJzZXRDb250cm9sVmFsdWUodGVsZXBob25lQ29udHJvbC52YWx1ZSlcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidGVsZXBob25lQ29udHJvbFwiXHJcbiAgICAgICAgICAgIFtjc3NDbGFzc109XCInY3VzdG9tJ1wiXHJcbiAgICAgICAgICAgIFtwcmVmZXJyZWRDb3VudHJpZXNdPVwiW0NvdW50cnlJU08uVW5pdGVkU3RhdGVzLCBDb3VudHJ5SVNPLlVuaXRlZEtpbmdkb21dXCJcclxuICAgICAgICAgICAgW2VuYWJsZUF1dG9Db3VudHJ5U2VsZWN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2VuYWJsZVBsYWNlaG9sZGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoQ291bnRyeUZsYWddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtzZWFyY2hDb3VudHJ5RmllbGRdPVwiW1NlYXJjaENvdW50cnlGaWVsZC5Jc28yLCBTZWFyY2hDb3VudHJ5RmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgICBbc2VsZWN0Rmlyc3RDb3VudHJ5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkQ291bnRyeUlTT109XCJDb3VudHJ5SVNPLlNhdWRpQXJhYmlhXCJcclxuICAgICAgICAgICAgW21heExlbmd0aF09XCIxN1wiXHJcbiAgICAgICAgICAgIFtwaG9uZVZhbGlkYXRpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtpbnB1dElkXT1cIlwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJwaG9uZVwiXHJcbiAgICAgICAgICA+PC9uZ3gtaW50bC10ZWwtaW5wdXQ+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8L21hdC1mb3JtLWZpZWxkPiAtLT5cclxuICAgICAgPCEtLSA8YXBwLXZhbGlkYXRpb24tZXJyb3JzIFtlcnJvcnNdPVwidGVsZXBob25lQ29udHJvbC5lcnJvcnNcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz4gLS0+XHJcbiAgICAgICBAaWYodGVsZXBob25lQ29udHJvbC50b3VjaGVkKXtcclxuICAgICAgICBAZm9yKGVycm9yIG9mIHRlbGVwaG9uZUNvbnRyb2wuZXJyb3JzIHwga2V5dmFsdWU7IHRyYWNrIGVycm9yICkge1xyXG4gICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICB7eyBlcnJvck1lc3NhZ2VzW2Vycm9yLmtleV0gfX1cclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgfVxyXG4gICAgICAgfVxyXG5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG5AaWYoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlKXtcclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiAgW3R5cGVdPVwiJ3RlbGVwaG9uZSdcIiBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiPjwvYXBwLWluZm8taXRlbT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
@@ -1,52 +0,0 @@
1
- import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, forwardRef, inject, Input } from '@angular/core';
2
- import { MatRadioButton, MatRadioGroup } from '@angular/material/radio';
3
- import { FormsModule, NG_VALUE_ACCESSOR } from "@angular/forms";
4
- import { ControlValueAccessorDirective } from '../control-value-accessor.directive';
5
- import { NgSwitchCase } from "@angular/common";
6
- import { Shareds } from '../shared-imports';
7
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- import * as i2 from "../form-label/form-label.component";
11
- import * as i3 from "../info-item/info-item.component";
12
- export class RadioComponent extends ControlValueAccessorDirective {
13
- options;
14
- destroyRef = inject(DestroyRef);
15
- ngOnInit() {
16
- super.ngOnInit();
17
- this.actionStateService.resetAction$
18
- .pipe(takeUntilDestroyed(this.destroyRef))
19
- .subscribe(res => {
20
- if (!this.isReadOnly && this.control.enabled) {
21
- this.control.reset();
22
- }
23
- });
24
- }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: RadioComponent, isStandalone: true, selector: "app-radio", inputs: { options: "options" }, providers: [
27
- {
28
- provide: NG_VALUE_ACCESSOR,
29
- useExisting: forwardRef(() => RadioComponent),
30
- multi: true,
31
- },
32
- ], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-radio-group\r\n aria-label=\"Select an option\"\r\n [formControl]=\"control\"\r\n id=\"{{ name }}{{ randomID }}\"\r\n name=\"{{ name }}{{ randomID }}\"\r\n >\r\n @for(option of options; track $index){\r\n <mat-radio-button\r\n [disabled]=\"isReadOnly || isDisabled\"\r\n [value]=\"option\"\r\n [checked]=\"option === control.value\"\r\n >\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ option }}\r\n </span>\r\n </mat-radio-button>\r\n }\r\n </mat-radio-group>\r\n\r\n}@else if(isReadOnly && control.value) {\r\n <ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [insideTable]=\"insideTable\"\r\n [label]=\"label\"\r\n [type]=\"'toggleBtn'\"\r\n [value]=\"control.value\"\r\n [hasLabel]=\"!!label\"\r\n >\r\n </app-info-item>\r\n </ng-container>\r\n}\r\n", styles: [".mat-mdc-radio-group{grid-gap:2rem}\n"], dependencies: [{ kind: "component", type: MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i3.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i1.ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RadioComponent, decorators: [{
35
- type: Component,
36
- args: [{ selector: 'app-radio', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, imports: [
37
- MatRadioButton,
38
- MatRadioGroup,
39
- FormsModule,
40
- NgSwitchCase,
41
- ...Shareds
42
- ], providers: [
43
- {
44
- provide: NG_VALUE_ACCESSOR,
45
- useExisting: forwardRef(() => RadioComponent),
46
- multi: true,
47
- },
48
- ], template: "@if(!isReadOnly){\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-radio-group\r\n aria-label=\"Select an option\"\r\n [formControl]=\"control\"\r\n id=\"{{ name }}{{ randomID }}\"\r\n name=\"{{ name }}{{ randomID }}\"\r\n >\r\n @for(option of options; track $index){\r\n <mat-radio-button\r\n [disabled]=\"isReadOnly || isDisabled\"\r\n [value]=\"option\"\r\n [checked]=\"option === control.value\"\r\n >\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ option }}\r\n </span>\r\n </mat-radio-button>\r\n }\r\n </mat-radio-group>\r\n\r\n}@else if(isReadOnly && control.value) {\r\n <ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [insideTable]=\"insideTable\"\r\n [label]=\"label\"\r\n [type]=\"'toggleBtn'\"\r\n [value]=\"control.value\"\r\n [hasLabel]=\"!!label\"\r\n >\r\n </app-info-item>\r\n </ng-container>\r\n}\r\n", styles: [".mat-mdc-radio-group{grid-gap:2rem}\n"] }]
49
- }], propDecorators: { options: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUF1QmhFLE1BQU0sT0FBTyxjQUFxQixTQUFRLDZCQUFtQztJQUNsRSxPQUFPLENBQUs7SUFDckIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO2FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO3VHQWJVLGNBQWM7MkZBQWQsY0FBYyx3RkFSZDtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDM0JILGdsQ0FvQ0EsK0ZEckJJLGNBQWMsdVRBQ2QsYUFBYSw2TkFDYixXQUFXOzsyRkFZRixjQUFjO2tCQXJCMUIsU0FBUzsrQkFDRSxXQUFXLFdBR1osQ0FBQyxzQkFBc0IsQ0FBQyxjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixHQUFHLE9BQU87cUJBQ1gsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7NEJBQzdDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgZm9yd2FyZFJlZiwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdFJhZGlvQnV0dG9uLCBNYXRSYWRpb0dyb3VwfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7TmdTd2l0Y2hDYXNlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJhZGlvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0UmFkaW9CdXR0b24sXHJcbiAgICBNYXRSYWRpb0dyb3VwLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ1N3aXRjaENhc2UsXHJcbiAgICAuLi5TaGFyZWRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50PFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6YW55O1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG59XHJcbiIsIkBpZighaXNSZWFkT25seSl7XHJcbiAgQGlmKGxhYmVsKXtcclxuICAgIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwicmVxdWlyZWQgfHwgbWFuZGF0b3J5ID8gZmFsc2UgOiB0cnVlXCIgW3Rvb2x0aXBdPVwidG9vbHRpcFwiPjwvYXBwLWZvcm0tbGFiZWw+XHJcbiAgICB9XHJcbiAgICA8bWF0LXJhZGlvLWdyb3VwXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY3QgYW4gb3B0aW9uXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBpZD1cInt7IG5hbWUgfX17eyByYW5kb21JRCB9fVwiXHJcbiAgICAgIG5hbWU9XCJ7eyBuYW1lIH19e3sgcmFuZG9tSUQgfX1cIlxyXG4gICAgPlxyXG4gICAgICBAZm9yKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayAkaW5kZXgpe1xyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1JlYWRPbmx5IHx8IGlzRGlzYWJsZWRcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICAgIFtjaGVja2VkXT1cIm9wdGlvbiA9PT0gY29udHJvbC52YWx1ZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZ3LW1lZGl1bSBmYy1vbnl4XCI+XHJcbiAgICAgICAgICB7eyBvcHRpb24gfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcblxyXG59QGVsc2UgaWYoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlKSB7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIDxhcHAtaW5mby1pdGVtXHJcbiAgICAgIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCJcclxuICAgICAgW2luc2lkZVRhYmxlXT1cImluc2lkZVRhYmxlXCJcclxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgW3R5cGVdPVwiJ3RvZ2dsZUJ0bidcIlxyXG4gICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiXHJcbiAgICAgIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICAgID5cclxuICAgIDwvYXBwLWluZm8taXRlbT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
@@ -1,32 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @angular-eslint/component-selector */
3
- /* eslint-disable @typescript-eslint/no-empty-function */
4
- import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
5
- import { NgClass, NgForOf, NgIf } from "@angular/common";
6
- import { SatPopoverModule } from "@ncstate/sat-popover";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@ncstate/sat-popover";
9
- export class RepeatedListComponent {
10
- listOfItems;
11
- type = ''; // users-avatar, categories
12
- constructor() { }
13
- getImage(email) {
14
- return "/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=" + email;
15
- }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RepeatedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RepeatedListComponent, isStandalone: true, selector: "app-repeated-list", inputs: { listOfItems: "listOfItems", type: "type" }, ngImport: i0, template: "<div class=\"{{type}}\">\r\n <ng-container *ngFor=\"let item of listOfItems; let i = index\">\r\n <div class=\"item\" *ngIf=\"i <= 1\">\r\n <span class=\"img-card circled-img x-small\" *ngIf=\"item.image\">\r\n <img [src]=\"item.image\" [alt]=\"item.personName\">\r\n </span>\r\n <span class=\"name font-12\">\r\n {{item.personName}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <span class=\"text-color-onyx font-14 font-weight-medium cursor-pointer more\" *ngIf=\"listOfItems.length > 2\"\r\n [satPopoverAnchor]=\"tooltipOfItems\" (mouseenter)=\"tooltipOfItems.open()\" (mouseleave)=\"tooltipOfItems.close()\">\r\n {{listOfItems.length - 2 !== 0 ? '+' + (listOfItems.length - 2) : ''}}\r\n </span>\r\n <sat-popover #tooltipOfItems horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"border bg-color-white\">\r\n <div class=\"d-flex align-items-center border-bottom p-2\" [ngClass]=\"{'border-0': last}\"\r\n *ngFor=\"let item of listOfItems; let i = index; let last = last\">\r\n <span class=\"img-card circled-img x-small\" *ngIf=\"item.image\">\r\n <img [src]=\"item.image\" [alt]=\"item.personName\">\r\n </span>\r\n <span class=\"mx-1\" *ngIf=\"item.image\"></span>\r\n <span class=\"name font-12\">\r\n {{item.personName}}\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </sat-popover>\r\n\r\n\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RepeatedListComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'app-repeated-list', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, imports: [
22
- NgForOf,
23
- SatPopoverModule,
24
- NgClass,
25
- NgIf
26
- ], template: "<div class=\"{{type}}\">\r\n <ng-container *ngFor=\"let item of listOfItems; let i = index\">\r\n <div class=\"item\" *ngIf=\"i <= 1\">\r\n <span class=\"img-card circled-img x-small\" *ngIf=\"item.image\">\r\n <img [src]=\"item.image\" [alt]=\"item.personName\">\r\n </span>\r\n <span class=\"name font-12\">\r\n {{item.personName}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <span class=\"text-color-onyx font-14 font-weight-medium cursor-pointer more\" *ngIf=\"listOfItems.length > 2\"\r\n [satPopoverAnchor]=\"tooltipOfItems\" (mouseenter)=\"tooltipOfItems.open()\" (mouseleave)=\"tooltipOfItems.close()\">\r\n {{listOfItems.length - 2 !== 0 ? '+' + (listOfItems.length - 2) : ''}}\r\n </span>\r\n <sat-popover #tooltipOfItems horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"border bg-color-white\">\r\n <div class=\"d-flex align-items-center border-bottom p-2\" [ngClass]=\"{'border-0': last}\"\r\n *ngFor=\"let item of listOfItems; let i = index; let last = last\">\r\n <span class=\"img-card circled-img x-small\" *ngIf=\"item.image\">\r\n <img [src]=\"item.image\" [alt]=\"item.personName\">\r\n </span>\r\n <span class=\"mx-1\" *ngIf=\"item.image\"></span>\r\n <span class=\"name font-12\">\r\n {{item.personName}}\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </sat-popover>\r\n\r\n\r\n</div>\r\n" }]
27
- }], ctorParameters: () => [], propDecorators: { listOfItems: [{
28
- type: Input
29
- }], type: [{
30
- type: Input
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZWQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9yZXBlYXRlZC1saXN0L3JlcGVhdGVkLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvcmVwZWF0ZWQtbGlzdC9yZXBlYXRlZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCx1REFBdUQ7QUFDdkQseURBQXlEO0FBQ3pELE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFldEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixXQUFXLENBQU07SUFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQjtJQUMvQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLG9EQUFvRCxHQUFHLEtBQUssQ0FBQztJQUN0RSxDQUFDO3VHQVBVLHFCQUFxQjsyRkFBckIscUJBQXFCLG1JQ3BCbEMscTdDQWtDQSwwRERwQkksT0FBTyxrSEFDUCxnQkFBZ0IsbXFCQUNoQixPQUFPLG9GQUNQLElBQUk7OzJGQUdLLHFCQUFxQjtrQkFiakMsU0FBUzsrQkFDRSxtQkFBbUIsV0FHcEIsQ0FBQyxzQkFBc0IsQ0FBQyxjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsSUFBSTtxQkFDTDt3REFHUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSBcIkBuY3N0YXRlL3NhdC1wb3BvdmVyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yZXBlYXRlZC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0ZWQtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVwZWF0ZWQtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nRm9yT2YsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE5nSWZcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBlYXRlZExpc3RDb21wb25lbnQgIHtcclxuICBASW5wdXQoKSBsaXN0T2ZJdGVtczogYW55O1xyXG4gIEBJbnB1dCgpIHR5cGUgPSAnJzsgLy8gdXNlcnMtYXZhdGFyLCBjYXRlZ29yaWVzXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgZ2V0SW1hZ2UoZW1haWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFwiL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD1cIiArIGVtYWlsO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ7e3R5cGV9fVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdE9mSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nSWY9XCJpIDw9IDFcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpbWctY2FyZCBjaXJjbGVkLWltZyB4LXNtYWxsXCIgKm5nSWY9XCJpdGVtLmltYWdlXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0uaW1hZ2VcIiBbYWx0XT1cIml0ZW0ucGVyc29uTmFtZVwiPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibmFtZSBmb250LTEyXCI+XHJcbiAgICAgICAge3tpdGVtLnBlcnNvbk5hbWV9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWNvbG9yLW9ueXggZm9udC0xNCBmb250LXdlaWdodC1tZWRpdW0gY3Vyc29yLXBvaW50ZXIgbW9yZVwiICpuZ0lmPVwibGlzdE9mSXRlbXMubGVuZ3RoID4gMlwiXHJcbiAgICBbc2F0UG9wb3ZlckFuY2hvcl09XCJ0b29sdGlwT2ZJdGVtc1wiIChtb3VzZWVudGVyKT1cInRvb2x0aXBPZkl0ZW1zLm9wZW4oKVwiIChtb3VzZWxlYXZlKT1cInRvb2x0aXBPZkl0ZW1zLmNsb3NlKClcIj5cclxuICAgIHt7bGlzdE9mSXRlbXMubGVuZ3RoIC0gMiAhPT0gMCA/ICcrJyArIChsaXN0T2ZJdGVtcy5sZW5ndGggLSAyKSA6ICcnfX1cclxuICA8L3NwYW4+XHJcbiAgPHNhdC1wb3BvdmVyICN0b29sdGlwT2ZJdGVtcyBob3Jpem9udGFsQWxpZ249XCJjZW50ZXJcIiB2ZXJ0aWNhbEFsaWduPVwiYWJvdmVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYmctY29sb3Itd2hpdGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYm9yZGVyLWJvdHRvbSBwLTJcIiBbbmdDbGFzc109XCJ7J2JvcmRlci0wJzogbGFzdH1cIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RPZkl0ZW1zOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImltZy1jYXJkIGNpcmNsZWQtaW1nIHgtc21hbGxcIiAqbmdJZj1cIml0ZW0uaW1hZ2VcIj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLmltYWdlXCIgW2FsdF09XCJpdGVtLnBlcnNvbk5hbWVcIj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCIgKm5nSWY9XCJpdGVtLmltYWdlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZSBmb250LTEyXCI+XHJcbiAgICAgICAgICB7e2l0ZW0ucGVyc29uTmFtZX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NhdC1wb3BvdmVyPlxyXG5cclxuXHJcbjwvZGl2PlxyXG4iXX0=