@seniorsistemas/angular-components 17.27.1-feature-sds-110-35ee9b4f → 17.27.1-feature-sds-110-174b0744

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 (61) hide show
  1. package/button/lib/button/button.component.d.ts +1 -1
  2. package/checkbox/lib/checkbox/checkbox.component.d.ts +11 -13
  3. package/checkbox/public-api.d.ts +1 -4
  4. package/checkbox-list/index.d.ts +5 -0
  5. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +21 -0
  6. package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +9 -0
  7. package/checkbox-list/lib/checkbox-list/models/checkbox-list-data.d.ts +5 -0
  8. package/checkbox-list/lib/checkbox-list/models/checkbox-list-state.d.ts +7 -0
  9. package/checkbox-list/package.json +3 -0
  10. package/checkbox-list/public-api.d.ts +4 -0
  11. package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +35 -36
  12. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +3 -3
  13. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +2 -0
  14. package/fesm2022/seniorsistemas-angular-components-button.mjs +4 -2
  15. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  16. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +151 -0
  17. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -0
  18. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +33 -110
  19. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  20. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +19 -22
  21. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  22. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +7 -7
  23. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  24. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +65 -0
  25. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -0
  26. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +145 -0
  27. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -0
  28. package/fesm2022/seniorsistemas-angular-components-select.mjs +741 -0
  29. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -0
  30. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +4 -5
  31. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  32. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +8 -8
  33. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  34. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +7 -7
  35. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  36. package/fieldset/lib/fieldset/fieldset.component.d.ts +1 -1
  37. package/fieldset/lib/fieldset/fieldset.module.d.ts +2 -2
  38. package/interactive-content/index.d.ts +5 -0
  39. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +17 -0
  40. package/interactive-content/package.json +3 -0
  41. package/interactive-content/public-api.d.ts +1 -0
  42. package/package.json +35 -15
  43. package/paginator/index.d.ts +5 -0
  44. package/paginator/lib/models/paginator.models.d.ts +14 -0
  45. package/paginator/lib/paginator/paginator.component.d.ts +30 -0
  46. package/paginator/package.json +3 -0
  47. package/paginator/public-api.d.ts +2 -0
  48. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +3 -3
  49. package/table-header/lib/table-header/table-header-checkox.module.d.ts +2 -2
  50. package/tailwind.css +263 -0
  51. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +2 -2
  52. package/accessibility-events/index.d.ts +0 -5
  53. package/accessibility-events/lib/accessibility-events/accessibility-events.module.d.ts +0 -8
  54. package/accessibility-events/lib/accessibility-events/directives/accessibility-event.directive.d.ts +0 -15
  55. package/accessibility-events/package.json +0 -3
  56. package/accessibility-events/public-api.d.ts +0 -2
  57. package/checkbox/lib/checkbox/checkbox.module.d.ts +0 -9
  58. package/checkbox/lib/checkbox/models/checkbox-data.d.ts +0 -5
  59. package/checkbox/lib/checkbox/models/checkbox-state.d.ts +0 -7
  60. package/fesm2022/seniorsistemas-angular-components-accessibility-events.mjs +0 -77
  61. package/fesm2022/seniorsistemas-angular-components-accessibility-events.mjs.map +0 -1
@@ -1,34 +1,38 @@
1
- import * as i0 from '@angular/core';
2
- import { forwardRef, Component, Input, NgModule } from '@angular/core';
3
- import * as i2 from '@angular/forms';
4
- import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
1
  import * as i1 from '@angular/common';
6
2
  import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { model, input, forwardRef, Component } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
6
 
