@theseam/ui-common 1.0.0-beta.0 → 1.0.0-beta.10

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 (153) hide show
  1. package/breadcrumbs/index.d.ts +1 -2
  2. package/buttons/index.d.ts +20 -13
  3. package/datatable/index.d.ts +77 -39
  4. package/dynamic/index.d.ts +5 -5
  5. package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
  6. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
  8. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
  10. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-card.mjs +21 -21
  12. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
  14. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
  16. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
  18. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-core.mjs +31 -11
  20. package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
  22. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
  24. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
  26. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
  28. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-datatable.mjs +727 -420
  30. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
  32. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
  34. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
  36. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
  38. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-form-field.mjs +129 -76
  40. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-framework.mjs +669 -543
  42. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
  44. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-graphql.mjs +311 -254
  46. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-icon.mjs +125 -89
  48. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-layout.mjs +18 -26
  50. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-loading.mjs +19 -28
  52. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-menu.mjs +124 -95
  54. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-modal.mjs +178 -129
  56. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-models.mjs +3 -3
  58. package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
  60. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-popover.mjs +81 -88
  62. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-progress.mjs +15 -19
  64. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
  66. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
  68. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-services.mjs +41 -26
  70. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-shared.mjs +149 -159
  72. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-storage.mjs +9 -6
  74. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
  76. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
  78. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-table-cell-type.mjs +63 -39
  80. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
  82. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-table.mjs +62 -41
  84. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
  86. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-testing.mjs +13 -10
  88. package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
  90. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
  92. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
  94. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
  96. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  97. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
  98. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  99. package/fesm2022/theseam-ui-common-utils.mjs +113 -77
  100. package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
  101. package/fesm2022/theseam-ui-common-validators.mjs +10 -9
  102. package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
  103. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
  104. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  105. package/fesm2022/theseam-ui-common-viewers.mjs +80 -53
  106. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  107. package/fesm2022/theseam-ui-common-widget.mjs +288 -314
  108. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  109. package/form-field/index.d.ts +1 -1
  110. package/framework/base-layout/base-layout.component.scss +9 -4
  111. package/framework/base-layout/styles/_variables.scss +4 -9
  112. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
  113. package/framework/index.d.ts +6 -6
  114. package/framework/nav/nav-item/nav-item.component.scss +7 -6
  115. package/framework/nav/styles/_themes/light/_variables.scss +21 -5
  116. package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
  117. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
  118. package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
  119. package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
  120. package/graphql/index.d.ts +49 -7
  121. package/modal/README.md +5 -5
  122. package/modal/index.d.ts +1 -1
  123. package/models/index.d.ts +1 -1
  124. package/package.json +59 -60
  125. package/popover/index.d.ts +0 -2
  126. package/progress/progress-circle/styles/_variables.scss +15 -3
  127. package/shared/index.d.ts +0 -13
  128. package/story-helpers/index.d.ts +11 -1
  129. package/styles/bootstrap/_bootstrap.scss +34 -34
  130. package/styles/bootstrap/_bs-styles.scss +4 -8
  131. package/styles/bootstrap/_bs-utilities.scss +4 -4
  132. package/styles/bootstrap/_bs-variables.scss +65 -70
  133. package/styles/common/_forms.scss +9 -10
  134. package/styles/common/_global.scss +0 -1
  135. package/styles/common/_hacks.scss +1 -1
  136. package/styles/common/_table.scss +0 -1
  137. package/styles/common/_text.scss +3 -1
  138. package/styles/theme.scss +1 -1
  139. package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
  140. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
  141. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
  142. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
  143. package/styles/vendor/quill/_quill.scss +15 -9
  144. package/table/index.d.ts +4 -1
  145. package/table-cell-type/index.d.ts +27 -2
  146. package/tel-input/README.md +27 -27
  147. package/utils/index.d.ts +3 -3
  148. package/viewers/index.d.ts +9 -2
  149. package/widget/_widget-theme.scss +1 -1
  150. package/widget/styles/_variables.scss +2 -2
  151. package/widget/widget/widget.component.scss +0 -2
  152. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
  153. package/widget/widget-footer/widget-footer.component.scss +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-form-field-error.mjs","sources":["../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item.directive.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.html","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.html","../../../projects/ui-common/form-field-error/form-field-error.module.ts","../../../projects/ui-common/form-field-error/theseam-ui-common-form-field-error.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItemTpl]',\n standalone: false\n})\nexport class FormFieldErrorListItemTplDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input() validatorName: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, Input, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItem]',\n standalone: false\n})\nexport class FormFieldErrorListItemDirective {\n\n @Input() validatorName: string | undefined | null\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Component, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-form-field-error',\n templateUrl: './form-field-error.component.html',\n styleUrls: ['./form-field-error.component.scss'],\n standalone: false\n})\nexport class FormFieldErrorComponent {\n\n @Input() validatorName: string | undefined | null\n @Input() message: string | undefined | null\n\n @Input() @InputBoolean() showValidatorName = false\n\n}\n","<em style=\"display: block;\">\n <span *ngIf=\"showValidatorName && validatorName\"\n style=\"font-weight: bold;\">{{ validatorName }}: </span>\n <span class=\"msg-text\">{{ message }}</span>\n</em>\n","import { Component, ContentChildren, DoCheck, HostBinding, Input, OnDestroy, QueryList, TemplateRef } from '@angular/core'\nimport { AbstractControl, AbstractControlDirective, ValidationErrors } from '@angular/forms'\nimport { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list-item-tpl.directive'\n\nexport interface IErrorRecord {\n validatorName: string\n error: any,\n message?: string\n template?: TemplateRef<any>\n\n external?: boolean\n\n _errors?: ValidationErrors\n}\n\n/**\n * NOTE: This class has some issues with filtering duplicate validators. The\n * inputs will be cleaned up soon to fix the input confusion.\n *\n * TODO: Cleanup remaining code from before refactor.\n */\n@Component({\n selector: 'seam-form-field-error-list',\n templateUrl: './form-field-error-list.component.html',\n styleUrls: ['./form-field-error-list.component.scss'],\n standalone: false\n})\nexport class FormFieldErrorListComponent implements OnDestroy, DoCheck {\n\n @HostBinding('style.display') get _display() {\n return this.showErrors ? 'block' : 'none'\n }\n\n private static readonly defaultMessages: { [name: string]: ((params: any) => string) | (() => string) } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private readonly _defaultMessages: { [name: string]: ((params: any) => string) | (() => string) } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private _errors: any[] = []\n\n public _paddingErrors = []\n\n @Input()\n set errors(records: IErrorRecord[] | undefined | null) {\n // if (val instanceof Array) {\n // this._errors = val\n // } else {\n // const errs = []\n // for (const k in val) {\n // if (val[k]) {\n // const err = val[k]\n // const newErr = {\n // validatorName: k,\n // error: err,\n // message: '',\n // template: err.template,\n // external: !!err.external\n // }\n\n // if (err.message) {\n // const msgTmp = err.message\n // if (typeof msgTmp === 'string') {\n // newErr.message = msgTmp\n // } else if (typeof msgTmp === 'function') {\n // newErr.message = msgTmp(err)\n // }\n // } else if (FormFieldErrorListComponent.defaultMessages[k]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[k]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs.push(newErr)\n // }\n // }\n // this._errors = errs\n // }\n\n this._initErrorInput(records || [])\n }\n\n // get errors() {\n // let errs = []\n\n // if (this._errors) {\n // if (!this.messages) {\n // errs = this._errors\n // } else {\n // errs = this._errors.map(err => {\n // if (this.messages && err.validatorName && this.messages[err.validatorName]) {\n // return Object.assign({}, err, {\n // message: this.messages[err.validatorName]\n // })\n // } else {\n // return err\n // }\n // })\n // }\n // }\n\n // if (this.control) {\n // for (const key in this.control.errors) {\n // if (this.control.errors[key]) {\n // const err = this.control.errors[key]\n\n // const newErr = {\n // validatorName: key,\n // error: err,\n // message: '',\n // external: false\n // }\n\n // if (FormFieldErrorListComponent.defaultMessages[key]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[key]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs = [ ...errs, newErr ]\n // }\n // }\n // }\n\n // if (this.maxErrors >= 0) {\n // errs = errs.slice(0, this.maxErrors)\n // }\n\n // const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n // if (count > 0) {\n // this._paddingErrors = []\n // for (let i = 0; i < count; i++) {\n // this._paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n // }\n // } else {\n // this._paddingErrors = []\n // }\n\n // return errs\n // }\n\n // @Input() messages: any = {}\n @Input() showValidatorName = false\n\n @Input() numPaddingErrors = 1\n\n // private errorTpl: TemplateRef<any>\n\n // private _listItemTpls: QueryList<FormFieldErrorListItemTplDirective>\n // private listItemTplsObj = {}\n\n @ContentChildren(FormFieldErrorListItemTplDirective)\n set _listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n }\n\n @Input()\n set listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n\n // for (const v of val.toArray()) {\n // if (v.validatorName !== undefined) {\n // this.listItemTplsObj[v.validatorName] = v\n // }\n // }\n\n // const tmp = val.find(v => v.validatorName === undefined)\n // if (tmp) {\n // this.errorTpl = tmp.template\n // }\n\n // this._listItemTpls = val\n }\n\n // get listItemTpls(): QueryList<FormFieldErrorListItemTplDirective> {\n // return this._listItemTpls\n // }\n\n @Input() maxErrors = -1\n\n @Input()\n get control(): AbstractControlDirective | AbstractControl | undefined | null { return this._control }\n set control(value: AbstractControlDirective | AbstractControl | undefined | null) {\n this._control = value\n if (value) {\n this._initControlListeners(value)\n }\n }\n private _control: AbstractControlDirective | AbstractControl | undefined | null\n\n private _valueChangeSub = Subscription.EMPTY\n private _errorTplsChangeSub = Subscription.EMPTY\n\n private _controlErrors = new BehaviorSubject<IErrorRecord[]>([])\n private _errorTpls = new BehaviorSubject<IErrorRecord[]>([])\n private _errorInput = new BehaviorSubject<IErrorRecord[]>([])\n\n private _showControlErrorsSubject = new BehaviorSubject<boolean>(false)\n\n public displayRecords$: Observable<IErrorRecord[]>\n public showControlErrors$: Observable<boolean>\n\n private _showErrors = true\n\n @Input()\n set showErrors(val: boolean) {\n this._showErrors = val\n }\n\n get showErrors(): boolean {\n let show = this._showErrors\n\n if (show && this.control) {\n if (this.numPaddingErrors > 0) {\n show = true\n } else {\n show = !!(this.control.invalid && (this.control.dirty || this.control.touched))\n }\n }\n\n return show\n }\n\n get showControlErrors(): boolean {\n let show = false\n if (this.control && this.showErrors) {\n show = !!(this.control.invalid && (this.control.dirty || this.control.touched))\n }\n\n return show\n }\n\n public errorRecords$: Observable<IErrorRecord[]>\n\n constructor() {\n this.showControlErrors$ = this._showControlErrorsSubject.asObservable()\n .pipe(distinctUntilChanged())\n .pipe(shareReplay(1))\n\n this.errorRecords$ = combineLatest([this._controlErrors, this._errorTpls, this._errorInput])\n .pipe(map(([ctrlErrs, errTpls, errorInput]) => this._composeErrorInputs(ctrlErrs, errTpls, errorInput)))\n .pipe(shareReplay(1))\n\n this.displayRecords$ = this.errorRecords$\n .pipe(map(records => {\n let resultRecords: IErrorRecord[] = []\n\n if (!this.showErrors) {\n // TODO: Implement\n } else {\n let errs = [ ...records ]\n\n if (this.maxErrors >= 0) {\n errs = errs.slice(0, this.maxErrors)\n }\n\n const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n const paddingErrors: IErrorRecord[] = []\n if (count > 0) {\n for (let i = 0; i < count; i++) {\n paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n }\n }\n\n if (this.showControlErrors) {\n resultRecords = [ ...errs, ...paddingErrors ]\n } else {\n resultRecords = [ ...paddingErrors ]\n }\n }\n\n return resultRecords\n }))\n .pipe(shareReplay(1))\n }\n\n ngOnDestroy() {\n this._valueChangeSub.unsubscribe()\n this._errorTplsChangeSub.unsubscribe()\n }\n\n ngDoCheck() {\n this._showControlErrorsSubject.next(this.showControlErrors)\n }\n\n private _initControlListeners(control: AbstractControlDirective | AbstractControl): void {\n // Unsubscribe from old control changes\n if (this._valueChangeSub && !this._valueChangeSub.closed) {\n this._valueChangeSub.unsubscribe()\n }\n\n if (control.valueChanges !== null) {\n this._valueChangeSub = combineLatest([this.showControlErrors$, control.valueChanges.pipe(startWith(undefined))])\n .pipe(startWith(undefined))\n .subscribe(_ => this._updateControlErrors(control.errors))\n } else {\n this._setControlErrors([])\n }\n }\n\n private _updateControlErrors(errors: ValidationErrors | null): void {\n const errs: IErrorRecord[] = []\n for (const validatorName in errors) {\n if (Object.prototype.hasOwnProperty.call(errors, validatorName)) {\n const error = errors[validatorName]\n const message = this._parseMessage(this._defaultMessages[validatorName], error)\n const external = false\n errs.push({ validatorName, error, message, external })\n }\n }\n this._setControlErrors(errs)\n }\n\n private _setControlErrors(errors: IErrorRecord[]) {\n this._controlErrors.next(errors)\n }\n\n private _parseMessage(message: any, error: any) {\n if (!message) { return }\n\n if (typeof message === 'string') {\n return message\n } else if (typeof message === 'function') {\n return message(error)\n }\n }\n\n private _initErrorTemplates(tplsQueryList: QueryList<FormFieldErrorListItemTplDirective>) {\n if (this._errorTplsChangeSub && !this._errorTplsChangeSub.closed) {\n this._errorTplsChangeSub.unsubscribe()\n }\n\n if (tplsQueryList) {\n this._errorTplsChangeSub = tplsQueryList.changes\n .pipe(startWith(undefined))\n .subscribe(_ => this._updateErrorTemplates(tplsQueryList.toArray()))\n } else {\n this._setErrorTemplates([])\n }\n }\n\n private _updateErrorTemplates(tplsList: FormFieldErrorListItemTplDirective[]): void {\n const errs: IErrorRecord[] = []\n for (const tpl of tplsList) {\n if (tpl.validatorName !== undefined && tpl.validatorName !== null) {\n errs.push({\n validatorName: tpl.validatorName,\n error: null,\n template: tpl.template,\n external: !!tpl.external\n })\n } else {\n // this.errorTpl = tpl.template\n }\n }\n this._setErrorTemplates(errs)\n }\n\n private _setErrorTemplates(errorTpls: IErrorRecord[]): void {\n this._errorTpls.next(errorTpls)\n }\n\n private _initErrorInput(errors: IErrorRecord[]): void {\n this._updateErrorInputs(errors)\n }\n\n private _updateErrorInputs(errors: IErrorRecord[]): void {\n this._setErrorInput(errors)\n }\n\n private _setErrorInput(errors: IErrorRecord[]): void {\n this._errorInput.next(errors)\n }\n\n private _composeErrorInputs(\n controlErrors: IErrorRecord[],\n errorTemplates: IErrorRecord[],\n errorInput: IErrorRecord[]\n ): IErrorRecord[] {\n const errs: IErrorRecord[] = []\n\n const errsMap: { [name: string]: IErrorRecord } = {}\n\n for (const err of controlErrors) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorInput) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorTemplates) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const validatorName in errsMap) {\n if (Object.prototype.hasOwnProperty.call(errsMap, validatorName)) {\n errs.push(errsMap[validatorName])\n }\n }\n\n const control = this.control\n if (!control) {\n return []\n }\n\n return errs\n .filter(err => this._isErrorValidator(control.errors, err.validatorName))\n .filter(err => !err.external)\n .map(err => ({\n ...err,\n error: control.errors ? control.errors[err.validatorName] : null,\n _errors: control.errors\n } as IErrorRecord))\n }\n\n private _isErrorValidator(errors: ValidationErrors | null, validatorName: string): boolean {\n if (!errors) {\n return false\n }\n const arr = validatorName.split(' ').filter(v => v.trim().length > 0)\n for (const item of arr) {\n if (Object.prototype.hasOwnProperty.call(errors, item)) {\n return true\n }\n }\n return false\n }\n\n}\n","<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{ $implicit: record.error, errors: record._errors }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\">\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list/form-field-error-list-item-tpl.directive'\nimport { FormFieldErrorListItemDirective } from './form-field-error-list/form-field-error-list-item.directive'\nimport { FormFieldErrorListComponent } from './form-field-error-list/form-field-error-list.component'\nimport { FormFieldErrorComponent } from './form-field-error/form-field-error.component'\n\n@NgModule({\n declarations: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective\n ]\n})\nexport class TheSeamFormFieldErrorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FormFieldErrorComponent"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-form-field-error.mjs","sources":["../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list-item.directive.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.ts","../../../projects/ui-common/form-field-error/form-field-error/form-field-error.component.html","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.ts","../../../projects/ui-common/form-field-error/form-field-error-list/form-field-error-list.component.html","../../../projects/ui-common/form-field-error/form-field-error.module.ts","../../../projects/ui-common/form-field-error/theseam-ui-common-form-field-error.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItemTpl]',\n standalone: false,\n})\nexport class FormFieldErrorListItemTplDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input() validatorName: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldErrorListItem]',\n standalone: false,\n})\nexport class FormFieldErrorListItemDirective {\n @Input() validatorName: string | undefined | null\n\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Component, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-form-field-error',\n templateUrl: './form-field-error.component.html',\n styleUrls: ['./form-field-error.component.scss'],\n standalone: false,\n})\nexport class FormFieldErrorComponent {\n @Input() validatorName: string | undefined | null\n @Input() message: string | undefined | null\n\n @Input() @InputBoolean() showValidatorName = false\n}\n","<em style=\"display: block\">\n <span *ngIf=\"showValidatorName && validatorName\" style=\"font-weight: bold\"\n >{{ validatorName }}:\n </span>\n <span class=\"msg-text\">{{ message }}</span>\n</em>\n","import {\n Component,\n ContentChildren,\n DoCheck,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef,\n} from '@angular/core'\nimport {\n AbstractControl,\n AbstractControlDirective,\n ValidationErrors,\n} from '@angular/forms'\nimport { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'\nimport {\n distinctUntilChanged,\n map,\n shareReplay,\n startWith,\n} from 'rxjs/operators'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list-item-tpl.directive'\n\nexport interface IErrorRecord {\n validatorName: string\n error: any\n message?: string\n template?: TemplateRef<any>\n\n external?: boolean\n\n _errors?: ValidationErrors\n}\n\n/**\n * NOTE: This class has some issues with filtering duplicate validators. The\n * inputs will be cleaned up soon to fix the input confusion.\n *\n * TODO: Cleanup remaining code from before refactor.\n */\n@Component({\n selector: 'seam-form-field-error-list',\n templateUrl: './form-field-error-list.component.html',\n styleUrls: ['./form-field-error-list.component.scss'],\n standalone: false,\n})\nexport class FormFieldErrorListComponent implements OnDestroy, DoCheck {\n @HostBinding('style.display') get _display() {\n return this.showErrors ? 'block' : 'none'\n }\n\n private static readonly defaultMessages: {\n [name: string]: ((params: any) => string) | (() => string)\n } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private readonly _defaultMessages: {\n [name: string]: ((params: any) => string) | (() => string)\n } = {\n // required: () => 'Required',\n // minlength: (params) => 'The min number of characters is ' + params.requiredLength,\n // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,\n // pattern: (params) => 'The required pattern is: ' + params.requiredPattern\n }\n\n private _errors: any[] = []\n\n public _paddingErrors = []\n\n @Input()\n set errors(records: IErrorRecord[] | undefined | null) {\n // if (val instanceof Array) {\n // this._errors = val\n // } else {\n // const errs = []\n // for (const k in val) {\n // if (val[k]) {\n // const err = val[k]\n // const newErr = {\n // validatorName: k,\n // error: err,\n // message: '',\n // template: err.template,\n // external: !!err.external\n // }\n\n // if (err.message) {\n // const msgTmp = err.message\n // if (typeof msgTmp === 'string') {\n // newErr.message = msgTmp\n // } else if (typeof msgTmp === 'function') {\n // newErr.message = msgTmp(err)\n // }\n // } else if (FormFieldErrorListComponent.defaultMessages[k]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[k]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs.push(newErr)\n // }\n // }\n // this._errors = errs\n // }\n\n this._initErrorInput(records || [])\n }\n\n // get errors() {\n // let errs = []\n\n // if (this._errors) {\n // if (!this.messages) {\n // errs = this._errors\n // } else {\n // errs = this._errors.map(err => {\n // if (this.messages && err.validatorName && this.messages[err.validatorName]) {\n // return Object.assign({}, err, {\n // message: this.messages[err.validatorName]\n // })\n // } else {\n // return err\n // }\n // })\n // }\n // }\n\n // if (this.control) {\n // for (const key in this.control.errors) {\n // if (this.control.errors[key]) {\n // const err = this.control.errors[key]\n\n // const newErr = {\n // validatorName: key,\n // error: err,\n // message: '',\n // external: false\n // }\n\n // if (FormFieldErrorListComponent.defaultMessages[key]) {\n // const defaultMsg = FormFieldErrorListComponent.defaultMessages[key]\n // if (typeof defaultMsg === 'string') {\n // newErr.message = defaultMsg\n // } else if (typeof defaultMsg === 'function') {\n // newErr.message = defaultMsg(err)\n // }\n // }\n\n // errs = [ ...errs, newErr ]\n // }\n // }\n // }\n\n // if (this.maxErrors >= 0) {\n // errs = errs.slice(0, this.maxErrors)\n // }\n\n // const count = this.showControlErrors ? this.numPaddingErrors - errs.length : this.numPaddingErrors\n // if (count > 0) {\n // this._paddingErrors = []\n // for (let i = 0; i < count; i++) {\n // this._paddingErrors.push({ validatorName: '__padding__', error: {}, message: '', external: false })\n // }\n // } else {\n // this._paddingErrors = []\n // }\n\n // return errs\n // }\n\n // @Input() messages: any = {}\n @Input() showValidatorName = false\n\n @Input() numPaddingErrors = 1\n\n // private errorTpl: TemplateRef<any>\n\n // private _listItemTpls: QueryList<FormFieldErrorListItemTplDirective>\n // private listItemTplsObj = {}\n\n @ContentChildren(FormFieldErrorListItemTplDirective)\n set _listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n }\n\n @Input()\n set listItemTpls(val: QueryList<FormFieldErrorListItemTplDirective>) {\n this._initErrorTemplates(val)\n\n // for (const v of val.toArray()) {\n // if (v.validatorName !== undefined) {\n // this.listItemTplsObj[v.validatorName] = v\n // }\n // }\n\n // const tmp = val.find(v => v.validatorName === undefined)\n // if (tmp) {\n // this.errorTpl = tmp.template\n // }\n\n // this._listItemTpls = val\n }\n\n // get listItemTpls(): QueryList<FormFieldErrorListItemTplDirective> {\n // return this._listItemTpls\n // }\n\n @Input() maxErrors = -1\n\n @Input()\n get control(): AbstractControlDirective | AbstractControl | undefined | null {\n return this._control\n }\n set control(\n value: AbstractControlDirective | AbstractControl | undefined | null,\n ) {\n this._control = value\n if (value) {\n this._initControlListeners(value)\n }\n }\n private _control:\n | AbstractControlDirective\n | AbstractControl\n | undefined\n | null\n\n private _valueChangeSub = Subscription.EMPTY\n private _errorTplsChangeSub = Subscription.EMPTY\n\n private _controlErrors = new BehaviorSubject<IErrorRecord[]>([])\n private _errorTpls = new BehaviorSubject<IErrorRecord[]>([])\n private _errorInput = new BehaviorSubject<IErrorRecord[]>([])\n\n private _showControlErrorsSubject = new BehaviorSubject<boolean>(false)\n\n public displayRecords$: Observable<IErrorRecord[]>\n public showControlErrors$: Observable<boolean>\n\n private _showErrors = true\n\n @Input()\n set showErrors(val: boolean) {\n this._showErrors = val\n }\n\n get showErrors(): boolean {\n let show = this._showErrors\n\n if (show && this.control) {\n if (this.numPaddingErrors > 0) {\n show = true\n } else {\n show = !!(\n this.control.invalid &&\n (this.control.dirty || this.control.touched)\n )\n }\n }\n\n return show\n }\n\n get showControlErrors(): boolean {\n let show = false\n if (this.control && this.showErrors) {\n show = !!(\n this.control.invalid &&\n (this.control.dirty || this.control.touched)\n )\n }\n\n return show\n }\n\n public errorRecords$: Observable<IErrorRecord[]>\n\n constructor() {\n this.showControlErrors$ = this._showControlErrorsSubject\n .asObservable()\n .pipe(distinctUntilChanged())\n .pipe(shareReplay(1))\n\n this.errorRecords$ = combineLatest([\n this._controlErrors,\n this._errorTpls,\n this._errorInput,\n ])\n .pipe(\n map(([ctrlErrs, errTpls, errorInput]) =>\n this._composeErrorInputs(ctrlErrs, errTpls, errorInput),\n ),\n )\n .pipe(shareReplay(1))\n\n this.displayRecords$ = this.errorRecords$\n .pipe(\n map((records) => {\n let resultRecords: IErrorRecord[] = []\n\n if (!this.showErrors) {\n // TODO: Implement\n } else {\n let errs = [...records]\n\n if (this.maxErrors >= 0) {\n errs = errs.slice(0, this.maxErrors)\n }\n\n const count = this.showControlErrors\n ? this.numPaddingErrors - errs.length\n : this.numPaddingErrors\n const paddingErrors: IErrorRecord[] = []\n if (count > 0) {\n for (let i = 0; i < count; i++) {\n paddingErrors.push({\n validatorName: '__padding__',\n error: {},\n message: '',\n external: false,\n })\n }\n }\n\n if (this.showControlErrors) {\n resultRecords = [...errs, ...paddingErrors]\n } else {\n resultRecords = [...paddingErrors]\n }\n }\n\n return resultRecords\n }),\n )\n .pipe(shareReplay(1))\n }\n\n ngOnDestroy() {\n this._valueChangeSub.unsubscribe()\n this._errorTplsChangeSub.unsubscribe()\n }\n\n ngDoCheck() {\n this._showControlErrorsSubject.next(this.showControlErrors)\n }\n\n private _initControlListeners(\n control: AbstractControlDirective | AbstractControl,\n ): void {\n // Unsubscribe from old control changes\n if (this._valueChangeSub && !this._valueChangeSub.closed) {\n this._valueChangeSub.unsubscribe()\n }\n\n if (control.valueChanges !== null) {\n this._valueChangeSub = combineLatest([\n this.showControlErrors$,\n control.valueChanges.pipe(startWith(undefined)),\n ])\n .pipe(startWith(undefined))\n .subscribe((_) => this._updateControlErrors(control.errors))\n } else {\n this._setControlErrors([])\n }\n }\n\n private _updateControlErrors(errors: ValidationErrors | null): void {\n const errs: IErrorRecord[] = []\n for (const validatorName in errors) {\n if (Object.prototype.hasOwnProperty.call(errors, validatorName)) {\n const error = errors[validatorName]\n const message = this._parseMessage(\n this._defaultMessages[validatorName],\n error,\n )\n const external = false\n errs.push({ validatorName, error, message, external })\n }\n }\n this._setControlErrors(errs)\n }\n\n private _setControlErrors(errors: IErrorRecord[]) {\n this._controlErrors.next(errors)\n }\n\n private _parseMessage(message: any, error: any) {\n if (!message) {\n return\n }\n\n if (typeof message === 'string') {\n return message\n } else if (typeof message === 'function') {\n return message(error)\n }\n }\n\n private _initErrorTemplates(\n tplsQueryList: QueryList<FormFieldErrorListItemTplDirective>,\n ) {\n if (this._errorTplsChangeSub && !this._errorTplsChangeSub.closed) {\n this._errorTplsChangeSub.unsubscribe()\n }\n\n if (tplsQueryList) {\n this._errorTplsChangeSub = tplsQueryList.changes\n .pipe(startWith(undefined))\n .subscribe((_) => this._updateErrorTemplates(tplsQueryList.toArray()))\n } else {\n this._setErrorTemplates([])\n }\n }\n\n private _updateErrorTemplates(\n tplsList: FormFieldErrorListItemTplDirective[],\n ): void {\n const errs: IErrorRecord[] = []\n for (const tpl of tplsList) {\n if (tpl.validatorName !== undefined && tpl.validatorName !== null) {\n errs.push({\n validatorName: tpl.validatorName,\n error: null,\n template: tpl.template,\n external: !!tpl.external,\n })\n } else {\n // this.errorTpl = tpl.template\n }\n }\n this._setErrorTemplates(errs)\n }\n\n private _setErrorTemplates(errorTpls: IErrorRecord[]): void {\n this._errorTpls.next(errorTpls)\n }\n\n private _initErrorInput(errors: IErrorRecord[]): void {\n this._updateErrorInputs(errors)\n }\n\n private _updateErrorInputs(errors: IErrorRecord[]): void {\n this._setErrorInput(errors)\n }\n\n private _setErrorInput(errors: IErrorRecord[]): void {\n this._errorInput.next(errors)\n }\n\n private _composeErrorInputs(\n controlErrors: IErrorRecord[],\n errorTemplates: IErrorRecord[],\n errorInput: IErrorRecord[],\n ): IErrorRecord[] {\n const errs: IErrorRecord[] = []\n\n const errsMap: { [name: string]: IErrorRecord } = {}\n\n for (const err of controlErrors) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorInput) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const err of errorTemplates) {\n if (err.message || err.template) {\n errsMap[err.validatorName] = err\n }\n }\n\n for (const validatorName in errsMap) {\n if (Object.prototype.hasOwnProperty.call(errsMap, validatorName)) {\n errs.push(errsMap[validatorName])\n }\n }\n\n const control = this.control\n if (!control) {\n return []\n }\n\n return errs\n .filter((err) =>\n this._isErrorValidator(control.errors, err.validatorName),\n )\n .filter((err) => !err.external)\n .map(\n (err) =>\n ({\n ...err,\n error: control.errors ? control.errors[err.validatorName] : null,\n _errors: control.errors,\n }) as IErrorRecord,\n )\n }\n\n private _isErrorValidator(\n errors: ValidationErrors | null,\n validatorName: string,\n ): boolean {\n if (!errors) {\n return false\n }\n const arr = validatorName.split(' ').filter((v) => v.trim().length > 0)\n for (const item of arr) {\n if (Object.prototype.hasOwnProperty.call(errors, item)) {\n return true\n }\n }\n return false\n }\n}\n","<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: record.error,\n errors: record._errors,\n }\"\n >\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\"\n >\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FormFieldErrorListItemTplDirective } from './form-field-error-list/form-field-error-list-item-tpl.directive'\nimport { FormFieldErrorListItemDirective } from './form-field-error-list/form-field-error-list-item.directive'\nimport { FormFieldErrorListComponent } from './form-field-error-list/form-field-error-list.component'\nimport { FormFieldErrorComponent } from './form-field-error/form-field-error.component'\n\n@NgModule({\n declarations: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective,\n ],\n imports: [CommonModule],\n exports: [\n FormFieldErrorComponent,\n FormFieldErrorListComponent,\n FormFieldErrorListItemDirective,\n FormFieldErrorListItemTplDirective,\n ],\n})\nexport class TheSeamFormFieldErrorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FormFieldErrorComponent"],"mappings":"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"}