@theseam/ui-common 0.4.20 → 0.4.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.
@@ -72,6 +72,7 @@ class ToggleGroupDirective {
72
72
  this._ngUnsubscribe.complete();
73
73
  }
74
74
  ngAfterViewInit() {
75
+ var _a;
75
76
  setTimeout(() => {
76
77
  this._updateDirectiveStates();
77
78
  if (this.optionDirectives) {
@@ -106,6 +107,7 @@ class ToggleGroupDirective {
106
107
  }))
107
108
  .subscribe();
108
109
  });
110
+ (_a = this.optionDirectives) === null || _a === void 0 ? void 0 : _a.changes.subscribe(() => this._updateDirectiveStates());
109
111
  }
110
112
  get value() {
111
113
  return this.val;
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-toggle-group.mjs","sources":["../../../projects/ui-common/toggle-group/toggle-group-option.directive.ts","../../../projects/ui-common/toggle-group/toggle-group.directive.ts","../../../projects/ui-common/toggle-group/toggle-group.module.ts","../../../projects/ui-common/toggle-group/theseam-ui-common-toggle-group.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleGroupOption]',\n exportAs: 'seamToggleGroupOption'\n})\nexport class ToggleGroupOptionDirective {\n\n @Input() seamToggleGroupOption: string | undefined | null\n\n @Input()\n get selected(): boolean { return this._selected }\n set selected(value: boolean) {\n if (!this._canUnselect && !value) { return }\n this._selected = coerceBooleanProperty(value)\n this.selectionChange.emit(this._selected)\n this._cdr.markForCheck()\n }\n private _selected = false\n\n /** Internal use only for now. */\n _canUnselect = true\n\n @Output() selectionChange = new EventEmitter<boolean>()\n\n @HostBinding('class.lib-toggle-group-option-selected') get _checkioSelectedClass() {\n return this._selected\n }\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef\n ) { }\n\n get value(): string | undefined | null {\n return this.seamToggleGroupOption\n }\n\n}\n","import { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { AfterViewInit, ContentChildren, Directive, EventEmitter, forwardRef, Input, OnDestroy, Output, QueryList } from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { combineLatest, from, Observable, of, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ToggleGroupOptionDirective } from './toggle-group-option.directive'\n\nexport const TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleGroupDirective),\n multi: true,\n}\n\n@Directive({\n selector: '[seamToggleGroup]',\n exportAs: 'seamToggleGroup',\n providers: [ TOGGLE_GROUP_VALUE_ACCESSOR ]\n})\nexport class ToggleGroupDirective implements OnDestroy, AfterViewInit, ControlValueAccessor {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') val: string | string[] | undefined | null\n\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() multiple = false\n @Input() @InputBoolean() selectionToggleable = true\n\n // TODO: Add min/max selected inputs to make toggling better for multi select\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | string[] | undefined | null>()\n\n @ContentChildren(ToggleGroupOptionDirective) optionDirectives?: QueryList<ToggleGroupOptionDirective>\n\n public options?: Observable<ToggleGroupOptionDirective[]>\n\n onChange: any\n onTouched: any\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this._updateDirectiveStates()\n\n if (this.optionDirectives) {\n this.options = this.optionDirectives.changes\n .pipe(takeUntil(this._ngUnsubscribe))\n .pipe(startWith(this.optionDirectives))\n .pipe(map(v => v.toArray() as ToggleGroupOptionDirective[]))\n\n this.options.pipe(switchMap(opts => {\n const _tmp = of(undefined)\n if (opts) {\n const _v: Observable<boolean>[] = []\n for (const opt of opts) {\n _v.push(opt.selectionChange.pipe(\n filter(v => opt.selected !== this.isSelected(opt.value)),\n tap(v => {\n if (this.isSelected(opt.value)) {\n this.unselectValue(opt.value)\n } else {\n this.selectValue(opt.value)\n }\n })\n ))\n }\n return combineLatest(_v)\n }\n return _tmp\n })).subscribe()\n }\n\n this.change\n .pipe(switchMap(_ => from(this.optionDirectives?.toArray() || [])\n .pipe(tap(opt => { this._updateDirectiveState(opt) }))\n ))\n .subscribe()\n })\n }\n\n get value(): string | string[] | undefined | null {\n return this.val\n }\n\n set value(value: string | string[] | undefined | null) {\n const _value = this.multiple\n ? value !== null && value !== undefined\n ? coerceArray(value)\n : value\n : value\n\n this.val = (this.multiple) ? [ ...(_value as string[] || []) ] : _value || ''\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(_value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n isSelected(value: string | undefined | null) {\n if (this.multiple) {\n const idx = (this.value as string[] || []).findIndex(v => v === value)\n return idx !== -1\n } else {\n // TODO: Clean this up when the directive no longer allows array value type when multiple is false\n const v = Array.isArray(this.value) && this.value.length === 1\n ? this.value[0]\n : this.value\n return v === value\n }\n }\n\n unselectValue(value: string | undefined | null) {\n if (this.multiple) {\n this.value = (this.value as string[] || []).filter(v => v !== value)\n } else {\n this.value = undefined\n }\n }\n\n selectValue(value: string | undefined | null) {\n if (this.multiple) {\n const _value = [ ...(this.value as string[] || []) ]\n this.value = value ? [ ..._value, value ] : _value\n } else {\n this.value = value\n }\n }\n\n getOptionDirectiveByValue(value: string) {\n if (!this.optionDirectives || this.optionDirectives.length < 1) {\n return null\n }\n\n return this.optionDirectives.toArray()\n .find(opt => opt.value === value)\n }\n\n private _updateDirectiveStates(): void {\n if (this.optionDirectives) {\n for (const opt of this.optionDirectives.toArray()) {\n this._updateDirectiveState(opt)\n }\n }\n }\n\n private _updateDirectiveState(opt: ToggleGroupOptionDirective): void {\n const selected = this.isSelected(opt.value)\n if (opt.selected !== selected) {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n opt.selected = selected\n }\n if (!this.selectionToggleable) {\n if (!this.multiple || (this.value && this.value.length <= 1)) {\n if (opt.selected) {\n if (opt._canUnselect) {\n opt._canUnselect = false\n }\n } else {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n }\n } else {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n }\n }\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { ToggleGroupOptionDirective } from './toggle-group-option.directive'\nimport { ToggleGroupDirective } from './toggle-group.directive'\n\n@NgModule({\n declarations: [\n ToggleGroupDirective,\n ToggleGroupOptionDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule\n ],\n exports: [\n ToggleGroupDirective,\n ToggleGroupOptionDirective\n ]\n})\nexport class TheSeamToggleGroupModule { }\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":"theseam-ui-common-toggle-group.mjs","sources":["../../../projects/ui-common/toggle-group/toggle-group-option.directive.ts","../../../projects/ui-common/toggle-group/toggle-group.directive.ts","../../../projects/ui-common/toggle-group/toggle-group.module.ts","../../../projects/ui-common/toggle-group/theseam-ui-common-toggle-group.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleGroupOption]',\n exportAs: 'seamToggleGroupOption'\n})\nexport class ToggleGroupOptionDirective {\n\n @Input() seamToggleGroupOption: string | undefined | null\n\n @Input()\n get selected(): boolean { return this._selected }\n set selected(value: boolean) {\n if (!this._canUnselect && !value) { return }\n this._selected = coerceBooleanProperty(value)\n this.selectionChange.emit(this._selected)\n this._cdr.markForCheck()\n }\n private _selected = false\n\n /** Internal use only for now. */\n _canUnselect = true\n\n @Output() selectionChange = new EventEmitter<boolean>()\n\n @HostBinding('class.lib-toggle-group-option-selected') get _checkioSelectedClass() {\n return this._selected\n }\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef\n ) { }\n\n get value(): string | undefined | null {\n return this.seamToggleGroupOption\n }\n\n}\n","import { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { AfterViewInit, ContentChildren, Directive, EventEmitter, forwardRef, Input, OnDestroy, Output, QueryList } from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { combineLatest, from, Observable, of, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ToggleGroupOptionDirective } from './toggle-group-option.directive'\n\nexport const TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleGroupDirective),\n multi: true,\n}\n\n@Directive({\n selector: '[seamToggleGroup]',\n exportAs: 'seamToggleGroup',\n providers: [ TOGGLE_GROUP_VALUE_ACCESSOR ]\n})\nexport class ToggleGroupDirective implements OnDestroy, AfterViewInit, ControlValueAccessor {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') val: string | string[] | undefined | null\n\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() multiple = false\n @Input() @InputBoolean() selectionToggleable = true\n\n // TODO: Add min/max selected inputs to make toggling better for multi select\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | string[] | undefined | null>()\n\n @ContentChildren(ToggleGroupOptionDirective) optionDirectives?: QueryList<ToggleGroupOptionDirective>\n\n public options?: Observable<ToggleGroupOptionDirective[]>\n\n onChange: any\n onTouched: any\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this._updateDirectiveStates()\n\n if (this.optionDirectives) {\n this.options = this.optionDirectives.changes\n .pipe(takeUntil(this._ngUnsubscribe))\n .pipe(startWith(this.optionDirectives))\n .pipe(map(v => v.toArray() as ToggleGroupOptionDirective[]))\n\n this.options.pipe(switchMap(opts => {\n const _tmp = of(undefined)\n if (opts) {\n const _v: Observable<boolean>[] = []\n for (const opt of opts) {\n _v.push(opt.selectionChange.pipe(\n filter(v => opt.selected !== this.isSelected(opt.value)),\n tap(v => {\n if (this.isSelected(opt.value)) {\n this.unselectValue(opt.value)\n } else {\n this.selectValue(opt.value)\n }\n })\n ))\n }\n return combineLatest(_v)\n }\n return _tmp\n })).subscribe()\n }\n\n this.change\n .pipe(switchMap(_ => from(this.optionDirectives?.toArray() || [])\n .pipe(tap(opt => { this._updateDirectiveState(opt) }))\n ))\n .subscribe()\n })\n\n this.optionDirectives?.changes.subscribe(() => this._updateDirectiveStates())\n }\n\n get value(): string | string[] | undefined | null {\n return this.val\n }\n\n set value(value: string | string[] | undefined | null) {\n const _value = this.multiple\n ? value !== null && value !== undefined\n ? coerceArray(value)\n : value\n : value\n\n this.val = (this.multiple) ? [ ...(_value as string[] || []) ] : _value || ''\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(_value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n isSelected(value: string | undefined | null) {\n if (this.multiple) {\n const idx = (this.value as string[] || []).findIndex(v => v === value)\n return idx !== -1\n } else {\n // TODO: Clean this up when the directive no longer allows array value type when multiple is false\n const v = Array.isArray(this.value) && this.value.length === 1\n ? this.value[0]\n : this.value\n return v === value\n }\n }\n\n unselectValue(value: string | undefined | null) {\n if (this.multiple) {\n this.value = (this.value as string[] || []).filter(v => v !== value)\n } else {\n this.value = undefined\n }\n }\n\n selectValue(value: string | undefined | null) {\n if (this.multiple) {\n const _value = [ ...(this.value as string[] || []) ]\n this.value = value ? [ ..._value, value ] : _value\n } else {\n this.value = value\n }\n }\n\n getOptionDirectiveByValue(value: string) {\n if (!this.optionDirectives || this.optionDirectives.length < 1) {\n return null\n }\n\n return this.optionDirectives.toArray()\n .find(opt => opt.value === value)\n }\n\n private _updateDirectiveStates(): void {\n if (this.optionDirectives) {\n for (const opt of this.optionDirectives.toArray()) {\n this._updateDirectiveState(opt)\n }\n }\n }\n\n private _updateDirectiveState(opt: ToggleGroupOptionDirective): void {\n const selected = this.isSelected(opt.value)\n if (opt.selected !== selected) {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n opt.selected = selected\n }\n if (!this.selectionToggleable) {\n if (!this.multiple || (this.value && this.value.length <= 1)) {\n if (opt.selected) {\n if (opt._canUnselect) {\n opt._canUnselect = false\n }\n } else {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n }\n } else {\n if (!opt._canUnselect) {\n opt._canUnselect = true\n }\n }\n }\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { ToggleGroupOptionDirective } from './toggle-group-option.directive'\nimport { ToggleGroupDirective } from './toggle-group.directive'\n\n@NgModule({\n declarations: [\n ToggleGroupDirective,\n ToggleGroupOptionDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule\n ],\n exports: [\n ToggleGroupDirective,\n ToggleGroupOptionDirective\n ]\n})\nexport class TheSeamToggleGroupModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -2629,7 +2629,7 @@ class TheSeamSchemaFormInputComponent {
2629
2629
  }