8
7
  class CheckboxComponent {
9
- data;
10
- state = {
11
- checked: false,
12
- indeterminate: false,
13
- children: {},
14
- };
8
+ disabled = model(false);
9
+ checked = model(false);
10
+ indeterminate = model(false);
11
+ label = input('');
15
12
  _onChange = () => { };
16
13
  _onTouched = () => { };
17
- writeValue(value) {
18
- if (value) {
19
- this.state = value;
14
+ toggle() {
15
+ if (this.disabled()) {
16
+ return;
17
+ }
18
+ if (this.indeterminate()) {
19
+ this.indeterminate.set(false);
20
+ this.checked.set(false);
21
+ this.emit(false);
20
22
  }
21
23
  else {
22
- this.state = {
23
- checked: false,
24
- indeterminate: false,
25
- disabled: false,
26
- children: this._initializeChildren(this.data),
27
- };
24
+ const newValue = !this.checked();
25
+ this.checked.set(newValue);
26
+ this.emit(newValue);
28
27
  }
29
28
  }
30
- get renderType() {
31
- return this.data.renderType ?? "inline";
29
+ emit(value) {
30
+ this._onChange(value);
31
+ this.checked.set(value);
32
+ this.indeterminate.set(value);
33
+ }
34
+ writeValue(value) {
35
+ this.checked.set(!!value);
32
36
  }
33
37
  registerOnChange(onChange) {
34
38
  this._onChange = onChange;
@@ -36,116 +40,35 @@ class CheckboxComponent {
36
40
  registerOnTouched(onTouched) {
37
41
  this._onTouched = onTouched;
38
42
  }
39
- _initializeChildren(item) {
40
- const childrenState = {};
41
- if (item.children) {
42
- item.children.forEach((child) => {
43
- childrenState[child.label] = {
44
- checked: false,
45
- indeterminate: false,
46
- children: this._initializeChildren(child),
47
- };
48
- });
49
- }
50
- return childrenState;
43
+ setDisabledState(disabled) {
44
+ this.disabled.set(disabled);
51
45
  }
52
- getCheckboxState(item, label) {
53
- if (item) {
54
- return item[label];
55
- }
56
- else {
57
- return {};
58
- }
59
- }
60
- updateParent() {
61
- const _getProperty = (obj, field) => {
62
- if (obj) {
63
- return obj[field];
64
- }
65
- else {
66
- return null;
67
- }
68
- };
69
- if (this.data.children && this.data.children.length > 0) {
70
- const allChecked = this.data.children.every((child) => _getProperty(this.state.children, child.label)?.checked);
71
- const someChecked = this.data.children.some((child) => _getProperty(this.state.children, child.label)?.checked ||
72
- _getProperty(this.state.children, child.label)?.indeterminate);
73
- this.state.checked = allChecked;
74
- this.state.indeterminate = !allChecked && someChecked;
75
- }
76
- this._onChange(this.state);
77
- this._onTouched();
78
- }
79
- onCheckboxChange() {
80
- if (this.state.disabled) {
81
- return;
82
- }
83
- this.state.checked = !this.state.checked;
84
- this.state.indeterminate = false;
85
- this._toggleChildrenCheck(this.data, this.state, this.state.checked);
86
- this._onChange(this.state);
46
+ onBlur() {
87
47
  this._onTouched();
88
48
  }
89
- _toggleChildrenCheck(item, state, checked) {
90
- if (item.children?.length) {
91
- item.children.forEach((child) => {
92
- if (state.children && !state.children[child.label]) {
93
- state.children[child.label] = {
94
- checked: false,
95
- indeterminate: false,
96
- children: this._initializeChildren(child),
97
- };
98
- }
99
- if (state.children) {
100
- state.children[child.label].checked = checked;
101
- state.children[child.label].indeterminate = false;
102
- }
103
- if (child.children && state.children) {
104
- this._toggleChildrenCheck(child, state.children[child.label], checked);
105
- }
106
- });
107
- }
108
- }
109
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxComponent, selector: "s-checkbox", inputs: { data: "data" }, providers: [
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CheckboxComponent, isStandalone: true, selector: "s-checkbox", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", checked: "checkedChange", indeterminate: "indeterminateChange" }, providers: [
111
51
  {
112
52
  provide: NG_VALUE_ACCESSOR,
113
53
  useExisting: forwardRef(() => CheckboxComponent),
114
54
  multi: true,
115
55
  },
116
- ], ngImport: i0, template: "<div class=\"checkbox\">\n <label>\n <div\n class=\"checkbox-wrapper\"\n [class.checkbox-wrapper--disabled]=\"state.disabled\"\n [class.checkbox-wrapper-inline]=\"renderType === 'inline'\"\n [class.checkbox-wrapper-block]=\"renderType === 'block'\"\n >\n <input\n type=\"checkbox\"\n class=\"checkbox-input\"\n [disabled]=\"state.disabled\"\n [ngClass]=\"{\n 'checkbox-input--checked': state.checked,\n 'checkbox-input--indeterminate': state.indeterminate,\n }\"\n (change)=\"onCheckboxChange()\"\n [attr.aria-checked]=\"state.indeterminate ? 'mixed' : state.checked\"\n [attr.aria-disabled]=\"state.disabled\"\n />\n {{ data.label }}\n </div>\n </label>\n <div\n *ngIf=\"data.children && data.children.length\"\n class=\"checkbox-children\"\n >\n <s-checkbox\n *ngFor=\"let child of data.children\"\n [data]=\"child\"\n [ngModel]=\"getCheckboxState(state.children, child.label)\"\n (ngModelChange)=\"updateParent()\"\n >\n </s-checkbox>\n </div>\n</div>\n", styles: [".checkbox{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.checkbox .checkbox-wrapper{color:#212533;display:flex;font-family:\"Open Sans\" sans-serif;font-size:14px;gap:12px}.checkbox .checkbox-wrapper-inline{align-items:center}.checkbox .checkbox-wrapper-block{flex-direction:column-reverse}.checkbox .checkbox-wrapper .checkbox-input{appearance:none;background-color:#fff;border:1px solid #c1c1cc;border-radius:4px;cursor:pointer;flex-shrink:0;height:20px;width:20px;position:relative}.checkbox .checkbox-wrapper .checkbox-input--checked{background-color:#428bca;border-color:#428bca}.checkbox .checkbox-wrapper .checkbox-input--checked:after{border:solid white;border-width:0 2px 2px 0;content:\"\";height:12px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.checkbox .checkbox-wrapper .checkbox-input--indeterminate{background-color:#428bca;border-color:#428bca}.checkbox .checkbox-wrapper .checkbox-input--indeterminate:after{background-color:#fff;content:\"\";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.checkbox .checkbox-wrapper:not(.checkbox-wrapper--disabled) .checkbox-input:not(.checkbox-input--checked):hover{background-color:#e5eaea;border-color:#ccc}.checkbox .checkbox-wrapper--disabled{opacity:.5;cursor:auto}.checkbox .checkbox-children{margin-left:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "s-checkbox", inputs: ["data"] }] });
56
+ ], ngImport: i0, template: "<div\n class=\"flex cursor-pointer select-none gap-3\"\n [class.cursor-not-allowed]=\"disabled()\"\n tabindex=\"0\"\n role=\"checkbox\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-disabled]=\"disabled()\"\n (click)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n (blur)=\"onBlur()\"\n>\n <div\n class=\"flex h-5 w-5 items-center justify-center rounded border border-grayscale-30 transition-all duration-200 hover:border-grayscale-50\"\n [ngClass]=\"{\n 'bg-primary hover:bg-tarawera-500': checked() || indeterminate(),\n 'bg-grayscale-0': !checked() && !indeterminate(),\n 'border-primary hover:border-tarawera-500': checked() || indeterminate(),\n 'opacity-50': disabled(),\n }\"\n >\n @if (indeterminate()) {\n <svg\n class=\"h-3 w-3 text-grayscale-0\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M6 12h12\" />\n </svg>\n } @else {\n @if (checked()) {\n <svg\n class=\"text-white h-3 w-3\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M4.5 12.75l5.5 5.5 9.5-9.5\" />\n </svg>\n }\n }\n </div>\n <span\n [class.opacity-50]=\"disabled()\"\n class=\"text-grayscale-90\"\n >\n {{ label() }}\n </span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
117
57
  }
118
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, decorators: [{
119
59
  type: Component,
120
- args: [{ selector: 's-checkbox', providers: [
60
+ args: [{ selector: 's-checkbox', standalone: true, imports: [CommonModule], providers: [
121
61
  {
122
62
  provide: NG_VALUE_ACCESSOR,
123
63
  useExisting: forwardRef(() => CheckboxComponent),
124
64
  multi: true,
125
65
  },
126
- ], template: "<div class=\"checkbox\">\n <label>\n <div\n class=\"checkbox-wrapper\"\n [class.checkbox-wrapper--disabled]=\"state.disabled\"\n [class.checkbox-wrapper-inline]=\"renderType === 'inline'\"\n [class.checkbox-wrapper-block]=\"renderType === 'block'\"\n >\n <input\n type=\"checkbox\"\n class=\"checkbox-input\"\n [disabled]=\"state.disabled\"\n [ngClass]=\"{\n 'checkbox-input--checked': state.checked,\n 'checkbox-input--indeterminate': state.indeterminate,\n }\"\n (change)=\"onCheckboxChange()\"\n [attr.aria-checked]=\"state.indeterminate ? 'mixed' : state.checked\"\n [attr.aria-disabled]=\"state.disabled\"\n />\n {{ data.label }}\n </div>\n </label>\n <div\n *ngIf=\"data.children && data.children.length\"\n class=\"checkbox-children\"\n >\n <s-checkbox\n *ngFor=\"let child of data.children\"\n [data]=\"child\"\n [ngModel]=\"getCheckboxState(state.children, child.label)\"\n (ngModelChange)=\"updateParent()\"\n >\n </s-checkbox>\n </div>\n</div>\n", styles: [".checkbox{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.checkbox .checkbox-wrapper{color:#212533;display:flex;font-family:\"Open Sans\" sans-serif;font-size:14px;gap:12px}.checkbox .checkbox-wrapper-inline{align-items:center}.checkbox .checkbox-wrapper-block{flex-direction:column-reverse}.checkbox .checkbox-wrapper .checkbox-input{appearance:none;background-color:#fff;border:1px solid #c1c1cc;border-radius:4px;cursor:pointer;flex-shrink:0;height:20px;width:20px;position:relative}.checkbox .checkbox-wrapper .checkbox-input--checked{background-color:#428bca;border-color:#428bca}.checkbox .checkbox-wrapper .checkbox-input--checked:after{border:solid white;border-width:0 2px 2px 0;content:\"\";height:12px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.checkbox .checkbox-wrapper .checkbox-input--indeterminate{background-color:#428bca;border-color:#428bca}.checkbox .checkbox-wrapper .checkbox-input--indeterminate:after{background-color:#fff;content:\"\";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.checkbox .checkbox-wrapper:not(.checkbox-wrapper--disabled) .checkbox-input:not(.checkbox-input--checked):hover{background-color:#e5eaea;border-color:#ccc}.checkbox .checkbox-wrapper--disabled{opacity:.5;cursor:auto}.checkbox .checkbox-children{margin-left:20px}\n"] }]
127
- }], propDecorators: { data: [{
128
- type: Input,
129
- args: [{ required: true }]
130
- }] } });
131
-
132
- class CheckboxModule {
133
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
134
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CheckboxModule, declarations: [CheckboxComponent], imports: [CommonModule, FormsModule], exports: [CheckboxComponent] });
135
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxModule, imports: [CommonModule, FormsModule] });
136
- }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxModule, decorators: [{
138
- type: NgModule,
139
- args: [{
140
- imports: [CommonModule, FormsModule],
141
- declarations: [CheckboxComponent],
142
- exports: [CheckboxComponent],
143
- }]
66
+ ], template: "<div\n class=\"flex cursor-pointer select-none gap-3\"\n [class.cursor-not-allowed]=\"disabled()\"\n tabindex=\"0\"\n role=\"checkbox\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-disabled]=\"disabled()\"\n (click)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n (blur)=\"onBlur()\"\n>\n <div\n class=\"flex h-5 w-5 items-center justify-center rounded border border-grayscale-30 transition-all duration-200 hover:border-grayscale-50\"\n [ngClass]=\"{\n 'bg-primary hover:bg-tarawera-500': checked() || indeterminate(),\n 'bg-grayscale-0': !checked() && !indeterminate(),\n 'border-primary hover:border-tarawera-500': checked() || indeterminate(),\n 'opacity-50': disabled(),\n }\"\n >\n @if (indeterminate()) {\n <svg\n class=\"h-3 w-3 text-grayscale-0\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M6 12h12\" />\n </svg>\n } @else {\n @if (checked()) {\n <svg\n class=\"text-white h-3 w-3\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M4.5 12.75l5.5 5.5 9.5-9.5\" />\n </svg>\n }\n }\n </div>\n <span\n [class.opacity-50]=\"disabled()\"\n class=\"text-grayscale-90\"\n >\n {{ label() }}\n </span>\n</div>\n" }]
144
67
  }] });
