@anglr/common 22.2.0 → 23.0.0-beta.20250825083507

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 (147) hide show
  1. package/changelog.md +23 -0
  2. package/es2022/floating-ui/src/services/floatingUiDomPosition.service.js +3 -3
  3. package/es2022/forms/src/components/defaultValidationErrors/defaultValidationErrors.component.js +6 -21
  4. package/es2022/forms/src/components/defaultValidationErrors/defaultValidationErrors.component.js.map +1 -1
  5. package/es2022/forms/src/components/defaultValidationErrorsContainer/defaultValidationErrorsContainer.component.js +3 -3
  6. package/es2022/forms/src/components/reservedSpaceValidationErrorsContainer/reservedSpaceValidationErrorsContainer.component.js +3 -3
  7. package/es2022/forms/src/directives/groupHasError/groupHasError.directive.js +3 -3
  8. package/es2022/forms/src/directives/groupHasErrorContainer/groupHasErrorContainer.directive.js +3 -3
  9. package/es2022/forms/src/directives/hasError/hasError.directive.js +3 -3
  10. package/es2022/forms/src/directives/numberInput/maxValueNumberValidator.directive.js +3 -3
  11. package/es2022/forms/src/directives/numberInput/minValueNumberValidator.directive.js +3 -3
  12. package/es2022/forms/src/directives/numberInput/numberInputControlValueAccessor.directive.js +3 -3
  13. package/es2022/forms/src/directives/numberInput/numberInputValidator.directive.js +3 -3
  14. package/es2022/forms/src/directives/requiredClass/requiredClass.directive.js +3 -3
  15. package/es2022/forms/src/directives/validationErrorsContainer/validationErrorsContainer.directive.js +3 -3
  16. package/es2022/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js +4 -5
  17. package/es2022/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js.map +1 -1
  18. package/es2022/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js +3 -3
  19. package/es2022/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js +3 -3
  20. package/es2022/forms/src/modules/errorMessage/modules/errorMessage.module.js +4 -4
  21. package/es2022/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js +3 -3
  22. package/es2022/forms/src/modules/formPipes/modules/formPipes.module.js +4 -4
  23. package/es2022/forms/src/modules/formPipes/pipes/asFormArray/asFormArray.pipe.js +3 -3
  24. package/es2022/forms/src/modules/formPipes/pipes/asFormControl/asFormControl.pipe.js +3 -3
  25. package/es2022/forms/src/modules/formPipes/pipes/asFormGroup/asFormGroup.pipe.js +3 -3
  26. package/es2022/forms/src/modules/formPipes/pipes/getControl/getControl.pipe.js +3 -3
  27. package/es2022/forms/src/modules/hasError.module.js +4 -4
  28. package/es2022/forms/src/modules/numberInput.module.js +4 -4
  29. package/es2022/forms/src/services/errorMessagesExtractor/errorMessagesExtractor.service.js +3 -3
  30. package/es2022/forms/src/services/formModelBuilder/formModelBuilder.service.js +3 -3
  31. package/es2022/forms/src/services/submitted/submitted.service.js +3 -3
  32. package/es2022/forms/src/services/validationErrorRenderer/validationErrorRenderer.service.js +3 -3
  33. package/es2022/hotkeys/src/components/cheatSheet/cheatSheet.component.js +3 -3
  34. package/es2022/hotkeys/src/services/appHotkeys.service.js +3 -3
  35. package/es2022/material/src/components/confirmationDialog/confirmationDialog.component.js +3 -3
  36. package/es2022/material/src/components/movableTitledDialog/movableTitledDialog.component.js +3 -3
  37. package/es2022/material/src/components/movableTitledDialog/movableTitledDialog.component.js.map +1 -1
  38. package/es2022/material/src/components/titledDialog/titledDialog.component.js +3 -3
  39. package/es2022/material/src/components/titledDialog/titledDialog.component.js.map +1 -1
  40. package/es2022/material/src/directives/confirmationDialog/confirmationDialog.directive.js +3 -3
  41. package/es2022/material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.js +3 -3
  42. package/es2022/material/src/modules/confirmationDialog.module.js +4 -4
  43. package/es2022/material/src/modules/debugDataCopyClick.module.js +4 -4
  44. package/es2022/material/src/modules/movableTitledDialog.module.js +4 -4
  45. package/es2022/material/src/modules/titledDialog.module.js +4 -4
  46. package/es2022/material/src/services/titledDialog/titledDialog.service.js +3 -3
  47. package/es2022/router/src/services/routing/dataRouter.js +3 -3
  48. package/es2022/router/src/services/routing/dataRouterData.js +3 -3
  49. package/es2022/src/components/collapsibleIcon/collapsibleIcon.component.js +3 -3
  50. package/es2022/src/components/collapsibleTitle/collapsibleTitle.component.js +3 -3
  51. package/es2022/src/directives/bodyRender/bodyRender.directive.js +3 -3
  52. package/es2022/src/directives/clickOutside/clickOutside.directive.js +3 -3
  53. package/es2022/src/directives/ellipsisTooltip/ellipsisTooltip.directive.js +3 -3
  54. package/es2022/src/directives/goBack/goBack.directive.js +3 -3
  55. package/es2022/src/directives/ngComponentOutletEx/ngComponentOutletEx.directive.js +3 -3
  56. package/es2022/src/directives/positionTo/positionTo.directive.js +3 -3
  57. package/es2022/src/modules/castPipes/modules/castPipes.module.js +4 -4
  58. package/es2022/src/modules/castPipes/pipes/asHtmlElement/asHtmlElement.pipe.js +3 -3
  59. package/es2022/src/modules/castPipes/pipes/asNgClassRequired/asNgClassRequired.pipe.js +3 -3
  60. package/es2022/src/modules/castPipes/pipes/asRequired/asRequired.pipe.js +3 -3
  61. package/es2022/src/modules/castPipes/pipes/castType/castType.pipe.js +3 -3
  62. package/es2022/src/modules/commonDynamic.module.js +4 -4
  63. package/es2022/src/modules/commonLocalize.module.js +4 -4
  64. package/es2022/src/modules/commonUtils.module.js +4 -4
  65. package/es2022/src/modules/debugData/components/debugData/debugData.component.js +3 -3
  66. package/es2022/src/modules/debugData/modules/debugData.module.js +4 -4
  67. package/es2022/src/modules/debugData/services/debugDataEnabled/debugDataEnabled.service.js +4 -4
  68. package/es2022/src/modules/debugData/services/debugDataEnabled/debugDataEnabled.service.js.map +1 -1
  69. package/es2022/src/modules/file/components/file/file.component.js +15 -15
  70. package/es2022/src/modules/file/components/file/file.component.js.map +1 -1
  71. package/es2022/src/modules/file/components/fileInput/fileInput.component.js +9 -9
  72. package/es2022/src/modules/file/components/fileInput/fileInput.component.js.map +1 -1
  73. package/es2022/src/modules/file/components/uploadButton/uploadButton.component.js +9 -9
  74. package/es2022/src/modules/file/components/uploadButton/uploadButton.component.js.map +1 -1
  75. package/es2022/src/modules/file/directive/fileInput/fileInput.directive.js +7 -7
  76. package/es2022/src/modules/file/directive/fileInput/fileInput.directive.js.map +1 -1
  77. package/es2022/src/modules/file/directive/fileTemplate/fileTemplate.directive.js +3 -3
  78. package/es2022/src/modules/file/modules/file.module.js +4 -4
  79. package/es2022/src/modules/logger/components/console/console.component.js +7 -4
  80. package/es2022/src/modules/logger/components/console/console.component.js.map +1 -1
  81. package/es2022/src/modules/logger/components/index.js +0 -1
  82. package/es2022/src/modules/logger/components/index.js.map +1 -1
  83. package/es2022/src/modules/logger/services/console/consoleComponent.service.js +3 -3
  84. package/es2022/src/modules/logger/services/console/consoleComponentService.options.js +3 -3
  85. package/es2022/src/modules/logger/services/logger/logger.service.js +3 -3
  86. package/es2022/src/modules/logger/services/rest/restSink.options.js +3 -3
  87. package/es2022/src/modules/logger/types/loggerOptions.js +3 -3
  88. package/es2022/src/modules/multiButton/components/multiButton/multiButton.component.js +3 -3
  89. package/es2022/src/modules/multiButton/modules/multiButton.module.js +4 -4
  90. package/es2022/src/modules/progressIndicator/components/index.js.map +1 -1
  91. package/es2022/src/modules/progressIndicator/components/progressIndicator/progressIndicator.component.js +3 -3
  92. package/es2022/src/modules/progressIndicator/directives/progressOverlay/progressOverlay.directive.js +3 -3
  93. package/es2022/src/modules/progressIndicator/interceptors/progressInterceptor.js +3 -3
  94. package/es2022/src/modules/progressIndicator/modules/progressIndicator.module.js +4 -4
  95. package/es2022/src/modules/progressIndicator/services/progressIndicator.service.js +3 -3
  96. package/es2022/src/modules/tooltip/components/tooltip/tooltip.component.js +7 -4
  97. package/es2022/src/modules/tooltip/components/tooltip/tooltip.component.js.map +1 -1
  98. package/es2022/src/modules/tooltip/directives/tooltip/tooltip.directive.js +14 -28
  99. package/es2022/src/modules/tooltip/directives/tooltip/tooltip.directive.js.map +1 -1
  100. package/es2022/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.js +3 -3
  101. package/es2022/src/modules/tooltip/misc/tooltip.interface.js.map +1 -1
  102. package/es2022/src/modules/tooltip/modules/tooltip.module.js +4 -4
  103. package/es2022/src/pipes/displayProperties/displayProperties.pipe.js +3 -3
  104. package/es2022/src/pipes/firstUppercase/firstUppercase.pipe.js +3 -3
  105. package/es2022/src/pipes/firstUppercaseLocalize/firstUppercaseLocalize.pipe.js +3 -3
  106. package/es2022/src/pipes/isNaN/isNaN.pipe.js +3 -3
  107. package/es2022/src/pipes/isPresent/isPresent.pipe.js +3 -3
  108. package/es2022/src/pipes/keys/keys.pipe.js +3 -3
  109. package/es2022/src/pipes/localize/localize.pipe.js +3 -3
  110. package/es2022/src/pipes/mergeCssClasses/mergeCssClasses.pipe.js +3 -3
  111. package/es2022/src/pipes/numeral/numeral.pipe.js +3 -3
  112. package/es2022/src/pipes/trimText/trimText.pipe.js +3 -3
  113. package/es2022/src/pipes/urlEncode/urlEncode.pipe.js +3 -3
  114. package/es2022/src/services/cookies/cookies.service.js +3 -3
  115. package/es2022/src/services/notifications/defaultNotifications.service.js +3 -3
  116. package/es2022/src/services/notifications/defaultNotifications.service.js.map +1 -1
  117. package/es2022/src/services/permanentStorage/cookiePermanentStorage.service.js +3 -3
  118. package/es2022/src/services/statusCode/statusCode.service.js +3 -3
  119. package/es2022/src/services/stringLocalization/noStringLocalization.service.js +3 -3
  120. package/es2022/src/services/temporaryStorage/memoryTemporaryStorage.service.js +3 -3
  121. package/es2022/src/utils/index.js.map +1 -1
  122. package/es2022/store/src/services/permanentStorage/localPermanentStorage.service.js +3 -3
  123. package/es2022/store/src/services/temporaryStorage/sessionTemporaryStorage.service.js +3 -3
  124. package/forms/src/components/defaultValidationErrors/defaultValidationErrors.component.d.ts +0 -4
  125. package/forms/src/components/defaultValidationErrors/defaultValidationErrors.component.d.ts.map +1 -1
  126. package/forms/src/components/defaultValidationErrors/defaultValidationErrors.component.html +1 -1
  127. package/forms/src/directives/numberInput/numberInputControlValueAccessor.directive.d.ts.map +1 -1
  128. package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.d.ts.map +1 -1
  129. package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.html +1 -1
  130. package/package.json +28 -32
  131. package/router/src/decorators/moduleRoutes.decorator.d.ts.map +1 -1
  132. package/src/directives/clickOutside/clickOutside.directive.d.ts.map +1 -1
  133. package/src/directives/ellipsisTooltip/ellipsisTooltip.directive.d.ts.map +1 -1
  134. package/src/modules/logger/components/console/console.component.d.ts.map +1 -1
  135. package/src/modules/logger/components/index.d.ts +0 -1
  136. package/src/modules/logger/components/index.d.ts.map +1 -1
  137. package/src/modules/tooltip/components/tooltip/tooltip.component.d.ts +8 -0
  138. package/src/modules/tooltip/components/tooltip/tooltip.component.d.ts.map +1 -1
  139. package/src/modules/tooltip/directives/tooltip/tooltip.directive.d.ts +2 -12
  140. package/src/modules/tooltip/directives/tooltip/tooltip.directive.d.ts.map +1 -1
  141. package/src/modules/tooltip/misc/tooltip.interface.d.ts +12 -5
  142. package/src/modules/tooltip/misc/tooltip.interface.d.ts.map +1 -1
  143. package/version.bak +1 -1
  144. package/es2022/src/modules/logger/components/console/console.component.animations.js +0 -31
  145. package/es2022/src/modules/logger/components/console/console.component.animations.js.map +0 -1
  146. package/src/modules/logger/components/console/console.component.animations.d.ts +0 -5
  147. package/src/modules/logger/components/console/console.component.animations.d.ts.map +0 -1
