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

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 (57) 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/package.json +41 -21
  39. package/paginator/index.d.ts +5 -0
  40. package/paginator/lib/models/paginator.models.d.ts +14 -0
  41. package/paginator/lib/paginator/paginator.component.d.ts +30 -0
  42. package/paginator/package.json +3 -0
  43. package/paginator/public-api.d.ts +2 -0
  44. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +3 -3
  45. package/table-header/lib/table-header/table-header-checkox.module.d.ts +2 -2
  46. package/tailwind.css +263 -0
  47. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +2 -2
  48. package/accessibility-events/index.d.ts +0 -5
  49. package/accessibility-events/lib/accessibility-events/accessibility-events.module.d.ts +0 -8
  50. package/accessibility-events/lib/accessibility-events/directives/accessibility-event.directive.d.ts +0 -15
  51. package/accessibility-events/package.json +0 -3
  52. package/accessibility-events/public-api.d.ts +0 -2
  53. package/checkbox/lib/checkbox/checkbox.module.d.ts +0 -9
  54. package/checkbox/lib/checkbox/models/checkbox-data.d.ts +0 -5
  55. package/checkbox/lib/checkbox/models/checkbox-state.d.ts +0 -7
  56. package/fesm2022/seniorsistemas-angular-components-accessibility-events.mjs +0 -77
  57. package/fesm2022/seniorsistemas-angular-components-accessibility-events.mjs.map +0 -1
@@ -21,7 +21,7 @@ export declare class ButtonComponent implements OnChanges {
21
21
  type?: string | undefined;
22
22
  priority?: ButtonPriority;
23
23
  menuOptions: TieredMenuItemData[];
24
- size?: string | undefined;
24
+ size?: 'default' | 'small';
25
25
  slide: boolean;
26
26
  animation?: ButtonAnimations;
27
27
  badge?: ButtonBadgeConfig;
@@ -1,21 +1,19 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
- import { CheckboxData } from './models/checkbox-data';
3
- import { CheckboxChildren, CheckboxState } from './models/checkbox-state';
4
2
  import * as i0 from "@angular/core";
5
3
  export declare class CheckboxComponent implements ControlValueAccessor {
6
- data: CheckboxData;
7
- state: CheckboxState;
4
+ disabled: import("@angular/core").ModelSignal<boolean>;
5
+ checked: import("@angular/core").ModelSignal<boolean>;
6
+ indeterminate: import("@angular/core").ModelSignal<boolean>;
7
+ label: import("@angular/core").InputSignal<string>;
8
8
  private _onChange;
9
9
  private _onTouched;
10
- writeValue(value: CheckboxState): void;
11
- get renderType(): "inline" | "block";
12
- registerOnChange(onChange: (value: CheckboxState) => void): void;
10
+ toggle(): void;
11
+ emit(value: boolean): void;
12
+ writeValue(value: any): void;
13
+ registerOnChange(onChange: (value: boolean) => void): void;
13
14
  registerOnTouched(onTouched: () => void): void;
14
- private _initializeChildren;
15
- getCheckboxState(item: CheckboxChildren | undefined, label: string): {};
16
- updateParent(): void;
17
- onCheckboxChange(): void;
18
- private _toggleChildrenCheck;
15
+ setDisabledState(disabled: boolean): void;
16
+ onBlur(): void;
19
17
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "s-checkbox", never, { "data": { "alias": "data"; "required": true; }; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "s-checkbox", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "checked": "checkedChange"; "indeterminate": "indeterminateChange"; }, never, never, true, never>;
21
19
  }
@@ -1,4 +1 @@
1
- export { CheckboxComponent } from './lib/checkbox/checkbox.component';
2
- export { CheckboxModule } from './lib/checkbox/checkbox.module';
3
- export type { CheckboxData } from './lib/checkbox/models/checkbox-data';
4
- export type { CheckboxChildren, CheckboxState } from './lib/checkbox/models/checkbox-state';
1
+ export { CheckboxComponent } from "./lib/checkbox/checkbox.component";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@seniorsistemas/angular-components/checkbox-list" />
5
+ export * from './public-api';
@@ -0,0 +1,21 @@
1
+ import { ControlValueAccessor } from '@angular/forms';
2
+ import { CheckboxListData } from './models/checkbox-list-data';
3
+ import { CheckboxListChildren, CheckboxListState } from './models/checkbox-list-state';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CheckboxListComponent implements ControlValueAccessor {
6
+ data: CheckboxListData;
7
+ state: CheckboxListState;
8
+ private _onChange;
9
+ private _onTouched;
10
+ writeValue(value: CheckboxListState): void;
11
+ get renderType(): "inline" | "block";
12
+ registerOnChange(onChange: (value: CheckboxListState) => void): void;
13
+ registerOnTouched(onTouched: () => void): void;
14
+ private _initializeChildren;
15
+ getCheckboxState(item: CheckboxListChildren | undefined, label: string): {};
16
+ updateParent(): void;
17
+ onCheckboxChange(): void;
18
+ private _toggleChildrenCheck;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxListComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxListComponent, "s-checkbox-list", never, { "data": { "alias": "data"; "required": true; }; }, {}, never, never, false, never>;
21
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./checkbox-list.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ export declare class CheckboxListModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxListModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CheckboxListModule, [typeof i1.CheckboxListComponent], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof i1.CheckboxListComponent]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<CheckboxListModule>;
9
+ }
@@ -0,0 +1,5 @@
1
+ export interface CheckboxListData {
2
+ label: string;
3
+ children?: CheckboxListData[];
4
+ renderType?: 'inline' | 'block';
5
+ }
@@ -0,0 +1,7 @@
1
+ export type CheckboxListChildren = Record<string, CheckboxListState>;
2
+ export interface CheckboxListState {
3
+ checked: boolean;
4
+ indeterminate?: boolean;
5
+ disabled?: boolean;
6
+ children?: CheckboxListChildren;
7
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/seniorsistemas-angular-components-checkbox-list.mjs"
3
+ }
@@ -0,0 +1,4 @@
1
+ export { CheckboxListComponent } from './lib/checkbox-list/checkbox-list.component';
2
+ export { CheckboxListModule } from './lib/checkbox-list/checkbox-list.module';
3
+ export type { CheckboxListData } from './lib/checkbox-list/models/checkbox-list-data';
4
+ export type { CheckboxListChildren, CheckboxListState } from './lib/checkbox-list/models/checkbox-list-state';
@@ -40,44 +40,43 @@ import * as i37 from "@angular/common";
40
40
  import * as i38 from "@seniorsistemas/angular-components/control-errors";