2630
2630
  }
2631
2631
  TheSeamSchemaFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormInputComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
2632
- TheSeamSchemaFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormInputComponent, isStandalone: true, selector: "seam-schema-form-input", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\"\n [disabled]=\"controlDisabled\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n</seam-form-field>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2632
+ TheSeamSchemaFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormInputComponent, isStandalone: true, selector: "seam-schema-form-input", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\"\n [disabled]=\"controlDisabled\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2633
2633
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormInputComponent, decorators: [{
2634
2634
  type: Component,
2635
2635
  args: [{ selector: 'seam-schema-form-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
@@ -2637,7 +2637,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2637
2637
  ReactiveFormsModule,
2638
2638
  JsonSchemaFormModule,
2639
2639
  TheSeamFormFieldModule,
2640
- ], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\"\n [disabled]=\"controlDisabled\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n</seam-form-field>\n", styles: [":host{display:block}\n"] }]
2640
+ ], template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <input seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.list]=\"'control' + layoutNode?._id + 'Autocomplete'\"\n [attr.maxlength]=\"options?.maxLength\"\n [attr.minlength]=\"options?.minLength\"\n [attr.pattern]=\"options?.pattern\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [type]=\"layoutNode?.type\"\n [disabled]=\"controlDisabled\">\n <datalist *ngIf=\"options?.typeahead?.source\"\n [id]=\"'control' + layoutNode?._id + 'Autocomplete'\">\n <option *ngFor=\"let word of options?.typeahead?.source\" [value]=\"word\">\n </datalist>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"] }]
2641
2641
  }], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