145
68
 
146
69
  /**
147
70
  * Generated bundle index. Do not edit.
148
71
  */
149
72
 
150
- export { CheckboxComponent, CheckboxModule };
73
+ export { CheckboxComponent };
151
74
  //# sourceMappingURL=seniorsistemas-angular-components-checkbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-checkbox.mjs","sources":["../../projects/angular-components/checkbox/src/lib/checkbox/checkbox.component.ts","../../projects/angular-components/checkbox/src/lib/checkbox/checkbox.component.html","../../projects/angular-components/checkbox/src/lib/checkbox/checkbox.module.ts","../../projects/angular-components/checkbox/src/seniorsistemas-angular-components-checkbox.ts"],"sourcesContent":["import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CheckboxData } from './models/checkbox-data';\nimport { CheckboxChildren, CheckboxState } from './models/checkbox-state';\n\n@Component({\n selector: 's-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input({ required: true })\n public data!: CheckboxData;\n\n public state: CheckboxState = {\n checked: false,\n indeterminate: false,\n children: {},\n };\n\n private _onChange: (value: CheckboxState) => void = () => { };\n private _onTouched: () => void = () => { };\n\n public writeValue(value: CheckboxState): void {\n if (value) {\n this.state = value;\n } else {\n this.state = {\n checked: false,\n indeterminate: false,\n disabled: false,\n children: this._initializeChildren(this.data),\n };\n }\n }\n\n public get renderType() {\n return this.data.renderType ?? \"inline\";\n }\n\n public registerOnChange(onChange: (value: CheckboxState) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n private _initializeChildren(item: CheckboxData): CheckboxChildren {\n const childrenState: CheckboxChildren = {};\n if (item.children) {\n item.children.forEach((child) => {\n childrenState[child.label] = {\n checked: false,\n indeterminate: false,\n children: this._initializeChildren(child),\n };\n });\n }\n return childrenState;\n }\n\n public getCheckboxState(item: CheckboxChildren | undefined, label: string) {\n if (item) {\n return item[label];\n } else {\n return {};\n }\n }\n\n public updateParent(): void {\n const _getProperty = (obj: CheckboxChildren | undefined, field: string) => {\n if (obj) {\n return obj[field];\n } else {\n return null;\n }\n };\n if (this.data.children && this.data.children.length > 0) {\n const allChecked = this.data.children.every(\n (child) => _getProperty(this.state.children, child.label)?.checked,\n );\n const someChecked = this.data.children.some(\n (child) =>\n _getProperty(this.state.children, child.label)?.checked ||\n _getProperty(this.state.children, child.label)?.indeterminate,\n );\n this.state.checked = allChecked;\n this.state.indeterminate = !allChecked && someChecked;\n }\n this._onChange(this.state);\n this._onTouched();\n }\n\n public onCheckboxChange(): void {\n if (this.state.disabled) {\n return;\n }\n\n this.state.checked = !this.state.checked;\n this.state.indeterminate = false;\n this._toggleChildrenCheck(this.data, this.state, this.state.checked);\n this._onChange(this.state);\n this._onTouched();\n }\n\n private _toggleChildrenCheck(item: CheckboxData, state: CheckboxState, checked: boolean): void {\n if (item.children?.length) {\n item.children.forEach((child) => {\n if (state.children && !state.children[child.label]) {\n state.children[child.label] = {\n checked: false,\n indeterminate: false,\n children: this._initializeChildren(child),\n };\n }\n if (state.children) {\n state.children[child.label].checked = checked;\n state.children[child.label].indeterminate = false;\n }\n if (child.children && state.children) {\n this._toggleChildrenCheck(child, state.children[child.label], checked);\n }\n });\n }\n }\n}\n","<div class=\"checkbox\">\n <label>\n <div\n class=\"checkbox-wrapper\"\n [class.checkbox-wrapper--disabled]=\"state.disabled\"\n [class.checkbox-wrapper-inline]=\"renderType === 'inline'\"\n [class.checkbox-wrapper-block]=\"renderType === 'block'\"\n >\n <input\n type=\"checkbox\"\n class=\"checkbox-input\"\n [disabled]=\"state.disabled\"\n [ngClass]=\"{\n 'checkbox-input--checked': state.checked,\n 'checkbox-input--indeterminate': state.indeterminate,\n }\"\n (change)=\"onCheckboxChange()\"\n [attr.aria-checked]=\"state.indeterminate ? 'mixed' : state.checked\"\n [attr.aria-disabled]=\"state.disabled\"\n />\n {{ data.label }}\n </div>\n </label>\n <div\n *ngIf=\"data.children && data.children.length\"\n class=\"checkbox-children\"\n >\n <s-checkbox\n *ngFor=\"let child of data.children\"\n [data]=\"child\"\n [ngModel]=\"getCheckboxState(state.children, child.label)\"\n (ngModelChange)=\"updateParent()\"\n >\n </s-checkbox>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [CheckboxComponent],\n exports: [CheckboxComponent],\n})\nexport class CheckboxModule {}\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":"seniorsistemas-angular-components-checkbox.mjs","sources":["../../projects/angular-components/checkbox/src/lib/checkbox/checkbox.component.ts","../../projects/angular-components/checkbox/src/lib/checkbox/checkbox.component.html","../../projects/angular-components/checkbox/src/seniorsistemas-angular-components-checkbox.ts"],"sourcesContent":["\nimport { CommonModule } from '@angular/common';\nimport { Component, forwardRef, input, model, output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 's-checkbox',\n standalone: true,\n imports: [CommonModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n templateUrl: './checkbox.component.html',\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n public disabled = model(false);\n public checked = model(false);\n public indeterminate = model(false);\n public label = input<string>('');\n\n private _onChange: (value: boolean) => void = () => { };\n private _onTouched: () => void = () => { };\n\n public toggle(): void {\n if (this.disabled()) {\n return;\n }\n\n if (this.indeterminate()) {\n this.indeterminate.set(false);\n this.checked.set(false);\n this.emit(false);\n } else {\n const newValue = !this.checked();\n this.checked.set(newValue);\n this.emit(newValue);\n }\n }\n\n public emit(value: boolean): void {\n this._onChange(value);\n this.checked.set(value);\n this.indeterminate.set(value);\n }\n\n public writeValue(value: any): void {\n this.checked.set(!!value);\n }\n\n public registerOnChange(onChange: (value: boolean) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState(disabled: boolean): void {\n this.disabled.set(disabled);\n }\n\n public onBlur(): void {\n this._onTouched();\n }\n}\n","<div\n class=\"flex cursor-pointer select-none gap-3\"\n [class.cursor-not-allowed]=\"disabled()\"\n tabindex=\"0\"\n role=\"checkbox\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-disabled]=\"disabled()\"\n (click)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n (blur)=\"onBlur()\"\n>\n <div\n class=\"flex h-5 w-5 items-center justify-center rounded border border-grayscale-30 transition-all duration-200 hover:border-grayscale-50\"\n [ngClass]=\"{\n 'bg-primary hover:bg-tarawera-500': checked() || indeterminate(),\n 'bg-grayscale-0': !checked() && !indeterminate(),\n 'border-primary hover:border-tarawera-500': checked() || indeterminate(),\n 'opacity-50': disabled(),\n }\"\n >\n @if (indeterminate()) {\n <svg\n class=\"h-3 w-3 text-grayscale-0\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M6 12h12\" />\n </svg>\n } @else {\n @if (checked()) {\n <svg\n class=\"text-white h-3 w-3\"\n fill=\"none\"\n stroke=\"white\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M4.5 12.75l5.5 5.5 9.5-9.5\" />\n </svg>\n }\n }\n </div>\n <span\n [class.opacity-50]=\"disabled()\"\n class=\"text-grayscale-90\"\n >\n {{ label() }}\n </span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -58,14 +58,12 @@ import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