@@ -5,17 +5,17 @@ import * as i0 from "@angular/core";
5
5
  * Module that holds cast pipes
6
6
  */
7
7
  export class CastPipesModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CastPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: CastPipesModule, imports: [AsHtmlElementPipe,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CastPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: CastPipesModule, imports: [AsHtmlElementPipe,
10
10
  AsNgClassRequiredPipe,
11
11
  AsRequiredTypePipe,
12
12
  CastTypePipe], exports: [AsHtmlElementPipe,
13
13
  AsNgClassRequiredPipe,
14
14
  AsRequiredTypePipe,
15
15
  CastTypePipe] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CastPipesModule }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CastPipesModule }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CastPipesModule, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CastPipesModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  imports: [
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  * Casts EventTarget to HTMLELement
6
6
  */
7
7
  export class AsHtmlElementPipe extends CastTypePipe {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: AsHtmlElementPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: AsHtmlElementPipe, isStandalone: true, name: "asHtmlElement" }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: AsHtmlElementPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: AsHtmlElementPipe, isStandalone: true, name: "asHtmlElement" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: AsHtmlElementPipe, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: AsHtmlElementPipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{ name: 'asHtmlElement' }]
14
14
  }] });
@@ -11,10 +11,10 @@ export class AsNgClassRequiredPipe extends AsRequiredTypePipe {
11
11
  transform(value, valueHash) {
12
12
  return super.transform(value, '', valueHash);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: AsNgClassRequiredPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
15
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: AsNgClassRequiredPipe, isStandalone: true, name: "asNgClassRequired" }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: AsNgClassRequiredPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
15
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: AsNgClassRequiredPipe, isStandalone: true, name: "asNgClassRequired" }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: AsNgClassRequiredPipe, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: AsNgClassRequiredPipe, decorators: [{
18
18
  type: Pipe,
19
19
  args: [{ name: 'asNgClassRequired' }]
20
20
  }] });
@@ -13,10 +13,10 @@ export class AsRequiredTypePipe {
13
13
  transform(value, defaultValue, _valueHash) {
14
14
  return value ?? defaultValue;
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: AsRequiredTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: AsRequiredTypePipe, isStandalone: true, name: "asRequired" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: AsRequiredTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: AsRequiredTypePipe, isStandalone: true, name: "asRequired" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: AsRequiredTypePipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: AsRequiredTypePipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'asRequired' }]
22
22
  }] });