2642
2642
  type: Input
2643
2643
  }], layoutIndex: [{
@@ -2703,7 +2703,7 @@ class TheSeamSchemaFormSelectComponent {
2703
2703
  }
2704
2704
  }
2705
2705
  TheSeamSchemaFormSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormSelectComponent, deps: [{ token: i1$3.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
2706
- TheSeamSchemaFormSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormSelectComponent, isStandalone: true, selector: "seam-schema-form-select", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\">\n <ng-template ng-label-tmp let-item=\"item\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n (change)=\"updateValue($event)\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\"\n [disabled]=\"controlDisabled\">\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n</seam-form-field>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i5$1.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i5$1.ɵf, selector: "[ng-option-tmp]" }, { kind: "directive", type: i5$1.ɵh, selector: "[ng-label-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2706
+ TheSeamSchemaFormSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormSelectComponent, isStandalone: true, selector: "seam-schema-form-select", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\">\n <ng-template ng-label-tmp let-item=\"item\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n (change)=\"updateValue($event)\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\"\n [disabled]=\"controlDisabled\">\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4$3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$3.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4$3.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i5$1.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i5$1.ɵf, selector: "[ng-option-tmp]" }, { kind: "directive", type: i5$1.ɵh, selector: "[ng-label-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2707
2707
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormSelectComponent, decorators: [{
2708
2708
  type: Component,
2709
2709
  args: [{ selector: 'seam-schema-form-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
@@ -2712,7 +2712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2712
2712
  JsonSchemaFormModule,
2713
2713
  TheSeamFormFieldModule,
2714
2714
  NgSelectModule,
2715
- ], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\">\n <ng-template ng-label-tmp let-item=\"item\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n (change)=\"updateValue($event)\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\"\n [disabled]=\"controlDisabled\">\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n</seam-form-field>\n", styles: [":host{display:block}\n"] }]
2715
+ ], template: "<div [class]=\"options?.htmlClass || ''\">\n <seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\">\n <ng-template ng-label-tmp let-item=\"item\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n\n <seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <ng-select seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [required]=\"options?.required\"\n [items]=\"selectList\"\n bindLabel=\"name\"\n bindValue=\"value\"\n [clearable]=\"false\"\n (change)=\"updateValue($event)\"\n appendTo=\"body\"\n\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.placeholder]=\"options?.placeholder\"\n [attr.required]=\"options?.required\"\n [readonly]=\"options?.readonly ? true : false\"\n [disabled]=\"controlDisabled\">\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span [innerHTML]=\"item.name\"></span>\n </ng-template>\n </ng-select>\n </seam-form-field>\n</div>\n", styles: [":host{display:block}\n"] }]
2716
2716
  }], ctorParameters: function () { return [{ type: i1$3.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
2717
2717
  type: Input
2718
2718
  }], layoutIndex: [{
@@ -3019,14 +3019,14 @@ class TheSeamFramework extends Framework {
3019
3019
  'divider': TheSeamSchemaFormDividerComponent,
3020
3020
  'tel': TheSeamSchemaFormTelComponent,
3021
3021
  'tiled-select': TheSeamSchemaFormTiledSelectComponent
3022
- // 'file': // TODO: Implement
3023
3022
  // 'date': // TODO: Implement
3024
- // 'map': // TODO: Implement
3025
- // 'wizard': // TODO: Implement
3023
+ // 'file': // TODO: Implement
3026
3024
  // 'image': // TODO: Implement
3025
+ // 'richtext': // TODO: Implement
3027
3026
  // 'tabs': // TODO: Implement
3027
+ // 'wizard': // TODO: Implement
3028
3028
  // 'card': // TODO: Implement
3029
- // 'richtext': // TODO: Implement
3029
+ // 'map': // TODO: Implement
3030
3030
  };
3031
3031
  // console.log('TheSeamFramework', _overrides, this)
3032
3032
  if (_overrides) {