@acorex/components 7.0.21 → 7.0.22

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 (35) hide show
  1. package/color-picker/src/color-picker.component.d.ts +1 -5
  2. package/esm2020/button/src/button.component.mjs +2 -2
  3. package/esm2020/chips/src/chips.component.mjs +2 -2
  4. package/esm2020/form/src/form-field.component.mjs +2 -2
  5. package/esm2020/form/src/form.component.mjs +18 -16
  6. package/esm2020/mixin/src/value-mixin.class.mjs +46 -26
  7. package/esm2020/number-box/src/number-box.component.mjs +3 -3
  8. package/esm2020/switch/src/switch.component.mjs +2 -2
  9. package/fesm2015/acorex-components-button.mjs +2 -2
  10. package/fesm2015/acorex-components-button.mjs.map +1 -1
  11. package/fesm2015/acorex-components-chips.mjs +2 -2
  12. package/fesm2015/acorex-components-chips.mjs.map +1 -1
  13. package/fesm2015/acorex-components-form.mjs +19 -17
  14. package/fesm2015/acorex-components-form.mjs.map +1 -1
  15. package/fesm2015/acorex-components-mixin.mjs +44 -24
  16. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  17. package/fesm2015/acorex-components-number-box.mjs +2 -3
  18. package/fesm2015/acorex-components-number-box.mjs.map +1 -1
  19. package/fesm2015/acorex-components-switch.mjs +2 -2
  20. package/fesm2015/acorex-components-switch.mjs.map +1 -1
  21. package/fesm2020/acorex-components-button.mjs +2 -2
  22. package/fesm2020/acorex-components-button.mjs.map +1 -1
  23. package/fesm2020/acorex-components-chips.mjs +2 -2
  24. package/fesm2020/acorex-components-chips.mjs.map +1 -1
  25. package/fesm2020/acorex-components-form.mjs +19 -17
  26. package/fesm2020/acorex-components-form.mjs.map +1 -1
  27. package/fesm2020/acorex-components-mixin.mjs +44 -24
  28. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  29. package/fesm2020/acorex-components-number-box.mjs +2 -3
  30. package/fesm2020/acorex-components-number-box.mjs.map +1 -1
  31. package/fesm2020/acorex-components-switch.mjs +2 -2
  32. package/fesm2020/acorex-components-switch.mjs.map +1 -1
  33. package/form/src/form.component.d.ts +10 -9
  34. package/mixin/src/value-mixin.class.d.ts +5 -5
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-chips.mjs","sources":["../../../../projects/acorex/components/chips/src/chips.component.ts","../../../../projects/acorex/components/chips/src/chips.component.html","../../../../projects/acorex/components/chips/src/chips.module.ts","../../../../projects/acorex/components/chips/acorex-components-chips.ts"],"sourcesContent":["import { AXStyleColorType } from '@acorex/components/common';\r\nimport { AXBaseComponent } from '@acorex/components/mixin';\r\nimport { AXColorMode } from '@acorex/core/utils';\r\nimport { Component, Input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Attribute } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-chips',\r\n templateUrl: './chips.component.html',\r\n styleUrls: ['./chips.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class AXChipsComponent extends AXBaseComponent {\r\n\r\n @Input()\r\n look: 'default' | 'outline' = 'default'\r\n\r\n @Input()\r\n color: AXStyleColorType = 'ghost';\r\n\r\n @Input()\r\n text: string = ''\r\n\r\n constructor() {\r\n super()\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n\r\n @HostBinding('class')\r\n private get __hostClass(): string {\r\n return `ax-${this.color}-${this.look}`;\r\n }\r\n}\r\n","<ng-content select=\"ax-prefix\"></ng-content>\r\n<div class=\"ax-chips-text\" *ngIf=\"text\">{{text }}</div>\r\n<ng-content select=\"ax-suffix\"></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXChipsComponent } from './chips.component';\r\n\r\n@NgModule({\r\n declarations: [AXChipsComponent],\r\n imports: [CommonModule],\r\n exports: [AXChipsComponent],\r\n providers: [],\r\n})\r\nexport class AXChipsModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAaM,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AAWjD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAA;QATX,IAAI,CAAA,IAAA,GAA0B,SAAS,CAAA;QAGvC,IAAK,CAAA,KAAA,GAAqB,OAAO,CAAC;QAGlC,IAAI,CAAA,IAAA,GAAW,EAAE,CAAA;KAIhB;AAED,IAAA,QAAQ,MAAY;AAGpB,IAAA,IACY,WAAW,GAAA;QACnB,OAAO,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;KAC1C;;6GArBQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,sLCb7B,iKAE4C,EAAA,MAAA,EAAA,CAAA,0oGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDW/B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,mBAGH,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,iKAAA,EAAA,MAAA,EAAA,CAAA,0oGAAA,CAAA,EAAA,CAAA;0EAMrC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAWM,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;MErBX,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EALP,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAGjB,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJZ,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,SAAS,EAAE,EAAE;AAChB,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-chips.mjs","sources":["../../../../projects/acorex/components/chips/src/chips.component.ts","../../../../projects/acorex/components/chips/src/chips.component.html","../../../../projects/acorex/components/chips/src/chips.module.ts","../../../../projects/acorex/components/chips/acorex-components-chips.ts"],"sourcesContent":["import { AXStyleColorType } from '@acorex/components/common';\r\nimport { AXBaseComponent } from '@acorex/components/mixin';\r\nimport { AXColorMode } from '@acorex/core/utils';\r\nimport { Component, Input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Attribute } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-chips',\r\n templateUrl: './chips.component.html',\r\n styleUrls: ['./chips.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class AXChipsComponent extends AXBaseComponent {\r\n\r\n @Input()\r\n look: 'default' | 'outline' = 'default'\r\n\r\n @Input()\r\n color: AXStyleColorType = 'ghost';\r\n\r\n @Input()\r\n text: string = ''\r\n\r\n constructor() {\r\n super()\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n\r\n @HostBinding('class')\r\n private get __hostClass(): string {\r\n return `ax-${this.color}-${this.look}`;\r\n }\r\n}\r\n","<ng-content select=\"ax-prefix\"></ng-content>\r\n<div class=\"ax-chips-text\" *ngIf=\"text\">{{text }}</div>\r\n<ng-content select=\"ax-suffix\"></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXChipsComponent } from './chips.component';\r\n\r\n@NgModule({\r\n declarations: [AXChipsComponent],\r\n imports: [CommonModule],\r\n exports: [AXChipsComponent],\r\n providers: [],\r\n})\r\nexport class AXChipsModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAaM,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AAWjD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAA;QATX,IAAI,CAAA,IAAA,GAA0B,SAAS,CAAA;QAGvC,IAAK,CAAA,KAAA,GAAqB,OAAO,CAAC;QAGlC,IAAI,CAAA,IAAA,GAAW,EAAE,CAAA;KAIhB;AAED,IAAA,QAAQ,MAAY;AAGpB,IAAA,IACY,WAAW,GAAA;QACnB,OAAO,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;KAC1C;;6GArBQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,sLCb7B,iKAE4C,EAAA,MAAA,EAAA,CAAA,2oGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDW/B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,mBAGH,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,iKAAA,EAAA,MAAA,EAAA,CAAA,2oGAAA,CAAA,EAAA,CAAA;0EAMrC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAWM,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;MErBX,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EALP,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAGjB,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJZ,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,SAAS,EAAE,EAAE;AAChB,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { AXBaseComponentMixin } from '@acorex/components/mixin';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, Output, Input, Optional, Inject, NgModule } from '@angular/core';
3
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, Input, Output, Optional, Inject, NgModule } from '@angular/core';
4
4
  import { AXEvent } from '@acorex/components/common';
5
5
  import { AXConfig } from '@acorex/core/config';
6
6
  import { AXTranslator } from '@acorex/core/translation';
@@ -20,16 +20,16 @@ class AXFormFieldComponent extends AXBaseComponentMixin {
20
20
  }
21
21
  }