41
41
  import * as i39 from "@seniorsistemas/angular-components/country-phone-picker";
42
42
  import * as i40 from "primeng/dialog";
43
- import * as i41 from "primeng/dropdown";
44
- import * as i42 from "@seniorsistemas/angular-components/empty-state";
45
- import * as i43 from "@angular/forms";
46
- import * as i44 from "angular2-hotkeys";
47
- import * as i45 from "primeng/inputmask";
48
- import * as i46 from "primeng/inputtext";
49
- import * as i47 from "primeng/keyfilter";
50
- import * as i48 from "@seniorsistemas/angular-components/loading-state";
51
- import * as i49 from "@seniorsistemas/angular-components/locale";
52
- import * as i50 from "@seniorsistemas/angular-components/localized-number-input";
53
- import * as i51 from "primeng/panel";
54
- import * as i52 from "primeng/button";
55
- import * as i53 from "primeng/table";
56
- import * as i54 from "primeng/radiobutton";
57
- import * as i55 from "@seniorsistemas/angular-components/tooltip";
58
- import * as i56 from "@seniorsistemas/angular-components/fieldset";
59
- import * as i57 from "@seniorsistemas/angular-components/table-header";
60
- import * as i58 from "@seniorsistemas/angular-components/file-upload";
61
- import * as i59 from "@seniorsistemas/angular-components/info-sign";
62
- import * as i60 from "@seniorsistemas/angular-components/mask";
63
- import * as i61 from "@seniorsistemas/angular-components/mouse-events";
64
- import * as i62 from "@seniorsistemas/angular-components/switch";
65
- import * as i63 from "@seniorsistemas/angular-components/password-strength";
66
- import * as i64 from "@seniorsistemas/angular-components/slider";
67
- import * as i65 from "primeng/datepicker";
68
- import * as i66 from "@ngx-translate/core";
69
- import * as i67 from "primeng/multiselect";
70
- import * as i68 from "primeng/select";
71
- import * as i69 from "@seniorsistemas/angular-components/profile-picture-picker";
72
- import * as i70 from "@seniorsistemas/angular-components/number-input";
73
- import * as i71 from "primeng/editor";
74
- import * as i72 from "@seniorsistemas/angular-components/checkbox";
75
- import * as i73 from "@seniorsistemas/angular-components/text-area-ia";
76
- import * as i74 from "@seniorsistemas/angular-components/text-area";
77
- import * as i75 from "@seniorsistemas/angular-components/star-rating";
43
+ import * as i41 from "@seniorsistemas/angular-components/empty-state";
44
+ import * as i42 from "@angular/forms";
45
+ import * as i43 from "angular2-hotkeys";
46
+ import * as i44 from "primeng/inputmask";
47
+ import * as i45 from "primeng/inputtext";
48
+ import * as i46 from "primeng/keyfilter";
49
+ import * as i47 from "@seniorsistemas/angular-components/loading-state";
50
+ import * as i48 from "@seniorsistemas/angular-components/locale";
51
+ import * as i49 from "@seniorsistemas/angular-components/localized-number-input";
52
+ import * as i50 from "primeng/panel";
53
+ import * as i51 from "primeng/button";
54
+ import * as i52 from "primeng/table";
55
+ import * as i53 from "primeng/radiobutton";
56
+ import * as i54 from "@seniorsistemas/angular-components/tooltip";
57
+ import * as i55 from "@seniorsistemas/angular-components/fieldset";
58
+ import * as i56 from "@seniorsistemas/angular-components/table-header";
59
+ import * as i57 from "@seniorsistemas/angular-components/file-upload";
60
+ import * as i58 from "@seniorsistemas/angular-components/info-sign";
61
+ import * as i59 from "@seniorsistemas/angular-components/mask";
62
+ import * as i60 from "@seniorsistemas/angular-components/mouse-events";
63
+ import * as i61 from "@seniorsistemas/angular-components/switch";
64
+ import * as i62 from "@seniorsistemas/angular-components/password-strength";
65
+ import * as i63 from "@seniorsistemas/angular-components/slider";
66
+ import * as i64 from "primeng/datepicker";
67
+ import * as i65 from "@ngx-translate/core";
68
+ import * as i66 from "primeng/multiselect";
69
+ import * as i67 from "@seniorsistemas/angular-components/profile-picture-picker";
70
+ import * as i68 from "@seniorsistemas/angular-components/number-input";
71
+ import * as i69 from "primeng/editor";
72
+ import * as i70 from "@seniorsistemas/angular-components/checkbox-list";
73
+ import * as i71 from "@seniorsistemas/angular-components/text-area-ia";
74
+ import * as i72 from "@seniorsistemas/angular-components/text-area";
75
+ import * as i73 from "@seniorsistemas/angular-components/star-rating";
76
+ import * as i74 from "@seniorsistemas/angular-components/select";
78
77
  export declare class DynamicFormModule {
79
78
  constructor(dynamicFormCache: DynamicFormCacheService);
80
79
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormModule, never>;
81
- static ɵmod: i0.ɵɵNgModuleDeclaration<DynamicFormModule, [typeof i1.FieldLabelComponent, typeof i2.FileUploadFieldComponent, typeof i3.AutocompleteFieldComponent, typeof i4.BooleanFieldComponent, typeof i5.BooleanSwitchFieldComponent, typeof i6.CalendarFieldComponent, typeof i7.ChipsFieldComponent, typeof i8.CountryPhonePickerFieldComponent, typeof i9.DynamicFormComponent, typeof i10.DynamicFormDirective, typeof i11.FieldsetComponent, typeof i12.LookupComponent, typeof i13.LookupFieldComponent, typeof i14.RadioButtonComponent, typeof i15.RowComponent, typeof i16.SectionComponent, typeof i17.SelectFieldComponent, typeof i18.SliderFieldComponent, typeof i19.TextAreaFieldComponent, typeof i20.TextAreaIAFieldComponent, typeof i21.ButtonFieldComponent, typeof i22.TextFieldComponent, typeof i23.BignumberFieldComponent, typeof i24.ProfilePictureFieldComponent, typeof i25.PasswordFieldComponent, typeof i26.NumberFieldComponent, typeof i27.CurrencyFieldComponent, typeof i28.EditorFieldComponent, typeof i29.CheckboxFieldComponent, typeof i30.StarRatingFieldComponent], [typeof i31.AutoCompleteModule, typeof i32.BadgeModule, typeof i33.BignumberInputModule, typeof i34.ButtonModule, typeof i35.CalendarMaskModule, typeof i36.ChipsModule, typeof i37.CommonModule, typeof i38.ControlErrorsModule, typeof i39.CountryPhonePickerModule, typeof i40.DialogModule, typeof i41.DropdownModule, typeof i42.EmptyStateModule, typeof i43.FormsModule, typeof i44.HotkeyModule, typeof i45.InputMaskModule, typeof i46.InputTextModule, typeof i47.KeyFilterModule, typeof i48.LoadingStateModule, typeof i49.LocaleModule, typeof i50.LocalizedNumberInputModule, typeof i51.PanelModule, typeof i52.ButtonModule, typeof i53.TableModule, typeof i54.RadioButtonModule, typeof i43.ReactiveFormsModule, typeof i55.TooltipModule, typeof i56.FieldsetModule, typeof i57.TableHeaderCheckboxModule, typeof i58.FileUploadModule, typeof i59.InfoSignModule, typeof i60.MaskFormatterModule, typeof i44.HotkeyModule, typeof i61.MouseEventsModule, typeof i62.SwitchModule, typeof i63.PasswordStrengthModule, typeof i64.SliderModule, typeof i65.DatePickerModule, typeof i66.TranslateModule, typeof i67.MultiSelectModule, typeof i68.SelectModule, typeof i69.ProfilePicturePickerModule, typeof i70.NumberInputModule, typeof i71.EditorModule, typeof i72.CheckboxModule, typeof i73.TextAreaIAModule, typeof i74.TextAreaModule, typeof i75.StarRatingComponent], [typeof i9.DynamicFormComponent, typeof i10.DynamicFormDirective, typeof i12.LookupComponent]>;
80
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DynamicFormModule, [typeof i1.FieldLabelComponent, typeof i2.FileUploadFieldComponent, typeof i3.AutocompleteFieldComponent, typeof i4.BooleanFieldComponent, typeof i5.BooleanSwitchFieldComponent, typeof i6.CalendarFieldComponent, typeof i7.ChipsFieldComponent, typeof i8.CountryPhonePickerFieldComponent, typeof i9.DynamicFormComponent, typeof i10.DynamicFormDirective, typeof i11.FieldsetComponent, typeof i12.LookupComponent, typeof i13.LookupFieldComponent, typeof i14.RadioButtonComponent, typeof i15.RowComponent, typeof i16.SectionComponent, typeof i17.SelectFieldComponent, typeof i18.SliderFieldComponent, typeof i19.TextAreaFieldComponent, typeof i20.TextAreaIAFieldComponent, typeof i21.ButtonFieldComponent, typeof i22.TextFieldComponent, typeof i23.BignumberFieldComponent, typeof i24.ProfilePictureFieldComponent, typeof i25.PasswordFieldComponent, typeof i26.NumberFieldComponent, typeof i27.CurrencyFieldComponent, typeof i28.EditorFieldComponent, typeof i29.CheckboxFieldComponent, typeof i30.StarRatingFieldComponent], [typeof i31.AutoCompleteModule, typeof i32.BadgeModule, typeof i33.BignumberInputModule, typeof i34.ButtonModule, typeof i35.CalendarMaskModule, typeof i36.ChipsModule, typeof i37.CommonModule, typeof i38.ControlErrorsModule, typeof i39.CountryPhonePickerModule, typeof i40.DialogModule, typeof i41.EmptyStateModule, typeof i42.FormsModule, typeof i43.HotkeyModule, typeof i44.InputMaskModule, typeof i45.InputTextModule, typeof i46.KeyFilterModule, typeof i47.LoadingStateModule, typeof i48.LocaleModule, typeof i49.LocalizedNumberInputModule, typeof i50.PanelModule, typeof i51.ButtonModule, typeof i52.TableModule, typeof i53.RadioButtonModule, typeof i42.ReactiveFormsModule, typeof i54.TooltipModule, typeof i55.FieldsetModule, typeof i56.TableHeaderCheckboxModule, typeof i57.FileUploadModule, typeof i58.InfoSignModule, typeof i59.MaskFormatterModule, typeof i43.HotkeyModule, typeof i60.MouseEventsModule, typeof i61.SwitchModule, typeof i62.PasswordStrengthModule, typeof i63.SliderModule, typeof i64.DatePickerModule, typeof i65.TranslateModule, typeof i66.MultiSelectModule, typeof i67.ProfilePicturePickerModule, typeof i68.NumberInputModule, typeof i69.EditorModule, typeof i70.CheckboxListModule, typeof i71.TextAreaIAModule, typeof i72.TextAreaModule, typeof i73.StarRatingComponent, typeof i74.SelectComponent], [typeof i9.DynamicFormComponent, typeof i10.DynamicFormDirective, typeof i12.LookupComponent]>;
82
81
  static ɵinj: i0.ɵɵInjectorDeclaration<DynamicFormModule>;
83
82
  }