58
58
  import { ButtonModule as ButtonModule$1 } from 'primeng/button';
59
59
  import * as i3$3 from 'primeng/datepicker';
60
60
  import { DatePickerModule } from 'primeng/datepicker';
61
- import { DropdownModule } from 'primeng/dropdown';
62
61
  import * as i5$1 from 'primeng/inputmask';
63
62
  import { InputMask, InputMaskModule } from 'primeng/inputmask';
64
63
  import * as i7 from 'primeng/inputtext';
65
64
  import { InputTextModule } from 'primeng/inputtext';
66
65
  import * as i6$1 from 'primeng/keyfilter';
67
66
  import { KeyFilterModule } from 'primeng/keyfilter';
68
- import * as i3$5 from 'primeng/multiselect';
69
67
  import { MultiSelectModule } from 'primeng/multiselect';
70
68
  import { PanelModule } from 'primeng/panel';
71
69
  import * as i4$1 from 'primeng/radiobutton';
@@ -85,16 +83,16 @@ import * as i2$a from '@seniorsistemas/angular-components/slider';
85
83
  import { SliderModule } from '@seniorsistemas/angular-components/slider';
86
84
  import * as i2$8 from 'primeng/editor';
87
85
  import { EditorModule } from 'primeng/editor';
88
- import * as i4$2 from 'primeng/select';
89
- import { SelectModule } from 'primeng/select';
90
86
  import * as i2$5 from '@seniorsistemas/angular-components/fieldset';