22
22
  AXFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFormFieldComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23
- AXFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXFormFieldComponent, selector: "ax-form-field", host: { classAttribute: "ax-form-field" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["html.ax-dark .ax-form-field .ax-error-message{background:rgba(var(--ax-color-danger-900));border-color:rgb(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-100))}html.ax-dark .ax-form-field .ax-error-message:before,html.ax-dark .ax-form-field .ax-error-message:after{border-bottom-color:rgb(var(--ax-color-danger-900))}html.ax-dark .ax-form-field .ax-error-message:before{border-bottom-color:rgb(var(--ax-color-danger-700))}.ax-form-field{position:relative}.ax-form-field ax-form-hint-text{font-size:.875rem;color:rgba(var(--ax-color-ghost),.6);margin-top:.5rem}.ax-form-field .ax-error-message{position:absolute;display:block;border:1px solid;background:rgb(var(--ax-color-danger-50));font-size:.75rem;border-radius:.375rem;border-color:rgb(var(--ax-color-danger-200));z-index:10;padding:.25rem .5rem;bottom:-2.25rem;font-weight:400;width:-moz-fit-content;width:fit-content}.ax-form-field .ax-error-message:before,.ax-form-field .ax-error-message:after{position:absolute;bottom:100%;inset-inline-start:10px;z-index:15;width:0;height:0;pointer-events:none;content:\" \";border:solid transparent;border-bottom-color:rgb(var(--ax-color-danger-50))}.ax-form-field .ax-error-message:before{margin-inline-start:-1px;border-width:.375rem;border-bottom-color:rgb(var(--ax-color-danger-200))}.ax-form-field .ax-error-message:after{border-width:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
+ AXFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXFormFieldComponent, selector: "ax-form-field", host: { classAttribute: "ax-form-field" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["html.ax-dark ax-form.ax-form-normal .ax-error-message{background:rgba(var(--ax-color-danger-900));border-color:rgb(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-100))}html.ax-dark ax-form.ax-form-normal .ax-error-message:before,html.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgb(var(--ax-color-danger-900))}html.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgb(var(--ax-color-danger-700))}.ax-form-field{position:relative}.ax-form-field ax-form-hint-text{font-size:.875rem;color:rgba(var(--ax-color-ghost),.6);margin-top:.5rem}.ax-form-field .ax-error-message{font-size:.75rem}form.ax-normal-error .ax-error-message{color:rgb(var(--ax-color-danger-500))}form.ax-tooltip-error .ax-error-message{position:absolute;display:block;border:1px solid;background:rgb(var(--ax-color-danger-50));border-radius:.375rem;border-color:rgb(var(--ax-color-danger-200));z-index:10;padding:.25rem .5rem;bottom:-2.25rem;font-weight:400;width:-moz-fit-content;width:fit-content}form.ax-tooltip-error .ax-error-message:before,form.ax-tooltip-error .ax-error-message:after{position:absolute;bottom:100%;inset-inline-start:10px;z-index:15;width:0;height:0;pointer-events:none;content:\" \";border:solid transparent;border-bottom-color:rgb(var(--ax-color-danger-50))}form.ax-tooltip-error .ax-error-message:before{margin-inline-start:-1px;border-width:.375rem;border-bottom-color:rgb(var(--ax-color-danger-200))}form.ax-tooltip-error .ax-error-message:after{border-width:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFormFieldComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'ax-form-field', template: '<ng-content></ng-content>', host: { class: 'ax-form-field' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["html.ax-dark .ax-form-field .ax-error-message{background:rgba(var(--ax-color-danger-900));border-color:rgb(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-100))}html.ax-dark .ax-form-field .ax-error-message:before,html.ax-dark .ax-form-field .ax-error-message:after{border-bottom-color:rgb(var(--ax-color-danger-900))}html.ax-dark .ax-form-field .ax-error-message:before{border-bottom-color:rgb(var(--ax-color-danger-700))}.ax-form-field{position:relative}.ax-form-field ax-form-hint-text{font-size:.875rem;color:rgba(var(--ax-color-ghost),.6);margin-top:.5rem}.ax-form-field .ax-error-message{position:absolute;display:block;border:1px solid;background:rgb(var(--ax-color-danger-50));font-size:.75rem;border-radius:.375rem;border-color:rgb(var(--ax-color-danger-200));z-index:10;padding:.25rem .5rem;bottom:-2.25rem;font-weight:400;width:-moz-fit-content;width:fit-content}.ax-form-field .ax-error-message:before,.ax-form-field .ax-error-message:after{position:absolute;bottom:100%;inset-inline-start:10px;z-index:15;width:0;height:0;pointer-events:none;content:\" \";border:solid transparent;border-bottom-color:rgb(var(--ax-color-danger-50))}.ax-form-field .ax-error-message:before{margin-inline-start:-1px;border-width:.375rem;border-bottom-color:rgb(var(--ax-color-danger-200))}.ax-form-field .ax-error-message:after{border-width:5px}\n"] }]
26
+ args: [{ selector: 'ax-form-field', template: '<ng-content></ng-content>', host: { class: 'ax-form-field' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["html.ax-dark ax-form.ax-form-normal .ax-error-message{background:rgba(var(--ax-color-danger-900));border-color:rgb(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-100))}html.ax-dark ax-form.ax-form-normal .ax-error-message:before,html.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgb(var(--ax-color-danger-900))}html.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgb(var(--ax-color-danger-700))}.ax-form-field{position:relative}.ax-form-field ax-form-hint-text{font-size:.875rem;color:rgba(var(--ax-color-ghost),.6);margin-top:.5rem}.ax-form-field .ax-error-message{font-size:.75rem}form.ax-normal-error .ax-error-message{color:rgb(var(--ax-color-danger-500))}form.ax-tooltip-error .ax-error-message{position:absolute;display:block;border:1px solid;background:rgb(var(--ax-color-danger-50));border-radius:.375rem;border-color:rgb(var(--ax-color-danger-200));z-index:10;padding:.25rem .5rem;bottom:-2.25rem;font-weight:400;width:-moz-fit-content;width:fit-content}form.ax-tooltip-error .ax-error-message:before,form.ax-tooltip-error .ax-error-message:after{position:absolute;bottom:100%;inset-inline-start:10px;z-index:15;width:0;height:0;pointer-events:none;content:\" \";border:solid transparent;border-bottom-color:rgb(var(--ax-color-danger-50))}form.ax-tooltip-error .ax-error-message:before{margin-inline-start:-1px;border-width:.375rem;border-bottom-color:rgb(var(--ax-color-danger-200))}form.ax-tooltip-error .ax-error-message:after{border-width:5px}\n"] }]
27
27
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
28
28
 
29
29
  /**
30
- * Contains native event
31
- * @category Events
32
- */
30
+ * Contains native event
31
+ * @category Events
32
+ */
33
33
  class AXFormValidationEvent extends AXEvent {
34
34
  }
35
35
  /**
@@ -39,11 +39,12 @@ class AXFormValidationEvent extends AXEvent {
39
39
  */
40
40
  class AXFormComponent extends AXBaseComponentMixin {
41
41
  /**
42
- * @ignore
43
- */
42
+ * @ignore
43
+ */
44
44
  constructor(elementRef, cdr) {
45
45
  super(elementRef, cdr);
46
46
  this.cdr = cdr;
47
+ this.validationMessageMode = 'normal';
47
48
  this.onValidate = new EventEmitter();
48
49
  this.updateOnChange = new EventEmitter();
49
50
  this._updateOn = 'blur';
@@ -70,7 +71,7 @@ class AXFormComponent extends AXBaseComponentMixin {
70
71
  this.clear();
71
72
  }
72
73
  _getComponenets() {
73
- return Array.from(this._getHostElement().querySelectorAll('[ax-form-input="true"]')).map((c) => c.__axContext__);
74
+ return Array.from(this._getHostElement().querySelectorAll('[ax-form-input="true"]')).map(c => c.__axContext__);
74
75
  }
75
76
  onViewInit() {
76
77
  if (this.validateInitValues) {
@@ -120,18 +121,17 @@ class AXFormComponent extends AXBaseComponentMixin {
120
121
  //
121
122
  return new Promise((resolve, reject) => {
122
123
  Promise.all(widgets
123
- .filter(c => (args == null || args.length == 0) || args.includes(c.name))
124
- .map((c) => c.validate()))
125
- .then((rules) => {
124
+ .filter(c => args == null || args.length == 0 || args.includes(c.name))
125
+ .map(c => c.validate())).then((rules) => {
126
126
  const failed = rules.filter((c) => !c.result);
127
127
  if (failed.length) {
128
128
  this._emitOnValidateEvent({
129
129
  result: false,
130
- items: failed
130
+ items: failed,
131
131
  });
132
132
  resolve({
133
133
  result: false,
134
- items: failed
134
+ items: failed,
135
135
  });
136
136
  }
137
137
  else {
@@ -161,16 +161,18 @@ class AXFormComponent extends AXBaseComponentMixin {
161
161
  }
162
162
  }
163
163
  AXFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
164
- AXFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXFormComponent, selector: "ax-form", inputs: { updateOn: "updateOn", validateInitValues: "validateInitValues" }, outputs: { onValidate: "onValidate", updateOnChange: "updateOnChange" }, usesInheritance: true, ngImport: i0, template: '<form (submit)="_handleSubmit($event)" (reset)="_handleReset($event)"><ng-content></ng-content></form>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
164
+ AXFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXFormComponent, selector: "ax-form", inputs: { validationMessageMode: "validationMessageMode", updateOn: "updateOn", validateInitValues: "validateInitValues" }, outputs: { onValidate: "onValidate", updateOnChange: "updateOnChange" }, usesInheritance: true, ngImport: i0, template: '<form (submit)="_handleSubmit($event)" (reset)="_handleReset($event)" class="ax-{{validationMessageMode}}-error"><ng-content></ng-content></form>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
165
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFormComponent, decorators: [{
166
166
  type: Component,
167
167
  args: [{
168
168
  selector: 'ax-form',
169
- template: '<form (submit)="_handleSubmit($event)" (reset)="_handleReset($event)"><ng-content></ng-content></form>',
169
+ template: '<form (submit)="_handleSubmit($event)" (reset)="_handleReset($event)" class="ax-{{validationMessageMode}}-error"><ng-content></ng-content></form>',
170
170
  encapsulation: ViewEncapsulation.None,
171
171
  changeDetection: ChangeDetectionStrategy.OnPush,
172
172
  }]
173
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onValidate: [{
173
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { validationMessageMode: [{
174
+ type: Input
175
+ }], onValidate: [{
174
176
  type: Output
175
177
  }], updateOnChange: [{
176
178
  type: Output
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../projects/acorex/components/form/src/form-field.component.ts","../../../../projects/acorex/components/form/src/form.component.ts","../../../../projects/acorex/components/form/src/validation-rule.widget.ts","../../../../projects/acorex/components/form/src/validation-summary.component.ts","../../../../projects/acorex/components/form/src/form.module.ts","../../../../projects/acorex/components/form/acorex-components-form.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-form-field',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./form-field.component.scss'],\r\n host: { class: 'ax-form-field' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { AXEvent } from '@acorex/components/common';\r\nimport { AXFormValidationResult } from './validation.class';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n* Contains native event\r\n* @category Events\r\n*/\r\nexport class AXFormValidationEvent extends AXEvent {\r\n result: AXFormValidationResult;\r\n}\r\n\r\n/**\r\n* Contains native event\r\n* @category Events\r\n*/\r\nexport type AXFormUpdateOn = 'change' | 'blur' | 'manual';\r\n\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-form',\r\n template: '<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset($event)\"><ng-content></ng-content></form>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormComponent extends AXBaseComponentMixin {\r\n\r\n\r\n @Output()\r\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\r\n\r\n\r\n @Output()\r\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\r\n\r\n private _updateOn: AXFormUpdateOn = 'blur';\r\n @Input()\r\n public get updateOn(): AXFormUpdateOn {\r\n return this._updateOn;\r\n }\r\n public set updateOn(v: AXFormUpdateOn) {\r\n this._setOption({\r\n name: 'updateOn',\r\n value: v,\r\n afterCallback: (oldValue?, newValue?) => {\r\n this._bindEvents();\r\n },\r\n })\r\n }\r\n\r\n @Input()\r\n validateInitValues: boolean = false;\r\n\r\n\r\n private _observer: MutationObserver;\r\n private _subs: Subscription[] = [];\r\n\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n _handleSubmit(e:SubmitEvent)\r\n {\r\n e.preventDefault();\r\n this.validate();\r\n }\r\n\r\n _handleReset(e:Event)\r\n {\r\n this.clear();\r\n }\r\n\r\n private _getComponenets() {\r\n return Array.from(\r\n this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]')\r\n ).map((c) => (c as any).__axContext__);\r\n }\r\n\r\n onViewInit(): void {\r\n if (this.validateInitValues) {\r\n this._validateInitValues();\r\n }\r\n this._bindEvents();\r\n\r\n const config = { attributes: false, childList: true, subtree: true };\r\n const callback = (mutationList, observer) => {\r\n this._bindEvents();\r\n };\r\n\r\n // Create an observer instance linked to the callback function\r\n this._observer = new MutationObserver(callback);\r\n this._observer.observe(this._getHostElement(), config);\r\n }\r\n\r\n private _bindEvents() {\r\n this._clearSubs();\r\n const widgets = this._getComponenets()\r\n //\r\n widgets.forEach(w => {\r\n if (this.updateOn == 'change') {\r\n this._subs.push(w.onValueChanged?.subscribe(v => {\r\n w.validate();\r\n }));\r\n }\r\n else if (this.updateOn == 'blur') {\r\n this._subs.push(w.onBlur?.subscribe(v => {\r\n w.validate();\r\n }));\r\n }\r\n })\r\n }\r\n\r\n private _clearSubs() {\r\n this._subs.forEach(c => c.unsubscribe())\r\n this._subs = [];\r\n }\r\n\r\n private _validateInitValues() {\r\n this._getComponenets()\r\n .filter(c => c['value'])\r\n .forEach(c => c.validate());\r\n }\r\n\r\n\r\n\r\n validate(...args: string[]): Promise<AXFormValidationResult> {\r\n const widgets = this._getComponenets();\r\n if (widgets.length === 0) {\r\n this._emitOnValidateEvent({ result: true });\r\n return Promise.resolve({ result: true });\r\n }\r\n //\r\n return new Promise<AXFormValidationResult>((resolve, reject) => {\r\n Promise.all(widgets\r\n .filter(c => (args == null || args.length == 0) || args.includes(c.name))\r\n .map((c) => c.validate()))\r\n .then((rules: any) => {\r\n const failed = rules.filter((c: any) => !c.result);\r\n if (failed.length) {\r\n this._emitOnValidateEvent({\r\n result: false,\r\n items: failed\r\n });\r\n resolve({\r\n result: false,\r\n items: failed\r\n });\r\n }\r\n else {\r\n this._emitOnValidateEvent({ result: true });\r\n resolve({ result: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _emitOnValidateEvent(e: AXFormValidationResult) {\r\n this.onValidate.emit({\r\n component: this,\r\n result: e,\r\n htmlElement: this._getHostElement(),\r\n })\r\n }\r\n\r\n clear() {\r\n const widgets = this._getComponenets();\r\n widgets.forEach(w => {\r\n w.clear();\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n this._observer.disconnect();\r\n this._observer = null;\r\n this._clearSubs();\r\n }\r\n}","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n AXValidationRuleResult,\r\n AXValidationRule,\r\n AXValidationRuleTypes,\r\n} from './validation.class';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\n\r\n@Component({\r\n selector: 'ax-validation-rule',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXValidationRuleComponent\r\n extends AXBaseComponentMixin\r\n implements AXValidationRule {\r\n @Input()\r\n rule: AXValidationRuleTypes = 'required';\r\n\r\n @Input()\r\n message: string;\r\n\r\n @Input()\r\n showMessage: boolean = true;\r\n\r\n @Input()\r\n value: any;\r\n\r\n @Input()\r\n enabled: boolean = true;\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n (this._getHostElement() as any).validate = this.validate.bind(this);\r\n }\r\n\r\n validate(value: any): Promise<AXValidationRuleResult> {\r\n if (this.enabled === false) {\r\n return Promise.resolve({ result: true });\r\n }\r\n if (this.rule == 'custom') {\r\n const regRule = AXConfig.get(`form.validation.rules.${this.value}`);\r\n if (regRule) {\r\n return this._internalValidate(\r\n regRule.rule,\r\n value,\r\n this.message || regRule.message,\r\n regRule.value\r\n );\r\n }\r\n }\r\n return this._internalValidate(this.rule, value, this.message, this.value);\r\n }\r\n\r\n private _internalValidate(\r\n type: string,\r\n value?: any,\r\n message?: string,\r\n ruleValue?: any\r\n ): Promise<AXValidationRuleResult> {\r\n return new Promise<AXValidationRuleResult>((resolve) => {\r\n switch (type) {\r\n case 'required':\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.required')\r\n : '',\r\n result: !this._isNullOrEmpty(value)\r\n });\r\n break;\r\n case 'regex':\r\n const ex = new RegExp(ruleValue);\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.regex')\r\n : '',\r\n result: ex.test(value),\r\n });\r\n break;\r\n case 'callback':\r\n if (typeof ruleValue === 'function') {\r\n const res: any = {};\r\n res.message = this.showMessage ? message : null;\r\n const val = ruleValue({ value, message });\r\n if (val instanceof Promise) {\r\n val\r\n .then((c) => {\r\n res.result = c;\r\n })\r\n .catch((c) => {\r\n res.result = false;\r\n })\r\n .finally(() => {\r\n resolve(res);\r\n });\r\n } else {\r\n res.result = val;\r\n resolve(res);\r\n }\r\n } else {\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\r\n result: false,\r\n });\r\n }\r\n break;\r\n default:\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\r\n result: false,\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n private _isNullOrEmpty(value: any): boolean {\r\n return (value === undefined ||\r\n value === null ||\r\n value === NaN ||\r\n //(typeof value === 'object' && Object.keys(value).length === 0) ||\r\n (Array.isArray(value) && value.length == 0) ||\r\n (typeof value === 'string' && value.trim().length === 0));\r\n }\r\n}\r\n","import { AXTranslator } from \"@acorex/core/translation\";\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\r\nimport { AXEvent } from \"@acorex/components/common\";\r\nimport { AXToastService } from \"@acorex/components/toast\";\r\nimport { AXFormComponent } from \"./form.component\";\r\nimport { AXBaseComponentMixin } from \"@acorex/components/mixin\";\r\n\r\n\r\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\r\n\r\n@Component({\r\n selector: 'ax-validation-summary',\r\n template: `\r\n <ax-alert color=\"danger\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed($event)\">\r\n <ax-icon></ax-icon>\r\n <ax-title>{{title}}</ax-title>\r\n <ax-content>\r\n <div [innerHTML]=\"_content\">\r\n </div>\r\n </ax-content>\r\n <ax-footer>\r\n <ax-suffix>\r\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\r\n </ax-suffix>\r\n </ax-footer>\r\n </ax-alert>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXValidationSummaryComponent extends AXBaseComponentMixin {\r\n\r\n _content?: string = '';\r\n\r\n private _title: string = AXTranslator.get('validation.messages.title');\r\n\r\n @Input()\r\n public get title(): string {\r\n return this._title;\r\n }\r\n public set title(v: string) {\r\n this._title = v;\r\n }\r\n\r\n\r\n @Input()\r\n displayMode: AXValidationSummaryDisplayMode = 'toast';\r\n\r\n @Input()\r\n timeOut?: number;\r\n\r\n @Input()\r\n autoHide: boolean = false;\r\n\r\n _timeOut: number;\r\n\r\n constructor(\r\n _elementRef: ElementRef,\r\n _cdr: ChangeDetectorRef,\r\n private _tosatService: AXToastService,\r\n @Optional()\r\n @Inject(AXFormComponent)\r\n private _parent: AXFormComponent\r\n ) {\r\n super(_elementRef, _cdr);\r\n //\r\n _parent.onValidate.subscribe((c: any) => {\r\n if (!c.result.result) {\r\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\r\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\r\n //\r\n if (this.displayMode == 'toast') {\r\n this._tosatService.show({\r\n color: 'danger',\r\n closeable: true,\r\n timeOut: this._timeOut,\r\n content: this._content,\r\n title: this.title\r\n });\r\n }\r\n }\r\n else {\r\n this._content = '';\r\n }\r\n _cdr.markForCheck();\r\n });\r\n }\r\n\r\n _handleOnDismissed(e: AXEvent) {\r\n this._content = '';\r\n }\r\n}","import { AXAlertModule } from '@acorex/components/alert';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AXFormFieldComponent } from './form-field.component';\r\nimport { AXFormComponent } from './form.component';\r\nimport { AXValidationRuleComponent } from './validation-rule.widget';\r\nimport { AXValidationSummaryComponent } from './validation-summary.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\r\n exports: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXFormModule {\r\n constructor() {\r\n AXConfig.set({\r\n form: {\r\n validation: {\r\n rules: {\r\n email: {\r\n rule: 'regex',\r\n value:\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n message: AXTranslator.get('validation.messages.email'),\r\n },\r\n phone: {\r\n rule: 'regex',\r\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\r\n message: AXTranslator.get('validation.messages.phone'),\r\n },\r\n },\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../projects/acorex/components/form/src/form-field.component.ts","../../../../projects/acorex/components/form/src/form.component.ts","../../../../projects/acorex/components/form/src/validation-rule.widget.ts","../../../../projects/acorex/components/form/src/validation-summary.component.ts","../../../../projects/acorex/components/form/src/form.module.ts","../../../../projects/acorex/components/form/acorex-components-form.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-form-field',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./form-field.component.scss'],\r\n host: { class: 'ax-form-field' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AXEvent } from '@acorex/components/common';\r\nimport { AXFormValidationResult } from './validation.class';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXFormValidationEvent extends AXEvent {\r\n result: AXFormValidationResult;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport type AXFormUpdateOn = 'change' | 'blur' | 'manual';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-form',\r\n template:\r\n '<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset($event)\" class=\"ax-{{validationMessageMode}}-error\"><ng-content></ng-content></form>',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXFormComponent extends AXBaseComponentMixin {\r\n @Input() validationMessageMode: 'normal' | 'tooltip' = 'normal';\r\n\r\n @Output()\r\n onValidate: EventEmitter<AXFormValidationEvent> =\r\n new EventEmitter<AXFormValidationEvent>();\r\n\r\n @Output()\r\n updateOnChange: EventEmitter<AXFormUpdateOn> =\r\n new EventEmitter<AXFormUpdateOn>();\r\n\r\n private _updateOn: AXFormUpdateOn = 'blur';\r\n @Input()\r\n public get updateOn(): AXFormUpdateOn {\r\n return this._updateOn;\r\n }\r\n public set updateOn(v: AXFormUpdateOn) {\r\n this._setOption({\r\n name: 'updateOn',\r\n value: v,\r\n afterCallback: (oldValue?, newValue?) => {\r\n this._bindEvents();\r\n },\r\n });\r\n }\r\n\r\n @Input()\r\n validateInitValues: boolean = false;\r\n\r\n private _observer: MutationObserver;\r\n private _subs: Subscription[] = [];\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n _handleSubmit(e: SubmitEvent) {\r\n e.preventDefault();\r\n this.validate();\r\n }\r\n\r\n _handleReset(e: Event) {\r\n this.clear();\r\n }\r\n\r\n private _getComponenets() {\r\n return Array.from(\r\n this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]')\r\n ).map(c => (c as any).__axContext__);\r\n }\r\n\r\n onViewInit(): void {\r\n if (this.validateInitValues) {\r\n this._validateInitValues();\r\n }\r\n this._bindEvents();\r\n\r\n const config = { attributes: false, childList: true, subtree: true };\r\n const callback = (mutationList, observer) => {\r\n this._bindEvents();\r\n };\r\n\r\n // Create an observer instance linked to the callback function\r\n this._observer = new MutationObserver(callback);\r\n this._observer.observe(this._getHostElement(), config);\r\n }\r\n\r\n private _bindEvents() {\r\n this._clearSubs();\r\n const widgets = this._getComponenets();\r\n //\r\n widgets.forEach(w => {\r\n if (this.updateOn == 'change') {\r\n this._subs.push(\r\n w.onValueChanged?.subscribe(v => {\r\n w.validate();\r\n })\r\n );\r\n } else if (this.updateOn == 'blur') {\r\n this._subs.push(\r\n w.onBlur?.subscribe(v => {\r\n w.validate();\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n private _clearSubs() {\r\n this._subs.forEach(c => c.unsubscribe());\r\n this._subs = [];\r\n }\r\n\r\n private _validateInitValues() {\r\n this._getComponenets()\r\n .filter(c => c['value'])\r\n .forEach(c => c.validate());\r\n }\r\n\r\n validate(...args: string[]): Promise<AXFormValidationResult> {\r\n const widgets = this._getComponenets();\r\n if (widgets.length === 0) {\r\n this._emitOnValidateEvent({ result: true });\r\n return Promise.resolve({ result: true });\r\n }\r\n //\r\n return new Promise<AXFormValidationResult>((resolve, reject) => {\r\n Promise.all(\r\n widgets\r\n .filter(\r\n c => args == null || args.length == 0 || args.includes(c.name)\r\n )\r\n .map(c => c.validate())\r\n ).then((rules: any) => {\r\n const failed = rules.filter((c: any) => !c.result);\r\n if (failed.length) {\r\n this._emitOnValidateEvent({\r\n result: false,\r\n items: failed,\r\n });\r\n resolve({\r\n result: false,\r\n items: failed,\r\n });\r\n } else {\r\n this._emitOnValidateEvent({ result: true });\r\n resolve({ result: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _emitOnValidateEvent(e: AXFormValidationResult) {\r\n this.onValidate.emit({\r\n component: this,\r\n result: e,\r\n htmlElement: this._getHostElement(),\r\n });\r\n }\r\n\r\n clear() {\r\n const widgets = this._getComponenets();\r\n widgets.forEach(w => {\r\n w.clear();\r\n });\r\n }\r\n\r\n onDestroy(): void {\r\n this._observer.disconnect();\r\n this._observer = null;\r\n this._clearSubs();\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n AXValidationRuleResult,\r\n AXValidationRule,\r\n AXValidationRuleTypes,\r\n} from './validation.class';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\n\r\n@Component({\r\n selector: 'ax-validation-rule',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXValidationRuleComponent\r\n extends AXBaseComponentMixin\r\n implements AXValidationRule {\r\n @Input()\r\n rule: AXValidationRuleTypes = 'required';\r\n\r\n @Input()\r\n message: string;\r\n\r\n @Input()\r\n showMessage: boolean = true;\r\n\r\n @Input()\r\n value: any;\r\n\r\n @Input()\r\n enabled: boolean = true;\r\n\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n (this._getHostElement() as any).validate = this.validate.bind(this);\r\n }\r\n\r\n validate(value: any): Promise<AXValidationRuleResult> {\r\n if (this.enabled === false) {\r\n return Promise.resolve({ result: true });\r\n }\r\n if (this.rule == 'custom') {\r\n const regRule = AXConfig.get(`form.validation.rules.${this.value}`);\r\n if (regRule) {\r\n return this._internalValidate(\r\n regRule.rule,\r\n value,\r\n this.message || regRule.message,\r\n regRule.value\r\n );\r\n }\r\n }\r\n return this._internalValidate(this.rule, value, this.message, this.value);\r\n }\r\n\r\n private _internalValidate(\r\n type: string,\r\n value?: any,\r\n message?: string,\r\n ruleValue?: any\r\n ): Promise<AXValidationRuleResult> {\r\n return new Promise<AXValidationRuleResult>((resolve) => {\r\n switch (type) {\r\n case 'required':\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.required')\r\n : '',\r\n result: !this._isNullOrEmpty(value)\r\n });\r\n break;\r\n case 'regex':\r\n const ex = new RegExp(ruleValue);\r\n resolve({\r\n message: this.showMessage\r\n ? message || AXTranslator.get('validation.messages.regex')\r\n : '',\r\n result: ex.test(value),\r\n });\r\n break;\r\n case 'callback':\r\n if (typeof ruleValue === 'function') {\r\n const res: any = {};\r\n res.message = this.showMessage ? message : null;\r\n const val = ruleValue({ value, message });\r\n if (val instanceof Promise) {\r\n val\r\n .then((c) => {\r\n res.result = c;\r\n })\r\n .catch((c) => {\r\n res.result = false;\r\n })\r\n .finally(() => {\r\n resolve(res);\r\n });\r\n } else {\r\n res.result = val;\r\n resolve(res);\r\n }\r\n } else {\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\r\n result: false,\r\n });\r\n }\r\n break;\r\n default:\r\n resolve({\r\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\r\n result: false,\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n private _isNullOrEmpty(value: any): boolean {\r\n return (value === undefined ||\r\n value === null ||\r\n value === NaN ||\r\n //(typeof value === 'object' && Object.keys(value).length === 0) ||\r\n (Array.isArray(value) && value.length == 0) ||\r\n (typeof value === 'string' && value.trim().length === 0));\r\n }\r\n}\r\n","import { AXTranslator } from \"@acorex/core/translation\";\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\r\nimport { AXEvent } from \"@acorex/components/common\";\r\nimport { AXToastService } from \"@acorex/components/toast\";\r\nimport { AXFormComponent } from \"./form.component\";\r\nimport { AXBaseComponentMixin } from \"@acorex/components/mixin\";\r\n\r\n\r\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\r\n\r\n@Component({\r\n selector: 'ax-validation-summary',\r\n template: `\r\n <ax-alert color=\"danger\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed($event)\">\r\n <ax-icon></ax-icon>\r\n <ax-title>{{title}}</ax-title>\r\n <ax-content>\r\n <div [innerHTML]=\"_content\">\r\n </div>\r\n </ax-content>\r\n <ax-footer>\r\n <ax-suffix>\r\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\r\n </ax-suffix>\r\n </ax-footer>\r\n </ax-alert>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXValidationSummaryComponent extends AXBaseComponentMixin {\r\n\r\n _content?: string = '';\r\n\r\n private _title: string = AXTranslator.get('validation.messages.title');\r\n\r\n @Input()\r\n public get title(): string {\r\n return this._title;\r\n }\r\n public set title(v: string) {\r\n this._title = v;\r\n }\r\n\r\n\r\n @Input()\r\n displayMode: AXValidationSummaryDisplayMode = 'toast';\r\n\r\n @Input()\r\n timeOut?: number;\r\n\r\n @Input()\r\n autoHide: boolean = false;\r\n\r\n _timeOut: number;\r\n\r\n constructor(\r\n _elementRef: ElementRef,\r\n _cdr: ChangeDetectorRef,\r\n private _tosatService: AXToastService,\r\n @Optional()\r\n @Inject(AXFormComponent)\r\n private _parent: AXFormComponent\r\n ) {\r\n super(_elementRef, _cdr);\r\n //\r\n _parent.onValidate.subscribe((c: any) => {\r\n if (!c.result.result) {\r\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\r\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\r\n //\r\n if (this.displayMode == 'toast') {\r\n this._tosatService.show({\r\n color: 'danger',\r\n closeable: true,\r\n timeOut: this._timeOut,\r\n content: this._content,\r\n title: this.title\r\n });\r\n }\r\n }\r\n else {\r\n this._content = '';\r\n }\r\n _cdr.markForCheck();\r\n });\r\n }\r\n\r\n _handleOnDismissed(e: AXEvent) {\r\n this._content = '';\r\n }\r\n}","import { AXAlertModule } from '@acorex/components/alert';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXConfig } from '@acorex/core/config';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AXFormFieldComponent } from './form-field.component';\r\nimport { AXFormComponent } from './form.component';\r\nimport { AXValidationRuleComponent } from './validation-rule.widget';\r\nimport { AXValidationSummaryComponent } from './validation-summary.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\r\n exports: [\r\n AXFormFieldComponent,\r\n AXFormComponent,\r\n AXValidationRuleComponent,\r\n AXValidationSummaryComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXFormModule {\r\n constructor() {\r\n AXConfig.set({\r\n form: {\r\n validation: {\r\n rules: {\r\n email: {\r\n rule: 'regex',\r\n value:\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n message: AXTranslator.get('validation.messages.email'),\r\n },\r\n phone: {\r\n rule: 'regex',\r\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\r\n message: AXTranslator.get('validation.messages.phone'),\r\n },\r\n },\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1004,14 +1004,14 @@ function _ValueComponenetMixin(Base) {
1004
1004
  var _readonly, _allowNull, _name, _isUserInteraction, _value, _state, _a;
1005
1005
  return _a = class extends Base {
1006
1006
  /**
1007
- * @ignore
1008
- */
1007
+ * @ignore
1008
+ */
1009
1009
  constructor(...args) {
1010
1010
  super(...args);
1011
1011
  /**
1012
- * Fires each time the user press a key.
1013
- * @event
1014
- */
1012
+ * Fires each time the user press a key.
1013
+ * @event
1014
+ */
1015
1015
  this.onValueChanged = new EventEmitter();
1016
1016
  this.valueChange = new EventEmitter();
1017
1017
  _readonly.set(this, false);
@@ -1022,8 +1022,8 @@ function _ValueComponenetMixin(Base) {
1022
1022
  _state.set(this, 'clear');
1023
1023
  }
1024
1024
  /**
1025
- * If set to true, user cannot change the value of component.
1026
- */
1025
+ * If set to true, user cannot change the value of component.
1026
+ */
1027
1027
  get readonly() {
1028
1028
  return __classPrivateFieldGet(this, _readonly, "f");
1029
1029
  }
@@ -1057,7 +1057,10 @@ function _ValueComponenetMixin(Base) {
1057
1057
  __classPrivateFieldSet(this, _value, v, "f");
1058
1058
  this._emitOnValueChangedEvent(old, __classPrivateFieldGet(this, _value, "f"));
1059
1059
  this._cdr.markForCheck();
1060
- if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {
1060
+ if (v == null ||
1061
+ v == undefined ||
1062
+ v == '' ||
1063
+ (Array.isArray(v) && v.length == 0)) {
1061
1064
  this._setState('clear');
1062
1065
  }
1063
1066
  // else {
@@ -1067,7 +1070,7 @@ function _ValueComponenetMixin(Base) {
1067
1070
  // }
1068
1071
  }
1069
1072
  __classPrivateFieldSet(this, _isUserInteraction, false, "f");
1070
- //}
1073
+ //}
1071
1074
  }
1072
1075
  get state() {
1073
1076
  return __classPrivateFieldGet(this, _state, "f");
@@ -1079,7 +1082,7 @@ function _ValueComponenetMixin(Base) {
1079
1082
  value: newValue,
1080
1083
  oldValue: oldValue,
1081
1084
  name: this.name,
1082
- isUserInteraction: this.isUserInteraction
1085
+ isUserInteraction: this.isUserInteraction,
1083
1086
  });
1084
1087
  this._onValueChanged(oldValue, __classPrivateFieldGet(this, _value, "f"));
1085
1088
  }
@@ -1110,36 +1113,53 @@ function _ValueComponenetMixin(Base) {
1110
1113
  this.value = null;
1111
1114
  }
1112
1115
  validate() {
1113
- const rules = Array.from(this._getHostElement().querySelectorAll('ax-validation-rule')).filter((c) => c.__axContext__.enabled);
1116
+ const rules = Array.from(this._getHostElement().querySelectorAll('ax-validation-rule')).filter(c => c.__axContext__.enabled);
1114
1117
  //
1115
1118
  if (!rules || rules.length === 0) {
1116
1119
  this._setState('clear');
1117
- return Promise.resolve({ result: true, value: this.value, name: this.name, id: this.id });
1120
+ return Promise.resolve({
1121
+ result: true,
1122
+ value: this.value,
1123
+ name: this.name,
1124
+ id: this.id,
1125
+ });
1118
1126
  }
1119
- return new Promise((resolve) => {
1127
+ return new Promise(resolve => {
1120
1128
  Promise.all(rules
1121
- .filter((c) => typeof c?.validate === 'function')
1122
- .map((c) => {
1129
+ .filter(c => typeof c?.validate === 'function')
1130
+ .map(c => {
1123
1131
  return c.validate(this.value);
1124
- })).then((d) => {
1125
- const error = d.find((c) => c.result === false);
1132
+ })).then(d => {
1133
+ const error = d.find(c => c.result === false);
1126
1134
  if (error) {
1127
1135
  this._setState('error', error.message);
1128
- resolve({ result: false, value: this.value, message: error.message, name: this.name, id: this.id });
1136
+ resolve({
1137
+ result: false,
1138
+ value: this.value,
1139
+ message: error.message,
1140
+ name: this.name,
1141
+ id: this.id,
1142
+ });
1129
1143
  }
1130
1144
  else {
1131
1145
  this._setState('success');
1132
- resolve({ result: true, value: this.value, name: this.name, id: this.id });
1146
+ resolve({
1147
+ result: true,
1148
+ value: this.value,
1149
+ name: this.name,
1150
+ id: this.id,
1151
+ });
1133
1152
  }
1134
1153
  });
1135
1154
  });
1136
1155
  }
1137
1156
  _setState(state, ...args) {
1138
- const container = this._getHostElement().classList.contains('ax-editor-container') ?
1139
- this._getHostElement() :
1140
- this._getHostElement().querySelector('.ax-editor-container');
1157
+ const container = this._getHostElement().classList.contains('ax-editor-container')
1158
+ ? this._getHostElement()
1159
+ : this._getHostElement().querySelector('.ax-editor-container');
1141
1160
  const formField = container?.closest('.ax-form-field');
1142
- const label = formField?.querySelector('ax-label') || formField?.querySelector('label');
1161
+ const label = formField?.querySelector('ax-label') ||
1162
+ formField?.querySelector('label');
1143
1163
  let target = container || this._getInnerElement();
1144
1164
  if (target?.querySelector('.ax-error-container')) {
1145
1165
  target = target.querySelector('.ax-error-container');
@@ -1190,7 +1210,7 @@ const VALUE_INPUTS = [
1190
1210
  'allowNull',
1191
1211
  'value',
1192
1212
  'name',
1193
- 'checked'
1213
+ 'checked',
1194
1214
  ];
1195
1215
  const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];
1196
1216