@@ -1,9 +1,9 @@
1
- import { CheckboxData } from "@seniorsistemas/angular-components/checkbox";
1
+ import { CheckboxListData } from "@seniorsistemas/angular-components/checkbox-list";
2
2
  import { Field, FieldConfig } from "./field";
3
3
  export interface CheckboxFieldConfig extends FieldConfig {
4
- data: CheckboxData;
4
+ data: CheckboxListData;
5
5
  }
6
6
  export declare class CheckboxField extends Field {
7
- data: CheckboxData;
7
+ data: CheckboxListData;
8
8
  constructor(config: CheckboxFieldConfig);
9
9
  }
@@ -3,6 +3,7 @@ type selectOptionFn = () => SelectOption[];
3
3
  export interface SelectFieldConfig extends FieldConfig {
4
4
  appendTo?: string;
5
5
  optionLabel?: string;
6
+ optionValue?: string;
6
7
  dataKey?: string;
7
8
  autoDisplayFirst?: boolean;
8
9
  options: selectOptionFn | any[];
@@ -18,6 +19,7 @@ export interface SelectFieldConfig extends FieldConfig {
18
19
  export declare class SelectField extends Field implements SelectFieldConfig {
19
20
  appendTo?: string;
20
21
  optionLabel?: string;
22
+ optionValue?: string;
21
23
  dataKey?: string;
22
24
  autoDisplayFirst?: boolean;
23
25
  options: selectOptionFn | any[];
@@ -49,11 +49,13 @@ class ButtonComponent {
49
49
  return this.animation === 'rotate';
50
50
  }
51
51
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ButtonComponent, selector: "s-button", inputs: { id: "id", label: "label", tooltip: "tooltip", tooltipPosition: "tooltipPosition", iconClass: "iconClass", rightIconClass: "rightIconClass", caret: "caret", styleClass: "styleClass", baseZIndex: "baseZIndex", disabled: "disabled", auxiliary: "auxiliary", type: "type", priority: "priority", menuOptions: "menuOptions", size: "size", slide: "slide", animation: "animation", badge: "badge", iconColor: "iconColor" }, outputs: { clicked: "clicked" }, host: { properties: { "style.min-width": "this.minWidth" } }, usesOnChanges: true, ngImport: i0, template: "<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"clicked.emit($event)\"\n>\n <div\n *ngIf=\"badge\"\n class=\"badge\"\n >\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n", styles: [":host{display:inline-block}button{align-items:center;display:inline-flex;justify-content:center;border:1px solid;border-radius:4px;color:#fff;cursor:pointer;font-family:Open Sans,sans-serif;font-size:14px;height:35px;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}button:disabled{background-image:none;cursor:text;filter:Alpha(Opacity=50);opacity:.5}button.s-button-auxiliary{border-radius:20px}button.s-button-size-small{height:25px;padding:0 20px}button.s-button-size-default{height:35px}button.s-button-with-text,button.s-button-with-icon.s-button-multiple{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button .s-button-icon,button .s-button-right-icon,button .s-button-menu-icon,button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}button.s-button-multiple .s-button-text{align-items:left;display:inline-flex;justify-content:left}button.s-button-with-icon .s-button-text{align-items:right;display:inline-flex;justify-content:right}button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button.s-button-priority-primary .s-button-icon,button.s-button-priority-primary .s-button-right-icon,button.s-button-priority-primary .s-button-text,button.s-button-priority-primary .s-button-menu-icon{color:#fff}button.s-button-priority-primary:hover{background-color:#2a6496}button.s-button-priority-primary:focus{background-color:#2a6496;border-color:#22dce6}button.s-button-priority-primary:active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}button.s-button-priority-primary .menu-options-icon{color:#fff}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .s-button-icon,button.s-button-priority-secondary .s-button-right-icon,button.s-button-priority-secondary .s-button-text,button.s-button-priority-secondary .s-button-menu-icon{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary:active:not(:disabled),button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}button.s-button-priority-secondary .menu-options-icon{color:#fff}button.s-button-priority-default{background-color:#fff;border-color:#ccc}button.s-button-priority-default .s-button-icon,button.s-button-priority-default .s-button-right-icon,button.s-button-priority-default .s-button-text,button.s-button-priority-default .s-button-menu-icon{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default:active:not(:disabled),button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-default .menu-options-icon{color:#333}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text,button.s-button-priority-link .s-button-menu-icon{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text,button.s-button-priority-link:hover .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:focus{background-color:transparent;border-color:#22dce6}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text,button.s-button-priority-link:focus .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:active:not(:disabled),button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.s-button-priority-danger .s-button-icon,.s-button-priority-danger .s-button-right-icon,.s-button-priority-danger .s-button-text,.s-button-priority-danger .s-button-menu-icon{color:#fff}.s-button-priority-danger:hover{background-color:#642525}.s-button-priority-danger:focus{background-color:#642525;border-color:#22dce6}.s-button-priority-danger:active:not(:disabled),.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.s-button-priority-danger .menu-options-icon{color:#fff}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.s-button--slide.s-button-with-text,.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.badge{position:absolute;right:-10px;top:-10px;z-index:99}.menu-options-icon{color:#212533}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign"], outputs: ["selected"] }, { kind: "directive", type: i3.TieredMenuDirective, selector: "[sTieredMenu]", inputs: ["items", "focusedItem", "triggerEvent"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef"] }] });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ButtonComponent, selector: "s-button", inputs: { id: "id", label: "label", tooltip: "tooltip", tooltipPosition: "tooltipPosition", iconClass: "iconClass", rightIconClass: "rightIconClass", caret: "caret", styleClass: "styleClass", baseZIndex: "baseZIndex", disabled: "disabled", auxiliary: "auxiliary", type: "type", priority: "priority", menuOptions: "menuOptions", size: "size", slide: "slide", animation: "animation", badge: "badge", iconColor: "iconColor" }, outputs: { clicked: "clicked" }, host: { properties: { "class.s-button-with-badge": "!!badge", "style.min-width": "this.minWidth" } }, usesOnChanges: true, ngImport: i0, template: "<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-only-icon': iconClass && !label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"clicked.emit($event)\"\n>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n@if (badge) {\n <div class=\"badge\">\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n}\n", styles: [":host{display:inline-flex;position:relative}:host.s-button-with-badge{margin-right:-15px}button{align-items:center;display:inline-flex;justify-content:center;border:1px solid;border-radius:4px;color:#fff;cursor:pointer;font-family:Open Sans,sans-serif;font-size:14px;height:35px;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}button:disabled{background-image:none;cursor:text;filter:Alpha(Opacity=50);opacity:.5}button.s-button-auxiliary{border-radius:20px}button.s-button-size-small{height:25px}button.s-button-size-small.s-button-only-icon{max-width:24px;max-height:24px;min-width:24px}button.s-button-size-default{height:35px}button.s-button-with-text,button.s-button-with-icon.s-button-multiple{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button.s-button-multiple.s-button-size-small.s-button-empty{width:25px;min-width:25px}button .s-button-icon,button .s-button-right-icon,button .s-button-menu-icon,button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}button.s-button-multiple .s-button-text{align-items:left;display:inline-flex;justify-content:left}button.s-button-with-icon .s-button-text{align-items:right;display:inline-flex;justify-content:right}button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button.s-button-priority-primary .s-button-icon,button.s-button-priority-primary .s-button-right-icon,button.s-button-priority-primary .s-button-text,button.s-button-priority-primary .s-button-menu-icon{color:#fff}button.s-button-priority-primary:hover{background-color:#2a6496}button.s-button-priority-primary:focus{background-color:#2a6496;border-color:#22dce6}button.s-button-priority-primary:active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}button.s-button-priority-primary .menu-options-icon{color:#fff}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .s-button-icon,button.s-button-priority-secondary .s-button-right-icon,button.s-button-priority-secondary .s-button-text,button.s-button-priority-secondary .s-button-menu-icon{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary:active:not(:disabled),button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}button.s-button-priority-secondary .menu-options-icon{color:#fff}button.s-button-priority-default{background-color:#fff;border-color:#ccc}button.s-button-priority-default .s-button-icon,button.s-button-priority-default .s-button-right-icon,button.s-button-priority-default .s-button-text,button.s-button-priority-default .s-button-menu-icon{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default:active:not(:disabled),button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-default .menu-options-icon{color:#333}button.s-button-auxiliary.s-button-only-icon{border-radius:50%}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text,button.s-button-priority-link .s-button-menu-icon{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text,button.s-button-priority-link:hover .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:focus{background-color:transparent;border-color:#22dce6}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text,button.s-button-priority-link:focus .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:active:not(:disabled),button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.s-button-priority-danger .s-button-icon,.s-button-priority-danger .s-button-right-icon,.s-button-priority-danger .s-button-text,.s-button-priority-danger .s-button-menu-icon{color:#fff}.s-button-priority-danger:hover{background-color:#642525}.s-button-priority-danger:focus{background-color:#642525;border-color:#22dce6}.s-button-priority-danger:active:not(:disabled),.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.s-button-priority-danger .menu-options-icon{color:#fff}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.s-button--slide.s-button-with-text,.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.badge{z-index:99;position:relative;right:15px;bottom:16px}.menu-options-icon{color:#212533}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign"], outputs: ["selected"] }, { kind: "directive", type: i3.TieredMenuDirective, selector: "[sTieredMenu]", inputs: ["items", "focusedItem", "triggerEvent"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef"] }] });
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 's-button', template: "<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"clicked.emit($event)\"\n>\n <div\n *ngIf=\"badge\"\n class=\"badge\"\n >\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n", styles: [":host{display:inline-block}button{align-items:center;display:inline-flex;justify-content:center;border:1px solid;border-radius:4px;color:#fff;cursor:pointer;font-family:Open Sans,sans-serif;font-size:14px;height:35px;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}button:disabled{background-image:none;cursor:text;filter:Alpha(Opacity=50);opacity:.5}button.s-button-auxiliary{border-radius:20px}button.s-button-size-small{height:25px;padding:0 20px}button.s-button-size-default{height:35px}button.s-button-with-text,button.s-button-with-icon.s-button-multiple{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button .s-button-icon,button .s-button-right-icon,button .s-button-menu-icon,button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}button.s-button-multiple .s-button-text{align-items:left;display:inline-flex;justify-content:left}button.s-button-with-icon .s-button-text{align-items:right;display:inline-flex;justify-content:right}button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button.s-button-priority-primary .s-button-icon,button.s-button-priority-primary .s-button-right-icon,button.s-button-priority-primary .s-button-text,button.s-button-priority-primary .s-button-menu-icon{color:#fff}button.s-button-priority-primary:hover{background-color:#2a6496}button.s-button-priority-primary:focus{background-color:#2a6496;border-color:#22dce6}button.s-button-priority-primary:active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}button.s-button-priority-primary .menu-options-icon{color:#fff}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .s-button-icon,button.s-button-priority-secondary .s-button-right-icon,button.s-button-priority-secondary .s-button-text,button.s-button-priority-secondary .s-button-menu-icon{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary:active:not(:disabled),button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}button.s-button-priority-secondary .menu-options-icon{color:#fff}button.s-button-priority-default{background-color:#fff;border-color:#ccc}button.s-button-priority-default .s-button-icon,button.s-button-priority-default .s-button-right-icon,button.s-button-priority-default .s-button-text,button.s-button-priority-default .s-button-menu-icon{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default:active:not(:disabled),button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-default .menu-options-icon{color:#333}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text,button.s-button-priority-link .s-button-menu-icon{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text,button.s-button-priority-link:hover .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:focus{background-color:transparent;border-color:#22dce6}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text,button.s-button-priority-link:focus .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:active:not(:disabled),button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.s-button-priority-danger .s-button-icon,.s-button-priority-danger .s-button-right-icon,.s-button-priority-danger .s-button-text,.s-button-priority-danger .s-button-menu-icon{color:#fff}.s-button-priority-danger:hover{background-color:#642525}.s-button-priority-danger:focus{background-color:#642525;border-color:#22dce6}.s-button-priority-danger:active:not(:disabled),.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.s-button-priority-danger .menu-options-icon{color:#fff}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.s-button--slide.s-button-with-text,.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.badge{position:absolute;right:-10px;top:-10px;z-index:99}.menu-options-icon{color:#212533}\n"] }]
56
+ args: [{ selector: 's-button', host: {
57
+ '[class.s-button-with-badge]': '!!badge'
58
+ }, template: "<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-only-icon': iconClass && !label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"clicked.emit($event)\"\n>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n@if (badge) {\n <div class=\"badge\">\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n}\n", styles: [":host{display:inline-flex;position:relative}:host.s-button-with-badge{margin-right:-15px}button{align-items:center;display:inline-flex;justify-content:center;border:1px solid;border-radius:4px;color:#fff;cursor:pointer;font-family:Open Sans,sans-serif;font-size:14px;height:35px;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}button:disabled{background-image:none;cursor:text;filter:Alpha(Opacity=50);opacity:.5}button.s-button-auxiliary{border-radius:20px}button.s-button-size-small{height:25px}button.s-button-size-small.s-button-only-icon{max-width:24px;max-height:24px;min-width:24px}button.s-button-size-default{height:35px}button.s-button-with-text,button.s-button-with-icon.s-button-multiple{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button.s-button-multiple.s-button-size-small.s-button-empty{width:25px;min-width:25px}button .s-button-icon,button .s-button-right-icon,button .s-button-menu-icon,button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}button.s-button-multiple .s-button-text{align-items:left;display:inline-flex;justify-content:left}button.s-button-with-icon .s-button-text{align-items:right;display:inline-flex;justify-content:right}button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button.s-button-priority-primary .s-button-icon,button.s-button-priority-primary .s-button-right-icon,button.s-button-priority-primary .s-button-text,button.s-button-priority-primary .s-button-menu-icon{color:#fff}button.s-button-priority-primary:hover{background-color:#2a6496}button.s-button-priority-primary:focus{background-color:#2a6496;border-color:#22dce6}button.s-button-priority-primary:active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}button.s-button-priority-primary .menu-options-icon{color:#fff}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .s-button-icon,button.s-button-priority-secondary .s-button-right-icon,button.s-button-priority-secondary .s-button-text,button.s-button-priority-secondary .s-button-menu-icon{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary:active:not(:disabled),button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}button.s-button-priority-secondary .menu-options-icon{color:#fff}button.s-button-priority-default{background-color:#fff;border-color:#ccc}button.s-button-priority-default .s-button-icon,button.s-button-priority-default .s-button-right-icon,button.s-button-priority-default .s-button-text,button.s-button-priority-default .s-button-menu-icon{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default:active:not(:disabled),button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-default .menu-options-icon{color:#333}button.s-button-auxiliary.s-button-only-icon{border-radius:50%}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text,button.s-button-priority-link .s-button-menu-icon{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text,button.s-button-priority-link:hover .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:focus{background-color:transparent;border-color:#22dce6}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text,button.s-button-priority-link:focus .s-button-menu-icon{color:#2a6496}button.s-button-priority-link:active:not(:disabled),button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.s-button-priority-danger .s-button-icon,.s-button-priority-danger .s-button-right-icon,.s-button-priority-danger .s-button-text,.s-button-priority-danger .s-button-menu-icon{color:#fff}.s-button-priority-danger:hover{background-color:#642525}.s-button-priority-danger:focus{background-color:#642525;border-color:#22dce6}.s-button-priority-danger:active:not(:disabled),.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.s-button-priority-danger .menu-options-icon{color:#fff}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.s-button--slide.s-button-with-text,.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.badge{z-index:99;position:relative;right:15px;bottom:16px}.menu-options-icon{color:#212533}\n"] }]
57
59
  }], propDecorators: { minWidth: [{
58
60
  type: HostBinding,
59
61
  args: ['style.min-width']
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-button.mjs","sources":["../../projects/angular-components/button/src/lib/button/button.component.ts","../../projects/angular-components/button/src/lib/button/button.component.html","../../projects/angular-components/button/src/lib/button/button.module.ts","../../projects/angular-components/button/src/seniorsistemas-angular-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { ButtonAnimations } from './models/button-animations';\nimport { ButtonBadgeConfig } from './models/button-badge-config';\nimport { ButtonPriority } from './models/button-priority';\nimport { TooltipPositions } from '@seniorsistemas/angular-components/tooltip';\nimport { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';\nimport { randomHash } from '@seniorsistemas/angular-components/utils';\n\n@Component({\n selector: 's-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnChanges {\n @HostBinding('style.min-width')\n public minWidth = '40px';\n\n @Input()\n public id? = `s-button-${randomHash()}`;\n\n @Input()\n public label?: string;\n\n @Input()\n public tooltip?: string;\n\n @Input()\n public tooltipPosition: TooltipPositions = 'top';\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public rightIconClass?: string;\n\n @Input()\n public caret = true;\n\n @Input()\n public styleClass = '';\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public disabled = false;\n\n @Input()\n public auxiliary = false;\n\n @Input()\n public type? = 'button';\n\n @Input()\n public priority?: ButtonPriority = 'primary';\n\n @Input()\n public menuOptions: TieredMenuItemData[] = [];\n\n @Input()\n public size? = 'default';\n\n @Input()\n public slide = false;\n\n @Input()\n public animation?: ButtonAnimations;\n\n @Input()\n public badge?: ButtonBadgeConfig;\n\n @Input()\n public iconColor? = \"#212533\";\n\n @Output()\n public clicked: EventEmitter<any> = new EventEmitter();\n\n public validateSlideButton(): boolean {\n return !!(this.slide && (this.priority === 'default' || this.priority === 'link') && this.label?.length);\n }\n\n public ngOnChanges(_: SimpleChanges): void {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n\n const isMultiple = this.menuOptions?.length;\n\n if (hasText || (hasIcon && isMultiple)) this.minWidth = '80px';\n if (hasText && hasIcon && isMultiple) this.minWidth = '100px';\n }\n\n public isRotateAnimation(): boolean {\n return this.animation === 'rotate';\n }\n}\n","<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"clicked.emit($event)\"\n>\n <div\n *ngIf=\"badge\"\n class=\"badge\"\n >\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { ButtonComponent } from './button.component';\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n BadgeModule,\n TieredMenuModule,\n TooltipModule,\n ],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule { }\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-button.mjs","sources":["../../projects/angular-components/button/src/lib/button/button.component.ts","../../projects/angular-components/button/src/lib/button/button.component.html","../../projects/angular-components/button/src/lib/button/button.module.ts","../../projects/angular-components/button/src/seniorsistemas-angular-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { ButtonAnimations } from './models/button-animations';\nimport { ButtonBadgeConfig } from './models/button-badge-config';\nimport { ButtonPriority } from './models/button-priority';\nimport { TooltipPositions } from '@seniorsistemas/angular-components/tooltip';\nimport { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';\nimport { randomHash } from '@seniorsistemas/angular-components/utils';\n\n@Component({\n selector: 's-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n host: {\n '[class.s-button-with-badge]': '!!badge'\n }\n})\nexport class ButtonComponent implements OnChanges {\n @HostBinding('style.min-width')\n public minWidth = '40px';\n\n @Input()\n public id? = `s-button-${randomHash()}`;\n\n @Input()\n public label?: string;\n\n @Input()\n public tooltip?: string;\n\n @Input()\n public tooltipPosition: TooltipPositions = 'top';\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public rightIconClass?: string;\n\n @Input()\n public caret = true;\n\n @Input()\n public styleClass = '';\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public disabled = false;\n\n @Input()\n public auxiliary = false;\n\n @Input()\n public type? = 'button';\n\n @Input()\n public priority?: ButtonPriority = 'primary';\n\n @Input()\n public menuOptions: TieredMenuItemData[] = [];\n\n @Input()\n public size?: 'default' | 'small' = 'default';\n\n @Input()\n public slide = false;\n\n @Input()\n public animation?: ButtonAnimations;\n\n @Input()\n public badge?: ButtonBadgeConfig;\n\n @Input()\n public iconColor? = \"#212533\";\n\n @Output()\n public clicked: EventEmitter<any> = new EventEmitter();\n\n public validateSlideButton(): boolean {\n return !!(this.slide && (this.priority === 'default' || this.priority === 'link') && this.label?.length);\n }\n\n public ngOnChanges(_: SimpleChanges): void {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n\n const isMultiple = this.menuOptions?.length;\n\n if (hasText || (hasIcon && isMultiple)) this.minWidth = '80px';\n if (hasText && hasIcon && isMultiple) this.minWidth = '100px';\n }\n\n public isRotateAnimation(): boolean {\n return this.animation === 'rotate';\n }\n}\n","<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-only-icon': iconClass && !label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"clicked.emit($event)\"\n>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n@if (badge) {\n <div class=\"badge\">\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { ButtonComponent } from './button.component';\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n BadgeModule,\n TieredMenuModule,\n TooltipModule,\n ],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
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
+ import * as i1 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+
8
+ class CheckboxListComponent {
9
+ data;
10
+ state = {
11
+ checked: false,
12
+ indeterminate: false,
13
+ children: {},
14
+ };
15
+ _onChange = () => { };
16
+ _onTouched = () => { };
17
+ writeValue(value) {
18
+ if (value) {
19
+ this.state = value;
20
+ }
21
+ else {
22
+ this.state = {
23
+ checked: false,
24
+ indeterminate: false,
25
+ disabled: false,
26
+ children: this._initializeChildren(this.data),
27
+ };
28
+ }
29
+ }
30
+ get renderType() {
31
+ return this.data.renderType ?? "inline";
32
+ }
33
+ registerOnChange(onChange) {
34
+ this._onChange = onChange;
35
+ }
36
+ registerOnTouched(onTouched) {
37
+ this._onTouched = onTouched;
38
+ }
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;
51
+ }
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);
87
+ this._onTouched();
88
+ }
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
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxListComponent, selector: "s-checkbox-list", inputs: { data: "data" }, providers: [
111
+ {
112
+ provide: NG_VALUE_ACCESSOR,
113
+ useExisting: forwardRef(() => CheckboxListComponent),
114
+ multi: true,
115
+ },
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-list\n *ngFor=\"let child of data.children\"\n [data]=\"child\"\n [ngModel]=\"getCheckboxState(state.children, child.label)\"\n (ngModelChange)=\"updateParent()\"\n >\n </s-checkbox-list>\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: CheckboxListComponent, selector: "s-checkbox-list", inputs: ["data"] }] });
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxListComponent, decorators: [{
119
+ type: Component,
120
+ args: [{ selector: 's-checkbox-list', providers: [
121
+ {
122
+ provide: NG_VALUE_ACCESSOR,
123
+ useExisting: forwardRef(() => CheckboxListComponent),
124
+ multi: true,
125
+ },
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-list\n *ngFor=\"let child of data.children\"\n [data]=\"child\"\n [ngModel]=\"getCheckboxState(state.children, child.label)\"\n (ngModelChange)=\"updateParent()\"\n >\n </s-checkbox-list>\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 CheckboxListModule {
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
134
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CheckboxListModule, declarations: [CheckboxListComponent], imports: [CommonModule, FormsModule], exports: [CheckboxListComponent] });
135
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxListModule, imports: [CommonModule, FormsModule] });
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxListModule, decorators: [{
138
+ type: NgModule,
139
+ args: [{
140
+ imports: [CommonModule, FormsModule],
141
+ declarations: [CheckboxListComponent],
142
+ exports: [CheckboxListComponent],
143
+ }]
144
+ }] });
145
+
146
+ /**
147
+ * Generated bundle index. Do not edit.
148
+ */
149
+
150
+ export { CheckboxListComponent, CheckboxListModule };
151
+ //# sourceMappingURL=seniorsistemas-angular-components-checkbox-list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seniorsistemas-angular-components-checkbox-list.mjs","sources":["../../projects/angular-components/checkbox-list/src/lib/checkbox-list/checkbox-list.component.ts","../../projects/angular-components/checkbox-list/src/lib/checkbox-list/checkbox-list.component.html","../../projects/angular-components/checkbox-list/src/lib/checkbox-list/checkbox-list.module.ts","../../projects/angular-components/checkbox-list/src/seniorsistemas-angular-components-checkbox-list.ts"],"sourcesContent":["import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CheckboxListData } from './models/checkbox-list-data';\nimport { CheckboxListChildren, CheckboxListState } from './models/checkbox-list-state';\n\n@Component({\n selector: 's-checkbox-list',\n templateUrl: './checkbox-list.component.html',\n styleUrls: ['./checkbox-list.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxListComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxListComponent implements ControlValueAccessor {\n @Input({ required: true })\n public data!: CheckboxListData;\n\n public state: CheckboxListState = {\n checked: false,\n indeterminate: false,\n children: {},\n };\n\n private _onChange: (value: CheckboxListState) => void = () => { };\n private _onTouched: () => void = () => { };\n\n public writeValue(value: CheckboxListState): 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: CheckboxListState) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n private _initializeChildren(item: CheckboxListData): CheckboxListChildren {\n const childrenState: CheckboxListChildren = {};\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: CheckboxListChildren | 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: CheckboxListChildren | 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: CheckboxListData, state: CheckboxListState, 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-list\n *ngFor=\"let child of data.children\"\n [data]=\"child\"\n [ngModel]=\"getCheckboxState(state.children, child.label)\"\n (ngModelChange)=\"updateParent()\"\n >\n </s-checkbox-list>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CheckboxListComponent } from './checkbox-list.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [CheckboxListComponent],\n exports: [CheckboxListComponent],\n})\nexport class CheckboxListModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}