91
87
  import { FieldsetModule } from '@seniorsistemas/angular-components/fieldset';
92
88
  import { PrimeNG } from 'primeng/config';
93
- import * as i2$7 from '@seniorsistemas/angular-components/checkbox';
94
- import { CheckboxModule } from '@seniorsistemas/angular-components/checkbox';
89
+ import * as i2$7 from '@seniorsistemas/angular-components/checkbox-list';
90
+ import { CheckboxListModule } from '@seniorsistemas/angular-components/checkbox-list';
95
91
  import * as i1$4 from '@angular/cdk/clipboard';
96
92
  import * as i1$6 from '@seniorsistemas/angular-components/currency';
97
93
  import { currencies } from '@seniorsistemas/angular-components/currency';
94
+ import * as i3$5 from '@seniorsistemas/angular-components/select';
95
+ import { SelectComponent } from '@seniorsistemas/angular-components/select';
98
96
  import * as i2$c from '@seniorsistemas/angular-components/text-area';
99
97
  import { TextAreaModule } from '@seniorsistemas/angular-components/text-area';
100
98
  import * as i2$d from '@seniorsistemas/angular-components/star-rating';
@@ -547,6 +545,7 @@ class RadioButtonField extends Field {
547
545
  class SelectField extends Field {
548
546
  appendTo;
549
547
  optionLabel;
548
+ optionValue;
550
549
  dataKey;
551
550
  autoDisplayFirst;
552
551
  options;
@@ -563,6 +562,7 @@ class SelectField extends Field {
563
562
  this.appendTo = config.appendTo;
564
563
  this.dataKey = config.dataKey;
565
564
  this.optionLabel = config.optionLabel;
565
+ this.optionValue = config.optionValue;
566
566
  this.autoDisplayFirst = config.autoDisplayFirst;
567
567
  this.options = config.options;
568
568
  this.multiple = config.multiple;
@@ -2822,11 +2822,11 @@ class CheckboxFieldComponent {
2822
2822
  field;
2823
2823
  formControl;
2824
2824
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2825
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, ngImport: i0, template: "<s-checkbox\n [data]=\"field.data\"\n [formControl]=\"formControl\">\n</s-checkbox>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$7.CheckboxComponent, selector: "s-checkbox", inputs: ["data"] }] });
2825
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, ngImport: i0, template: "<s-checkbox-list\n [data]=\"field.data\"\n [formControl]=\"formControl\"\n>\n</s-checkbox-list>\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$7.CheckboxListComponent, selector: "s-checkbox-list", inputs: ["data"] }] });
2826
2826
  }
2827
2827
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
2828
2828
  type: Component,
2829
- args: [{ template: "<s-checkbox\n [data]=\"field.data\"\n [formControl]=\"formControl\">\n</s-checkbox>" }]
2829
+ args: [{ template: "<s-checkbox-list\n [data]=\"field.data\"\n [formControl]=\"formControl\"\n>\n</s-checkbox-list>\n" }]
2830
2830
  }], propDecorators: { field: [{
2831
2831
  type: Input,
2832
2832
  args: [{ required: true }]
@@ -3329,11 +3329,11 @@ class SelectFieldComponent extends BaseFieldComponent {
3329
3329
  field;
3330
3330
  formControl;
3331
3331
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3332
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, usesInheritance: true, ngImport: i0, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n@if (field.multiple) {\n <p-multiSelect\n [formControl]=\"formControl\"\n [name]=\"field.name\"\n [inputId]=\"field.id || field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [group]=\"field.group\"\n [placeholder]=\"field.placeholder || ''\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [emptyFilterMessage]=\"field.emptyMessage || 'platform.angular_components.no_records_found' | translate\"\n [showDelay]=\"500\"\n [selectedItemsLabel]=\"\n field.multipleSelectedLabel || 'platform.angular_components.total_records_selected' | translate\n \"\n [appendTo]=\"field.appendTo || 'body'\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n >\n </p-multiSelect>\n} @else {\n <p-select\n [filter]=\"field.filter\"\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [showClear]=\"field.showClear\"\n [dataKey]=\"field.dataKey\"\n [optionLabel]=\"field.optionLabel ?? 'label'\"\n optionValue=\"value\"\n [autoDisplayFirst]=\"field.autoDisplayFirst\"\n [appendTo]=\"field.appendTo || 'body'\"\n [editable]=\"field.editable\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n >\n </p-select>\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef"] }, { kind: "component", type: i3$5.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i4$2.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }] });
3332
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, usesInheritance: true, ngImport: i0, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-select\n [multiple]=\"field.multiple ?? false\"\n [filter]=\"field.filter ?? false\"\n [id]=\"field.id || field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [group]=\"field.group ?? false\"\n [showClear]=\"field.showClear ?? false\"\n [optionLabel]=\"field.optionLabel ?? 'label'\"\n [optionValue]=\"field.optionValue ?? 'value'\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n [emptyMessage]=\"field.emptyMessage ?? null\"\n>\n</s-select>\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef"] }, { kind: "component", type: i3$5.SelectComponent, selector: "s-select", inputs: ["placeholder", "multiple", "options", "optionLabel", "optionValue", "showClear", "filter", "checkmark", "filterBy", "group", "virtualScroll", "virtualScrollItemSize", "emptyMessage", "useRawValue", "dataKey", "disabled"], outputs: ["disabledChange"] }, { kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
3333
3333
  }