@@ -39,10 +39,10 @@ export class CastTypePipe {
39
39
  _isInstanceOf(value) {
40
40
  return this._isInstanceOfPredicate(value);
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CastTypePipe, deps: [{ token: LOGGER, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
43
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: CastTypePipe, isStandalone: true, name: "castType" }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CastTypePipe, deps: [{ token: LOGGER, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
43
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: CastTypePipe, isStandalone: true, name: "castType" }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CastTypePipe, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CastTypePipe, decorators: [{
46
46
  type: Pipe,
47
47
  args: [{ name: 'castType' }]
48
48
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * Module for common dynamic stuff
6
6
  */
7
7
  export class CommonDynamicModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: CommonDynamicModule, imports: [NgComponentOutletEx], exports: [NgComponentOutletEx] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonDynamicModule }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: CommonDynamicModule, imports: [NgComponentOutletEx], exports: [NgComponentOutletEx] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonDynamicModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonDynamicModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonDynamicModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * Module for common localization stuff
6
6
  */
7
7
  export class CommonLocalizeModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonLocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: CommonLocalizeModule, imports: [LocalizePipe], exports: [LocalizePipe] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonLocalizeModule }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonLocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: CommonLocalizeModule, imports: [LocalizePipe], exports: [LocalizePipe] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonLocalizeModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonLocalizeModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonLocalizeModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [
@@ -5,8 +5,8 @@ import * as i0 from "@angular/core";
5
5
  * Module for common utility stuff
6
6
  */
7
7
  export class CommonUtilsModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: CommonUtilsModule, imports: [IsNaNPipe,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: CommonUtilsModule, imports: [IsNaNPipe,
10
10
  IsPresentPipe,
11
11
  UrlEncodePipe,
12
12
  MergeCssClassesPipe,
@@ -17,9 +17,9 @@ export class CommonUtilsModule {
17
17
  MergeCssClassesPipe,
18
18
  KeysPipe,
19
19
  TrimTextPipe] }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonUtilsModule }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonUtilsModule }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: CommonUtilsModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CommonUtilsModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [
@@ -28,10 +28,10 @@ export class DebugDataComponent {
28
28
  this.element.nativeElement.classList.remove(ENABLED);
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataComponent, deps: [{ token: i1.DebugDataEnabledService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0", type: DebugDataComponent, isStandalone: true, selector: "debug-data", ngImport: i0, template: "@if(debugDataEnabledSvc.enabled())\r\n{\r\n <ng-content/>\r\n}", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n color: var(--common-debugData-foreground);\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataComponent, deps: [{ token: i1.DebugDataEnabledService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0", type: DebugDataComponent, isStandalone: true, selector: "debug-data", ngImport: i0, template: "@if(debugDataEnabledSvc.enabled())\r\n{\r\n <ng-content/>\r\n}", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n color: var(--common-debugData-foreground);\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'debug-data', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if(debugDataEnabledSvc.enabled())\r\n{\r\n <ng-content/>\r\n}", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n color: var(--common-debugData-foreground);\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"] }]
37
37
  }], ctorParameters: () => [{ type: i1.DebugDataEnabledService }, { type: i0.ElementRef }] });
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * Module that contains debug data component
6
6
  */
7
7
  export class DebugDataModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0", ngImport: i0, type: DebugDataModule, imports: [DebugDataComponent], exports: [DebugDataComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataModule }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0", ngImport: i0, type: DebugDataModule, imports: [DebugDataComponent], exports: [DebugDataComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [
@@ -9,7 +9,7 @@ export class DebugDataEnabledService {
9
9
  /**
10
10
  * Indication whether debug data copmonent is enabled
11
11
  */
12
- this._enabled = signal(false);
12
+ this._enabled = signal(false, ...(ngDevMode ? [{ debugName: "_enabled" }] : []));
13
13
  }
14
14
  //######################### public properties #########################
15
15
  /**
@@ -26,10 +26,10 @@ export class DebugDataEnabledService {
26
26
  setEnabled(enabled = true) {
27
27
  this._enabled.set(enabled);
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataEnabledService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataEnabledService, providedIn: 'root' }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataEnabledService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataEnabledService, providedIn: 'root' }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: DebugDataEnabledService, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: DebugDataEnabledService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{ providedIn: 'root' }]
35
35
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"debugDataEnabled.service.js","sourceRoot":"","sources":["../../../../../../src/modules/debugData/services/debugDataEnabled/debugDataEnabled.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA0B,MAAM,EAAC,MAAM,eAAe,CAAC;;AAEzE;;GAEG;AAEH,MAAM,OAAO,uBAAuB;IADpC;QAGI,oEAAoE;QAEpE;;WAEG;QACK,aAAQ,GAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;KAsB7D;IApBG,uEAAuE;IAEvE;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACI,UAAU,CAAC,UAAmB,IAAI;QAErC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;8GA5BQ,uBAAuB;kHAAvB,uBAAuB,cADX,MAAM;;2FAClB,uBAAuB;kBADnC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC","sourcesContent":["import {Injectable, Signal, WritableSignal, signal} from '@angular/core';\n\n/**\n * Service used for handling enabled state for debug data component\n */\n@Injectable({providedIn: 'root'})\nexport class DebugDataEnabledService\n{\n //######################### private fields #########################\n\n /**\n * Indication whether debug data copmonent is enabled\n */\n private _enabled: WritableSignal<boolean> = signal(false);\n\n //######################### public properties #########################\n\n /**\n * Indication whether debug data copmonent is enabled\n */\n public get enabled(): Signal<boolean>\n {\n return this._enabled.asReadonly();\n }\n\n //######################### public methods #########################\n\n /**\n * Sets enabled state\n * @param enabled - Indication whether will be enabled state set to true, or false, defaults to true\n */\n public setEnabled(enabled: boolean = true): void\n {\n this._enabled.set(enabled);\n }\n}"]}
1
+ {"version":3,"file":"debugDataEnabled.service.js","sourceRoot":"","sources":["../../../../../../src/modules/debugData/services/debugDataEnabled/debugDataEnabled.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA0B,MAAM,EAAC,MAAM,eAAe,CAAC;;AAEzE;;GAEG;AAEH,MAAM,OAAO,uBAAuB;IADpC;QAGI,oEAAoE;QAEpE;;WAEG;QACK,aAAQ,GAA4B,MAAM,CAAC,KAAK,oDAAC,CAAC;KAsB7D;IApBG,uEAAuE;IAEvE;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACI,UAAU,CAAC,UAAmB,IAAI;QAErC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;8GA5BQ,uBAAuB;kHAAvB,uBAAuB,cADX,MAAM;;2FAClB,uBAAuB;kBADnC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC","sourcesContent":["import {Injectable, Signal, WritableSignal, signal} from '@angular/core';\n\n/**\n * Service used for handling enabled state for debug data component\n */\n@Injectable({providedIn: 'root'})\nexport class DebugDataEnabledService\n{\n //######################### private fields #########################\n\n /**\n * Indication whether debug data copmonent is enabled\n */\n private _enabled: WritableSignal<boolean> = signal(false);\n\n //######################### public properties #########################\n\n /**\n * Indication whether debug data copmonent is enabled\n */\n public get enabled(): Signal<boolean>\n {\n return this._enabled.asReadonly();\n }\n\n //######################### public methods #########################\n\n /**\n * Sets enabled state\n * @param enabled - Indication whether will be enabled state set to true, or false, defaults to true\n */\n public setEnabled(enabled: boolean = true): void\n {\n this._enabled.set(enabled);\n }\n}"]}
@@ -12,19 +12,19 @@ export class FileComponent {
12
12
  /**
13
13
  * Holds current value of file for file input
14
14
  */
15
- this.file = signal(null);
15
+ this.file = signal(null, ...(ngDevMode ? [{ debugName: "file" }] : []));
16
16
  /**
17
17
  * Holds current value of files for file input
18
18
  */
19
- this.files = signal(null);
19
+ this.files = signal(null, ...(ngDevMode ? [{ debugName: "files" }] : []));
20
20
  /**
21
21
  * Holds current value of file name for file input
22
22
  */
23
- this.name = signal(null);
23
+ this.name = signal(null, ...(ngDevMode ? [{ debugName: "name" }] : []));
24
24
  /**
25
25
  * Holds current value of files names for file input
26
26
  */
27
- this.names = signal(null);
27
+ this.names = signal(null, ...(ngDevMode ? [{ debugName: "names" }] : []));
28
28
  //######################### protected properties - children #########################
29
29
  /**
30
30
  * Instance template to be displayed as file input
@@ -37,28 +37,28 @@ export class FileComponent {
37
37
  /**
38
38
  * Instance of file visual implementation if available
39
39
  */
40
- this.fileVisual = contentChild(FILE_VISUAL);
40
+ this.fileVisual = contentChild(FILE_VISUAL, ...(ngDevMode ? [{ debugName: "fileVisual" }] : []));
41
41
  //######################### public properties - inputs #########################
42
42
  /**
43
43
  * Indication whether is multiple files selection enabled
44
44
  */
45
- this.multiple = input(false, { transform: booleanAttribute });
45
+ this.multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
46
46
  /**
47
47
  * Indication whether read file content, working only when `multiple` is not set (for single file)
48
48
  */
49
- this.readContent = input(false, { transform: booleanAttribute });
49
+ this.readContent = input(false, ...(ngDevMode ? [{ debugName: "readContent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
50
50
  /**
51
51
  * Indication whether content of file is binary and it will be read as ArrayBuffer instead of string
52
52
  */
53
- this.binaryContent = input(false, { transform: booleanAttribute });
53
+ this.binaryContent = input(false, ...(ngDevMode ? [{ debugName: "binaryContent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
54
54
  /**
55
55
  * Text encoding of read string file content
56
56
  */
57
- this.textEncoding = input();
57
+ this.textEncoding = input(...(ngDevMode ? [undefined, { debugName: "textEncoding" }] : []));
58
58
  /**
59
59
  * Array of supported file extensions in form of '.extension'
60
60
  */
61
- this.supportedExtensions = input();
61
+ this.supportedExtensions = input(...(ngDevMode ? [undefined, { debugName: "supportedExtensions" }] : []));
62
62
  //######################### public properties - outputs #########################
63
63
  /**
64
64
  * Occurs when file changes and `binaryContent` is not set and `readContent` is set
@@ -86,7 +86,7 @@ export class FileComponent {
86
86
  this.filesNames = output();
87
87
  this.acceptValue = computed(() => {
88
88
  return this.supportedExtensions()?.join(',');
89
- });
89
+ }, ...(ngDevMode ? [{ debugName: "acceptValue" }] : []));
90
90
  effect(() => {
91
91
  const fileVisual = this.fileVisual();
92
92
  if (fileVisual) {
@@ -113,12 +113,12 @@ export class FileComponent {
113
113
  filesNames: this.names(),
114
114
  multiple: this.multiple(),
115
115
  };
116
- });
116
+ }, ...(ngDevMode ? [{ debugName: "templateContext" }] : []));
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.0", type: FileComponent, isStandalone: true, selector: "file", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, readContent: { classPropertyName: "readContent", publicName: "readContent", isSignal: true, isRequired: false, transformFunction: null }, binaryContent: { classPropertyName: "binaryContent", publicName: "binaryContent", isSignal: true, isRequired: false, transformFunction: null }, textEncoding: { classPropertyName: "textEncoding", publicName: "textEncoding", isSignal: true, isRequired: false, transformFunction: null }, supportedExtensions: { classPropertyName: "supportedExtensions", publicName: "supportedExtensions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stringContentChange: "stringContentChange", arrayBufferContentChange: "arrayBufferContentChange", fileChange: "fileChange", filesChange: "filesChange", fileName: "fileName", filesNames: "filesNames" }, host: { listeners: { "click": "fileInput().openFileBrowser()" } }, queries: [{ propertyName: "fileTemplate", first: true, predicate: FileTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "fileVisual", first: true, predicate: FILE_VISUAL, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: FileInputDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"fileTemplate(); context: templateContext()\"/>\n\n<input type=\"file\"\n class=\"input-file\"\n (fileChange)=\"file.set($event); fileChange.emit($event)\"\n (filesChange)=\"files.set($event); filesChange.emit($event)\"\n (fileName)=\"name.set($event); fileName.emit($event)\"\n (filesNames)=\"names.set($event); filesNames.emit($event)\"\n (stringContentChange)=\"stringContentChange.emit($event)\"\n (arrayBufferContentChange)=\"arrayBufferContentChange.emit($event)\"\n [multiple]=\"multiple()\"\n [binaryContent]=\"binaryContent()\"\n [readContent]=\"readContent()\"\n [textEncoding]=\"textEncoding()\"\n [accept]=\"acceptValue()\">", styles: [":host\n{\n display: block;\n position: relative;\n}\n\n.input-file\n{\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n cursor: pointer;\n opacity: 0;\n pointer-events: none;\n}"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FileInputDirective, selector: "input[type=file]", inputs: ["multiple", "readContent", "binaryContent", "textEncoding"], outputs: ["stringContentChange", "arrayBufferContentChange", "fileChange", "filesChange", "fileName", "filesNames"], exportAs: ["file"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.2.0", type: FileComponent, isStandalone: true, selector: "file", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, readContent: { classPropertyName: "readContent", publicName: "readContent", isSignal: true, isRequired: false, transformFunction: null }, binaryContent: { classPropertyName: "binaryContent", publicName: "binaryContent", isSignal: true, isRequired: false, transformFunction: null }, textEncoding: { classPropertyName: "textEncoding", publicName: "textEncoding", isSignal: true, isRequired: false, transformFunction: null }, supportedExtensions: { classPropertyName: "supportedExtensions", publicName: "supportedExtensions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stringContentChange: "stringContentChange", arrayBufferContentChange: "arrayBufferContentChange", fileChange: "fileChange", filesChange: "filesChange", fileName: "fileName", filesNames: "filesNames" }, host: { listeners: { "click": "fileInput().openFileBrowser()" } }, queries: [{ propertyName: "fileTemplate", first: true, predicate: FileTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "fileVisual", first: true, predicate: FILE_VISUAL, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: FileInputDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"fileTemplate(); context: templateContext()\"/>\n\n<input type=\"file\"\n class=\"input-file\"\n (fileChange)=\"file.set($event); fileChange.emit($event)\"\n (filesChange)=\"files.set($event); filesChange.emit($event)\"\n (fileName)=\"name.set($event); fileName.emit($event)\"\n (filesNames)=\"names.set($event); filesNames.emit($event)\"\n (stringContentChange)=\"stringContentChange.emit($event)\"\n (arrayBufferContentChange)=\"arrayBufferContentChange.emit($event)\"\n [multiple]=\"multiple()\"\n [binaryContent]=\"binaryContent()\"\n [readContent]=\"readContent()\"\n [textEncoding]=\"textEncoding()\"\n [accept]=\"acceptValue()\">", styles: [":host\n{\n display: block;\n position: relative;\n}\n\n.input-file\n{\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n cursor: pointer;\n opacity: 0;\n pointer-events: none;\n}"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FileInputDirective, selector: "input[type=file]", inputs: ["multiple", "readContent", "binaryContent", "textEncoding"], outputs: ["stringContentChange", "arrayBufferContentChange", "fileChange", "filesChange", "fileName", "filesNames"], exportAs: ["file"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: FileComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: FileComponent, decorators: [{
122
122
  type: Component,
123
123
  args: [{ selector: 'file', host: {
124
124
  '(click)': 'fileInput().openFileBrowser()',
@@ -1 +1 @@
1
- {"version":3,"file":"file.component.js","sourceRoot":"","sources":["../../../../../../src/modules/file/components/file/file.component.ts","../../../../../../src/modules/file/components/file/file.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, contentChild, Signal, TemplateRef, viewChild, computed, WritableSignal, signal, InputSignalWithTransform, input, booleanAttribute, InputSignal, OutputEmitterRef, output, effect} from '@angular/core';\nimport {NgTemplateOutlet} from '@angular/common';\n\nimport {FileInputDirective, FileTemplateContext, FileTemplateDirective} from '../../directive';\nimport {FILE_VISUAL} from '../../misc/tokens';\nimport {FileVisual} from '../../interfaces';\n\n/**\n * Component used for obtaining file contents from disk\n */\n@Component(\n{\n selector: 'file',\n templateUrl: 'file.component.html',\n styleUrl: 'file.component.css',\n host:\n {\n '(click)': 'fileInput().openFileBrowser()',\n },\n imports:\n [\n NgTemplateOutlet,\n FileInputDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FileComponent\n{\n //######################### protected properties - template bindings #########################\n\n /**\n * Instance of context for file template\n */\n protected templateContext: Signal<FileTemplateContext>;\n\n /**\n * Holds current value of file for file input\n */\n protected file: WritableSignal<File|null|undefined> = signal(null);\n\n /**\n * Holds current value of files for file input\n */\n protected files: WritableSignal<File[]|null|undefined> = signal(null);\n\n /**\n * Holds current value of file name for file input\n */\n protected name: WritableSignal<string|null|undefined> = signal(null);\n\n /**\n * Holds current value of files names for file input\n */\n protected names: WritableSignal<string[]|null|undefined> = signal(null);\n\n /**\n * Computed accept value\n */\n protected acceptValue: Signal<string|null|undefined>;\n\n //######################### protected properties - children #########################\n\n /**\n * Instance template to be displayed as file input\n */\n protected fileTemplate: Signal<TemplateRef<FileTemplateContext>> = contentChild.required(FileTemplateDirective, {read: TemplateRef<FileTemplateContext>});\n\n /**\n * Contains file input directive instance\n */\n protected fileInput: Signal<FileInputDirective> = viewChild.required(FileInputDirective);\n\n /**\n * Instance of file visual implementation if available\n */\n protected fileVisual: Signal<FileVisual|undefined|null> = contentChild(FILE_VISUAL);\n\n //######################### public properties - inputs #########################\n\n /**\n * Indication whether is multiple files selection enabled\n */\n public multiple: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Indication whether read file content, working only when `multiple` is not set (for single file)\n */\n public readContent: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Indication whether content of file is binary and it will be read as ArrayBuffer instead of string\n */\n public binaryContent: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Text encoding of read string file content\n */\n public textEncoding: InputSignal<string|undefined> = input();\n\n /**\n * Array of supported file extensions in form of '.extension'\n */\n public supportedExtensions: InputSignal<string[]|undefined|null> = input();\n\n //######################### public properties - outputs #########################\n\n /**\n * Occurs when file changes and `binaryContent` is not set and `readContent` is set\n */\n public stringContentChange: OutputEmitterRef<string|undefined|null> = output<string|undefined|null>();\n\n /**\n * Occurs when file changes and `binaryContent` is set and `readContent` is set\n */\n public arrayBufferContentChange: OutputEmitterRef<ArrayBuffer|undefined|null> = output<ArrayBuffer|undefined|null>();\n\n /**\n * Occurs when selected file changes, occurs only when `multiple` is not set\n */\n public fileChange: OutputEmitterRef<File|null|undefined> = output<File|undefined|null>();\n\n /**\n * Occurs when selected files changes, occurs only when `multiple` is set\n */\n public filesChange: OutputEmitterRef<File[]|null|undefined> = output<File[]|undefined|null>();\n\n /**\n * Occurs when selected file changes, occurs only when `multiple` is not set, contains name of selected file\n */\n public fileName: OutputEmitterRef<string|null|undefined> = output<string|undefined|null>();\n\n /**\n * Occurs when selected files changes, occurs only when `multiple` is set, contains names of selected files\n */\n public filesNames: OutputEmitterRef<string[]|null|undefined> = output<string[]|undefined|null>();\n\n //######################### constructor #########################\n constructor()\n {\n this.acceptValue = computed(() =>\n {\n return this.supportedExtensions()?.join(',');\n });\n\n effect(() =>\n {\n const fileVisual = this.fileVisual();\n\n if(fileVisual)\n {\n const fileInput = this.fileInput();\n\n fileVisual.fileTemplateContext.set(\n {\n file: this.file(),\n files: this.files(),\n clearFile: fileInput.clearFile,\n openFileBrowser: fileInput.openFileBrowser,\n fileName: this.name(),\n filesNames: this.names(),\n multiple: this.multiple(),\n });\n }\n }, {allowSignalWrites: true});\n\n this.templateContext = computed(() =>\n {\n const fileInput = this.fileInput();\n\n return {\n file: this.file(),\n files: this.files(),\n clearFile: fileInput.clearFile,\n openFileBrowser: fileInput.openFileBrowser,\n fileName: this.name(),\n filesNames: this.names(),\n multiple: this.multiple(),\n };\n });\n }\n}\n","<ng-container *ngTemplateOutlet=\"fileTemplate(); context: templateContext()\"/>\n\n<input type=\"file\"\n class=\"input-file\"\n (fileChange)=\"file.set($event); fileChange.emit($event)\"\n (filesChange)=\"files.set($event); filesChange.emit($event)\"\n (fileName)=\"name.set($event); fileName.emit($event)\"\n (filesNames)=\"names.set($event); filesNames.emit($event)\"\n (stringContentChange)=\"stringContentChange.emit($event)\"\n (arrayBufferContentChange)=\"arrayBufferContentChange.emit($event)\"\n [multiple]=\"multiple()\"\n [binaryContent]=\"binaryContent()\"\n [readContent]=\"readContent()\"\n [textEncoding]=\"textEncoding()\"\n [accept]=\"acceptValue()\">"]}
1
+ {"version":3,"file":"file.component.js","sourceRoot":"","sources":["../../../../../../src/modules/file/components/file/file.component.ts","../../../../../../src/modules/file/components/file/file.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, contentChild, Signal, TemplateRef, viewChild, computed, WritableSignal, signal, InputSignalWithTransform, input, booleanAttribute, InputSignal, OutputEmitterRef, output, effect} from '@angular/core';\nimport {NgTemplateOutlet} from '@angular/common';\n\nimport {FileInputDirective, FileTemplateContext, FileTemplateDirective} from '../../directive';\nimport {FILE_VISUAL} from '../../misc/tokens';\nimport {FileVisual} from '../../interfaces';\n\n/**\n * Component used for obtaining file contents from disk\n */\n@Component(\n{\n selector: 'file',\n templateUrl: 'file.component.html',\n styleUrl: 'file.component.css',\n host:\n {\n '(click)': 'fileInput().openFileBrowser()',\n },\n imports:\n [\n NgTemplateOutlet,\n FileInputDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FileComponent\n{\n //######################### protected properties - template bindings #########################\n\n /**\n * Instance of context for file template\n */\n protected templateContext: Signal<FileTemplateContext>;\n\n /**\n * Holds current value of file for file input\n */\n protected file: WritableSignal<File|null|undefined> = signal(null);\n\n /**\n * Holds current value of files for file input\n */\n protected files: WritableSignal<File[]|null|undefined> = signal(null);\n\n /**\n * Holds current value of file name for file input\n */\n protected name: WritableSignal<string|null|undefined> = signal(null);\n\n /**\n * Holds current value of files names for file input\n */\n protected names: WritableSignal<string[]|null|undefined> = signal(null);\n\n /**\n * Computed accept value\n */\n protected acceptValue: Signal<string|null|undefined>;\n\n //######################### protected properties - children #########################\n\n /**\n * Instance template to be displayed as file input\n */\n protected fileTemplate: Signal<TemplateRef<FileTemplateContext>> = contentChild.required(FileTemplateDirective, {read: TemplateRef<FileTemplateContext>});\n\n /**\n * Contains file input directive instance\n */\n protected fileInput: Signal<FileInputDirective> = viewChild.required(FileInputDirective);\n\n /**\n * Instance of file visual implementation if available\n */\n protected fileVisual: Signal<FileVisual|undefined|null> = contentChild(FILE_VISUAL);\n\n //######################### public properties - inputs #########################\n\n /**\n * Indication whether is multiple files selection enabled\n */\n public multiple: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Indication whether read file content, working only when `multiple` is not set (for single file)\n */\n public readContent: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Indication whether content of file is binary and it will be read as ArrayBuffer instead of string\n */\n public binaryContent: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Text encoding of read string file content\n */\n public textEncoding: InputSignal<string|undefined> = input();\n\n /**\n * Array of supported file extensions in form of '.extension'\n */\n public supportedExtensions: InputSignal<string[]|undefined|null> = input();\n\n //######################### public properties - outputs #########################\n\n /**\n * Occurs when file changes and `binaryContent` is not set and `readContent` is set\n */\n public stringContentChange: OutputEmitterRef<string|undefined|null> = output<string|undefined|null>();\n\n /**\n * Occurs when file changes and `binaryContent` is set and `readContent` is set\n */\n public arrayBufferContentChange: OutputEmitterRef<ArrayBuffer|undefined|null> = output<ArrayBuffer|undefined|null>();\n\n /**\n * Occurs when selected file changes, occurs only when `multiple` is not set\n */\n public fileChange: OutputEmitterRef<File|null|undefined> = output<File|undefined|null>();\n\n /**\n * Occurs when selected files changes, occurs only when `multiple` is set\n */\n public filesChange: OutputEmitterRef<File[]|null|undefined> = output<File[]|undefined|null>();\n\n /**\n * Occurs when selected file changes, occurs only when `multiple` is not set, contains name of selected file\n */\n public fileName: OutputEmitterRef<string|null|undefined> = output<string|undefined|null>();\n\n /**\n * Occurs when selected files changes, occurs only when `multiple` is set, contains names of selected files\n */\n public filesNames: OutputEmitterRef<string[]|null|undefined> = output<string[]|undefined|null>();\n\n //######################### constructor #########################\n constructor()\n {\n this.acceptValue = computed(() =>\n {\n return this.supportedExtensions()?.join(',');\n });\n\n effect(() =>\n {\n const fileVisual = this.fileVisual();\n\n if(fileVisual)\n {\n const fileInput = this.fileInput();\n\n fileVisual.fileTemplateContext.set(\n {\n file: this.file(),\n files: this.files(),\n clearFile: fileInput.clearFile,\n openFileBrowser: fileInput.openFileBrowser,\n fileName: this.name(),\n filesNames: this.names(),\n multiple: this.multiple(),\n });\n }\n }, {allowSignalWrites: true});\n\n this.templateContext = computed(() =>\n {\n const fileInput = this.fileInput();\n\n return {\n file: this.file(),\n files: this.files(),\n clearFile: fileInput.clearFile,\n openFileBrowser: fileInput.openFileBrowser,\n fileName: this.name(),\n filesNames: this.names(),\n multiple: this.multiple(),\n };\n });\n }\n}\n","<ng-container *ngTemplateOutlet=\"fileTemplate(); context: templateContext()\"/>\n\n<input type=\"file\"\n class=\"input-file\"\n (fileChange)=\"file.set($event); fileChange.emit($event)\"\n (filesChange)=\"files.set($event); filesChange.emit($event)\"\n (fileName)=\"name.set($event); fileName.emit($event)\"\n (filesNames)=\"names.set($event); filesNames.emit($event)\"\n (stringContentChange)=\"stringContentChange.emit($event)\"\n (arrayBufferContentChange)=\"arrayBufferContentChange.emit($event)\"\n [multiple]=\"multiple()\"\n [binaryContent]=\"binaryContent()\"\n [readContent]=\"readContent()\"\n [textEncoding]=\"textEncoding()\"\n [accept]=\"acceptValue()\">"]}
@@ -13,41 +13,41 @@ export class FileInputComponent {
13
13
  /**
14
14
  * @inheritdoc
15
15
  */
16
- this.fileTemplateContext = signal(null);
16
+ this.fileTemplateContext = signal(null, ...(ngDevMode ? [{ debugName: "fileTemplateContext" }] : []));
17
17
  //######################### public properties - inputs #########################
18
18
  /**
19
19
  * Text to be displayed for file button
20
20
  */
21
- this.buttonText = input('browse');
21
+ this.buttonText = input('browse', ...(ngDevMode ? [{ debugName: "buttonText" }] : []));
22
22
  /**
23
23
  * Css classes applied to file button
24
24
  */
25
- this.buttonClass = input('btn btn-primary');
25
+ this.buttonClass = input('btn btn-primary', ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
26
26
  /**
27
27
  * Css classes applied to file text, text displaying selected files
28
28
  */
29
- this.textClass = input('form-control');
29
+ this.textClass = input('form-control', ...(ngDevMode ? [{ debugName: "textClass" }] : []));
30
30
  /**
31
31
  * Text to be displayed as selected
32
32
  */
33
- this.selectedText = input();
33
+ this.selectedText = input(...(ngDevMode ? [undefined, { debugName: "selectedText" }] : []));
34
34
  this.selectedTextValue = computed(() => {
35
35
  const context = this.fileTemplateContext();
36
36
  if (context?.multiple) {
37
37
  return this.selectedText() ?? context.filesNames?.join(', ');
38
38
  }
39
39
  return this.selectedText() ?? context?.fileName;
40
- });
40
+ }, ...(ngDevMode ? [{ debugName: "selectedTextValue" }] : []));
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.0", type: FileInputComponent, isStandalone: true, selector: "file-input", inputs: { buttonText: { classPropertyName: "buttonText", publicName: "buttonText", isSignal: true, isRequired: false, transformFunction: null }, buttonClass: { classPropertyName: "buttonClass", publicName: "buttonClass", isSignal: true, isRequired: false, transformFunction: null }, textClass: { classPropertyName: "textClass", publicName: "textClass", isSignal: true, isRequired: false, transformFunction: null }, selectedText: { classPropertyName: "selectedText", publicName: "selectedText", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.0", type: FileInputComponent, isStandalone: true, selector: "file-input", inputs: { buttonText: { classPropertyName: "buttonText", publicName: "buttonText", isSignal: true, isRequired: false, transformFunction: null }, buttonClass: { classPropertyName: "buttonClass", publicName: "buttonClass", isSignal: true, isRequired: false, transformFunction: null }, textClass: { classPropertyName: "textClass", publicName: "textClass", isSignal: true, isRequired: false, transformFunction: null }, selectedText: { classPropertyName: "selectedText", publicName: "selectedText", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
44
44
  {
45
45
  provide: FILE_VISUAL,
46
46
  useExisting: forwardRef(() => FileInputComponent),
47
47
  }
48
48
  ], ngImport: i0, template: "<div class=\"file-input\">\n <div [ngClass]=\"buttonClass()\">\n <span>{{buttonText() | firstUppercaseLocalize}}</span>\n </div>\n\n <div [ngClass]=\"textClass()\">{{selectedTextValue()}}</div>\n</div>\n", styles: [":host\n{\n display: block;\n}\n\n.file-input\n{\n display: grid;\n\n grid-template-areas: 'button filename';\n grid-template-rows: auto;\n grid-template-columns: auto 1fr;\n\n :nth-child(1),\n :nth-child(1):before\n {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n :nth-child(2),\n :nth-child(2):before\n {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: FirstUppercaseLocalizePipe, name: "firstUppercaseLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: FileInputComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: FileInputComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'file-input', imports: [
53
53
  NgClass,
@@ -1 +1 @@
1
- {"version":3,"file":"fileInput.component.js","sourceRoot":"","sources":["../../../../../../src/modules/file/components/fileInput/fileInput.component.ts","../../../../../../src/modules/file/components/fileInput/fileInput.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAoB,UAAU,EAAkB,MAAM,EAAE,KAAK,EAAuB,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7J,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,0BAA0B,EAAC,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;;AAI9C;;GAEG;AAqBH,MAAM,OAAO,kBAAkB;IAsC3B,iEAAiE;IACjE;QA9BA,sGAAsG;QAEtG;;WAEG;QACI,wBAAmB,GAAuD,MAAM,CAAqC,IAAI,CAAC,CAAC;QAElI,gFAAgF;QAEhF;;WAEG;QACI,eAAU,GAAwB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzD;;WAEG;QACI,gBAAW,GAAwB,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEnE;;WAEG;QACI,cAAS,GAAwB,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9D;;WAEG;QACI,iBAAY,GAAuC,KAAK,EAAE,CAAC;QAK9D,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,GAAG,EAAE;YAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3C,IAAG,OAAO,EAAE,QAAQ,EACpB,CAAC;gBACG,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,OAAO,EAAE,QAAQ,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;8GApDQ,kBAAkB;kGAAlB,kBAAkB,umBAT3B;YAEI;gBACI,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;aACpD;SACJ,0BC5BL,6NAOA,6gBDWQ,OAAO,+EACP,0BAA0B;;2FAYrB,kBAAkB;kBApB9B,SAAS;+BAEI,YAAY,WAItB;wBACI,OAAO;wBACP,0BAA0B;qBAC7B,aAED;wBAEI;4BACI,OAAO,EAAE,WAAW;4BACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;yBACpD;qBACJ,mBACgB,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy, ExistingProvider, forwardRef, WritableSignal, signal, input, InputSignal, Signal, computed} from '@angular/core';\nimport {NgClass} from '@angular/common';\nimport {FirstUppercaseLocalizePipe} from '@anglr/common';\n\nimport {FILE_VISUAL} from '../../misc/tokens';\nimport {FileVisual} from '../../interfaces';\nimport {FileTemplateContext} from '../../directive';\n\n/**\n * Component that represents file input template\n */\n@Component(\n{\n selector: 'file-input',\n templateUrl: 'fileInput.component.html',\n styleUrl: 'fileInput.component.css',\n imports:\n [\n NgClass,\n FirstUppercaseLocalizePipe,\n ],\n providers:\n [\n <ExistingProvider>\n {\n provide: FILE_VISUAL,\n useExisting: forwardRef(() => FileInputComponent),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FileInputComponent implements FileVisual\n{\n //######################### protected properties - template bindings #########################\n\n /**\n * Selected text value based on file template context or selected text input\n */\n protected selectedTextValue: Signal<string|undefined|null>;\n \n //######################### public properties - implementation of FileVisual #########################\n\n /**\n * @inheritdoc\n */\n public fileTemplateContext: WritableSignal<FileTemplateContext|undefined|null> = signal<FileTemplateContext|undefined|null>(null);\n\n //######################### public properties - inputs #########################\n\n /**\n * Text to be displayed for file button\n */\n public buttonText: InputSignal<string> = input('browse');\n\n /**\n * Css classes applied to file button\n */\n public buttonClass: InputSignal<string> = input('btn btn-primary');\n\n /**\n * Css classes applied to file text, text displaying selected files\n */\n public textClass: InputSignal<string> = input('form-control');\n\n /**\n * Text to be displayed as selected\n */\n public selectedText: InputSignal<string|undefined|null> = input();\n\n //######################### constructor #########################\n constructor()\n {\n this.selectedTextValue = computed(() =>\n {\n const context = this.fileTemplateContext();\n\n if(context?.multiple)\n {\n return this.selectedText() ?? context.filesNames?.join(', ');\n }\n\n return this.selectedText() ?? context?.fileName;\n });\n }\n}","<div class=\"file-input\">\n <div [ngClass]=\"buttonClass()\">\n <span>{{buttonText() | firstUppercaseLocalize}}</span>\n </div>\n\n <div [ngClass]=\"textClass()\">{{selectedTextValue()}}</div>\n</div>\n"]}
1
+ {"version":3,"file":"fileInput.component.js","sourceRoot":"","sources":["../../../../../../src/modules/file/components/fileInput/fileInput.component.ts","../../../../../../src/modules/file/components/fileInput/fileInput.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAoB,UAAU,EAAkB,MAAM,EAAE,KAAK,EAAuB,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7J,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,0BAA0B,EAAC,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;;AAI9C;;GAEG;AAqBH,MAAM,OAAO,kBAAkB;IAsC3B,iEAAiE;IACjE;QA9BA,sGAAsG;QAEtG;;WAEG;QACI,wBAAmB,GAAuD,MAAM,CAAqC,IAAI,+DAAC,CAAC;QAElI,gFAAgF;QAEhF;;WAEG;QACI,eAAU,GAAwB,KAAK,CAAC,QAAQ,sDAAC,CAAC;QAEzD;;WAEG;QACI,gBAAW,GAAwB,KAAK,CAAC,iBAAiB,uDAAC,CAAC;QAEnE;;WAEG;QACI,cAAS,GAAwB,KAAK,CAAC,cAAc,qDAAC,CAAC;QAE9D;;WAEG;QACI,iBAAY,GAAuC,KAAK,kEAAE,CAAC;QAK9D,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,GAAG,EAAE;YAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3C,IAAG,OAAO,EAAE,QAAQ,EACpB,CAAC;gBACG,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,OAAO,EAAE,QAAQ,CAAC;QACpD,CAAC,6DAAC,CAAC;IACP,CAAC;8GApDQ,kBAAkB;kGAAlB,kBAAkB,umBAT3B;YAEI;gBACI,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;aACpD;SACJ,0BC5BL,6NAOA,6gBDWQ,OAAO,+EACP,0BAA0B;;2FAYrB,kBAAkB;kBApB9B,SAAS;+BAEI,YAAY,WAItB;wBACI,OAAO;wBACP,0BAA0B;qBAC7B,aAED;wBAEI;4BACI,OAAO,EAAE,WAAW;4BACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;yBACpD;qBACJ,mBACgB,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy, ExistingProvider, forwardRef, WritableSignal, signal, input, InputSignal, Signal, computed} from '@angular/core';\nimport {NgClass} from '@angular/common';\nimport {FirstUppercaseLocalizePipe} from '@anglr/common';\n\nimport {FILE_VISUAL} from '../../misc/tokens';\nimport {FileVisual} from '../../interfaces';\nimport {FileTemplateContext} from '../../directive';\n\n/**\n * Component that represents file input template\n */\n@Component(\n{\n selector: 'file-input',\n templateUrl: 'fileInput.component.html',\n styleUrl: 'fileInput.component.css',\n imports:\n [\n NgClass,\n FirstUppercaseLocalizePipe,\n ],\n providers:\n [\n <ExistingProvider>\n {\n provide: FILE_VISUAL,\n useExisting: forwardRef(() => FileInputComponent),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FileInputComponent implements FileVisual\n{\n //######################### protected properties - template bindings #########################\n\n /**\n * Selected text value based on file template context or selected text input\n */\n protected selectedTextValue: Signal<string|undefined|null>;\n \n //######################### public properties - implementation of FileVisual #########################\n\n /**\n * @inheritdoc\n */\n public fileTemplateContext: WritableSignal<FileTemplateContext|undefined|null> = signal<FileTemplateContext|undefined|null>(null);\n\n //######################### public properties - inputs #########################\n\n /**\n * Text to be displayed for file button\n */\n public buttonText: InputSignal<string> = input('browse');\n\n /**\n * Css classes applied to file button\n */\n public buttonClass: InputSignal<string> = input('btn btn-primary');\n\n /**\n * Css classes applied to file text, text displaying selected files\n */\n public textClass: InputSignal<string> = input('form-control');\n\n /**\n * Text to be displayed as selected\n */\n public selectedText: InputSignal<string|undefined|null> = input();\n\n //######################### constructor #########################\n constructor()\n {\n this.selectedTextValue = computed(() =>\n {\n const context = this.fileTemplateContext();\n\n if(context?.multiple)\n {\n return this.selectedText() ?? context.filesNames?.join(', ');\n }\n\n return this.selectedText() ?? context?.fileName;\n });\n }\n}","<div class=\"file-input\">\n <div [ngClass]=\"buttonClass()\">\n <span>{{buttonText() | firstUppercaseLocalize}}</span>\n </div>\n\n <div [ngClass]=\"textClass()\">{{selectedTextValue()}}</div>\n</div>\n"]}
@@ -12,38 +12,38 @@ export class UploadButtonComponent {
12
12
  /**
13
13
  * @inheritdoc
14
14
  */
15
- this.fileTemplateContext = signal(null);
15
+ this.fileTemplateContext = signal(null, ...(ngDevMode ? [{ debugName: "fileTemplateContext" }] : []));
16
16
  //######################### public properties - inputs #########################
17
17
  /**
18
18
  * Css classes applied tu button icon
19
19
  */
20
- this.uploadIconClass = input('fas fa-file-upload');
20
+ this.uploadIconClass = input('fas fa-file-upload', ...(ngDevMode ? [{ debugName: "uploadIconClass" }] : []));
21
21
  /**
22
22
  * Text to be displayed as button text
23
23
  */
24
- this.uploadText = input('');
24
+ this.uploadText = input('', ...(ngDevMode ? [{ debugName: "uploadText" }] : []));
25
25
  /**
26
26
  * Css classes for displayed text for button
27
27
  */
28
- this.uploadTextClass = input('first-letter-uppercase');
28
+ this.uploadTextClass = input('first-letter-uppercase', ...(ngDevMode ? [{ debugName: "uploadTextClass" }] : []));
29
29
  /**
30
30
  * Css class applied to button
31
31
  */
32
- this.cssClass = input('btn btn-icon', { alias: 'class' });
32
+ this.cssClass = input('btn btn-icon', ...(ngDevMode ? [{ debugName: "cssClass", alias: 'class' }] : [{ alias: 'class' }]));
33
33
  /**
34
34
  * Current progress to be displayed
35
35
  */
36
- this.progress = input(null, { transform: numberAttribute });
36
+ this.progress = input(null, ...(ngDevMode ? [{ debugName: "progress", transform: numberAttribute }] : [{ transform: numberAttribute }]));
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: UploadButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0", type: UploadButtonComponent, isStandalone: true, selector: "upload-button", inputs: { uploadIconClass: { classPropertyName: "uploadIconClass", publicName: "uploadIconClass", isSignal: true, isRequired: false, transformFunction: null }, uploadText: { classPropertyName: "uploadText", publicName: "uploadText", isSignal: true, isRequired: false, transformFunction: null }, uploadTextClass: { classPropertyName: "uploadTextClass", publicName: "uploadTextClass", isSignal: true, isRequired: false, transformFunction: null }, cssClass: { classPropertyName: "cssClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: UploadButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0", type: UploadButtonComponent, isStandalone: true, selector: "upload-button", inputs: { uploadIconClass: { classPropertyName: "uploadIconClass", publicName: "uploadIconClass", isSignal: true, isRequired: false, transformFunction: null }, uploadText: { classPropertyName: "uploadText", publicName: "uploadText", isSignal: true, isRequired: false, transformFunction: null }, uploadTextClass: { classPropertyName: "uploadTextClass", publicName: "uploadTextClass", isSignal: true, isRequired: false, transformFunction: null }, cssClass: { classPropertyName: "cssClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
40
40
  {
41
41
  provide: FILE_VISUAL,
42
42
  useExisting: forwardRef(() => UploadButtonComponent),
43
43
  }
44
44
  ], ngImport: i0, template: "@if(progress() | isPresent)\n{\n <div class=\"progress\">\n <span class=\"progress-value\">{{progress()}}%</span>\n <div class=\"progress-indicator\"></div>\n </div>\n}\n\n<button [ngClass]=\"cssClass()\" type=\"button\">\n <span [ngClass]=\"uploadIconClass()\"></span>\n \n @if(uploadText())\n {\n <span [ngClass]=\"uploadTextClass()\">{{uploadText() | localize}}</span>\n }\n</button>", styles: [":host\n{\n display: flex;\n flex-direction: row;\n}\n\n.progress\n{\n font-size: 0.75em;\n position: relative;\n width: 33px;\n height: 33px;\n text-align: center;\n margin-right: 4px;\n display: flex;\n justify-content: center;\n}\n\n.progress-value\n{\n align-self: center;\n}\n\n.progress-indicator\n{\n position: absolute;\n width: 33px;\n height: 16.5px;\n top: 0;\n left: 0;\n border: 2px solid #009dd6;\n border-bottom: none;\n border-top-left-radius: 100px;\n border-top-right-radius: 100px;\n animation-name: rotate-progress;\n animation-duration: 550ms;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n transform-origin: calc(50%) calc(50% + 8.25px);\n}\n\n@keyframes rotate-progress\n{\n from\n {\n transform: rotate(0deg);\n }\n to\n {\n transform: rotate(360deg);\n }\n}"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: IsPresentPipe, name: "isPresent" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: UploadButtonComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: UploadButtonComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'upload-button', imports: [
49
49
  NgClass,
@@ -1 +1 @@
1
- {"version":3,"file":"uploadButton.component.js","sourceRoot":"","sources":["../../../../../../src/modules/file/components/uploadButton/uploadButton.component.ts","../../../../../../src/modules/file/components/uploadButton/uploadButton.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAoB,UAAU,EAAkB,MAAM,EAAe,KAAK,EAAE,eAAe,EAA2B,MAAM,eAAe,CAAC;AACtL,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;;AAI9C;;GAEG;AAsBH,MAAM,OAAO,qBAAqB;IArBlC;QAuBI,sGAAsG;QAEtG;;WAEG;QACI,wBAAmB,GAAuD,MAAM,CAAqC,IAAI,CAAC,CAAC;QAElI,gFAAgF;QAEhF;;WAEG;QACI,oBAAe,GAAwB,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE1E;;WAEG;QACI,eAAU,GAAwB,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnD;;WAEG;QACI,oBAAe,GAAwB,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE9E;;WAEG;QACI,aAAQ,GAAwB,KAAK,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;QAE/E;;WAEG;QACI,aAAQ,GAAkF,KAAK,CAAsD,IAAI,EAAE,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC,CAAC;KACnM;8GAnCY,qBAAqB;kGAArB,qBAAqB,0vBAT9B;YAEI;gBACI,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;aACvD;SACJ,0BC7BL,8aAeS,i9BDGD,OAAO,+EACP,aAAa,6CACb,YAAY;;2FAYP,qBAAqB;kBArBjC,SAAS;+BAEI,eAAe,WAIzB;wBACI,OAAO;wBACP,aAAa;wBACb,YAAY;qBACf,aAED;wBAEI;4BACI,OAAO,EAAE,WAAW;4BACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC;yBACvD;qBACJ,mBACgB,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy, ExistingProvider, forwardRef, WritableSignal, signal, InputSignal, input, numberAttribute, InputSignalWithTransform} from '@angular/core';\nimport {NgClass} from '@angular/common';\nimport {IsPresentPipe, LocalizePipe} from '@anglr/common';\n\nimport {FILE_VISUAL} from '../../misc/tokens';\nimport {FileVisual} from '../../interfaces';\nimport {FileTemplateContext} from '../../directive';\n\n/**\n * Component that represents upload button file template\n */\n@Component(\n{\n selector: 'upload-button',\n templateUrl: 'uploadButton.component.html',\n styleUrl: 'uploadButton.component.css',\n imports:\n [\n NgClass,\n IsPresentPipe,\n LocalizePipe,\n ],\n providers:\n [\n <ExistingProvider>\n {\n provide: FILE_VISUAL,\n useExisting: forwardRef(() => UploadButtonComponent),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UploadButtonComponent implements FileVisual\n{\n //######################### public properties - implementation of FileVisual #########################\n\n /**\n * @inheritdoc\n */\n public fileTemplateContext: WritableSignal<FileTemplateContext|undefined|null> = signal<FileTemplateContext|undefined|null>(null);\n\n //######################### public properties - inputs #########################\n\n /**\n * Css classes applied tu button icon\n */\n public uploadIconClass: InputSignal<string> = input('fas fa-file-upload');\n\n /**\n * Text to be displayed as button text\n */\n public uploadText: InputSignal<string> = input('');\n\n /**\n * Css classes for displayed text for button\n */\n public uploadTextClass: InputSignal<string> = input('first-letter-uppercase');\n\n /**\n * Css class applied to button\n */\n public cssClass: InputSignal<string> = input('btn btn-icon', {alias: 'class'});\n\n /**\n * Current progress to be displayed\n */\n public progress: InputSignalWithTransform<number|undefined|null, number|string|undefined|null> = input<number|undefined|null, number|string|undefined|null>(null, {transform: numberAttribute});\n}","@if(progress() | isPresent)\n{\n <div class=\"progress\">\n <span class=\"progress-value\">{{progress()}}%</span>\n <div class=\"progress-indicator\"></div>\n </div>\n}\n\n<button [ngClass]=\"cssClass()\" type=\"button\">\n <span [ngClass]=\"uploadIconClass()\"></span>\n \n @if(uploadText())\n {\n <span [ngClass]=\"uploadTextClass()\">{{uploadText() | localize}}</span>\n }\n</button>"]}
1
+ {"version":3,"file":"uploadButton.component.js","sourceRoot":"","sources":["../../../../../../src/modules/file/components/uploadButton/uploadButton.component.ts","../../../../../../src/modules/file/components/uploadButton/uploadButton.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAoB,UAAU,EAAkB,MAAM,EAAe,KAAK,EAAE,eAAe,EAA2B,MAAM,eAAe,CAAC;AACtL,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;;AAI9C;;GAEG;AAsBH,MAAM,OAAO,qBAAqB;IArBlC;QAuBI,sGAAsG;QAEtG;;WAEG;QACI,wBAAmB,GAAuD,MAAM,CAAqC,IAAI,+DAAC,CAAC;QAElI,gFAAgF;QAEhF;;WAEG;QACI,oBAAe,GAAwB,KAAK,CAAC,oBAAoB,2DAAC,CAAC;QAE1E;;WAEG;QACI,eAAU,GAAwB,KAAK,CAAC,EAAE,sDAAC,CAAC;QAEnD;;WAEG;QACI,oBAAe,GAAwB,KAAK,CAAC,wBAAwB,2DAAC,CAAC;QAE9E;;WAEG;QACI,aAAQ,GAAwB,KAAK,CAAC,cAAc,4CAAG,KAAK,EAAE,OAAO,OAAf,EAAC,KAAK,EAAE,OAAO,EAAC,GAAC,CAAC;QAE/E;;WAEG;QACI,aAAQ,GAAkF,KAAK,CAAsD,IAAI,4CAAG,SAAS,EAAE,eAAe,OAA3B,EAAC,SAAS,EAAE,eAAe,EAAC,GAAC,CAAC;KACnM;8GAnCY,qBAAqB;kGAArB,qBAAqB,0vBAT9B;YAEI;gBACI,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;aACvD;SACJ,0BC7BL,8aAeS,i9BDGD,OAAO,+EACP,aAAa,6CACb,YAAY;;2FAYP,qBAAqB;kBArBjC,SAAS;+BAEI,eAAe,WAIzB;wBACI,OAAO;wBACP,aAAa;wBACb,YAAY;qBACf,aAED;wBAEI;4BACI,OAAO,EAAE,WAAW;4BACpB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC;yBACvD;qBACJ,mBACgB,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy, ExistingProvider, forwardRef, WritableSignal, signal, InputSignal, input, numberAttribute, InputSignalWithTransform} from '@angular/core';\nimport {NgClass} from '@angular/common';\nimport {IsPresentPipe, LocalizePipe} from '@anglr/common';\n\nimport {FILE_VISUAL} from '../../misc/tokens';\nimport {FileVisual} from '../../interfaces';\nimport {FileTemplateContext} from '../../directive';\n\n/**\n * Component that represents upload button file template\n */\n@Component(\n{\n selector: 'upload-button',\n templateUrl: 'uploadButton.component.html',\n styleUrl: 'uploadButton.component.css',\n imports:\n [\n NgClass,\n IsPresentPipe,\n LocalizePipe,\n ],\n providers:\n [\n <ExistingProvider>\n {\n provide: FILE_VISUAL,\n useExisting: forwardRef(() => UploadButtonComponent),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UploadButtonComponent implements FileVisual\n{\n //######################### public properties - implementation of FileVisual #########################\n\n /**\n * @inheritdoc\n */\n public fileTemplateContext: WritableSignal<FileTemplateContext|undefined|null> = signal<FileTemplateContext|undefined|null>(null);\n\n //######################### public properties - inputs #########################\n\n /**\n * Css classes applied tu button icon\n */\n public uploadIconClass: InputSignal<string> = input('fas fa-file-upload');\n\n /**\n * Text to be displayed as button text\n */\n public uploadText: InputSignal<string> = input('');\n\n /**\n * Css classes for displayed text for button\n */\n public uploadTextClass: InputSignal<string> = input('first-letter-uppercase');\n\n /**\n * Css class applied to button\n */\n public cssClass: InputSignal<string> = input('btn btn-icon', {alias: 'class'});\n\n /**\n * Current progress to be displayed\n */\n public progress: InputSignalWithTransform<number|undefined|null, number|string|undefined|null> = input<number|undefined|null, number|string|undefined|null>(null, {transform: numberAttribute});\n}","@if(progress() | isPresent)\n{\n <div class=\"progress\">\n <span class=\"progress-value\">{{progress()}}%</span>\n <div class=\"progress-indicator\"></div>\n </div>\n}\n\n<button [ngClass]=\"cssClass()\" type=\"button\">\n <span [ngClass]=\"uploadIconClass()\"></span>\n \n @if(uploadText())\n {\n <span [ngClass]=\"uploadTextClass()\">{{uploadText() | localize}}</span>\n }\n</button>"]}
@@ -13,19 +13,19 @@ export class FileInputDirective {
13
13
  /**
14
14
  * Indication whether is multiple files selection enabled
15
15
  */
16
- this.multiple = input(false, { transform: booleanAttribute });
16
+ this.multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
17
17
  /**
18
18
  * Indication whether read file content, working only when `multiple` is not set (for single file)
19
19
  */
20
- this.readContent = input(false, { transform: booleanAttribute });
20
+ this.readContent = input(false, ...(ngDevMode ? [{ debugName: "readContent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
21
21
  /**
22
22
  * Indication whether content of file is binary and it will be read as ArrayBuffer instead of string
23
23
  */
24
- this.binaryContent = input(false, { transform: booleanAttribute });
24
+ this.binaryContent = input(false, ...(ngDevMode ? [{ debugName: "binaryContent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
25
25
  /**
26
26
  * Text encoding of read string file content
27
27
  */
28
- this.textEncoding = input();
28
+ this.textEncoding = input(...(ngDevMode ? [undefined, { debugName: "textEncoding" }] : []));
29
29
  //######################### public properties - outputs #########################
30
30
  /**
31
31
  * Occurs when file changes and `binaryContent` is not set and `readContent` is set
@@ -134,8 +134,8 @@ export class FileInputDirective {
134
134
  }
135
135
  }
136
136
  }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: FileInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
138
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.0", type: FileInputDirective, isStandalone: true, selector: "input[type=file]", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, readContent: { classPropertyName: "readContent", publicName: "readContent", isSignal: true, isRequired: false, transformFunction: null }, binaryContent: { classPropertyName: "binaryContent", publicName: "binaryContent", isSignal: true, isRequired: false, transformFunction: null }, textEncoding: { classPropertyName: "textEncoding", publicName: "textEncoding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stringContentChange: "stringContentChange", arrayBufferContentChange: "arrayBufferContentChange", fileChange: "fileChange", filesChange: "filesChange", fileName: "fileName", filesNames: "filesNames" }, exportAs: ["file"], ngImport: i0 }); }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: FileInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
138
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: FileInputDirective, isStandalone: true, selector: "input[type=file]", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, readContent: { classPropertyName: "readContent", publicName: "readContent", isSignal: true, isRequired: false, transformFunction: null }, binaryContent: { classPropertyName: "binaryContent", publicName: "binaryContent", isSignal: true, isRequired: false, transformFunction: null }, textEncoding: { classPropertyName: "textEncoding", publicName: "textEncoding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stringContentChange: "stringContentChange", arrayBufferContentChange: "arrayBufferContentChange", fileChange: "fileChange", filesChange: "filesChange", fileName: "fileName", filesNames: "filesNames" }, exportAs: ["file"], ngImport: i0 }); }
139
139
  }
140
140
  __decorate([
141
141
  BindThis,
@@ -155,7 +155,7 @@ __decorate([
155
155
  __metadata("design:paramtypes", [MouseEvent]),
156
156
  __metadata("design:returntype", void 0)
157
157
  ], FileInputDirective.prototype, "handleFileChange", null);
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: FileInputDirective, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: FileInputDirective, decorators: [{
159
159
  type: Directive,
160
160
  args: [{
161
161
  selector: 'input[type=file]',