3334
3334
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFieldComponent, decorators: [{
3335
3335
  type: Component,
3336
- args: [{ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n@if (field.multiple) {\n <p-multiSelect\n [formControl]=\"formControl\"\n [name]=\"field.name\"\n [inputId]=\"field.id || field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [group]=\"field.group\"\n [placeholder]=\"field.placeholder || ''\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [emptyFilterMessage]=\"field.emptyMessage || 'platform.angular_components.no_records_found' | translate\"\n [showDelay]=\"500\"\n [selectedItemsLabel]=\"\n field.multipleSelectedLabel || 'platform.angular_components.total_records_selected' | translate\n \"\n [appendTo]=\"field.appendTo || 'body'\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n >\n </p-multiSelect>\n} @else {\n <p-select\n [filter]=\"field.filter\"\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [showClear]=\"field.showClear\"\n [dataKey]=\"field.dataKey\"\n [optionLabel]=\"field.optionLabel ?? 'label'\"\n optionValue=\"value\"\n [autoDisplayFirst]=\"field.autoDisplayFirst\"\n [appendTo]=\"field.appendTo || 'body'\"\n [editable]=\"field.editable\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n >\n </p-select>\n}\n" }]
3336
+ args: [{ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-select\n [multiple]=\"field.multiple ?? false\"\n [filter]=\"field.filter ?? false\"\n [id]=\"field.id || field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [group]=\"field.group ?? false\"\n [showClear]=\"field.showClear ?? false\"\n [optionLabel]=\"field.optionLabel ?? 'label'\"\n [optionValue]=\"field.optionValue ?? 'value'\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n [emptyMessage]=\"field.emptyMessage ?? null\"\n>\n</s-select>\n" }]
3337
3337
  }], propDecorators: { field: [{
3338
3338
  type: Input,
3339
3339
  args: [{ required: true }]
@@ -3645,7 +3645,6 @@ class DynamicFormModule {
3645
3645
  ControlErrorsModule,
3646
3646
  CountryPhonePickerModule,
3647
3647
  DialogModule,
3648
- DropdownModule,
3649
3648
  EmptyStateModule,
3650
3649
  FormsModule,
3651
3650
  HotkeyModule,
@@ -3670,14 +3669,14 @@ class DynamicFormModule {
3670
3669
  PasswordStrengthModule,
3671
3670
  SliderModule,
3672
3671
  DatePickerModule, i2$2.TranslateModule, MultiSelectModule,
3673
- SelectModule,
3674
3672
  ProfilePicturePickerModule,
3675
3673
  NumberInputModule,
3676
3674
  EditorModule,
3677
- CheckboxModule,
3675
+ CheckboxListModule,
3678
3676
  TextAreaIAModule,
3679
3677
  TextAreaModule,
3680
- StarRatingComponent], exports: [DynamicFormComponent, DynamicFormDirective, LookupComponent] });
3678
+ StarRatingComponent,
3679
+ SelectComponent], exports: [DynamicFormComponent, DynamicFormDirective, LookupComponent] });
3681
3680
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormModule, imports: [AutoCompleteModule,
3682
3681
  BadgeModule,
3683
3682
  BignumberInputModule,
@@ -3688,7 +3687,6 @@ class DynamicFormModule {
3688
3687
  ControlErrorsModule,
3689
3688
  CountryPhonePickerModule,
3690
3689
  DialogModule,
3691
- DropdownModule,
3692
3690
  EmptyStateModule,
3693
3691
  FormsModule,
3694
3692
  HotkeyModule,
@@ -3717,14 +3715,14 @@ class DynamicFormModule {
3717
3715
  DatePickerModule,
3718
3716
  TranslateModule.forChild(),
3719
3717
  MultiSelectModule,
3720
- SelectModule,
3721
3718
  ProfilePicturePickerModule,
3722
3719
  NumberInputModule,
3723
3720
  EditorModule,
3724
- CheckboxModule,
3721
+ CheckboxListModule,
3725
3722
  TextAreaIAModule,
3726
3723
  TextAreaModule,
3727
- StarRatingComponent] });
3724
+ StarRatingComponent,
3725
+ SelectComponent] });
3728
3726
  }
3729
3727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormModule, decorators: [{
3730
3728
  type: NgModule,
@@ -3740,7 +3738,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3740
3738
  ControlErrorsModule,
3741
3739
  CountryPhonePickerModule,
3742
3740
  DialogModule,
3743
- DropdownModule,
3744
3741
  EmptyStateModule,
3745
3742
  FormsModule,
3746
3743
  HotkeyModule,
@@ -3769,14 +3766,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3769
3766
  DatePickerModule,
3770
3767
  TranslateModule.forChild(),
3771
3768
  MultiSelectModule,
3772
- SelectModule,
3773
3769
  ProfilePicturePickerModule,
3774
3770
  NumberInputModule,
3775
3771
  EditorModule,
3776
- CheckboxModule,
3772
+ CheckboxListModule,
3777
3773
  TextAreaIAModule,
3778
3774
  TextAreaModule,
3779
- StarRatingComponent
3775
+ StarRatingComponent,
3776
+ SelectComponent,
3780
3777
  ],
3781
3778
  declarations: [
3782
3779
  FieldLabelComponent,