@seniorsistemas/data-seniorx-core 1.7.0 → 1.8.0

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 (104) hide show
  1. package/core/types/card.type.d.ts +1 -15
  2. package/core/types/filters.type.d.ts +9 -6
  3. package/core/types/row-card.type.d.ts +1 -7
  4. package/core/types/sidebar.type.d.ts +6 -0
  5. package/core/utils/array.util.d.ts +1 -0
  6. package/esm2022/core/config/card.type.config.mjs +3 -3
  7. package/esm2022/core/config/row-card.type.config.mjs +2 -1
  8. package/esm2022/core/handlers/sqlFormatter.mjs +2 -2
  9. package/esm2022/core/types/card.type.mjs +2 -39
  10. package/esm2022/core/types/filters.type.mjs +1 -1
  11. package/esm2022/core/types/row-card.type.mjs +1 -1
  12. package/esm2022/core/types/sidebar.type.mjs +2 -0
  13. package/esm2022/core/types/table.type.mjs +28 -0
  14. package/esm2022/core/utils/array.util.mjs +4 -0
  15. package/esm2022/features/button/button.component.mjs +4 -4
  16. package/esm2022/features/card-list/card/card.component.mjs +5 -5
  17. package/esm2022/features/card-list/card-list.component.mjs +8 -8
  18. package/esm2022/features/checkbox/checkbox.component.mjs +3 -3
  19. package/esm2022/features/combobox/combobox.component.mjs +10 -7
  20. package/esm2022/features/confirm/confirm.component.mjs +3 -3
  21. package/esm2022/features/filters/filters.component.mjs +35 -9
  22. package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
  23. package/esm2022/features/inputs.mjs +3 -3
  24. package/esm2022/features/list/list.component.mjs +3 -3
  25. package/esm2022/features/modal/modal.component.mjs +3 -3
  26. package/esm2022/features/modalc/modalc.component.mjs +4 -4
  27. package/esm2022/features/paginator/paginator.component.mjs +81 -33
  28. package/esm2022/features/panel/panel.component.mjs +26 -16
  29. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +29 -18
  30. package/esm2022/features/row-card-list/row-card-list.component.mjs +10 -10
  31. package/esm2022/features/scaffold/scaffold.component.mjs +43 -14
  32. package/esm2022/features/searchbox/searchbox.component.mjs +4 -4
  33. package/esm2022/features/sidebar/sidebar.component.mjs +3 -3
  34. package/esm2022/features/spinner/spinner.component.mjs +3 -3
  35. package/esm2022/features/spinner/spinner.service.mjs +3 -3
  36. package/esm2022/features/sql-editor/sql-editor.component.mjs +3 -3
  37. package/esm2022/features/tab/tab-item.component.mjs +3 -3
  38. package/esm2022/features/tab/tab.component.mjs +5 -5
  39. package/esm2022/features/table/table.component.mjs +6 -6
  40. package/esm2022/features/textbox/textbox.component.mjs +3 -3
  41. package/esm2022/features/toast/toast.component.mjs +4 -4
  42. package/esm2022/features/toast/toast.service.mjs +4 -4
  43. package/esm2022/providers/styles.provider.mjs +32 -0
  44. package/esm2022/public-api.mjs +28 -6
  45. package/features/button/button.component.d.ts +1 -1
  46. package/features/card-list/card/card.component.d.ts +2 -2
  47. package/features/card-list/card-list.component.d.ts +1 -1
  48. package/features/combobox/combobox.component.d.ts +3 -2
  49. package/features/filters/filters.component.d.ts +5 -2
  50. package/features/modalc/modalc.component.d.ts +1 -1
  51. package/features/paginator/paginator.component.d.ts +29 -8
  52. package/features/panel/panel.component.d.ts +8 -2
  53. package/features/row-card-list/row-card/row-card.component.d.ts +7 -4
  54. package/features/row-card-list/row-card-list.component.d.ts +3 -3
  55. package/features/scaffold/scaffold.component.d.ts +12 -4
  56. package/features/searchbox/searchbox.component.d.ts +1 -1
  57. package/features/tab/tab.component.d.ts +1 -1
  58. package/features/table/table.component.d.ts +2 -2
  59. package/features/toast/toast.component.d.ts +1 -1
  60. package/features/toast/toast.service.d.ts +1 -1
  61. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +479 -199
  62. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  63. package/package.json +19 -14
  64. package/providers/styles.provider.d.ts +2 -0
  65. package/public-api.d.ts +20 -5
  66. package/src/locales/en.json +15 -0
  67. package/src/locales/es-CO.json +15 -0
  68. package/src/locales/pt.json +15 -0
  69. package/styles/domain-filter.scss +10 -0
  70. package/styles/fields.scss +17 -0
  71. package/styles/hyperlink.scss +11 -0
  72. package/styles/sdc-card.scss +34 -0
  73. package/styles/sdc-global-variables.scss +73 -0
  74. package/styles/sql-editor.scss +3 -0
  75. package/styles.css +20161 -2
  76. package/styles.scss +6 -0
  77. package/webfonts/fa-brands-400.eot +0 -0
  78. package/webfonts/fa-brands-400.svg +3717 -0
  79. package/webfonts/fa-brands-400.ttf +0 -0
  80. package/webfonts/fa-brands-400.woff +0 -0
  81. package/webfonts/fa-brands-400.woff2 +0 -0
  82. package/webfonts/fa-duotone-900.eot +0 -0
  83. package/webfonts/fa-duotone-900.svg +15328 -0
  84. package/webfonts/fa-duotone-900.ttf +0 -0
  85. package/webfonts/fa-duotone-900.woff +0 -0
  86. package/webfonts/fa-duotone-900.woff2 +0 -0
  87. package/webfonts/fa-light-300.eot +0 -0
  88. package/webfonts/fa-light-300.svg +12423 -0
  89. package/webfonts/fa-light-300.ttf +0 -0
  90. package/webfonts/fa-light-300.woff +0 -0
  91. package/webfonts/fa-light-300.woff2 +0 -0
  92. package/webfonts/fa-regular-400.eot +0 -0
  93. package/webfonts/fa-regular-400.svg +11323 -0
  94. package/webfonts/fa-regular-400.ttf +0 -0
  95. package/webfonts/fa-regular-400.woff +0 -0
  96. package/webfonts/fa-regular-400.woff2 +0 -0
  97. package/webfonts/fa-solid-900.eot +0 -0
  98. package/webfonts/fa-solid-900.svg +9653 -0
  99. package/webfonts/fa-solid-900.ttf +0 -0
  100. package/webfonts/fa-solid-900.woff +0 -0
  101. package/webfonts/fa-solid-900.woff2 +0 -0
  102. package/esm2022/core/types/table.types.mjs +0 -28
  103. package/styles.css.map +0 -1
  104. /package/core/types/{table.types.d.ts → table.type.d.ts} +0 -0
@@ -1,58 +1,55 @@
1
- import * as i2$1 from 'primeng/api';
1
+ import * as i2 from 'primeng/api';
2
2
  import { MessageService } from 'primeng/api';
3
3
  export { MessageService } from 'primeng/api';
4
4
  import { definePreset } from '@primeng/themes';
5
5
  import * as i0 from '@angular/core';
6
- import { makeEnvironmentProviders, APP_INITIALIZER, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, TemplateRef, ContentChild, Directive, forwardRef, ViewChild, computed, signal, inject, ElementRef, NgZone, ChangeDetectorRef, effect, numberAttribute, booleanAttribute, Injectable, HostBinding, HostListener } from '@angular/core';
6
+ import { makeEnvironmentProviders, APP_INITIALIZER, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, TemplateRef, ContentChild, Directive, forwardRef, ViewChild, input, signal, effect, computed, inject, ElementRef, NgZone, ChangeDetectorRef, numberAttribute, booleanAttribute, Injectable, HostBinding, HostListener } from '@angular/core';
7
7
  import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
8
8
  import { providePrimeNG } from 'primeng/config';
9
9
  import Aura from '@primeng/themes/aura';
10
- import * as i1$4 from '@ngx-translate/core';
10
+ import * as i1$5 from '@ngx-translate/core';
11
11
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
12
- import { BehaviorSubject } from 'rxjs';
13
- import * as i1$1 from '@angular/common';
12
+ import { Subject, BehaviorSubject } from 'rxjs';
13
+ import * as i1$2 from '@angular/common';
14
14
  import { CommonModule, NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
15
- import { first } from 'rxjs/operators';
15
+ import { takeUntil, filter, first } from 'rxjs/operators';
16
16
  import { ViewPlugin, Decoration, keymap, EditorView } from '@codemirror/view';
17
17
  import { RangeSetBuilder, Prec, StateEffect } from '@codemirror/state';
18
18
  import { format } from 'sql-formatter';
19
19
  import * as i1 from '@seniorsistemas/angular-components/button';
20
20
  import { ButtonModule } from '@seniorsistemas/angular-components/button';
21
- import * as i2 from '@seniorsistemas/angular-components/product-header';
21
+ import * as i1$1 from '@angular/router';
22
+ import { NavigationEnd, RouterOutlet } from '@angular/router';
23
+ import * as i3 from '@seniorsistemas/angular-components/product-header';
22
24
  import { ProductHeaderModule } from '@seniorsistemas/angular-components/product-header';
23
- import * as i3 from '@seniorsistemas/angular-components/breadcrumb';
25
+ import * as i4 from '@seniorsistemas/angular-components/breadcrumb';
24
26
  import { BreadcrumbModule } from '@seniorsistemas/angular-components/breadcrumb';
25
- import * as i1$2 from 'primeng/autocomplete';
27
+ import * as i1$3 from 'primeng/autocomplete';
26
28
  import { AutoCompleteModule } from 'primeng/autocomplete';
27
29
  import * as i3$1 from 'primeng/multiselect';
28
30
  import { MultiSelectModule } from 'primeng/multiselect';
29
31
  import * as i5 from '@angular/forms';
30
32
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
31
- import { fixComboBoxOverlay as fixComboBoxOverlay$1 } from 'lib/src/core/fixes/fix-zindex';
32
- import * as i1$3 from 'primeng/button';
33
+ import * as i1$4 from 'primeng/button';
33
34
  import { ButtonModule as ButtonModule$1 } from 'primeng/button';
34
- import * as i2$2 from 'primeng/dialog';
35
+ import * as i2$1 from 'primeng/dialog';
35
36
  import { DialogModule } from 'primeng/dialog';
36
37
  import * as i3$2 from '@seniorsistemas/angular-components/empty-state';
37
38
  import { EmptyStateModule } from '@seniorsistemas/angular-components/empty-state';
38
- import * as i2$3 from '@seniorsistemas/angular-components/loading-state';
39
+ import * as i2$2 from '@seniorsistemas/angular-components/loading-state';
39
40
  import { LoadingStateModule } from '@seniorsistemas/angular-components/loading-state';
40
- import { isMobile as isMobile$1, isTablet as isTablet$1 } from 'lib/src/core/utils/layout.util';
41
- import * as i4 from 'primeng/inputgroupaddon';
41
+ import * as i4$1 from 'primeng/inputgroupaddon';
42
42
  import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
43
43
  import * as i5$1 from 'primeng/inputgroup';
44
44
  import { InputGroupModule } from 'primeng/inputgroup';
45
45
  import * as i6 from 'primeng/inputtext';
46
46
  import { InputTextModule } from 'primeng/inputtext';
47
- import * as i2$4 from 'primeng/paginator';
48
- import { PaginatorModule } from 'primeng/paginator';
49
- import { DEFAULT_TABLE_OPTIONS } from 'lib/src/core/types/table.types';
50
- import * as i2$5 from '@seniorsistemas/angular-components/sidebar';
47
+ import * as i2$3 from '@seniorsistemas/angular-components/sidebar';
51
48
  import { SidebarModule } from '@seniorsistemas/angular-components/sidebar';
52
49
  import { StructureModule } from '@seniorsistemas/angular-components/structure';
53
- import { PanelModule } from 'primeng/panel';
54
- import * as i1$5 from '@seniorsistemas/angular-components/panel';
55
- import { PanelModule as PanelModule$1 } from '@seniorsistemas/angular-components/panel';
50
+ import * as i1$6 from '@seniorsistemas/angular-components/panel';
51
+ import { PanelModule } from '@seniorsistemas/angular-components/panel';
52
+ import { EnumSeverity } from '@seniorsistemas/angular-components/shared';
56
53
  import { BlockUIModule } from 'primeng/blockui';
57
54
  import { ProgressSpinnerModule } from 'primeng/progressspinner';
58
55
  import { autocompletion } from '@codemirror/autocomplete';
@@ -61,16 +58,13 @@ import { basicSetup } from 'codemirror';
61
58
  import { sql, PostgreSQL } from '@codemirror/lang-sql';
62
59
  import * as i3$3 from 'primeng/keyfilter';
63
60
  import { KeyFilterModule } from 'primeng/keyfilter';
64
- import * as i4$1 from 'primeng/tooltip';
61
+ import * as i4$2 from 'primeng/tooltip';
65
62
  import { TooltipModule } from 'primeng/tooltip';
66
63
  import { CardModule } from 'primeng/card';
67
64
  import { TagModule } from 'primeng/tag';
68
65
  import { AvatarModule } from 'primeng/avatar';
69
66
  import { AvatarGroupModule } from 'primeng/avatargroup';
70
67
  import { CheckboxModule } from 'primeng/checkbox';
71
- import { DEFAULT_CARD_LIST_OPTIONS } from 'lib/src/core/config/card.type.config';
72
- import { ButtonComponent as ButtonComponent$1 } from 'lib/src/public-api';
73
- import { DEFAULT_ROW_CARD_LIST_OPTIONS } from 'lib/src/core/config/row-card.type.config';
74
68
  import { FloatLabelModule } from 'primeng/floatlabel';
75
69
 
76
70
  function customButton(theme) {
@@ -447,6 +441,37 @@ function getSeniorLocale(name) {
447
441
  return json.locale ?? defaultLocale;
448
442
  }
449
443
 
444
+ function resolveStylesHref() {
445
+ try {
446
+ return new URL('../styles.css', import.meta.url).toString();
447
+ }
448
+ catch {
449
+ return undefined;
450
+ }
451
+ }
452
+ function injectGlobalStyles() {
453
+ return () => {
454
+ const id = 'sds-global-styles';
455
+ if (document.getElementById(id))
456
+ return;
457
+ const href = resolveStylesHref();
458
+ if (!href)
459
+ return;
460
+ const link = document.createElement('link');
461
+ link.id = id;
462
+ link.rel = 'stylesheet';
463
+ link.href = href;
464
+ document.head.appendChild(link);
465
+ };
466
+ }
467
+ function provideGlobalStyles() {
468
+ return {
469
+ provide: APP_INITIALIZER,
470
+ multi: true,
471
+ useFactory: injectGlobalStyles,
472
+ };
473
+ }
474
+
450
475
  const CONSTANTS = {
451
476
  EMPTY: '',
452
477
  FULL_IDENTIFIER_REGEX: /^\w*$/,
@@ -627,7 +652,7 @@ function sqlFormatterHandler() {
627
652
  formatted = SQL_HELPER.format(maskedText);
628
653
  dfTokens.forEach((original, i) => {
629
654
  const placeholder = SQL_HELPER.formatPlaceholder(i);
630
- formatted = formatted.replaceAll(placeholder, original);
655
+ formatted = formatted.split(placeholder).join(original);
631
656
  });
632
657
  view.dispatch({
633
658
  changes: {
@@ -674,6 +699,45 @@ function getWordBeforeCursor(state, pos) {
674
699
  return words.length ? words[words.length - 1] : CONSTANTS.EMPTY;
675
700
  }
676
701
 
702
+ const DEFAULT_CARD_LIST_OPTIONS = {
703
+ enablePagination: true,
704
+ enableSideButtons: false,
705
+ totalRecordsLabel: "platform.datacore.total_records",
706
+ customCard: {
707
+ buttonLabel: "platform.datacore.see",
708
+ buttonPriority: "primary",
709
+ descriptionMaxLength: 100,
710
+ icon: "fas fa-trophy",
711
+ backgroundIcon: "#428bca",
712
+ iconColor: "#ffffff",
713
+ },
714
+ empty: {
715
+ title: "platform.datacore.empty_title",
716
+ message: "platform.datacore.empty_message"
717
+ }
718
+ };
719
+
720
+ const DEFAULT_ROW_CARD_LIST_OPTIONS = {
721
+ enablePagination: true,
722
+ totalRecordsLabel: "platform.datacore.total_records",
723
+ initialRows: 5,
724
+ rowsPerPageOptions: [5, 10, 15],
725
+ customCard: {
726
+ expandable: false,
727
+ buttonLabel: "platform.datacore.open",
728
+ buttonPriority: "primary",
729
+ buttonIcon: "fas fa-rocket",
730
+ leftTitleColor: "text-900",
731
+ leftSubtitleColor: "text-color-secondary",
732
+ rightTitleColor: "text-primary",
733
+ rightSubtitleColor: "text-color-secondary"
734
+ },
735
+ empty: {
736
+ title: "platform.datacore.empty_title",
737
+ message: "platform.datacore.empty_message"
738
+ }
739
+ };
740
+
677
741
  function getDimensionStyles(type, value) {
678
742
  if (value === null || value === undefined || typeof value === 'boolean')
679
743
  return {};
@@ -692,6 +756,107 @@ const dimensionFormat = (value) => {
692
756
  return raw;
693
757
  };
694
758
 
759
+ const mockRowCardList = [
760
+ {
761
+ id: '1',
762
+ left_title: 'TITULO 1',
763
+ left_subtitle: 'Descrição 1',
764
+ right_subtitle: 'right_subtitle',
765
+ right_title: 'right_title'
766
+ },
767
+ {
768
+ id: '2',
769
+ left_title: 'TITULO 2',
770
+ left_subtitle: 'Descrição 2',
771
+ right_subtitle: 'right_subtitle',
772
+ right_title: 'right_title'
773
+ },
774
+ {
775
+ id: '3',
776
+ left_title: 'TITULO 3',
777
+ left_subtitle: 'Descrição 3',
778
+ right_subtitle: 'right_subtitle',
779
+ right_title: 'right_title',
780
+ },
781
+ {
782
+ id: '4',
783
+ left_title: 'TITULO 4',
784
+ left_subtitle: 'Descrição 4',
785
+ right_subtitle: 'right_subtitle',
786
+ right_title: 'right_title'
787
+ },
788
+ {
789
+ id: '5',
790
+ left_title: 'TITULO 5',
791
+ left_subtitle: 'Descrição 5',
792
+ right_subtitle: 'right_subtitle',
793
+ right_title: 'right_title'
794
+ },
795
+ {
796
+ id: '6',
797
+ left_title: 'TITULO 6',
798
+ left_subtitle: 'Descrição 6',
799
+ right_subtitle: 'right_subtitle',
800
+ right_title: 'right_title'
801
+ },
802
+ {
803
+ id: '7',
804
+ left_title: 'TITULO 7',
805
+ left_subtitle: 'Descrição 7',
806
+ right_subtitle: 'right_subtitle',
807
+ right_title: 'right_title'
808
+ },
809
+ {
810
+ id: '8',
811
+ left_title: 'TITULO 8',
812
+ left_subtitle: 'Descrição 8',
813
+ right_subtitle: 'right_subtitle',
814
+ right_title: 'right_title'
815
+ },
816
+ ];
817
+
818
+ const DEFAULT_TABLE_OPTIONS = {
819
+ search: { type: 'auto', show: true, placeholder: 'Buscar...' },
820
+ table: {
821
+ totalRecordsLabel: 'Total de Registros',
822
+ },
823
+ empty: { show: true, title: 'Sem dados', text: 'Nada por aqui.' },
824
+ pagination: { show: true, rowsPerPage: 10, rowsPerPageOptions: [5, 10, 25] },
825
+ cells: {
826
+ tag: {
827
+ color: '#fff',
828
+ backgroundColor: 'rgb(155 213 255);',
829
+ maxItems: 3,
830
+ tooltip: 'Teste Tooltip',
831
+ icon: 'fas fa-eye'
832
+ },
833
+ button: {
834
+ priority: 'primary',
835
+ tooltip: 'Teste Tooltip',
836
+ icon: 'fas fa-eye',
837
+ label: 'TESTE LABEL',
838
+ disabled: true,
839
+ },
840
+ checkbox: {
841
+ selectAll: true,
842
+ }
843
+ }
844
+ };
845
+
846
+ function range(n) {
847
+ return Array.from({ length: n }, (_, i) => i);
848
+ }
849
+
850
+ function isMobile() {
851
+ return window.innerWidth <= 768;
852
+ }
853
+ function isTablet() {
854
+ return window.innerWidth > 768 && window.innerWidth <= 1024;
855
+ }
856
+ function isDesktop() {
857
+ return window.innerWidth > 1024;
858
+ }
859
+
695
860
  class ButtonComponent {
696
861
  disabled = false;
697
862
  width = '10rem';
@@ -702,10 +867,10 @@ class ButtonComponent {
702
867
  size = 'default';
703
868
  type = 'button';
704
869
  onClick = new EventEmitter();
705
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
706
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { disabled: "disabled", width: "width", icon: "icon", id: "id", label: "label", priority: "priority", size: "size", type: "type" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (clicked)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [iconClass]=\"icon\"\n [label]=\"label\">\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}::ng-deep s-button button{min-width:100%!important;width:100%!important;max-width:100%!important}::ng-deep s-button{min-width:100%!important;width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
870
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
871
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { disabled: "disabled", width: "width", icon: "icon", id: "id", label: "label", priority: "priority", size: "size", type: "type" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (clicked)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [iconClass]=\"icon\"\n [label]=\"label\">\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}::ng-deep s-button button{min-width:100%!important;width:100%!important;max-width:100%!important}::ng-deep s-button{min-width:100%!important;width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
707
872
  }
708
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
709
874
  type: Component,
710
875
  args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (clicked)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [iconClass]=\"icon\"\n [label]=\"label\">\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}::ng-deep s-button button{min-width:100%!important;width:100%!important;max-width:100%!important}::ng-deep s-button{min-width:100%!important;width:100%!important;max-width:100%!important}\n"] }]
711
876
  }], propDecorators: { disabled: [{
@@ -729,20 +894,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
729
894
  }] } });
730
895
 
731
896
  class ScaffoldComponent {
732
- header = 'Scaffold Component';
733
- title = 'Scaffold Component Title';
734
- homeUrl = '/';
897
+ route;
898
+ router;
899
+ header = 'Data Platform';
900
+ homeUrl = '/data-platform/catalog/masterdatas';
901
+ currentTitle = '';
735
902
  headerTpl;
736
903
  footerTpl;
737
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScaffoldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
738
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScaffoldComponent, isStandalone: true, selector: "sdc-scaffold", inputs: { header: "header", title: "title", homeUrl: "homeUrl" }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["scaffoldHeader"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["scaffoldFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ title }}</div>\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n\n <div class=\"sdc-scaffold-content\">\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}@media (min-width: 750px){.sdc-scaffold{padding:5px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ProductHeaderModule }, { kind: "component", type: i2.ProductHeaderComponent, selector: "s-product-header", inputs: ["id", "header", "baseZIndex", "isHeaderFrame"] }, { kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i3.BreadcrumbComponent, selector: "s-breadcrumb", inputs: ["homeUrl", "targetHomeUrl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
904
+ destroyed$ = new Subject();
905
+ constructor(route, router) {
906
+ this.route = route;
907
+ this.router = router;
908
+ }
909
+ ngOnInit() {
910
+ // lê header/homeUrl do PRÓPRIO shell (opcional)
911
+ const d = this.route.snapshot.data ?? {};
912
+ this.header = d['header'] ?? this.header;
913
+ this.homeUrl = d['homeUrl'] ?? this.homeUrl;
914
+ const update = () => {
915
+ const deepest = this.getDeepest(this.route);
916
+ const data = deepest?.snapshot?.data ?? {};
917
+ this.currentTitle = data['pageTitle'] ?? data['routeTitle'] ?? '';
918
+ };
919
+ update();
920
+ this.router.events.pipe(takeUntil(this.destroyed$), filter(e => e instanceof NavigationEnd)).subscribe(update);
921
+ }
922
+ ngOnDestroy() { this.destroyed$.next(); this.destroyed$.complete(); }
923
+ getDeepest(r) {
924
+ let cur = r;
925
+ while (cur.firstChild)
926
+ cur = cur.firstChild;
927
+ return cur;
928
+ }
929
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScaffoldComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
930
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScaffoldComponent, isStandalone: true, selector: "sdc-scaffold", inputs: { header: "header", homeUrl: "homeUrl" }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["scaffoldHeader"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["scaffoldFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ currentTitle }}</div>\n\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n <br />\n <div class=\"sdc-scaffold-content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px;background-color:#f1f1f1!important}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}@media (min-width: 750px){.sdc-scaffold{padding:5px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ProductHeaderModule }, { kind: "component", type: i3.ProductHeaderComponent, selector: "s-product-header", inputs: ["id", "header", "baseZIndex", "isHeaderFrame"] }, { kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i4.BreadcrumbComponent, selector: "s-breadcrumb", inputs: ["homeUrl", "targetHomeUrl"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
739
931
  }
740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScaffoldComponent, decorators: [{
932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScaffoldComponent, decorators: [{
741
933
  type: Component,
742
- args: [{ selector: 'sdc-scaffold', standalone: true, imports: [CommonModule, ProductHeaderModule, BreadcrumbModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ title }}</div>\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n\n <div class=\"sdc-scaffold-content\">\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}@media (min-width: 750px){.sdc-scaffold{padding:5px}}\n"] }]
743
- }], propDecorators: { header: [{
744
- type: Input
745
- }], title: [{
934
+ args: [{ selector: 'sdc-scaffold', standalone: true, imports: [CommonModule, ProductHeaderModule, BreadcrumbModule, RouterOutlet], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ currentTitle }}</div>\n\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n <br />\n <div class=\"sdc-scaffold-content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px;background-color:#f1f1f1!important}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}@media (min-width: 750px){.sdc-scaffold{padding:5px}}\n"] }]
935
+ }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }], propDecorators: { header: [{
746
936
  type: Input
747
937
  }], homeUrl: [{
748
938
  type: Input
@@ -818,10 +1008,10 @@ class InputsComponent {
818
1008
  invalid: this.invalid
819
1009
  };
820
1010
  }
821
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
822
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: InputsComponent, inputs: { disabled: "disabled", identity: "identity", invalid: "invalid", label: "label", message: "message", placeholder: "placeholder", required: "required", size: "size", value: "value", width: "width", keyFilter: "keyFilter", maxlength: "maxlength", infoIcon: "infoIcon", tooltipIcon: "tooltipIcon" }, outputs: { valueChange: "valueChange" }, ngImport: i0 });
1011
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1012
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: InputsComponent, inputs: { disabled: "disabled", identity: "identity", invalid: "invalid", label: "label", message: "message", placeholder: "placeholder", required: "required", size: "size", value: "value", width: "width", keyFilter: "keyFilter", maxlength: "maxlength", infoIcon: "infoIcon", tooltipIcon: "tooltipIcon" }, outputs: { valueChange: "valueChange" }, ngImport: i0 });
823
1013
  }
824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputsComponent, decorators: [{
1014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsComponent, decorators: [{
825
1015
  type: Directive
826
1016
  }], propDecorators: { disabled: [{
827
1017
  type: Input
@@ -862,6 +1052,7 @@ class ComboboxComponent extends InputsComponent {
862
1052
  options = [];
863
1053
  overrideChipMessage;
864
1054
  maxSelectedLabels = 2;
1055
+ showClear = true;
865
1056
  selectedValueEvent = new EventEmitter();
866
1057
  autocomplete;
867
1058
  multiselect;
@@ -870,7 +1061,7 @@ class ComboboxComponent extends InputsComponent {
870
1061
  displayMode = 'chip';
871
1062
  ngAfterViewInit() {
872
1063
  if (!this.multiple && this.autocomplete) {
873
- fixComboBoxOverlay$1(this.autocomplete, this.zIndex);
1064
+ fixComboBoxOverlay(this.autocomplete, this.zIndex);
874
1065
  }
875
1066
  this.updateDisplayMode();
876
1067
  }
@@ -943,16 +1134,16 @@ class ComboboxComponent extends InputsComponent {
943
1134
  super.onInput(syntheticEvt);
944
1135
  this.updateDisplayMode();
945
1136
  }
946
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
947
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ComboboxComponent, isStandalone: true, selector: "sdc-combobox", inputs: { multiple: "multiple", appendTo: "appendTo", zIndex: "zIndex", options: "options", overrideChipMessage: "overrideChipMessage", maxSelectedLabels: "maxSelectedLabels" }, outputs: { selectedValueEvent: "onSelectedItem" }, providers: [
1137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ComboboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ComboboxComponent, isStandalone: true, selector: "sdc-combobox", inputs: { multiple: "multiple", appendTo: "appendTo", zIndex: "zIndex", options: "options", overrideChipMessage: "overrideChipMessage", maxSelectedLabels: "maxSelectedLabels", showClear: "showClear" }, outputs: { selectedValueEvent: "onSelectedItem" }, providers: [
948
1139
  {
949
1140
  provide: NG_VALUE_ACCESSOR,
950
1141
  useExisting: forwardRef(() => ComboboxComponent),
951
1142
  multi: true
952
1143
  }
953
- ], viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "multiselect", first: true, predicate: ["multiselect"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-combobox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <!-- SINGLE: p-autocomplete -->\n <ng-container *ngIf=\"!multiple; else multipleTpl\">\n <p-autocomplete #autocomplete dropdownIcon=\"fas fa-caret-down\" (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\" [(ngModel)]=\"value\" [autoHighlight]=\"true\" [disabled]=\"disabled\"\n [dropdown]=\"true\" [forceSelection]=\"true\" [id]=\"identity.id\" [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\" [placeholder]=\"placeholder\" [required]=\"required\" [showClear]=\"true\"\n [style]=\"getInputStyle()\" [suggestions]=\"filteredItems\" optionLabel=\"text\" optionValue=\"value\"\n [appendTo]=\"appendTo\">\n\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"selectedItem\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-autocomplete>\n </ng-container>\n\n <!-- MULTIPLE: p-multiselect -->\n <ng-template #multipleTpl>\n <p-multiselect chipIcon=\"fas fa-times\" #multiselect (ngModelChange)=\"onMultiModelChange($event)\" [options]=\"normalizedOptions\"\n optionLabel=\"text\" optionValue=\"value\" [filter]=\"true\" [display]=\"displayMode\" dropdownIcon=\"fas fa-caret-down\"\n [disabled]=\"disabled\" [appendTo]=\"appendTo\" [placeholder]=\"placeholder\" [showClear]=\"true\"\n [style]=\"getInputStyle()\" [ngClass]=\"getInvalidClass()\" [id]=\"identity.id\" [name]=\"identity.name ?? ''\"\n [required]=\"required\" (onChange)=\"onMultiChange($event)\" [(ngModel)]=\"value\"\n [maxSelectedLabels]=\"maxSelectedLabels\" [selectedItemsLabel]=\"selectedItemsLabel\"><ng-template pTemplate=\"item\"\n let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"chip\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span class=\"text-sm\">{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-multiselect>\n </ng-template>\n\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>\n", styles: [".sdc-combobox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-combobox .required-field{margin-left:.25rem}.sdc-combobox ::ng-deep .p-inputtext{border:1px solid var(--sdc-formfield-default-border)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown{border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;background-color:var(--sdc-formfield-default-bg)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-left:0!important;color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:hover{transition:var(--sdc-button-bg-hover-transition)!important;background-color:var(--sdc-button-bg-hover)!important}.sdc-combobox ::ng-deep .p-autocomplete input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete .p-autocomplete-clear-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect{display:flex!important;align-items:center!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label-container{height:100%!important;display:flex!important;align-items:center!important;overflow:hidden!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label{height:100%!important;display:flex!important;align-items:center!important;padding:0 .75rem!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect-dropdown{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-formfield-default-bg)!important;border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger span,.sdc-combobox ::ng-deep .p-multiselect-dropdown span{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect-dropdown:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger-icon,.sdc-combobox ::ng-deep .p-multiselect-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect-token{margin-block:0!important}.sdc-combobox ::ng-deep .p-chip{background:var(--sdc-formfield-default-bg)!important;font-weight:500;border:1px solid var(--sdc-formfield-default-border)!important}.sdc-combobox ::ng-deep .p-multiselect:not(.p-disabled):hover{border-color:var(--sdc-formfield-default-border)!important}.sdc-combobox ::ng-deep .p-multiselect-clear-icon{color:var(--sdc-button-icon-default)!important;padding:10px!important}.sdc-combobox ::ng-deep .p-multiselect input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown:hover{background-color:var(--sdc-formfield-disabled-bg)!important}\n"], dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1$2.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i3$1.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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1144
+ ], viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "multiselect", first: true, predicate: ["multiselect"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-combobox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <ng-container *ngIf=\"!multiple; else multipleTpl\">\n <p-autocomplete\n #autocomplete\n dropdownIcon=\"fas fa-caret-down\"\n (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [autoHighlight]=\"true\"\n [disabled]=\"disabled\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [showClear]=\"showClear\"\n [style]=\"getInputStyle()\"\n [suggestions]=\"filteredItems\"\n optionLabel=\"text\"\n optionValue=\"value\"\n [appendTo]=\"appendTo\"\n >\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"selectedItem\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-autocomplete>\n </ng-container>\n\n <ng-template #multipleTpl>\n <p-multiselect\n chipIcon=\"fas fa-times\"\n #multiselect\n (ngModelChange)=\"onMultiModelChange($event)\"\n [options]=\"normalizedOptions\"\n optionLabel=\"text\"\n optionValue=\"value\"\n [filter]=\"true\"\n [display]=\"displayMode\"\n dropdownIcon=\"fas fa-caret-down\"\n [disabled]=\"disabled\"\n [appendTo]=\"appendTo\"\n [placeholder]=\"placeholder\"\n [showClear]=\"showClear\"\n [style]=\"getInputStyle()\"\n [ngClass]=\"getInvalidClass()\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [required]=\"required\"\n (onChange)=\"onMultiChange($event)\"\n [(ngModel)]=\"value\"\n [maxSelectedLabels]=\"maxSelectedLabels\"\n [selectedItemsLabel]=\"selectedItemsLabel\"\n >\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"chip\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span class=\"text-sm\">{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-multiselect>\n </ng-template>\n\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>\n", styles: [".sdc-combobox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-combobox .required-field{margin-left:.25rem}.sdc-combobox ::ng-deep .p-inputtext{border:1px solid var(--sdc-formfield-default-border)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown{border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;background-color:var(--sdc-formfield-default-bg)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-left:0!important;color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:hover{transition:var(--sdc-button-bg-hover-transition)!important;background-color:var(--sdc-button-bg-hover)!important}.sdc-combobox ::ng-deep .p-autocomplete input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete .p-autocomplete-clear-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect{display:flex!important;align-items:center!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label-container{height:100%!important;display:flex!important;align-items:center!important;overflow:hidden!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label{height:100%!important;display:flex!important;align-items:center!important;padding:0 .75rem!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect-dropdown{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-formfield-default-bg)!important;border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger span,.sdc-combobox ::ng-deep .p-multiselect-dropdown span{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect-dropdown:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger-icon,.sdc-combobox ::ng-deep .p-multiselect-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect-token{margin-block:0!important}.sdc-combobox ::ng-deep .p-chip{background:#f5f5f5!important;border:1px solid var(--sdc-formfield-default-border)!important;height:22px;font-weight:500}.sdc-combobox ::ng-deep .p-multiselect:not(.p-disabled):hover{border-color:var(--sdc-formfield-default-border)!important}.sdc-combobox ::ng-deep .p-multiselect-clear-icon{color:var(--sdc-button-icon-default)!important;padding:10px!important}.sdc-combobox ::ng-deep .p-multiselect input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown:hover{background-color:var(--sdc-formfield-disabled-bg)!important}\n"], dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1$3.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i3$1.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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
954
1145
  }
955
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, decorators: [{
1146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ComboboxComponent, decorators: [{
956
1147
  type: Component,
957
1148
  args: [{ imports: [AutoCompleteModule, MultiSelectModule, CommonModule, FormsModule, ReactiveFormsModule], standalone: true, selector: 'sdc-combobox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [
958
1149
  {
@@ -960,7 +1151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
960
1151
  useExisting: forwardRef(() => ComboboxComponent),
961
1152
  multi: true
962
1153
  }
963
- ], template: "<div class=\"sdc-combobox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <!-- SINGLE: p-autocomplete -->\n <ng-container *ngIf=\"!multiple; else multipleTpl\">\n <p-autocomplete #autocomplete dropdownIcon=\"fas fa-caret-down\" (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\" [(ngModel)]=\"value\" [autoHighlight]=\"true\" [disabled]=\"disabled\"\n [dropdown]=\"true\" [forceSelection]=\"true\" [id]=\"identity.id\" [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\" [placeholder]=\"placeholder\" [required]=\"required\" [showClear]=\"true\"\n [style]=\"getInputStyle()\" [suggestions]=\"filteredItems\" optionLabel=\"text\" optionValue=\"value\"\n [appendTo]=\"appendTo\">\n\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"selectedItem\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-autocomplete>\n </ng-container>\n\n <!-- MULTIPLE: p-multiselect -->\n <ng-template #multipleTpl>\n <p-multiselect chipIcon=\"fas fa-times\" #multiselect (ngModelChange)=\"onMultiModelChange($event)\" [options]=\"normalizedOptions\"\n optionLabel=\"text\" optionValue=\"value\" [filter]=\"true\" [display]=\"displayMode\" dropdownIcon=\"fas fa-caret-down\"\n [disabled]=\"disabled\" [appendTo]=\"appendTo\" [placeholder]=\"placeholder\" [showClear]=\"true\"\n [style]=\"getInputStyle()\" [ngClass]=\"getInvalidClass()\" [id]=\"identity.id\" [name]=\"identity.name ?? ''\"\n [required]=\"required\" (onChange)=\"onMultiChange($event)\" [(ngModel)]=\"value\"\n [maxSelectedLabels]=\"maxSelectedLabels\" [selectedItemsLabel]=\"selectedItemsLabel\"><ng-template pTemplate=\"item\"\n let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"chip\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span class=\"text-sm\">{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-multiselect>\n </ng-template>\n\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>\n", styles: [".sdc-combobox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-combobox .required-field{margin-left:.25rem}.sdc-combobox ::ng-deep .p-inputtext{border:1px solid var(--sdc-formfield-default-border)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown{border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;background-color:var(--sdc-formfield-default-bg)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-left:0!important;color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:hover{transition:var(--sdc-button-bg-hover-transition)!important;background-color:var(--sdc-button-bg-hover)!important}.sdc-combobox ::ng-deep .p-autocomplete input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete .p-autocomplete-clear-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect{display:flex!important;align-items:center!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label-container{height:100%!important;display:flex!important;align-items:center!important;overflow:hidden!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label{height:100%!important;display:flex!important;align-items:center!important;padding:0 .75rem!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect-dropdown{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-formfield-default-bg)!important;border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger span,.sdc-combobox ::ng-deep .p-multiselect-dropdown span{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect-dropdown:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger-icon,.sdc-combobox ::ng-deep .p-multiselect-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect-token{margin-block:0!important}.sdc-combobox ::ng-deep .p-chip{background:var(--sdc-formfield-default-bg)!important;font-weight:500;border:1px solid var(--sdc-formfield-default-border)!important}.sdc-combobox ::ng-deep .p-multiselect:not(.p-disabled):hover{border-color:var(--sdc-formfield-default-border)!important}.sdc-combobox ::ng-deep .p-multiselect-clear-icon{color:var(--sdc-button-icon-default)!important;padding:10px!important}.sdc-combobox ::ng-deep .p-multiselect input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown:hover{background-color:var(--sdc-formfield-disabled-bg)!important}\n"] }]
1154
+ ], template: "<div class=\"sdc-combobox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <ng-container *ngIf=\"!multiple; else multipleTpl\">\n <p-autocomplete\n #autocomplete\n dropdownIcon=\"fas fa-caret-down\"\n (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [autoHighlight]=\"true\"\n [disabled]=\"disabled\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [showClear]=\"showClear\"\n [style]=\"getInputStyle()\"\n [suggestions]=\"filteredItems\"\n optionLabel=\"text\"\n optionValue=\"value\"\n [appendTo]=\"appendTo\"\n >\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"selectedItem\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-autocomplete>\n </ng-container>\n\n <ng-template #multipleTpl>\n <p-multiselect\n chipIcon=\"fas fa-times\"\n #multiselect\n (ngModelChange)=\"onMultiModelChange($event)\"\n [options]=\"normalizedOptions\"\n optionLabel=\"text\"\n optionValue=\"value\"\n [filter]=\"true\"\n [display]=\"displayMode\"\n dropdownIcon=\"fas fa-caret-down\"\n [disabled]=\"disabled\"\n [appendTo]=\"appendTo\"\n [placeholder]=\"placeholder\"\n [showClear]=\"showClear\"\n [style]=\"getInputStyle()\"\n [ngClass]=\"getInvalidClass()\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [required]=\"required\"\n (onChange)=\"onMultiChange($event)\"\n [(ngModel)]=\"value\"\n [maxSelectedLabels]=\"maxSelectedLabels\"\n [selectedItemsLabel]=\"selectedItemsLabel\"\n >\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"chip\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span class=\"text-sm\">{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-multiselect>\n </ng-template>\n\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>\n", styles: [".sdc-combobox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-combobox .required-field{margin-left:.25rem}.sdc-combobox ::ng-deep .p-inputtext{border:1px solid var(--sdc-formfield-default-border)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown{border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;background-color:var(--sdc-formfield-default-bg)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-left:0!important;color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:hover{transition:var(--sdc-button-bg-hover-transition)!important;background-color:var(--sdc-button-bg-hover)!important}.sdc-combobox ::ng-deep .p-autocomplete input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete .p-autocomplete-clear-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect{display:flex!important;align-items:center!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label-container{height:100%!important;display:flex!important;align-items:center!important;overflow:hidden!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-label{height:100%!important;display:flex!important;align-items:center!important;padding:0 .75rem!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect-dropdown{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-formfield-default-bg)!important;border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger span,.sdc-combobox ::ng-deep .p-multiselect-dropdown span{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect-dropdown:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-combobox ::ng-deep .p-multiselect .p-multiselect-trigger-icon,.sdc-combobox ::ng-deep .p-multiselect-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-multiselect-token{margin-block:0!important}.sdc-combobox ::ng-deep .p-chip{background:#f5f5f5!important;border:1px solid var(--sdc-formfield-default-border)!important;height:22px;font-weight:500}.sdc-combobox ::ng-deep .p-multiselect:not(.p-disabled):hover{border-color:var(--sdc-formfield-default-border)!important}.sdc-combobox ::ng-deep .p-multiselect-clear-icon{color:var(--sdc-button-icon-default)!important;padding:10px!important}.sdc-combobox ::ng-deep .p-multiselect input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:disabled:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-trigger:hover,.sdc-combobox ::ng-deep .p-multiselect.p-disabled .p-multiselect-dropdown:hover{background-color:var(--sdc-formfield-disabled-bg)!important}\n"] }]
964
1155
  }], propDecorators: { multiple: [{
965
1156
  type: Input
966
1157
  }], appendTo: [{
@@ -973,6 +1164,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
973
1164
  type: Input
974
1165
  }], maxSelectedLabels: [{
975
1166
  type: Input
1167
+ }], showClear: [{
1168
+ type: Input
976
1169
  }], selectedValueEvent: [{
977
1170
  type: Output,
978
1171
  args: ['onSelectedItem']
@@ -1028,10 +1221,10 @@ class ConfirmComponent {
1028
1221
  this.config.reject();
1029
1222
  this.visible = false;
1030
1223
  }
1031
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1032
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmComponent, isStandalone: true, selector: "sdc-confirm", inputs: { zIndex: "zIndex", visible: "visible", confirm: "confirm" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true }], ngImport: i0, template: "<p-dialog\n #modal\n [(visible)]=\"visible\"\n [closable]=\"false\"\n [draggable]=\"false\"\n [header]=\"config.title | translate\"\n [modal]=\"true\"\n [responsive]=\"true\"\n [showHeader]=\"true\"\n position=\"top\"\n>\n <div class=\"content-sizing\">{{ config.message | translate }}</div>\n <ng-template #footer>\n <p-button [label]=\"getLabel('deny') | translate\" severity=\"secondary\" (onClick)=\"onDeny()\" />\n <p-button [label]=\"getLabel('confirm') | translate\" [severity]=\"getSeverity()\" (onClick)=\"onConfirm()\" />\n </ng-template>\n</p-dialog>\n", styles: [".content-sizing{max-width:480px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule$1 }, { kind: "component", type: i1$3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$2.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1224
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1225
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ConfirmComponent, isStandalone: true, selector: "sdc-confirm", inputs: { zIndex: "zIndex", visible: "visible", confirm: "confirm" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true }], ngImport: i0, template: "<p-dialog\n #modal\n [(visible)]=\"visible\"\n [closable]=\"false\"\n [draggable]=\"false\"\n [header]=\"config.title | translate\"\n [modal]=\"true\"\n [responsive]=\"true\"\n [showHeader]=\"true\"\n position=\"top\"\n>\n <div class=\"content-sizing\">{{ config.message | translate }}</div>\n <ng-template #footer>\n <p-button [label]=\"getLabel('deny') | translate\" severity=\"secondary\" (onClick)=\"onDeny()\" />\n <p-button [label]=\"getLabel('confirm') | translate\" [severity]=\"getSeverity()\" (onClick)=\"onConfirm()\" />\n </ng-template>\n</p-dialog>\n", styles: [".content-sizing{max-width:480px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule$1 }, { kind: "component", type: i1$4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1033
1226
  }
1034
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmComponent, decorators: [{
1227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmComponent, decorators: [{
1035
1228
  type: Component,
1036
1229
  args: [{ imports: [ButtonModule$1, DialogModule, TranslateModule], standalone: true, selector: 'sdc-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<p-dialog\n #modal\n [(visible)]=\"visible\"\n [closable]=\"false\"\n [draggable]=\"false\"\n [header]=\"config.title | translate\"\n [modal]=\"true\"\n [responsive]=\"true\"\n [showHeader]=\"true\"\n position=\"top\"\n>\n <div class=\"content-sizing\">{{ config.message | translate }}</div>\n <ng-template #footer>\n <p-button [label]=\"getLabel('deny') | translate\" severity=\"secondary\" (onClick)=\"onDeny()\" />\n <p-button [label]=\"getLabel('confirm') | translate\" [severity]=\"getSeverity()\" (onClick)=\"onConfirm()\" />\n </ng-template>\n</p-dialog>\n", styles: [".content-sizing{max-width:480px}\n"] }]
1037
1230
  }], propDecorators: { zIndex: [{
@@ -1070,10 +1263,10 @@ class HyperlinkComponent {
1070
1263
  this.domainFilterClickEvent.emit(this.domainFilterToken);
1071
1264
  }
1072
1265
  }
1073
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HyperlinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1074
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HyperlinkComponent, isStandalone: true, selector: "sdc-hyperlink", inputs: { href: "href", text: "text", domainFilterToken: "domainFilterToken" }, outputs: { clickEvent: "onClick", domainFilterClickEvent: "onDomainFilter" }, ngImport: i0, template: "<span *ngIf=\"!href\" class=\"hyperlink\" (click)=\"dispatchClickEvent($event)\">\n {{ textContent }}\n</span>\n\n<a *ngIf=\"href\" [href]=\"href\" class=\"hyperlink\" (click)=\"dispatchClickEvent($event)\">\n {{ textContent }}\n</a>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1266
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HyperlinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1267
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: HyperlinkComponent, isStandalone: true, selector: "sdc-hyperlink", inputs: { href: "href", text: "text", domainFilterToken: "domainFilterToken" }, outputs: { clickEvent: "onClick", domainFilterClickEvent: "onDomainFilter" }, ngImport: i0, template: "<span *ngIf=\"!href\" class=\"hyperlink\" (click)=\"dispatchClickEvent($event)\">\n {{ textContent }}\n</span>\n\n<a *ngIf=\"href\" [href]=\"href\" class=\"hyperlink\" (click)=\"dispatchClickEvent($event)\">\n {{ textContent }}\n</a>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1075
1268
  }
1076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HyperlinkComponent, decorators: [{
1269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HyperlinkComponent, decorators: [{
1077
1270
  type: Component,
1078
1271
  args: [{ imports: [CommonModule], standalone: true, selector: 'sdc-hyperlink', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<span *ngIf=\"!href\" class=\"hyperlink\" (click)=\"dispatchClickEvent($event)\">\n {{ textContent }}\n</span>\n\n<a *ngIf=\"href\" [href]=\"href\" class=\"hyperlink\" (click)=\"dispatchClickEvent($event)\">\n {{ textContent }}\n</a>\n" }]
1079
1272
  }], ctorParameters: () => [], propDecorators: { href: [{
@@ -1150,10 +1343,10 @@ class ListComponent {
1150
1343
  }
1151
1344
  return [];
1152
1345
  }
1153
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "sdc-list", inputs: { loading: "loading", items: "items", actions: "actions" }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"sdc-list\">\n <div *ngIf=\"!loading && !(!dataItems || dataItems.length === 0)\">\n <div class=\"sdc-list-item\" *ngFor=\"let item of dataItems\">\n <div class=\"sdc-list-content\">\n <div class=\"sdc-list-title\">{{ item.title }}</div>\n <div class=\"sdc-list-subtitle\">{{ item.subtitle }}</div>\n </div>\n <div class=\"sdc-list-actions\" *ngIf=\"dataActions && dataActions.length > 0\">\n <ng-container *ngFor=\"let action of dataActions\">\n <ng-container *ngFor=\"let __k of [actionKey(action)]\">\n <sdc-button\n (onClick)=\"onActionClick(action, item)\"\n [disabled]=\"!!action.disabled\"\n [icon]=\"action.icon || $any(action).iconClass || $any(action).leftIcon\"\n [label]=\"action.label ?? $any(action).text\"\n [priority]=\"action.priority || 'default'\"\n [attr.disabled]=\"action.disabled ? '' : null\"\n [attr.icon]=\"action.icon || $any(action).iconClass || $any(action).leftIcon\"\n [attr.label]=\"action.label ?? $any(action).text\"\n [attr.priority]=\"action.priority || 'default'\"\n [attr.severity]=\"action.priority || 'default'\"\n [attr.data-key]=\"__k\"\n >\n </sdc-button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!loading && (!dataItems || dataItems.length === 0)\" class=\"sdc-list-hidden\" aria-live=\"polite\">\n <s-empty-state\n id=\"my-empty-state\"\n iconClass=\"fa fa-inbox\"\n title=\"Nenhum registro encontrado\"\n description=\"Nenhum cadastro foi encontrado.\"\n >\n </s-empty-state>\n </div>\n\n <div *ngIf=\"loading\" class=\"sdc-list-hidden\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\"></s-loading-state>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-list{background:#fff;border:1px solid var(--sdc-formfield-default-border);overflow:hidden}.sdc-list-hidden{min-height:21rem;padding-top:6rem;padding-bottom:6rem}.sdc-list-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--sdc-formfield-default-border)}.sdc-list-item:last-child{border-bottom:0}.sdc-list-content{flex:1 1 auto;min-width:0}.sdc-list-title{font-weight:600;font-size:16px;line-height:1.25;color:#1f2937;margin:0 0 4px}.sdc-list-subtitle{font-size:12px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-list-actions{display:flex;align-items:center;gap:8px;margin-left:24px;flex-shrink:0}ul.sdc-list,.sdc-list ul,.sdc-list li{list-style:none;margin:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
1346
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1347
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "sdc-list", inputs: { loading: "loading", items: "items", actions: "actions" }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"sdc-list\">\n <div *ngIf=\"!loading && !(!dataItems || dataItems.length === 0)\">\n <div class=\"sdc-list-item\" *ngFor=\"let item of dataItems\">\n <div class=\"sdc-list-content\">\n <div class=\"sdc-list-title\">{{ item.title }}</div>\n <div class=\"sdc-list-subtitle\">{{ item.subtitle }}</div>\n </div>\n <div class=\"sdc-list-actions\" *ngIf=\"dataActions && dataActions.length > 0\">\n <ng-container *ngFor=\"let action of dataActions\">\n <ng-container *ngFor=\"let __k of [actionKey(action)]\">\n <sdc-button\n (onClick)=\"onActionClick(action, item)\"\n [disabled]=\"!!action.disabled\"\n [icon]=\"action.icon || $any(action).iconClass || $any(action).leftIcon\"\n [label]=\"action.label ?? $any(action).text\"\n [priority]=\"action.priority || 'default'\"\n [attr.disabled]=\"action.disabled ? '' : null\"\n [attr.icon]=\"action.icon || $any(action).iconClass || $any(action).leftIcon\"\n [attr.label]=\"action.label ?? $any(action).text\"\n [attr.priority]=\"action.priority || 'default'\"\n [attr.severity]=\"action.priority || 'default'\"\n [attr.data-key]=\"__k\"\n >\n </sdc-button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!loading && (!dataItems || dataItems.length === 0)\" class=\"sdc-list-hidden\" aria-live=\"polite\">\n <s-empty-state\n id=\"my-empty-state\"\n iconClass=\"fa fa-inbox\"\n title=\"Nenhum registro encontrado\"\n description=\"Nenhum cadastro foi encontrado.\"\n >\n </s-empty-state>\n </div>\n\n <div *ngIf=\"loading\" class=\"sdc-list-hidden\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\"></s-loading-state>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-list{background:#fff;border:1px solid var(--sdc-formfield-default-border);overflow:hidden}.sdc-list-hidden{min-height:21rem;padding-top:6rem;padding-bottom:6rem}.sdc-list-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--sdc-formfield-default-border)}.sdc-list-item:last-child{border-bottom:0}.sdc-list-content{flex:1 1 auto;min-width:0}.sdc-list-title{font-weight:600;font-size:16px;line-height:1.25;color:#1f2937;margin:0 0 4px}.sdc-list-subtitle{font-size:12px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-list-actions{display:flex;align-items:center;gap:8px;margin-left:24px;flex-shrink:0}ul.sdc-list,.sdc-list ul,.sdc-list li{list-style:none;margin:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$2.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
1155
1348
  }
1156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, decorators: [{
1349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, decorators: [{
1157
1350
  type: Component,
1158
1351
  args: [{ standalone: true, selector: 'sdc-list', imports: [CommonModule, ButtonComponent, EmptyStateModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-list\">\n <div *ngIf=\"!loading && !(!dataItems || dataItems.length === 0)\">\n <div class=\"sdc-list-item\" *ngFor=\"let item of dataItems\">\n <div class=\"sdc-list-content\">\n <div class=\"sdc-list-title\">{{ item.title }}</div>\n <div class=\"sdc-list-subtitle\">{{ item.subtitle }}</div>\n </div>\n <div class=\"sdc-list-actions\" *ngIf=\"dataActions && dataActions.length > 0\">\n <ng-container *ngFor=\"let action of dataActions\">\n <ng-container *ngFor=\"let __k of [actionKey(action)]\">\n <sdc-button\n (onClick)=\"onActionClick(action, item)\"\n [disabled]=\"!!action.disabled\"\n [icon]=\"action.icon || $any(action).iconClass || $any(action).leftIcon\"\n [label]=\"action.label ?? $any(action).text\"\n [priority]=\"action.priority || 'default'\"\n [attr.disabled]=\"action.disabled ? '' : null\"\n [attr.icon]=\"action.icon || $any(action).iconClass || $any(action).leftIcon\"\n [attr.label]=\"action.label ?? $any(action).text\"\n [attr.priority]=\"action.priority || 'default'\"\n [attr.severity]=\"action.priority || 'default'\"\n [attr.data-key]=\"__k\"\n >\n </sdc-button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!loading && (!dataItems || dataItems.length === 0)\" class=\"sdc-list-hidden\" aria-live=\"polite\">\n <s-empty-state\n id=\"my-empty-state\"\n iconClass=\"fa fa-inbox\"\n title=\"Nenhum registro encontrado\"\n description=\"Nenhum cadastro foi encontrado.\"\n >\n </s-empty-state>\n </div>\n\n <div *ngIf=\"loading\" class=\"sdc-list-hidden\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\"></s-loading-state>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-list{background:#fff;border:1px solid var(--sdc-formfield-default-border);overflow:hidden}.sdc-list-hidden{min-height:21rem;padding-top:6rem;padding-bottom:6rem}.sdc-list-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--sdc-formfield-default-border)}.sdc-list-item:last-child{border-bottom:0}.sdc-list-content{flex:1 1 auto;min-width:0}.sdc-list-title{font-weight:600;font-size:16px;line-height:1.25;color:#1f2937;margin:0 0 4px}.sdc-list-subtitle{font-size:12px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-list-actions{display:flex;align-items:center;gap:8px;margin-left:24px;flex-shrink:0}ul.sdc-list,.sdc-list ul,.sdc-list li{list-style:none;margin:0;padding:0}\n"] }]
1159
1352
  }], propDecorators: { loading: [{
@@ -1194,10 +1387,10 @@ class SearchboxComponent extends InputsComponent {
1194
1387
  this.searchEvent.emit(this.value);
1195
1388
  }
1196
1389
  }
1197
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1198
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchboxComponent, isStandalone: true, selector: "sdc-searchbox", inputs: { triggerMode: "triggerMode" }, outputs: { searchEvent: "onSearch", clearEvent: "onClear" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n <p-inputgroup [ngStyle]=\"getStyles()\">\n <p-inputgroup-addon *ngIf=\"triggerMode === 'submit'\">\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onSearch()\">\n <i class=\"fas fa-search\"></i>\n </s-button>\n </p-inputgroup-addon>\n \n <input [ngClass]=\"getInvalidClass()\" pInputText type=\"text\" [(ngModel)]=\"value\" [disabled]=\"disabled\"\n [placeholder]=\"placeholder || ('platform.datacore.search' | translate)\" (input)=\"onInput($event)\"\n (keyup.enter)=\"onSearch()\" (keyup.esc)=\"onClear()\" />\n\n <p-inputgroup-addon>\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onClear()\">\n <i class=\"fas fa-times\"></i>\n </s-button>\n </p-inputgroup-addon>\n\n\n </p-inputgroup>\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>", styles: [".sdc-searchbox ::ng-deep .p-inputgroup{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:transparent}.sdc-searchbox ::ng-deep .p-inputgroup .p-inputtext,.sdc-searchbox ::ng-deep .p-inputgroupaddon{height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important}.sdc-searchbox ::ng-deep .p-inputtext{background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon{display:flex;align-items:stretch;justify-content:center;padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled),.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled):hover{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-left:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon>*{width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button{display:flex!important;background:transparent!important;color:var(--sdc-button-icon-default)!important;width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0 .75rem!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button i{color:var(--sdc-button-icon-default)!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-searchbox .required-field{margin-left:.25rem}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-start-end-radius:0;border-end-end-radius:0}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-start-start-radius:0;border-end-start-radius:0}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i4.InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i5$1.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1390
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1391
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SearchboxComponent, isStandalone: true, selector: "sdc-searchbox", inputs: { triggerMode: "triggerMode" }, outputs: { searchEvent: "onSearch", clearEvent: "onClear" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n <p-inputgroup [ngStyle]=\"getStyles()\">\n <p-inputgroup-addon *ngIf=\"triggerMode === 'submit'\">\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onSearch()\">\n <i class=\"fas fa-search\"></i>\n </s-button>\n </p-inputgroup-addon>\n \n <input [ngClass]=\"getInvalidClass()\" pInputText type=\"text\" [(ngModel)]=\"value\" [disabled]=\"disabled\"\n [placeholder]=\"placeholder || ('platform.datacore.search' | translate)\" (input)=\"onInput($event)\"\n (keyup.enter)=\"onSearch()\" (keyup.esc)=\"onClear()\" />\n\n <p-inputgroup-addon>\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onClear()\">\n <i class=\"fas fa-times\"></i>\n </s-button>\n </p-inputgroup-addon>\n\n\n </p-inputgroup>\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>", styles: [".sdc-searchbox ::ng-deep .p-inputgroup{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:transparent}.sdc-searchbox ::ng-deep .p-inputgroup .p-inputtext,.sdc-searchbox ::ng-deep .p-inputgroupaddon{height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important}.sdc-searchbox ::ng-deep .p-inputtext{background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon{display:flex;align-items:stretch;justify-content:center;padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled),.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled):hover{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-left:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon>*{width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button{display:flex!important;background:transparent!important;color:var(--sdc-button-icon-default)!important;width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0 .75rem!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button i{color:var(--sdc-button-icon-default)!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-searchbox .required-field{margin-left:.25rem}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-start-end-radius:0;border-end-end-radius:0}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-start-start-radius:0;border-end-start-radius:0}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i4$1.InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i5$1.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1199
1392
  }
1200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchboxComponent, decorators: [{
1393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchboxComponent, decorators: [{
1201
1394
  type: Component,
1202
1395
  args: [{ selector: 'sdc-searchbox', standalone: true, imports: [
1203
1396
  ButtonModule,
@@ -1220,38 +1413,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1220
1413
  }] } });
1221
1414
 
1222
1415
  class PaginatorComponent {
1223
- first = 0;
1224
- rows = 10;
1225
- totalRecords = 0;
1226
- rowsPerPageOptions;
1227
- isMobile = false;
1228
- totalRecordsLabel = '';
1416
+ first = input.required();
1417
+ rows = input.required();
1418
+ totalRecords = input.required();
1419
+ rowsPerPageOptions = input(undefined);
1420
+ isMobile = input(false);
1421
+ totalRecordsLabel = input('');
1229
1422
  pageChange = new EventEmitter();
1230
- onPageChange(e) {
1231
- this.pageChange.emit(e);
1423
+ selectedRows = signal('0');
1424
+ constructor() {
1425
+ effect(() => {
1426
+ this.selectedRows.set(String(this.rows()));
1427
+ });
1232
1428
  }
1233
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1234
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PaginatorComponent, isStandalone: true, selector: "sdc-paginator", inputs: { first: "first", rows: "rows", totalRecords: "totalRecords", rowsPerPageOptions: "rowsPerPageOptions", isMobile: "isMobile", totalRecordsLabel: "totalRecordsLabel" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sdc-paginator\">\n <p-paginator [dropdownAppendTo]=\"'body'\" [first]=\"first\" [rows]=\"rows\"\n [totalRecords]=\"totalRecords\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showFirstLastIcon]=\"!isMobile\"\n (onPageChange)=\"onPageChange($event)\">\n <ng-template pTemplate=\"dropdownicon\"><i class=\"fas fa-caret-down\"></i></ng-template>\n <ng-template pTemplate=\"firstpagelinkicon\"><i class=\"fas fa-step-forward fa-rotate-180\"></i></ng-template>\n <ng-template pTemplate=\"previouspagelinkicon\"><i class=\"fas fa-caret-left\"></i></ng-template>\n <ng-template pTemplate=\"nextpagelinkicon\"><i class=\"fas fa-caret-right\"></i></ng-template>\n <ng-template pTemplate=\"lastpagelinkicon\"><i class=\"fas fa-step-forward\"></i></ng-template>\n </p-paginator>\n\n <span *ngIf=\"!isMobile && totalRecordsLabel\">\n {{ totalRecordsLabel }}: {{ totalRecords }}\n </span>\n</div>", styles: [".sdc-paginator{display:flex;width:100%;justify-content:space-between;align-items:center;box-sizing:border-box}.sdc-paginator ::ng-deep .p-paginator{text-align:left;background:transparent!important;border-color:transparent;gap:0;display:flex;padding:10px 10px 10px 0!important}.sdc-paginator ::ng-deep .p-paginator .p-paginator-element{font-weight:400}.sdc-paginator ::ng-deep .p-paginator .p-paginator-right-content{margin-left:auto;height:100%;padding-top:5px;padding-left:20px}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first .p-paginator-icon,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last .p-paginator-icon{font-size:12px}.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages{padding:0;margin:0;white-space:nowrap;gap:0}.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page-selected{color:#fff!important;border:1px solid #428bca;background:#428bca}.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page-selected:hover{background-color:#6aa3d5!important;border-color:#6aa3d5!important}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first,.sdc-paginator ::ng-deep .p-paginator .p-paginator-prev,.sdc-paginator ::ng-deep .p-paginator .p-paginator-next,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last,.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page{padding:.4em .25em;color:#428bca;transition:background-color .2s ease-out;border-radius:0;border:1px solid #cccccc;border-width:1px 0 1px 1px;text-align:center;min-width:var(--sdc-table-paginator-size);height:var(--sdc-table-paginator-size);margin:0}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-prev:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-next:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:hover{background-color:#f7f7f7}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-prev.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-next.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-highlight:hover{background-color:#6aa3d5;border-color:#6aa3d5}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first{border-radius:4px 0 0 4px}.sdc-paginator ::ng-deep .p-paginator .p-paginator-last{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator ::ng-deep .p-select{background:transparent!important;margin-left:34px}.sdc-paginator ::ng-deep .p-select-label{height:34px;padding:6px 17px}.sdc-paginator ::ng-deep .p-select-dropdown{border-left:1px solid #cccccc}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i2$4.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1429
+ rowOptions = computed(() => {
1430
+ const opts = (this.rowsPerPageOptions() ?? []).map(v => ({
1431
+ text: String(v),
1432
+ value: String(v)
1433
+ }));
1434
+ const cur = String(this.rows());
1435
+ if (!opts.some(o => o.value === cur)) {
1436
+ opts.unshift({ text: cur, value: cur });
1437
+ }
1438
+ return opts;
1439
+ });
1440
+ pageCount = computed(() => {
1441
+ const r = this.rows();
1442
+ const t = this.totalRecords();
1443
+ return r > 0 ? Math.max(1, Math.ceil(t / r)) : 1;
1444
+ });
1445
+ currentPage = computed(() => Math.floor(this.first() / Math.max(1, this.rows())));
1446
+ pages = computed(() => {
1447
+ const count = this.pageCount();
1448
+ const current = this.currentPage();
1449
+ const win = this.isMobile() ? 3 : 7;
1450
+ if (count <= win)
1451
+ return Array.from({ length: count }, (_, i) => i);
1452
+ const near = Math.floor((win - 3) / 2);
1453
+ const start = Math.max(1, current - near);
1454
+ const end = Math.min(count - 2, current + near);
1455
+ const list = [0];
1456
+ if (start > 1)
1457
+ list.push('…');
1458
+ for (let p = start; p <= end; p++)
1459
+ list.push(p);
1460
+ if (end < count - 2)
1461
+ list.push('…');
1462
+ list.push(count - 1);
1463
+ return list;
1464
+ });
1465
+ emitChange(first, rows = this.rows()) {
1466
+ const page = Math.floor(first / Math.max(1, rows));
1467
+ this.pageChange.emit({ first, rows, page, pageCount: this.pageCount() });
1468
+ }
1469
+ gotoPage(index) {
1470
+ const safe = Math.min(Math.max(index, 0), this.pageCount() - 1);
1471
+ this.emitChange(safe * this.rows());
1472
+ }
1473
+ firstPage() { this.gotoPage(0); }
1474
+ prevPage() { this.gotoPage(this.currentPage() - 1); }
1475
+ nextPage() { this.gotoPage(this.currentPage() + 1); }
1476
+ lastPage() { this.gotoPage(this.pageCount() - 1); }
1477
+ onRowsChange(rows) {
1478
+ this.selectedRows.set(String(rows));
1479
+ this.emitChange(0, rows);
1480
+ }
1481
+ onRowsComboModel(val) {
1482
+ const raw = Array.isArray(val) ? val[0] : val;
1483
+ const n = Number(raw);
1484
+ if (!Number.isNaN(n))
1485
+ this.onRowsChange(n);
1486
+ }
1487
+ isCurrent(p) { return p === this.currentPage(); }
1488
+ asNumber(p) { return typeof p === 'number'; }
1489
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1490
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PaginatorComponent, isStandalone: true, selector: "sdc-paginator", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: true, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsLabel: { classPropertyName: "totalRecordsLabel", publicName: "totalRecordsLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n <!-- bot\u00F5es e p\u00E1ginas (inalterado) -->\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"firstPage()\"\n aria-label=\"Primeira p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward fa-rotate-180\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"prevPage()\"\n aria-label=\"P\u00E1gina anterior\"\n >\n <i class=\"fas fa-caret-left\" aria-hidden=\"true\"></i>\n </button>\n\n <ng-container *ngFor=\"let p of pages()\">\n <button\n *ngIf=\"asNumber(p)\"\n type=\"button\"\n class=\"sdc-page\"\n [class.is-active]=\"isCurrent(p)\"\n [attr.aria-current]=\"isCurrent(p) ? 'page' : null\"\n (click)=\"gotoPage(p)\"\n >\n {{ p + 1 }}\n </button>\n <span *ngIf=\"!asNumber(p)\" class=\"sdc-ellipsis\" aria-hidden=\"true\">\u2026</span>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"nextPage()\"\n aria-label=\"Pr\u00F3xima p\u00E1gina\"\n >\n <i class=\"fas fa-caret-right\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"lastPage()\"\n aria-label=\"\u00DAltima p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward\" aria-hidden=\"true\"></i>\n </button>\n <sdc-combobox\n class=\"sdc-rows-combobox\"\n [multiple]=\"false\"\n [options]=\"rowOptions()\"\n [appendTo]=\"'body'\"\n [showClear]=\"false\"\n [ngModel]=\"selectedRows()\"\n (onSelectedItem)=\"onRowsComboModel($event)\"\n >\n </sdc-combobox>\n </div>\n <span class=\"sdc-total\" *ngIf=\"totalRecordsLabel()\"> {{ totalRecordsLabel() }}: {{ totalRecords() }} </span>\n</div>\n", styles: [":host{--sdc-paginator-page-size: var(--sdc-table-paginator-size, 34px);--sdc-paginator-border: #cccccc;--sdc-paginator-primary: #428bca;--sdc-paginator-primary-hover: #6aa3d5;display:block}.sdc-paginator{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;box-sizing:border-box;padding:10px 10px 10px 0}.sdc-paginator .sdc-paginator-left{display:inline-flex;align-items:center;gap:0}.sdc-paginator .sdc-paginator-left ::ng-deep .sdc-combobox{width:6.5rem!important;padding-left:1rem!important}.sdc-paginator .sdc-page{min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);padding:.4em .25em;margin:0;border:1px solid var(--sdc-paginator-border);border-right-width:0;background:transparent;color:var(--sdc-paginator-primary);cursor:pointer;transition:background-color .2s ease-out;text-align:center}.sdc-paginator .sdc-page:first-child{border-radius:4px 0 0 4px}.sdc-paginator .sdc-page:last-of-type{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator .sdc-page:hover{background-color:#f7f7f7}.sdc-paginator .sdc-page.is-active{background:var(--sdc-paginator-primary);color:#fff;border-color:var(--sdc-paginator-primary)}.sdc-paginator .sdc-page.is-active:hover{background:var(--sdc-paginator-primary-hover);border-color:var(--sdc-paginator-primary-hover)}.sdc-paginator .sdc-page:disabled{opacity:.5;cursor:not-allowed}.sdc-paginator .sdc-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);border:1px solid var(--sdc-paginator-border);border-right-width:0}.sdc-paginator .sdc-rows-combobox{width:max-content;min-width:88px}.sdc-paginator .sdc-total{white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ComboboxComponent, selector: "sdc-combobox", inputs: ["multiple", "appendTo", "zIndex", "options", "overrideChipMessage", "maxSelectedLabels", "showClear"], outputs: ["onSelectedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1235
1491
  }
1236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorComponent, decorators: [{
1492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, decorators: [{
1237
1493
  type: Component,
1238
- args: [{ selector: 'sdc-paginator', standalone: true, imports: [CommonModule, PaginatorModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-paginator\">\n <p-paginator [dropdownAppendTo]=\"'body'\" [first]=\"first\" [rows]=\"rows\"\n [totalRecords]=\"totalRecords\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showFirstLastIcon]=\"!isMobile\"\n (onPageChange)=\"onPageChange($event)\">\n <ng-template pTemplate=\"dropdownicon\"><i class=\"fas fa-caret-down\"></i></ng-template>\n <ng-template pTemplate=\"firstpagelinkicon\"><i class=\"fas fa-step-forward fa-rotate-180\"></i></ng-template>\n <ng-template pTemplate=\"previouspagelinkicon\"><i class=\"fas fa-caret-left\"></i></ng-template>\n <ng-template pTemplate=\"nextpagelinkicon\"><i class=\"fas fa-caret-right\"></i></ng-template>\n <ng-template pTemplate=\"lastpagelinkicon\"><i class=\"fas fa-step-forward\"></i></ng-template>\n </p-paginator>\n\n <span *ngIf=\"!isMobile && totalRecordsLabel\">\n {{ totalRecordsLabel }}: {{ totalRecords }}\n </span>\n</div>", styles: [".sdc-paginator{display:flex;width:100%;justify-content:space-between;align-items:center;box-sizing:border-box}.sdc-paginator ::ng-deep .p-paginator{text-align:left;background:transparent!important;border-color:transparent;gap:0;display:flex;padding:10px 10px 10px 0!important}.sdc-paginator ::ng-deep .p-paginator .p-paginator-element{font-weight:400}.sdc-paginator ::ng-deep .p-paginator .p-paginator-right-content{margin-left:auto;height:100%;padding-top:5px;padding-left:20px}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first .p-paginator-icon,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last .p-paginator-icon{font-size:12px}.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages{padding:0;margin:0;white-space:nowrap;gap:0}.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page-selected{color:#fff!important;border:1px solid #428bca;background:#428bca}.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page-selected:hover{background-color:#6aa3d5!important;border-color:#6aa3d5!important}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first,.sdc-paginator ::ng-deep .p-paginator .p-paginator-prev,.sdc-paginator ::ng-deep .p-paginator .p-paginator-next,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last,.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page{padding:.4em .25em;color:#428bca;transition:background-color .2s ease-out;border-radius:0;border:1px solid #cccccc;border-width:1px 0 1px 1px;text-align:center;min-width:var(--sdc-table-paginator-size);height:var(--sdc-table-paginator-size);margin:0}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-prev:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-next:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:hover{background-color:#f7f7f7}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-prev.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-next.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-last.p-highlight:hover,.sdc-paginator ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-highlight:hover{background-color:#6aa3d5;border-color:#6aa3d5}.sdc-paginator ::ng-deep .p-paginator .p-paginator-first{border-radius:4px 0 0 4px}.sdc-paginator ::ng-deep .p-paginator .p-paginator-last{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator ::ng-deep .p-select{background:transparent!important;margin-left:34px}.sdc-paginator ::ng-deep .p-select-label{height:34px;padding:6px 17px}.sdc-paginator ::ng-deep .p-select-dropdown{border-left:1px solid #cccccc}\n"] }]
1239
- }], propDecorators: { first: [{
1240
- type: Input,
1241
- args: [{ required: true }]
1242
- }], rows: [{
1243
- type: Input,
1244
- args: [{ required: true }]
1245
- }], totalRecords: [{
1246
- type: Input,
1247
- args: [{ required: true }]
1248
- }], rowsPerPageOptions: [{
1249
- type: Input
1250
- }], isMobile: [{
1251
- type: Input
1252
- }], totalRecordsLabel: [{
1253
- type: Input
1254
- }], pageChange: [{
1494
+ args: [{ selector: 'sdc-paginator', standalone: true, imports: [CommonModule, FormsModule, ComboboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-paginator\" role=\"navigation\" aria-label=\"Pagination\">\n <div class=\"sdc-paginator-left\">\n <!-- bot\u00F5es e p\u00E1ginas (inalterado) -->\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"firstPage()\"\n aria-label=\"Primeira p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward fa-rotate-180\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() === 0\"\n (click)=\"prevPage()\"\n aria-label=\"P\u00E1gina anterior\"\n >\n <i class=\"fas fa-caret-left\" aria-hidden=\"true\"></i>\n </button>\n\n <ng-container *ngFor=\"let p of pages()\">\n <button\n *ngIf=\"asNumber(p)\"\n type=\"button\"\n class=\"sdc-page\"\n [class.is-active]=\"isCurrent(p)\"\n [attr.aria-current]=\"isCurrent(p) ? 'page' : null\"\n (click)=\"gotoPage(p)\"\n >\n {{ p + 1 }}\n </button>\n <span *ngIf=\"!asNumber(p)\" class=\"sdc-ellipsis\" aria-hidden=\"true\">\u2026</span>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"nextPage()\"\n aria-label=\"Pr\u00F3xima p\u00E1gina\"\n >\n <i class=\"fas fa-caret-right\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"sdc-page sdc-edge\"\n [disabled]=\"currentPage() >= pageCount() - 1\"\n (click)=\"lastPage()\"\n aria-label=\"\u00DAltima p\u00E1gina\"\n >\n <i class=\"fas fa-step-forward\" aria-hidden=\"true\"></i>\n </button>\n <sdc-combobox\n class=\"sdc-rows-combobox\"\n [multiple]=\"false\"\n [options]=\"rowOptions()\"\n [appendTo]=\"'body'\"\n [showClear]=\"false\"\n [ngModel]=\"selectedRows()\"\n (onSelectedItem)=\"onRowsComboModel($event)\"\n >\n </sdc-combobox>\n </div>\n <span class=\"sdc-total\" *ngIf=\"totalRecordsLabel()\"> {{ totalRecordsLabel() }}: {{ totalRecords() }} </span>\n</div>\n", styles: [":host{--sdc-paginator-page-size: var(--sdc-table-paginator-size, 34px);--sdc-paginator-border: #cccccc;--sdc-paginator-primary: #428bca;--sdc-paginator-primary-hover: #6aa3d5;display:block}.sdc-paginator{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;box-sizing:border-box;padding:10px 10px 10px 0}.sdc-paginator .sdc-paginator-left{display:inline-flex;align-items:center;gap:0}.sdc-paginator .sdc-paginator-left ::ng-deep .sdc-combobox{width:6.5rem!important;padding-left:1rem!important}.sdc-paginator .sdc-page{min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);padding:.4em .25em;margin:0;border:1px solid var(--sdc-paginator-border);border-right-width:0;background:transparent;color:var(--sdc-paginator-primary);cursor:pointer;transition:background-color .2s ease-out;text-align:center}.sdc-paginator .sdc-page:first-child{border-radius:4px 0 0 4px}.sdc-paginator .sdc-page:last-of-type{border-right-width:1px;border-radius:0 4px 4px 0}.sdc-paginator .sdc-page:hover{background-color:#f7f7f7}.sdc-paginator .sdc-page.is-active{background:var(--sdc-paginator-primary);color:#fff;border-color:var(--sdc-paginator-primary)}.sdc-paginator .sdc-page.is-active:hover{background:var(--sdc-paginator-primary-hover);border-color:var(--sdc-paginator-primary-hover)}.sdc-paginator .sdc-page:disabled{opacity:.5;cursor:not-allowed}.sdc-paginator .sdc-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-paginator-page-size);height:var(--sdc-paginator-page-size);border:1px solid var(--sdc-paginator-border);border-right-width:0}.sdc-paginator .sdc-rows-combobox{width:max-content;min-width:88px}.sdc-paginator .sdc-total{white-space:nowrap}\n"] }]
1495
+ }], ctorParameters: () => [], propDecorators: { pageChange: [{
1255
1496
  type: Output
1256
1497
  }] } });
1257
1498
 
@@ -1261,7 +1502,7 @@ class TableComponent {
1261
1502
  loading = false;
1262
1503
  config = DEFAULT_TABLE_OPTIONS;
1263
1504
  action = new EventEmitter();
1264
- isMobile = isMobile$1();
1505
+ isMobile = isMobile();
1265
1506
  showSearch = computed(() => this.options().search?.show ?? false);
1266
1507
  showPaginator = computed(() => this.options().pagination?.show ?? false);
1267
1508
  rowsPerPageOptions = computed(() => this.options().pagination?.rowsPerPageOptions ?? []);
@@ -1488,10 +1729,10 @@ class TableComponent {
1488
1729
  const actVal = actKey ? String(this._(row, actKey) ?? '') : '';
1489
1730
  return [String(opt?.label ?? ''), String(opt?.icon ?? ''), String(opt?.priority ?? ''), String(opt?.size ?? ''), String(opt?.tooltip ?? ''), actVal].join('|');
1490
1731
  }
1491
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1492
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "sdc-table", inputs: { cols: "cols", data: "data", loading: "loading", config: "config" }, outputs: { action: "action" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sdc-table\"\n [class.sdc-table-stack]=\"isMobile ? 'stack' : 'grid'\"\n [class.sdc-table-filtered]=\"!!globalFilter().trim()\"\n>\n <div class=\"sdc-table-caption\" *ngIf=\"showSearch()\">\n <div [style.width]=\"isMobile ? '100%' : '20%'\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [placeholder]=\"searchPlaceholder()\"\n [triggerMode]=\"triggerMode()\"\n (onSearch)=\"onSearchTerm($event)\"\n (onClear)=\"onClearSearch()\"\n />\n </div>\n </div>\n\n <table class=\"sdc-table-grid\">\n <thead>\n <tr>\n @for (col of cols; let i = $index; track i) {\n <th\n [class.sdc-table-th-checkbox]=\"col.type === 'checkbox-selection'\"\n (click)=\"toggleSort(col.field!, col.sortable !== false)\"\n [class.sdc-table-sortable]=\"col.sortable !== false\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n >\n <div class=\"sdc-table-th-inner\" [class.sdc-table-sortable]=\"col.sortable !== false\">\n @switch (col.type) { @case ('checkbox-selection') {\n <span class=\"sdc-table-th-label\">{{ col.header }}</span>\n } @default {\n <span class=\"sdc-table-th-label\">{{ col.header }}</span>\n <span class=\"sdc-table-sort-icons sdc-table-sort-overlay\" *ngIf=\"col.sortable !== false\">\n <ng-container [ngTemplateOutlet]=\"sortIconsTpl\" [ngTemplateOutletContext]=\"{ col: col }\"></ng-container>\n </span>\n } }\n </div>\n <span\n class=\"sdc-table-th-center\"\n *ngIf=\"col.type === 'checkbox-selection' && (cellCfg('checkbox').selectAll ?? true)\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isPageFullySelected()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectPage(getCheckedValue($event))\"\n />\n </span>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (loading) { } @else { @for (row of pageData(); let r = $index; track r) {\n <tr>\n @for (col of cols; let c = $index; track c) {\n <ng-container *ngIf=\"isMobile; else desktopContent\">\n <div class=\"sdc-table-td-mobile\">\n <ng-container [ngTemplateOutlet]=\"sortIconsTpl\" [ngTemplateOutletContext]=\"{ col: col }\"></ng-container>\n <td\n class=\"sdc-table-td sdc-table-tdc sdc-table-mobile-td\"\n [class.sdc-table-td-checkbox]=\"col.type === 'checkbox-selection'\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n [attr.data-title]=\"col.header\"\n (click)=\"toggleSort(col.field!, col.sortable !== false)\"\n >\n <div class=\"sdc-table-td-val\">\n <ng-container\n [ngTemplateOutlet]=\"cellTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col: col }\"\n ></ng-container>\n </div>\n </td>\n </div>\n </ng-container>\n <ng-template #desktopContent>\n <td\n class=\"sdc-table-td sdc-table-tdc\"\n [class.sdc-table-td-checkbox]=\"col.type === 'checkbox-selection'\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n [attr.data-title]=\"col.header\"\n >\n <div class=\"sdc-table-td-val\">\n <ng-container\n [ngTemplateOutlet]=\"cellTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col: col }\"\n ></ng-container>\n </div>\n </td>\n </ng-template>\n }\n </tr>\n } }\n </tbody>\n </table>\n\n <s-empty-state\n *ngIf=\"!loading && options().empty?.show !== false && totalRecords() === 0\"\n id=\"my-empty-state\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-table-empty-state\"\n >\n </s-empty-state>\n\n <s-loading-state *ngIf=\"loading\" [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-table-loading-state\">\n </s-loading-state>\n\n <div class=\"sdc-table-paginator\" *ngIf=\"showPaginator()\">\n <sdc-paginator\n [first]=\"first()\"\n [rows]=\"rows()\"\n [totalRecords]=\"totalRecords()\"\n [rowsPerPageOptions]=\"isMobile ? undefined : rowsPerPageOptions()\"\n [isMobile]=\"isMobile\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onPageChange($event)\"\n ></sdc-paginator>\n </div>\n\n <ng-template #cellTpl let-row let-col=\"col\">\n @switch (col.type) { @case ('checkbox-selection') {\n <ng-container *ngIf=\"cellCfg('checkbox') as checkboxOptions\">\n <div class=\"sdc-table-checkbox\">\n <input type=\"checkbox\" [checked]=\"isRowSelected(row)\" (change)=\"onToggleRow(row, getCheckedValue($event))\" />\n <label>{{ _(row, col.field) }}</label>\n </div>\n </ng-container>\n } @case ('date') {\n {{ formatDate(_(row, col.field), col.format || 'shortDate') }}\n } @case ('strong') {\n <div class=\"sdc-table-strong-label\">{{ _(row, col.field) }}</div>\n } @case ('code') {\n <code class=\"sdc-table-code-label\">{{ _(row, col.field) }}</code>\n } @case ('currency') {\n {{ formatCurrency(_(row, col.field), col.format || 'BRL') }}\n } @case ('tag') {\n <ng-container *ngIf=\"cellCfg('tag') as tagOptions\">\n <div class=\"sdc-table-tags\">\n @for (tag of tagsOf(row, col); let t = $index; track t) {\n <span\n class=\"sdc-table-tag\"\n [style.background]=\"tagOptions.backgroundColor || null\"\n [style.color]=\"tagOptions.color || null\"\n [attr.title]=\"tagOptions.tooltip\"\n >\n <i *ngIf=\"tagOptions.icon\" [class]=\"tagOptions.icon\"></i>\n {{ tag }}\n </span>\n }\n </div>\n </ng-container>\n } @case ('button') {\n <ng-container *ngIf=\"cellCfg('button') as buttonOptions\">\n <ng-container *ngFor=\"let __k of [buttonKey(row, col, buttonOptions)]\">\n <div class=\"sdc-table-button\">\n <sdc-button\n style=\"max-width: 70%\"\n [size]=\"buttonOptions.size\"\n [priority]=\"buttonOptions.priority || 'primary'\"\n [icon]=\"buttonOptions.icon\"\n [label]=\"buttonOptions.label\"\n [disabled]=\"buttonOptions.disabled\"\n [title]=\"buttonOptions.tooltip\"\n [attr.size]=\"buttonOptions.size\"\n [attr.priority]=\"buttonOptions.priority || 'primary'\"\n [attr.severity]=\"buttonOptions.priority || 'primary'\"\n [attr.icon]=\"buttonOptions.icon\"\n [attr.label]=\"buttonOptions.label\"\n [attr.disabled]=\"buttonOptions.disabled ? '' : null\"\n [attr.title]=\"buttonOptions.tooltip || null\"\n [attr.data-key]=\"__k\"\n (click)=\"buttonOptions.disabled ? null : onButtonClick(row, col)\"\n ></sdc-button>\n </div>\n </ng-container>\n </ng-container>\n } @default { {{ _(row, col.field) }} } }\n </ng-template>\n</div>\n\n<ng-template #sortIconsTpl let-col=\"col\">\n <span *ngIf=\"col.sortable !== false && col.type !== 'checkbox-selection'\" class=\"sdc-table-sort-indicator\">\n <i *ngIf=\"sortField() !== col.field\" class=\"fas fa-sort-alt sdc-table-sort-neutral\"></i>\n <i\n *ngIf=\"sortField() === col.field && sortOrder() === 1\"\n class=\"fas fa-sort-amount-up-alt sdc-table-sort-active\"\n ></i>\n <i\n *ngIf=\"sortField() === col.field && sortOrder() === -1\"\n class=\"fas fa-sort-amount-down sdc-table-sort-active\"\n ></i>\n </span>\n <span\n *ngIf=\"col.sortable === false || col.type === 'checkbox-selection'\"\n class=\"sdc-table-sort-indicator sdc-table-sort-indicator-placeholder\"\n ></span>\n</ng-template>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}@media (max-width: 750px){.sdc-table-tag{font-size:.7rem;padding:.6rem .8rem}.sdc-table-sort-indicator-placeholder{display:none!important;width:0!important;height:0!important;min-width:0!important}.sdc-table-paginator{justify-content:center!important}.sdc-table-sort-indicator{gap:.15rem;min-width:1.2rem;position:absolute;left:21px}.sdc-table-sort-indicator i{font-size:.75rem;width:.65rem}.sdc-table-td-val{background:none!important;height:100%;padding:1rem;justify-content:end;border-left:1px solid var(--sdc-formfield-default-border);display:flex;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sdc-table-td-mobile{border-top:1px solid var(--sdc-formfield-default-border);display:flex;align-items:center;padding-left:10px}.sdc-table.sdc-table-stack thead{display:none}.sdc-table.sdc-table-stack .sdc-table-grid,.sdc-table.sdc-table-stack .sdc-table-grid tbody,.sdc-table.sdc-table-stack .sdc-table-grid tr,.sdc-table.sdc-table-stack .sdc-table-grid td{display:block;width:100%;box-sizing:border-box}.sdc-table.sdc-table-stack .sdc-table-grid tr{border-top:1px solid var(--sdc-formfield-default-border);background:var(--sdc-table-bg-card)}.sdc-table.sdc-table-stack .sdc-table-td{position:relative;padding:0;border-bottom:1px solid var(--sdc-table-border-gray);display:grid!important;grid-template-columns:45% 55%;align-items:center;gap:var(--sdc-table-gap-th-inner)}.sdc-table.sdc-table-stack .sdc-table-td:before{content:attr(data-title);font-weight:600;padding:var(--sdc-table-padding-cell) .5rem var(--sdc-table-padding-cell) var(--sdc-table-padding-cell);border-right:0px solid var(--sdc-formfield-default-border);word-break:break-word}.sdc-table.sdc-table-stack .sdc-table-td>*{grid-column:2;min-width:0}.sdc-table.sdc-table-stack .sdc-table-grid tr .sdc-table-td:last-child{border-bottom:0}.sdc-table.sdc-table-stack .sdc-table-sort-icons{flex-direction:column;line-height:.8}.sdc-table-paginator{border-top:1px solid var(--sdc-table-border-gray)}::ng-deep .p-paginator .p-paginator-next{border-width:1px 1px 1px 1px!important}}@media (min-width: 750px){.sdc-table-tag{font-size:.8rem;padding:.6rem 1.7rem}.sdc-table-sort-indicator-placeholder{width:1.4rem;height:1rem;display:inline-block}.sdc-table-grid thead th+th{border-left:1px solid var(--sdc-formfield-default-border)}}.sdc-table{width:100%;box-sizing:border-box;overflow:hidden;background:var(--sdc-table-bg-card)}.sdc-table .sdc-table-strong-label{font-weight:500;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sdc-table .sdc-table-code-label{color:var(--sdc-tab-primary);overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%;display:inline-block}.sdc-table-caption{width:100%;justify-content:end;display:flex;padding:.75rem 0}.sdc-table-grid{width:100%;border-collapse:collapse;table-layout:fixed}thead th{padding:var(--sdc-table-padding-cell);background:var(--sdc-table-bg-card);border-bottom:1px solid var(--sdc-formfield-default-border);-webkit-user-select:none;user-select:none;transition:background var(--sdc-table-transition-fast),border var(--sdc-table-transition-fast)}thead th.sdc-table-sortable{cursor:pointer}thead th.sdc-table-sortable:hover{background:var(--sdc-table-th-hover-bg)}thead th.sdc-table-is-selected{background:var(--sdc-table-th-selected-bg)!important}.sdc-table-sort-neutral{color:var(--sdc-table-sort-neutral)}.sdc-table-sort-active{color:var(--sdc-table-sort-active)}.sdc-table-th-inner{display:flex;align-items:center;gap:var(--sdc-table-gap-th-inner)}.sdc-table-sort-icons i{font-size:inherit;transition:color var(--sdc-table-transition-fast),transform var(--sdc-table-transition-fast),opacity var(--sdc-table-transition-fast)}tbody td{padding:var(--sdc-table-padding-cell);border-bottom:1px solid var(--sdc-table-border-gray);vertical-align:middle}.sdc-table-tags{display:flex;flex-wrap:wrap;gap:var(--sdc-table-gap-tags)}.sdc-table-tag{display:inline-flex;align-items:center;gap:.25rem;border-radius:6px;background:var(--sdc-table-tag-bg)}.sdc-table-sort-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:1.7rem}.sdc-table-sort-indicator i{width:.75rem;text-align:center}.sdc-table-sort-overlay{position:relative}.sdc-table-paginator{padding:.5rem 0}.sdc-table-button,.sdc-table-checkbox{display:flex;align-items:center;justify-content:center}.sdc-table-empty-state{display:block;padding:12rem}.sdc-table-loading-state{background:var(--sdc-table-bg-loading);display:block;border-bottom:1px solid var(--sdc-formfield-default-border);min-width:10rem;padding:18.8rem 0rem}thead th.sdc-table-th-checkbox{position:relative}thead th.sdc-table-th-checkbox .sdc-table-th-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}thead th.sdc-table-th-checkbox .sdc-table-th-center input{pointer-events:auto}thead th.sdc-table-th-checkbox .sdc-table-th-inner{padding-right:.5rem}thead th.sdc-table-th-checkbox .sdc-table-th-label,thead .sdc-table-th-label{color:#333!important;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SearchboxComponent, selector: "sdc-searchbox", inputs: ["triggerMode"], outputs: ["onSearch", "onClear"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }] });
1732
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1733
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableComponent, isStandalone: true, selector: "sdc-table", inputs: { cols: "cols", data: "data", loading: "loading", config: "config" }, outputs: { action: "action" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sdc-table\"\n [class.sdc-table-stack]=\"isMobile ? 'stack' : 'grid'\"\n [class.sdc-table-filtered]=\"!!globalFilter().trim()\"\n>\n <div class=\"sdc-table-caption\" *ngIf=\"showSearch()\">\n <div [style.width]=\"isMobile ? '100%' : '20%'\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [placeholder]=\"searchPlaceholder()\"\n [triggerMode]=\"triggerMode()\"\n (onSearch)=\"onSearchTerm($event)\"\n (onClear)=\"onClearSearch()\"\n />\n </div>\n </div>\n\n <table class=\"sdc-table-grid\">\n <thead>\n <tr>\n @for (col of cols; let i = $index; track i) {\n <th\n [class.sdc-table-th-checkbox]=\"col.type === 'checkbox-selection'\"\n (click)=\"toggleSort(col.field!, col.sortable !== false)\"\n [class.sdc-table-sortable]=\"col.sortable !== false\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n >\n <div class=\"sdc-table-th-inner\" [class.sdc-table-sortable]=\"col.sortable !== false\">\n @switch (col.type) { @case ('checkbox-selection') {\n <span class=\"sdc-table-th-label\">{{ col.header }}</span>\n } @default {\n <span class=\"sdc-table-th-label\">{{ col.header }}</span>\n <span class=\"sdc-table-sort-icons sdc-table-sort-overlay\" *ngIf=\"col.sortable !== false\">\n <ng-container [ngTemplateOutlet]=\"sortIconsTpl\" [ngTemplateOutletContext]=\"{ col: col }\"></ng-container>\n </span>\n } }\n </div>\n <span\n class=\"sdc-table-th-center\"\n *ngIf=\"col.type === 'checkbox-selection' && (cellCfg('checkbox').selectAll ?? true)\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isPageFullySelected()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectPage(getCheckedValue($event))\"\n />\n </span>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (loading) { } @else { @for (row of pageData(); let r = $index; track r) {\n <tr>\n @for (col of cols; let c = $index; track c) {\n <ng-container *ngIf=\"isMobile; else desktopContent\">\n <div class=\"sdc-table-td-mobile\">\n <ng-container [ngTemplateOutlet]=\"sortIconsTpl\" [ngTemplateOutletContext]=\"{ col: col }\"></ng-container>\n <td\n class=\"sdc-table-td sdc-table-tdc sdc-table-mobile-td\"\n [class.sdc-table-td-checkbox]=\"col.type === 'checkbox-selection'\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n [attr.data-title]=\"col.header\"\n (click)=\"toggleSort(col.field!, col.sortable !== false)\"\n >\n <div class=\"sdc-table-td-val\">\n <ng-container\n [ngTemplateOutlet]=\"cellTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col: col }\"\n ></ng-container>\n </div>\n </td>\n </div>\n </ng-container>\n <ng-template #desktopContent>\n <td\n class=\"sdc-table-td sdc-table-tdc\"\n [class.sdc-table-td-checkbox]=\"col.type === 'checkbox-selection'\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n [attr.data-title]=\"col.header\"\n >\n <div class=\"sdc-table-td-val\">\n <ng-container\n [ngTemplateOutlet]=\"cellTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col: col }\"\n ></ng-container>\n </div>\n </td>\n </ng-template>\n }\n </tr>\n } }\n </tbody>\n </table>\n\n <s-empty-state\n *ngIf=\"!loading && options().empty?.show !== false && totalRecords() === 0\"\n id=\"my-empty-state\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-table-empty-state\"\n >\n </s-empty-state>\n\n <s-loading-state *ngIf=\"loading\" [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-table-loading-state\">\n </s-loading-state>\n\n <div class=\"sdc-table-paginator\" *ngIf=\"showPaginator()\">\n <sdc-paginator\n [first]=\"first()\"\n [rows]=\"rows()\"\n [totalRecords]=\"totalRecords()\"\n [rowsPerPageOptions]=\"isMobile ? undefined : rowsPerPageOptions()\"\n [isMobile]=\"isMobile\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onPageChange($event)\"\n ></sdc-paginator>\n </div>\n\n <ng-template #cellTpl let-row let-col=\"col\">\n @switch (col.type) { @case ('checkbox-selection') {\n <ng-container *ngIf=\"cellCfg('checkbox') as checkboxOptions\">\n <div class=\"sdc-table-checkbox\">\n <input type=\"checkbox\" [checked]=\"isRowSelected(row)\" (change)=\"onToggleRow(row, getCheckedValue($event))\" />\n <label>{{ _(row, col.field) }}</label>\n </div>\n </ng-container>\n } @case ('date') {\n {{ formatDate(_(row, col.field), col.format || 'shortDate') }}\n } @case ('strong') {\n <div class=\"sdc-table-strong-label\">{{ _(row, col.field) }}</div>\n } @case ('code') {\n <code class=\"sdc-table-code-label\">{{ _(row, col.field) }}</code>\n } @case ('currency') {\n {{ formatCurrency(_(row, col.field), col.format || 'BRL') }}\n } @case ('tag') {\n <ng-container *ngIf=\"cellCfg('tag') as tagOptions\">\n <div class=\"sdc-table-tags\">\n @for (tag of tagsOf(row, col); let t = $index; track t) {\n <span\n class=\"sdc-table-tag\"\n [style.background]=\"tagOptions.backgroundColor || null\"\n [style.color]=\"tagOptions.color || null\"\n [attr.title]=\"tagOptions.tooltip\"\n >\n <i *ngIf=\"tagOptions.icon\" [class]=\"tagOptions.icon\"></i>\n {{ tag }}\n </span>\n }\n </div>\n </ng-container>\n } @case ('button') {\n <ng-container *ngIf=\"cellCfg('button') as buttonOptions\">\n <ng-container *ngFor=\"let __k of [buttonKey(row, col, buttonOptions)]\">\n <div class=\"sdc-table-button\">\n <sdc-button\n style=\"max-width: 70%\"\n [size]=\"buttonOptions.size\"\n [priority]=\"buttonOptions.priority || 'primary'\"\n [icon]=\"buttonOptions.icon\"\n [label]=\"buttonOptions.label\"\n [disabled]=\"buttonOptions.disabled\"\n [title]=\"buttonOptions.tooltip\"\n [attr.size]=\"buttonOptions.size\"\n [attr.priority]=\"buttonOptions.priority || 'primary'\"\n [attr.severity]=\"buttonOptions.priority || 'primary'\"\n [attr.icon]=\"buttonOptions.icon\"\n [attr.label]=\"buttonOptions.label\"\n [attr.disabled]=\"buttonOptions.disabled ? '' : null\"\n [attr.title]=\"buttonOptions.tooltip || null\"\n [attr.data-key]=\"__k\"\n (click)=\"buttonOptions.disabled ? null : onButtonClick(row, col)\"\n ></sdc-button>\n </div>\n </ng-container>\n </ng-container>\n } @default { {{ _(row, col.field) }} } }\n </ng-template>\n</div>\n\n<ng-template #sortIconsTpl let-col=\"col\">\n <span *ngIf=\"col.sortable !== false && col.type !== 'checkbox-selection'\" class=\"sdc-table-sort-indicator\">\n <i *ngIf=\"sortField() !== col.field\" class=\"fas fa-sort-alt sdc-table-sort-neutral\"></i>\n <i\n *ngIf=\"sortField() === col.field && sortOrder() === 1\"\n class=\"fas fa-sort-amount-up-alt sdc-table-sort-active\"\n ></i>\n <i\n *ngIf=\"sortField() === col.field && sortOrder() === -1\"\n class=\"fas fa-sort-amount-down sdc-table-sort-active\"\n ></i>\n </span>\n <span\n *ngIf=\"col.sortable === false || col.type === 'checkbox-selection'\"\n class=\"sdc-table-sort-indicator sdc-table-sort-indicator-placeholder\"\n ></span>\n</ng-template>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}@media (max-width: 750px){.sdc-table-tag{font-size:.7rem;padding:.6rem .8rem}.sdc-table-sort-indicator-placeholder{display:none!important;width:0!important;height:0!important;min-width:0!important}.sdc-table-paginator{justify-content:center!important}.sdc-table-sort-indicator{gap:.15rem;min-width:1.2rem;position:absolute;left:21px}.sdc-table-sort-indicator i{font-size:.75rem;width:.65rem}.sdc-table-td-val{background:none!important;height:100%;padding:1rem;justify-content:end;border-left:1px solid var(--sdc-formfield-default-border);display:flex;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sdc-table-td-mobile{border-top:1px solid var(--sdc-formfield-default-border);display:flex;align-items:center;padding-left:10px}.sdc-table.sdc-table-stack thead{display:none}.sdc-table.sdc-table-stack .sdc-table-grid,.sdc-table.sdc-table-stack .sdc-table-grid tbody,.sdc-table.sdc-table-stack .sdc-table-grid tr,.sdc-table.sdc-table-stack .sdc-table-grid td{display:block;width:100%;box-sizing:border-box}.sdc-table.sdc-table-stack .sdc-table-grid tr{border-top:1px solid var(--sdc-formfield-default-border);background:var(--sdc-table-bg-card)}.sdc-table.sdc-table-stack .sdc-table-td{position:relative;padding:0;border-bottom:1px solid var(--sdc-table-border-gray);display:grid!important;grid-template-columns:45% 55%;align-items:center;gap:var(--sdc-table-gap-th-inner)}.sdc-table.sdc-table-stack .sdc-table-td:before{content:attr(data-title);font-weight:600;padding:var(--sdc-table-padding-cell) .5rem var(--sdc-table-padding-cell) var(--sdc-table-padding-cell);border-right:0px solid var(--sdc-formfield-default-border);word-break:break-word}.sdc-table.sdc-table-stack .sdc-table-td>*{grid-column:2;min-width:0}.sdc-table.sdc-table-stack .sdc-table-grid tr .sdc-table-td:last-child{border-bottom:0}.sdc-table.sdc-table-stack .sdc-table-sort-icons{flex-direction:column;line-height:.8}.sdc-table-paginator{border-top:1px solid var(--sdc-table-border-gray)}::ng-deep .p-paginator .p-paginator-next{border-width:1px 1px 1px 1px!important}}@media (min-width: 750px){.sdc-table-tag{font-size:.8rem;padding:.6rem 1.7rem}.sdc-table-sort-indicator-placeholder{width:1.4rem;height:1rem;display:inline-block}.sdc-table-grid thead th+th{border-left:1px solid var(--sdc-formfield-default-border)}}.sdc-table{width:100%;box-sizing:border-box;overflow:hidden;background:var(--sdc-table-bg-card)}.sdc-table .sdc-table-strong-label{font-weight:500;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sdc-table .sdc-table-code-label{color:var(--sdc-tab-primary);overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%;display:inline-block}.sdc-table-caption{width:100%;justify-content:end;display:flex;padding:.75rem 0}.sdc-table-grid{width:100%;border-collapse:collapse;table-layout:fixed}thead th{padding:var(--sdc-table-padding-cell);background:var(--sdc-table-bg-card);border-bottom:1px solid var(--sdc-formfield-default-border);-webkit-user-select:none;user-select:none;transition:background var(--sdc-table-transition-fast),border var(--sdc-table-transition-fast)}thead th.sdc-table-sortable{cursor:pointer}thead th.sdc-table-sortable:hover{background:var(--sdc-table-th-hover-bg)}thead th.sdc-table-is-selected{background:var(--sdc-table-th-selected-bg)!important}.sdc-table-sort-neutral{color:var(--sdc-table-sort-neutral)}.sdc-table-sort-active{color:var(--sdc-table-sort-active)}.sdc-table-th-inner{display:flex;align-items:center;gap:var(--sdc-table-gap-th-inner)}.sdc-table-sort-icons i{font-size:inherit;transition:color var(--sdc-table-transition-fast),transform var(--sdc-table-transition-fast),opacity var(--sdc-table-transition-fast)}tbody td{padding:var(--sdc-table-padding-cell);border-bottom:1px solid var(--sdc-table-border-gray);vertical-align:middle}.sdc-table-tags{display:flex;flex-wrap:wrap;gap:var(--sdc-table-gap-tags)}.sdc-table-tag{display:inline-flex;align-items:center;gap:.25rem;border-radius:6px;background:var(--sdc-table-tag-bg)}.sdc-table-sort-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:1.7rem}.sdc-table-sort-indicator i{width:.75rem;text-align:center}.sdc-table-sort-overlay{position:relative}.sdc-table-paginator{padding:.5rem 0}.sdc-table-button,.sdc-table-checkbox{display:flex;align-items:center;justify-content:center}.sdc-table-empty-state{display:block;padding:12rem}.sdc-table-loading-state{background:var(--sdc-table-bg-loading);display:block;border-bottom:1px solid var(--sdc-formfield-default-border);min-width:10rem;padding:18.8rem 0rem}thead th.sdc-table-th-checkbox{position:relative}thead th.sdc-table-th-checkbox .sdc-table-th-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}thead th.sdc-table-th-checkbox .sdc-table-th-center input{pointer-events:auto}thead th.sdc-table-th-checkbox .sdc-table-th-inner{padding-right:.5rem}thead th.sdc-table-th-checkbox .sdc-table-th-label,thead .sdc-table-th-label{color:#333!important;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SearchboxComponent, selector: "sdc-searchbox", inputs: ["triggerMode"], outputs: ["onSearch", "onClear"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$2.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }] });
1493
1734
  }
1494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
1735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableComponent, decorators: [{
1495
1736
  type: Component,
1496
1737
  args: [{ selector: 'sdc-table', standalone: true, imports: [CommonModule, SearchboxComponent, PaginatorComponent, ButtonComponent, LoadingStateModule, EmptyStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div\n class=\"sdc-table\"\n [class.sdc-table-stack]=\"isMobile ? 'stack' : 'grid'\"\n [class.sdc-table-filtered]=\"!!globalFilter().trim()\"\n>\n <div class=\"sdc-table-caption\" *ngIf=\"showSearch()\">\n <div [style.width]=\"isMobile ? '100%' : '20%'\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [placeholder]=\"searchPlaceholder()\"\n [triggerMode]=\"triggerMode()\"\n (onSearch)=\"onSearchTerm($event)\"\n (onClear)=\"onClearSearch()\"\n />\n </div>\n </div>\n\n <table class=\"sdc-table-grid\">\n <thead>\n <tr>\n @for (col of cols; let i = $index; track i) {\n <th\n [class.sdc-table-th-checkbox]=\"col.type === 'checkbox-selection'\"\n (click)=\"toggleSort(col.field!, col.sortable !== false)\"\n [class.sdc-table-sortable]=\"col.sortable !== false\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n >\n <div class=\"sdc-table-th-inner\" [class.sdc-table-sortable]=\"col.sortable !== false\">\n @switch (col.type) { @case ('checkbox-selection') {\n <span class=\"sdc-table-th-label\">{{ col.header }}</span>\n } @default {\n <span class=\"sdc-table-th-label\">{{ col.header }}</span>\n <span class=\"sdc-table-sort-icons sdc-table-sort-overlay\" *ngIf=\"col.sortable !== false\">\n <ng-container [ngTemplateOutlet]=\"sortIconsTpl\" [ngTemplateOutletContext]=\"{ col: col }\"></ng-container>\n </span>\n } }\n </div>\n <span\n class=\"sdc-table-th-center\"\n *ngIf=\"col.type === 'checkbox-selection' && (cellCfg('checkbox').selectAll ?? true)\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isPageFullySelected()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectPage(getCheckedValue($event))\"\n />\n </span>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (loading) { } @else { @for (row of pageData(); let r = $index; track r) {\n <tr>\n @for (col of cols; let c = $index; track c) {\n <ng-container *ngIf=\"isMobile; else desktopContent\">\n <div class=\"sdc-table-td-mobile\">\n <ng-container [ngTemplateOutlet]=\"sortIconsTpl\" [ngTemplateOutletContext]=\"{ col: col }\"></ng-container>\n <td\n class=\"sdc-table-td sdc-table-tdc sdc-table-mobile-td\"\n [class.sdc-table-td-checkbox]=\"col.type === 'checkbox-selection'\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n [attr.data-title]=\"col.header\"\n (click)=\"toggleSort(col.field!, col.sortable !== false)\"\n >\n <div class=\"sdc-table-td-val\">\n <ng-container\n [ngTemplateOutlet]=\"cellTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col: col }\"\n ></ng-container>\n </div>\n </td>\n </div>\n </ng-container>\n <ng-template #desktopContent>\n <td\n class=\"sdc-table-td sdc-table-tdc\"\n [class.sdc-table-td-checkbox]=\"col.type === 'checkbox-selection'\"\n [class.sdc-table-is-selected]=\"sortField() === col.field\"\n [attr.data-title]=\"col.header\"\n >\n <div class=\"sdc-table-td-val\">\n <ng-container\n [ngTemplateOutlet]=\"cellTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col: col }\"\n ></ng-container>\n </div>\n </td>\n </ng-template>\n }\n </tr>\n } }\n </tbody>\n </table>\n\n <s-empty-state\n *ngIf=\"!loading && options().empty?.show !== false && totalRecords() === 0\"\n id=\"my-empty-state\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-table-empty-state\"\n >\n </s-empty-state>\n\n <s-loading-state *ngIf=\"loading\" [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-table-loading-state\">\n </s-loading-state>\n\n <div class=\"sdc-table-paginator\" *ngIf=\"showPaginator()\">\n <sdc-paginator\n [first]=\"first()\"\n [rows]=\"rows()\"\n [totalRecords]=\"totalRecords()\"\n [rowsPerPageOptions]=\"isMobile ? undefined : rowsPerPageOptions()\"\n [isMobile]=\"isMobile\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n (pageChange)=\"onPageChange($event)\"\n ></sdc-paginator>\n </div>\n\n <ng-template #cellTpl let-row let-col=\"col\">\n @switch (col.type) { @case ('checkbox-selection') {\n <ng-container *ngIf=\"cellCfg('checkbox') as checkboxOptions\">\n <div class=\"sdc-table-checkbox\">\n <input type=\"checkbox\" [checked]=\"isRowSelected(row)\" (change)=\"onToggleRow(row, getCheckedValue($event))\" />\n <label>{{ _(row, col.field) }}</label>\n </div>\n </ng-container>\n } @case ('date') {\n {{ formatDate(_(row, col.field), col.format || 'shortDate') }}\n } @case ('strong') {\n <div class=\"sdc-table-strong-label\">{{ _(row, col.field) }}</div>\n } @case ('code') {\n <code class=\"sdc-table-code-label\">{{ _(row, col.field) }}</code>\n } @case ('currency') {\n {{ formatCurrency(_(row, col.field), col.format || 'BRL') }}\n } @case ('tag') {\n <ng-container *ngIf=\"cellCfg('tag') as tagOptions\">\n <div class=\"sdc-table-tags\">\n @for (tag of tagsOf(row, col); let t = $index; track t) {\n <span\n class=\"sdc-table-tag\"\n [style.background]=\"tagOptions.backgroundColor || null\"\n [style.color]=\"tagOptions.color || null\"\n [attr.title]=\"tagOptions.tooltip\"\n >\n <i *ngIf=\"tagOptions.icon\" [class]=\"tagOptions.icon\"></i>\n {{ tag }}\n </span>\n }\n </div>\n </ng-container>\n } @case ('button') {\n <ng-container *ngIf=\"cellCfg('button') as buttonOptions\">\n <ng-container *ngFor=\"let __k of [buttonKey(row, col, buttonOptions)]\">\n <div class=\"sdc-table-button\">\n <sdc-button\n style=\"max-width: 70%\"\n [size]=\"buttonOptions.size\"\n [priority]=\"buttonOptions.priority || 'primary'\"\n [icon]=\"buttonOptions.icon\"\n [label]=\"buttonOptions.label\"\n [disabled]=\"buttonOptions.disabled\"\n [title]=\"buttonOptions.tooltip\"\n [attr.size]=\"buttonOptions.size\"\n [attr.priority]=\"buttonOptions.priority || 'primary'\"\n [attr.severity]=\"buttonOptions.priority || 'primary'\"\n [attr.icon]=\"buttonOptions.icon\"\n [attr.label]=\"buttonOptions.label\"\n [attr.disabled]=\"buttonOptions.disabled ? '' : null\"\n [attr.title]=\"buttonOptions.tooltip || null\"\n [attr.data-key]=\"__k\"\n (click)=\"buttonOptions.disabled ? null : onButtonClick(row, col)\"\n ></sdc-button>\n </div>\n </ng-container>\n </ng-container>\n } @default { {{ _(row, col.field) }} } }\n </ng-template>\n</div>\n\n<ng-template #sortIconsTpl let-col=\"col\">\n <span *ngIf=\"col.sortable !== false && col.type !== 'checkbox-selection'\" class=\"sdc-table-sort-indicator\">\n <i *ngIf=\"sortField() !== col.field\" class=\"fas fa-sort-alt sdc-table-sort-neutral\"></i>\n <i\n *ngIf=\"sortField() === col.field && sortOrder() === 1\"\n class=\"fas fa-sort-amount-up-alt sdc-table-sort-active\"\n ></i>\n <i\n *ngIf=\"sortField() === col.field && sortOrder() === -1\"\n class=\"fas fa-sort-amount-down sdc-table-sort-active\"\n ></i>\n </span>\n <span\n *ngIf=\"col.sortable === false || col.type === 'checkbox-selection'\"\n class=\"sdc-table-sort-indicator sdc-table-sort-indicator-placeholder\"\n ></span>\n</ng-template>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}@media (max-width: 750px){.sdc-table-tag{font-size:.7rem;padding:.6rem .8rem}.sdc-table-sort-indicator-placeholder{display:none!important;width:0!important;height:0!important;min-width:0!important}.sdc-table-paginator{justify-content:center!important}.sdc-table-sort-indicator{gap:.15rem;min-width:1.2rem;position:absolute;left:21px}.sdc-table-sort-indicator i{font-size:.75rem;width:.65rem}.sdc-table-td-val{background:none!important;height:100%;padding:1rem;justify-content:end;border-left:1px solid var(--sdc-formfield-default-border);display:flex;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sdc-table-td-mobile{border-top:1px solid var(--sdc-formfield-default-border);display:flex;align-items:center;padding-left:10px}.sdc-table.sdc-table-stack thead{display:none}.sdc-table.sdc-table-stack .sdc-table-grid,.sdc-table.sdc-table-stack .sdc-table-grid tbody,.sdc-table.sdc-table-stack .sdc-table-grid tr,.sdc-table.sdc-table-stack .sdc-table-grid td{display:block;width:100%;box-sizing:border-box}.sdc-table.sdc-table-stack .sdc-table-grid tr{border-top:1px solid var(--sdc-formfield-default-border);background:var(--sdc-table-bg-card)}.sdc-table.sdc-table-stack .sdc-table-td{position:relative;padding:0;border-bottom:1px solid var(--sdc-table-border-gray);display:grid!important;grid-template-columns:45% 55%;align-items:center;gap:var(--sdc-table-gap-th-inner)}.sdc-table.sdc-table-stack .sdc-table-td:before{content:attr(data-title);font-weight:600;padding:var(--sdc-table-padding-cell) .5rem var(--sdc-table-padding-cell) var(--sdc-table-padding-cell);border-right:0px solid var(--sdc-formfield-default-border);word-break:break-word}.sdc-table.sdc-table-stack .sdc-table-td>*{grid-column:2;min-width:0}.sdc-table.sdc-table-stack .sdc-table-grid tr .sdc-table-td:last-child{border-bottom:0}.sdc-table.sdc-table-stack .sdc-table-sort-icons{flex-direction:column;line-height:.8}.sdc-table-paginator{border-top:1px solid var(--sdc-table-border-gray)}::ng-deep .p-paginator .p-paginator-next{border-width:1px 1px 1px 1px!important}}@media (min-width: 750px){.sdc-table-tag{font-size:.8rem;padding:.6rem 1.7rem}.sdc-table-sort-indicator-placeholder{width:1.4rem;height:1rem;display:inline-block}.sdc-table-grid thead th+th{border-left:1px solid var(--sdc-formfield-default-border)}}.sdc-table{width:100%;box-sizing:border-box;overflow:hidden;background:var(--sdc-table-bg-card)}.sdc-table .sdc-table-strong-label{font-weight:500;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sdc-table .sdc-table-code-label{color:var(--sdc-tab-primary);overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%;display:inline-block}.sdc-table-caption{width:100%;justify-content:end;display:flex;padding:.75rem 0}.sdc-table-grid{width:100%;border-collapse:collapse;table-layout:fixed}thead th{padding:var(--sdc-table-padding-cell);background:var(--sdc-table-bg-card);border-bottom:1px solid var(--sdc-formfield-default-border);-webkit-user-select:none;user-select:none;transition:background var(--sdc-table-transition-fast),border var(--sdc-table-transition-fast)}thead th.sdc-table-sortable{cursor:pointer}thead th.sdc-table-sortable:hover{background:var(--sdc-table-th-hover-bg)}thead th.sdc-table-is-selected{background:var(--sdc-table-th-selected-bg)!important}.sdc-table-sort-neutral{color:var(--sdc-table-sort-neutral)}.sdc-table-sort-active{color:var(--sdc-table-sort-active)}.sdc-table-th-inner{display:flex;align-items:center;gap:var(--sdc-table-gap-th-inner)}.sdc-table-sort-icons i{font-size:inherit;transition:color var(--sdc-table-transition-fast),transform var(--sdc-table-transition-fast),opacity var(--sdc-table-transition-fast)}tbody td{padding:var(--sdc-table-padding-cell);border-bottom:1px solid var(--sdc-table-border-gray);vertical-align:middle}.sdc-table-tags{display:flex;flex-wrap:wrap;gap:var(--sdc-table-gap-tags)}.sdc-table-tag{display:inline-flex;align-items:center;gap:.25rem;border-radius:6px;background:var(--sdc-table-tag-bg)}.sdc-table-sort-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:1.7rem}.sdc-table-sort-indicator i{width:.75rem;text-align:center}.sdc-table-sort-overlay{position:relative}.sdc-table-paginator{padding:.5rem 0}.sdc-table-button,.sdc-table-checkbox{display:flex;align-items:center;justify-content:center}.sdc-table-empty-state{display:block;padding:12rem}.sdc-table-loading-state{background:var(--sdc-table-bg-loading);display:block;border-bottom:1px solid var(--sdc-formfield-default-border);min-width:10rem;padding:18.8rem 0rem}thead th.sdc-table-th-checkbox{position:relative}thead th.sdc-table-th-checkbox .sdc-table-th-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}thead th.sdc-table-th-checkbox .sdc-table-th-center input{pointer-events:auto}thead th.sdc-table-th-checkbox .sdc-table-th-inner{padding-right:.5rem}thead th.sdc-table-th-checkbox .sdc-table-th-label,thead .sdc-table-th-label{color:#333!important;white-space:nowrap}\n"] }]
1497
1738
  }], propDecorators: { cols: [{
@@ -1531,7 +1772,7 @@ class TabComponent {
1531
1772
  return this._activeIndex();
1532
1773
  }
1533
1774
  activeIndexChange = new EventEmitter();
1534
- isMobile = isMobile$1();
1775
+ isMobile = isMobile();
1535
1776
  wcEls = signal([]);
1536
1777
  headers = computed(() => this.wcEls().map((el, i) => ({
1537
1778
  label: el.getAttribute('label') ?? `Tab ${i}`,
@@ -1650,10 +1891,10 @@ class TabComponent {
1650
1891
  const s = v.trim().toLowerCase();
1651
1892
  return s === '' || s === 'true' || s === '1';
1652
1893
  }
1653
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1654
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TabComponent, isStandalone: true, selector: "sdc-tab", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute] }, outputs: { activeIndexChange: "activeIndexChange" }, viewQueries: [{ propertyName: "headersRef", first: true, predicate: ["headersRef"], descendants: true }], ngImport: i0, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1894
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1895
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabComponent, isStandalone: true, selector: "sdc-tab", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute] }, outputs: { activeIndexChange: "activeIndexChange" }, viewQueries: [{ propertyName: "headersRef", first: true, predicate: ["headersRef"], descendants: true }], ngImport: i0, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1655
1896
  }
1656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, decorators: [{
1897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, decorators: [{
1657
1898
  type: Component,
1658
1899
  args: [{ selector: 'sdc-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"] }]
1659
1900
  }], propDecorators: { headersRef: [{
@@ -1671,10 +1912,10 @@ class TabItemComponent {
1671
1912
  disabled = false;
1672
1913
  lazy = true;
1673
1914
  id;
1674
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1675
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: TabItemComponent, isStandalone: true, selector: "sdc-tab-item", inputs: { label: "label", disabled: ["disabled", "disabled", booleanAttribute], lazy: ["lazy", "lazy", booleanAttribute], id: "id" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
1915
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1916
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: TabItemComponent, isStandalone: true, selector: "sdc-tab-item", inputs: { label: "label", disabled: ["disabled", "disabled", booleanAttribute], lazy: ["lazy", "lazy", booleanAttribute], id: "id" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
1676
1917
  }
1677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabItemComponent, decorators: [{
1918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemComponent, decorators: [{
1678
1919
  type: Component,
1679
1920
  args: [{
1680
1921
  selector: 'sdc-tab-item',
@@ -1718,10 +1959,10 @@ class SidebarComponent {
1718
1959
  get sidebarWidth() {
1719
1960
  return typeof this.width === 'number' ? `${this.width}%` : this.width;
1720
1961
  }
1721
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1722
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width" }, outputs: { visibleChange: "visibleChange" }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2$5.SidebarComponent, selector: "s-sidebar", inputs: ["visible", "closable", "dismissible", "closeOnEscape", "header", "largeSized", "cache", "registerConfirmClose"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: StructureModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1962
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1963
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width" }, outputs: { visibleChange: "visibleChange" }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2$3.SidebarComponent, selector: "s-sidebar", inputs: ["visible", "closable", "dismissible", "closeOnEscape", "header", "largeSized", "cache", "registerConfirmClose"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: StructureModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1723
1964
  }
1724
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SidebarComponent, decorators: [{
1965
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, decorators: [{
1725
1966
  type: Component,
1726
1967
  args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule, SidebarModule, ButtonModule, StructureModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"] }]
1727
1968
  }], propDecorators: { visible: [{
@@ -1785,10 +2026,10 @@ class ModalComponent {
1785
2026
  }
1786
2027
  }
1787
2028
  $visible = false;
1788
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1789
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalComponent, isStandalone: true, selector: "sdc-modal", inputs: { footerButtons: "footerButtons", header: "header", height: "height", maximizable: "maximizable", maximize: "maximize", resizable: "resizable", responsive: "responsive", width: "width", zIndex: "zIndex", visible: "visible" }, outputs: { onHide: "onHide", visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true }], ngImport: i0, template: "<p-dialog\n [(visible)]=\"visible\"\n [contentStyle]=\"getStyle()\"\n [draggable]=\"false\"\n [header]=\"header\"\n [maximizable]=\"maximizable\"\n [modal]=\"true\"\n [resizable]=\"resizable\"\n [responsive]=\"responsive\"\n (onHide)=\"onHideHandler()\"\n appendTo=\"body\"\n #modal\n>\n <ng-content></ng-content>\n <ng-template pTemplate=\"footer\">\n <div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n <p-button\n *ngFor=\"let btn of footerButtons\"\n (onClick)=\"btn.action()\"\n [icon]=\"btn.icon\"\n [id]=\"btn.id\"\n [label]=\"btn.label\"\n [severity]=\"btn.severity ?? 'primary'\"\n ></p-button>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [".footer{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:10px;padding-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule$1 }, { kind: "component", type: i1$3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$2.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2029
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2030
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ModalComponent, isStandalone: true, selector: "sdc-modal", inputs: { footerButtons: "footerButtons", header: "header", height: "height", maximizable: "maximizable", maximize: "maximize", resizable: "resizable", responsive: "responsive", width: "width", zIndex: "zIndex", visible: "visible" }, outputs: { onHide: "onHide", visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true }], ngImport: i0, template: "<p-dialog\n [(visible)]=\"visible\"\n [contentStyle]=\"getStyle()\"\n [draggable]=\"false\"\n [header]=\"header\"\n [maximizable]=\"maximizable\"\n [modal]=\"true\"\n [resizable]=\"resizable\"\n [responsive]=\"responsive\"\n (onHide)=\"onHideHandler()\"\n appendTo=\"body\"\n #modal\n>\n <ng-content></ng-content>\n <ng-template pTemplate=\"footer\">\n <div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n <p-button\n *ngFor=\"let btn of footerButtons\"\n (onClick)=\"btn.action()\"\n [icon]=\"btn.icon\"\n [id]=\"btn.id\"\n [label]=\"btn.label\"\n [severity]=\"btn.severity ?? 'primary'\"\n ></p-button>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [".footer{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:10px;padding-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule$1 }, { kind: "component", type: i1$4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1790
2031
  }
1791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, decorators: [{
2032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalComponent, decorators: [{
1792
2033
  type: Component,
1793
2034
  args: [{ imports: [ButtonModule$1, CommonModule, DialogModule], standalone: true, selector: 'sdc-modal', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<p-dialog\n [(visible)]=\"visible\"\n [contentStyle]=\"getStyle()\"\n [draggable]=\"false\"\n [header]=\"header\"\n [maximizable]=\"maximizable\"\n [modal]=\"true\"\n [resizable]=\"resizable\"\n [responsive]=\"responsive\"\n (onHide)=\"onHideHandler()\"\n appendTo=\"body\"\n #modal\n>\n <ng-content></ng-content>\n <ng-template pTemplate=\"footer\">\n <div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n <p-button\n *ngFor=\"let btn of footerButtons\"\n (onClick)=\"btn.action()\"\n [icon]=\"btn.icon\"\n [id]=\"btn.id\"\n [label]=\"btn.label\"\n [severity]=\"btn.severity ?? 'primary'\"\n ></p-button>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [".footer{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:10px;padding-top:10px}\n"] }]
1794
2035
  }], propDecorators: { modal: [{
@@ -1822,29 +2063,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1822
2063
 
1823
2064
  class PanelComponent {
1824
2065
  header = '';
1825
- showHeader = false;
1826
2066
  toggleable = false;
1827
- set collapsed(value) {
1828
- this.$collapsed = value;
1829
- }
1830
- get collapsed() {
1831
- return this.$collapsed;
1832
- }
2067
+ set collapsed(value) { this.$collapsed = value; }
2068
+ get collapsed() { return this.$collapsed; }
2069
+ collapsedChange = new EventEmitter();
1833
2070
  $collapsed = false;
1834
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1835
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PanelComponent, isStandalone: true, selector: "sdc-panel", inputs: { header: "header", showHeader: "showHeader", toggleable: "toggleable", collapsed: "collapsed" }, ngImport: i0, template: "<s-panel [(collapsed)]=\"collapsed\" [header]=\"header\" [toggleable]=\"toggleable\">\n <p>\n <ng-content></ng-content>\n </p>\n</s-panel>", styles: ["p{padding-bottom:0;margin-bottom:0}::ng-deep .panel{border:1px solid var(--sdc-formfield-default-border)!important}\n"], dependencies: [{ kind: "ngmodule", type: PanelModule }, { kind: "ngmodule", type: PanelModule$1 }, { kind: "component", type: i1$5.PanelComponent, selector: "s-panel", inputs: ["header", "toggleable", "collapsed", "severity", "borderButtonOptions", "class"], outputs: ["collapsedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2071
+ severity = EnumSeverity.Default;
2072
+ borderButtonOptions;
2073
+ panelClass = '';
2074
+ onCollapsedChanged(v) {
2075
+ this.$collapsed = v;
2076
+ this.collapsedChange.emit(v);
2077
+ }
2078
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2079
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PanelComponent, isStandalone: true, selector: "sdc-panel", inputs: { header: "header", toggleable: "toggleable", collapsed: "collapsed", severity: "severity", borderButtonOptions: "borderButtonOptions", panelClass: ["class", "panelClass"] }, outputs: { collapsedChange: "collapsedChange" }, ngImport: i0, template: "<s-panel\n [(collapsed)]=\"collapsed\"\n [header]=\"header\"\n [toggleable]=\"toggleable\"\n [severity]=\"severity\"\n [borderButtonOptions]=\"borderButtonOptions\"\n [class]=\"panelClass\"\n (collapsedChange)=\"onCollapsedChanged($event)\"\n>\n <ng-content></ng-content>\n\n <div class=\"sdc-panel-footer\">\n <ng-content select=\"[sdcFooter]\"></ng-content>\n </div>\n</s-panel>\n", styles: [":host{display:contents}.sdc-panel-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--sdc-panel-divider, #dedce5)}.sdc-panel-footer:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: PanelModule }, { kind: "component", type: i1$6.PanelComponent, selector: "s-panel", inputs: ["header", "toggleable", "collapsed", "severity", "borderButtonOptions", "class"], outputs: ["collapsedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1836
2080
  }
1837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PanelComponent, decorators: [{
2081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PanelComponent, decorators: [{
1838
2082
  type: Component,
1839
- args: [{ imports: [PanelModule, PanelModule$1], standalone: true, selector: 'sdc-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-panel [(collapsed)]=\"collapsed\" [header]=\"header\" [toggleable]=\"toggleable\">\n <p>\n <ng-content></ng-content>\n </p>\n</s-panel>", styles: ["p{padding-bottom:0;margin-bottom:0}::ng-deep .panel{border:1px solid var(--sdc-formfield-default-border)!important}\n"] }]
2083
+ args: [{ imports: [PanelModule], standalone: true, selector: 'sdc-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-panel\n [(collapsed)]=\"collapsed\"\n [header]=\"header\"\n [toggleable]=\"toggleable\"\n [severity]=\"severity\"\n [borderButtonOptions]=\"borderButtonOptions\"\n [class]=\"panelClass\"\n (collapsedChange)=\"onCollapsedChanged($event)\"\n>\n <ng-content></ng-content>\n\n <div class=\"sdc-panel-footer\">\n <ng-content select=\"[sdcFooter]\"></ng-content>\n </div>\n</s-panel>\n", styles: [":host{display:contents}.sdc-panel-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--sdc-panel-divider, #dedce5)}.sdc-panel-footer:empty{display:none}\n"] }]
1840
2084
  }], propDecorators: { header: [{
1841
2085
  type: Input
1842
- }], showHeader: [{
1843
- type: Input
1844
2086
  }], toggleable: [{
1845
2087
  type: Input
1846
2088
  }], collapsed: [{
1847
2089
  type: Input
2090
+ }], collapsedChange: [{
2091
+ type: Output
2092
+ }], severity: [{
2093
+ type: Input
2094
+ }], borderButtonOptions: [{
2095
+ type: Input
2096
+ }], panelClass: [{
2097
+ type: Input,
2098
+ args: ['class']
1848
2099
  }] } });
1849
2100
 
1850
2101
  class SpinnerService {
@@ -1859,10 +2110,10 @@ class SpinnerService {
1859
2110
  this.start();
1860
2111
  setTimeout(() => this.stop(), ms);
1861
2112
  }
1862
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1863
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerService, providedIn: 'root' });
2113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2114
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerService, providedIn: 'root' });
1864
2115
  }
1865
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerService, decorators: [{
2116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerService, decorators: [{
1866
2117
  type: Injectable,
1867
2118
  args: [{ providedIn: 'root' }]
1868
2119
  }] });
@@ -1890,10 +2141,10 @@ class SpinnerComponent {
1890
2141
  height: '50px',
1891
2142
  };
1892
2143
  }
1893
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, deps: [{ token: SpinnerService }], target: i0.ɵɵFactoryTarget.Component });
1894
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpinnerComponent, isStandalone: true, selector: "sdc-spinner", inputs: { loading: "loading", blockWindow: "blockWindow" }, ngImport: i0, template: " <div class=\"spinner-container\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"blockWindow\">\n\n </s-loading-state>\n </div>\n\n\n", styles: [".spinner-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "ngmodule", type: BlockUIModule }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
2144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerComponent, deps: [{ token: SpinnerService }], target: i0.ɵɵFactoryTarget.Component });
2145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpinnerComponent, isStandalone: true, selector: "sdc-spinner", inputs: { loading: "loading", blockWindow: "blockWindow" }, ngImport: i0, template: " <div class=\"spinner-container\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"blockWindow\">\n\n </s-loading-state>\n </div>\n\n\n", styles: [".spinner-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "ngmodule", type: BlockUIModule }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$2.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
1895
2146
  }
1896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, decorators: [{
2147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerComponent, decorators: [{
1897
2148
  type: Component,
1898
2149
  args: [{ selector: 'sdc-spinner', standalone: true, imports: [ProgressSpinnerModule, BlockUIModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: " <div class=\"spinner-container\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"blockWindow\">\n\n </s-loading-state>\n </div>\n\n\n", styles: [".spinner-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
1899
2150
  }], ctorParameters: () => [{ type: SpinnerService }], propDecorators: { loading: [{
@@ -1982,8 +2233,8 @@ class SqlEditorComponent {
1982
2233
  effects: StateEffect.reconfigure.of(this.buildExtensions()),
1983
2234
  });
1984
2235
  }
1985
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SqlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1986
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SqlEditorComponent, isStandalone: true, selector: "sdc-sql-editor", inputs: { sql: "sql", height: "height", width: "width", schema: "schema" }, outputs: { onDomainFilter: "onDomainFilter" }, providers: [
2236
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SqlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2237
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SqlEditorComponent, isStandalone: true, selector: "sdc-sql-editor", inputs: { sql: "sql", height: "height", width: "width", schema: "schema" }, outputs: { onDomainFilter: "onDomainFilter" }, providers: [
1987
2238
  {
1988
2239
  provide: NG_VALUE_ACCESSOR,
1989
2240
  useExisting: forwardRef(() => SqlEditorComponent),
@@ -1991,7 +2242,7 @@ class SqlEditorComponent {
1991
2242
  },
1992
2243
  ], viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: "<div #editorContainer class=\"sdc-sql-editor\" [style]=\"getStyles()\"></div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1993
2244
  }
1994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SqlEditorComponent, decorators: [{
2245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SqlEditorComponent, decorators: [{
1995
2246
  type: Component,
1996
2247
  args: [{ selector: 'sdc-sql-editor', standalone: true, imports: [CommonModule], providers: [
1997
2248
  {
@@ -2016,16 +2267,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2016
2267
  }] } });
2017
2268
 
2018
2269
  class TextboxComponent extends InputsComponent {
2019
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2020
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextboxComponent, isStandalone: true, selector: "sdc-textbox", providers: [
2270
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2271
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TextboxComponent, isStandalone: true, selector: "sdc-textbox", providers: [
2021
2272
  {
2022
2273
  provide: NG_VALUE_ACCESSOR,
2023
2274
  useExisting: forwardRef(() => TextboxComponent),
2024
2275
  multi: true,
2025
2276
  },
2026
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textbox\">\n <div *ngIf=\"label || infoIcon\" class=\"flex align-items-center\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n <i *ngIf=\"infoIcon\" class=\"fas fa-info-circle ml-3\" \n [pTooltip]=\"tooltipIcon\" \n tooltipZIndex=\"999999999999\"></i>\n </div>\n\n <input\n (input)=\"onInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"value\"\n pInputText\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [pKeyFilter]=\"keyFilter\"\n />\n\n <small\n *ngIf=\"message\"\n [ngClass]=\"getInvalidMessageClass()\"\n >{{ message }}</small>\n</div>\n", styles: [".sdc-textbox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-textbox .required-field{margin-left:.25rem}.sdc-textbox ::ng-deep input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important;border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-textbox ::ng-deep input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i3$3.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2277
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textbox\">\n <div *ngIf=\"label || infoIcon\" class=\"flex align-items-center\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n <i *ngIf=\"infoIcon\" class=\"fas fa-info-circle ml-3\" \n [pTooltip]=\"tooltipIcon\" \n tooltipZIndex=\"999999999999\"></i>\n </div>\n\n <input\n (input)=\"onInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"value\"\n pInputText\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [pKeyFilter]=\"keyFilter\"\n />\n\n <small\n *ngIf=\"message\"\n [ngClass]=\"getInvalidMessageClass()\"\n >{{ message }}</small>\n</div>\n", styles: [".sdc-textbox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-textbox .required-field{margin-left:.25rem}.sdc-textbox ::ng-deep input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important;border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-textbox ::ng-deep input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i3$3.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2027
2278
  }
2028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextboxComponent, decorators: [{
2279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextboxComponent, decorators: [{
2029
2280
  type: Component,
2030
2281
  args: [{ selector: 'sdc-textbox', standalone: true, imports: [
2031
2282
  CommonModule,
@@ -2068,10 +2319,10 @@ class ToastComponent {
2068
2319
  this.isLeaving = true;
2069
2320
  setTimeout(() => this.dismiss.emit(), 300);
2070
2321
  }
2071
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2072
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToastComponent, isStandalone: true, selector: "s-toast", inputs: { toast: "toast" }, outputs: { dismiss: "dismiss" }, host: { properties: { "class.toast--leaving": "this.isLeaving" } }, ngImport: i0, template: "<div\n class=\"toast\"\n [class.toast--info]=\"toast.severity === 'info'\"\n [class.toast--success]=\"toast.severity === 'success'\"\n [class.toast--warning]=\"toast.severity === 'warning'\"\n [class.toast--error]=\"toast.severity === 'error'\"\n>\n <div class=\"toast-content\">\n <i\n class=\"toast-icon fas fa-info\"\n [class.fa-info]=\"toast.severity === 'info'\"\n [class.fa-check]=\"toast.severity === 'success'\"\n [class.fa-exclamation-triangle]=\"toast.severity === 'warning'\"\n [class.fa-times]=\"toast.severity === 'error'\"\n ></i>\n <div class=\"text-container\">\n <span *ngIf=\"toast.title\" class=\"toast-summary\" [innerHTML]=\"toast.title\"></span>\n <span *ngIf=\"toast.text\" [innerHTML]=\"toast.text\"></span>\n </div>\n </div>\n <button *ngIf=\"toast.closable\" class=\"toast-close-button\" (click)=\"dismissToast()\"><i class=\"fas fa-times\"></i></button>\n</div>\n", styles: [":host{display:block}.toast{align-items:center;animation:fadeInDown .3s forwards;border-left:3px solid #428bca;border-radius:3px;box-shadow:0 1px 5px #00000040;color:#212533;display:flex;font-family:\"Open Sans\" sans-serif;font-size:14px;opacity:0;padding:10px 15px;position:relative;transform:translateY(-20px);width:400px}.toast .toast-content{align-items:center;flex-grow:1;display:flex;gap:15px}.toast .toast-content .toast-icon{align-items:center;background-color:#428bca;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.toast .toast-content .text-container{display:flex;flex-direction:column}.toast .toast-content .text-container .toast-summary{font-weight:700}.toast--success{background-color:#e0f0f0;border-left:3px solid #0c9348}.toast--success .toast-content .toast-icon{background-color:#0c9348}.toast--error{background-color:#fef0f0;border-left:3px solid #c13018}.toast--error .toast-content .toast-icon{background-color:#c13018}.toast--info{background-color:#f1f7f8;border-left:3px solid #428bca}.toast--info .toast-content .toast-icon{background-color:#428bca}.toast--warning{background-color:#fef4e3;border-left:3px solid #fcbf10}.toast--warning .toast-content .toast-icon{background-color:#fcbf10;color:#212533}.toast-close-button{background:none;border:none;color:#212533;font-size:1rem;cursor:pointer;margin-left:15px;transition:transform .2s ease-in-out}.toast-close-button:hover{transform:scale(1.1)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}:host.toast--leaving{animation:fadeOutUp .3s forwards}@media (max-width: 440px){.toast{width:calc(100% - 40px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2323
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ToastComponent, isStandalone: true, selector: "s-toast", inputs: { toast: "toast" }, outputs: { dismiss: "dismiss" }, host: { properties: { "class.toast--leaving": "this.isLeaving" } }, ngImport: i0, template: "<div\n class=\"toast\"\n [class.toast--info]=\"toast.severity === 'info'\"\n [class.toast--success]=\"toast.severity === 'success'\"\n [class.toast--warning]=\"toast.severity === 'warning'\"\n [class.toast--error]=\"toast.severity === 'error'\"\n>\n <div class=\"toast-content\">\n <i\n class=\"toast-icon fas fa-info\"\n [class.fa-info]=\"toast.severity === 'info'\"\n [class.fa-check]=\"toast.severity === 'success'\"\n [class.fa-exclamation-triangle]=\"toast.severity === 'warning'\"\n [class.fa-times]=\"toast.severity === 'error'\"\n ></i>\n <div class=\"text-container\">\n <span *ngIf=\"toast.title\" class=\"toast-summary\" [innerHTML]=\"toast.title\"></span>\n <span *ngIf=\"toast.text\" [innerHTML]=\"toast.text\"></span>\n </div>\n </div>\n <button *ngIf=\"toast.closable\" class=\"toast-close-button\" (click)=\"dismissToast()\"><i class=\"fas fa-times\"></i></button>\n</div>\n", styles: [":host{display:block}.toast{align-items:center;animation:fadeInDown .3s forwards;border-left:3px solid #428bca;border-radius:3px;box-shadow:0 1px 5px #00000040;color:#212533;display:flex;font-family:\"Open Sans\" sans-serif;font-size:14px;opacity:0;padding:10px 15px;position:relative;transform:translateY(-20px);width:400px}.toast .toast-content{align-items:center;flex-grow:1;display:flex;gap:15px}.toast .toast-content .toast-icon{align-items:center;background-color:#428bca;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.toast .toast-content .text-container{display:flex;flex-direction:column}.toast .toast-content .text-container .toast-summary{font-weight:700}.toast--success{background-color:#e0f0f0;border-left:3px solid #0c9348}.toast--success .toast-content .toast-icon{background-color:#0c9348}.toast--error{background-color:#fef0f0;border-left:3px solid #c13018}.toast--error .toast-content .toast-icon{background-color:#c13018}.toast--info{background-color:#f1f7f8;border-left:3px solid #428bca}.toast--info .toast-content .toast-icon{background-color:#428bca}.toast--warning{background-color:#fef4e3;border-left:3px solid #fcbf10}.toast--warning .toast-content .toast-icon{background-color:#fcbf10;color:#212533}.toast-close-button{background:none;border:none;color:#212533;font-size:1rem;cursor:pointer;margin-left:15px;transition:transform .2s ease-in-out}.toast-close-button:hover{transform:scale(1.1)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}:host.toast--leaving{animation:fadeOutUp .3s forwards}@media (max-width: 440px){.toast{width:calc(100% - 40px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2073
2324
  }
2074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, decorators: [{
2325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastComponent, decorators: [{
2075
2326
  type: Component,
2076
2327
  args: [{ selector: 's-toast', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n class=\"toast\"\n [class.toast--info]=\"toast.severity === 'info'\"\n [class.toast--success]=\"toast.severity === 'success'\"\n [class.toast--warning]=\"toast.severity === 'warning'\"\n [class.toast--error]=\"toast.severity === 'error'\"\n>\n <div class=\"toast-content\">\n <i\n class=\"toast-icon fas fa-info\"\n [class.fa-info]=\"toast.severity === 'info'\"\n [class.fa-check]=\"toast.severity === 'success'\"\n [class.fa-exclamation-triangle]=\"toast.severity === 'warning'\"\n [class.fa-times]=\"toast.severity === 'error'\"\n ></i>\n <div class=\"text-container\">\n <span *ngIf=\"toast.title\" class=\"toast-summary\" [innerHTML]=\"toast.title\"></span>\n <span *ngIf=\"toast.text\" [innerHTML]=\"toast.text\"></span>\n </div>\n </div>\n <button *ngIf=\"toast.closable\" class=\"toast-close-button\" (click)=\"dismissToast()\"><i class=\"fas fa-times\"></i></button>\n</div>\n", styles: [":host{display:block}.toast{align-items:center;animation:fadeInDown .3s forwards;border-left:3px solid #428bca;border-radius:3px;box-shadow:0 1px 5px #00000040;color:#212533;display:flex;font-family:\"Open Sans\" sans-serif;font-size:14px;opacity:0;padding:10px 15px;position:relative;transform:translateY(-20px);width:400px}.toast .toast-content{align-items:center;flex-grow:1;display:flex;gap:15px}.toast .toast-content .toast-icon{align-items:center;background-color:#428bca;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.toast .toast-content .text-container{display:flex;flex-direction:column}.toast .toast-content .text-container .toast-summary{font-weight:700}.toast--success{background-color:#e0f0f0;border-left:3px solid #0c9348}.toast--success .toast-content .toast-icon{background-color:#0c9348}.toast--error{background-color:#fef0f0;border-left:3px solid #c13018}.toast--error .toast-content .toast-icon{background-color:#c13018}.toast--info{background-color:#f1f7f8;border-left:3px solid #428bca}.toast--info .toast-content .toast-icon{background-color:#428bca}.toast--warning{background-color:#fef4e3;border-left:3px solid #fcbf10}.toast--warning .toast-content .toast-icon{background-color:#fcbf10;color:#212533}.toast-close-button{background:none;border:none;color:#212533;font-size:1rem;cursor:pointer;margin-left:15px;transition:transform .2s ease-in-out}.toast-close-button:hover{transform:scale(1.1)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}:host.toast--leaving{animation:fadeOutUp .3s forwards}@media (max-width: 440px){.toast{width:calc(100% - 40px)}}\n"] }]
2077
2328
  }], propDecorators: { toast: [{
@@ -2137,10 +2388,10 @@ class ToastService {
2137
2388
  });
2138
2389
  this.activeToasts.push(componentRef);
2139
2390
  }
2140
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
2141
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: "root" });
2391
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
2392
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastService, providedIn: "root" });
2142
2393
  }
2143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
2394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastService, decorators: [{
2144
2395
  type: Injectable,
2145
2396
  args: [{
2146
2397
  providedIn: "root",
@@ -2201,10 +2452,10 @@ class ModalcComponent {
2201
2452
  unlockBodyScroll() {
2202
2453
  document.body.style.overflow = '';
2203
2454
  }
2204
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalcComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2205
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalcComponent, isStandalone: true, selector: "sdc-modalc", inputs: { title: "title", footerButtons: "footerButtons", maximizable: "maximizable", closeOnBackdrop: "closeOnBackdrop", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, ngImport: i0, template: "<section\n *ngIf=\"_visible\"\n class=\"modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-title\"\n (click)=\"onBackdropClick()\"\n>\n <div class=\"modal-container\" [class.fullscreen]=\"_fullscreen\" (click)=\"$event.stopPropagation()\">\n <header class=\"modal-header\">\n <h2 id=\"modal-title\">{{ title }}</h2>\n <div class=\"modal-actions\">\n <button *ngIf=\"maximizable\" class=\"expand-button\" type=\"button\" (click)=\"toggleFullscreen()\">\n <i class=\"fal fa-expand-arrows\"></i>\n </button>\n <button class=\"close-button\" type=\"button\" (click)=\"close()\">\n <i class=\"fal fa-times\"></i>\n </button>\n </div>\n </header>\n\n <main class=\"modal-body\">\n <ng-content></ng-content>\n </main>\n\n <footer class=\"modal-footer\">\n <div class=\"footer-actions\">\n <ng-content select=\"[footer]\"></ng-content>\n <p-button *ngFor=\"let btn of footerButtons\"\n (onClick)=\"btn?.action?.()\"\n [icon]=\"btn.icon\"\n [id]=\"btn.id\"\n [label]=\"btn.label\"\n [severity]=\"btn.severity ?? 'primary'\">\n </p-button>\n </div>\n </footer>\n </div>\n</section>\n", styles: [".modal{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0006;z-index:9999}.modal .modal-container{display:flex;flex-direction:column;max-width:96vw;max-height:90vh;width:100%;box-sizing:border-box;overflow:hidden;border-radius:8px;box-shadow:0 4px 32px #0000002e;background:#fff;transition:all .3s}.modal .modal-container.fullscreen{max-width:100vw!important;max-height:100vh!important;width:100vw!important;height:100vh!important;border-radius:0!important;box-shadow:none!important}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:1.5rem 2rem 1rem;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:0 2px 8px #0000000a}.modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#222;flex:1 1 auto}.modal .modal-header .modal-actions{display:flex;align-items:center;gap:.5rem}.modal .modal-header .expand-button,.modal .modal-header .close-button{width:2.5rem;height:2.5rem;background:none;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-sizing:border-box;cursor:pointer;color:#888;transition:color .2s}.modal .modal-header .expand-button i{font-size:1rem}.modal .modal-header .close-button{font-size:1.5rem}.modal .modal-header .expand-button:hover{color:#1976d2}.modal .modal-header .close-button:hover{color:#e53935}.modal .modal-body{background:#fff;padding:2rem;min-width:320px;min-height:80px;font-size:1rem;color:#333;overflow-y:auto;flex:1 1 auto}.modal .modal-footer{background:#fff;padding:1rem 2rem;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 -2px 8px #0000000a}.modal .modal-footer .footer-actions{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:1rem;justify-content:flex-start;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule$1 }, { kind: "component", type: i1$3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2455
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalcComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2456
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ModalcComponent, isStandalone: true, selector: "sdc-modalc", inputs: { title: "title", footerButtons: "footerButtons", maximizable: "maximizable", closeOnBackdrop: "closeOnBackdrop", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, ngImport: i0, template: "<section\n *ngIf=\"_visible\"\n class=\"modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-title\"\n (click)=\"onBackdropClick()\"\n>\n <div class=\"modal-container\" [class.fullscreen]=\"_fullscreen\" (click)=\"$event.stopPropagation()\">\n <header class=\"modal-header\">\n <h2 id=\"modal-title\">{{ title }}</h2>\n <div class=\"modal-actions\">\n <button *ngIf=\"maximizable\" class=\"expand-button\" type=\"button\" (click)=\"toggleFullscreen()\">\n <i class=\"fal fa-expand-arrows\"></i>\n </button>\n <button class=\"close-button\" type=\"button\" (click)=\"close()\">\n <i class=\"fal fa-times\"></i>\n </button>\n </div>\n </header>\n\n <main class=\"modal-body\">\n <ng-content></ng-content>\n </main>\n\n <footer class=\"modal-footer\">\n <div class=\"footer-actions\">\n <ng-content select=\"[footer]\"></ng-content>\n <p-button *ngFor=\"let btn of footerButtons\"\n (onClick)=\"btn?.action?.()\"\n [icon]=\"btn.icon\"\n [id]=\"btn.id\"\n [label]=\"btn.label\"\n [severity]=\"btn.severity ?? 'primary'\">\n </p-button>\n </div>\n </footer>\n </div>\n</section>\n", styles: [".modal{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0006;z-index:9999}.modal .modal-container{display:flex;flex-direction:column;max-width:96vw;max-height:90vh;width:100%;box-sizing:border-box;overflow:hidden;border-radius:8px;box-shadow:0 4px 32px #0000002e;background:#fff;transition:all .3s}.modal .modal-container.fullscreen{max-width:100vw!important;max-height:100vh!important;width:100vw!important;height:100vh!important;border-radius:0!important;box-shadow:none!important}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:1.5rem 2rem 1rem;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:0 2px 8px #0000000a}.modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#222;flex:1 1 auto}.modal .modal-header .modal-actions{display:flex;align-items:center;gap:.5rem}.modal .modal-header .expand-button,.modal .modal-header .close-button{width:2.5rem;height:2.5rem;background:none;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-sizing:border-box;cursor:pointer;color:#888;transition:color .2s}.modal .modal-header .expand-button i{font-size:1rem}.modal .modal-header .close-button{font-size:1.5rem}.modal .modal-header .expand-button:hover{color:#1976d2}.modal .modal-header .close-button:hover{color:#e53935}.modal .modal-body{background:#fff;padding:2rem;min-width:320px;min-height:80px;font-size:1rem;color:#333;overflow-y:auto;flex:1 1 auto}.modal .modal-footer{background:#fff;padding:1rem 2rem;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 -2px 8px #0000000a}.modal .modal-footer .footer-actions{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:1rem;justify-content:flex-start;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule$1 }, { kind: "component", type: i1$4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2206
2457
  }
2207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalcComponent, decorators: [{
2458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalcComponent, decorators: [{
2208
2459
  type: Component,
2209
2460
  args: [{ selector: 'sdc-modalc', standalone: true, imports: [ButtonModule$1, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<section\n *ngIf=\"_visible\"\n class=\"modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-title\"\n (click)=\"onBackdropClick()\"\n>\n <div class=\"modal-container\" [class.fullscreen]=\"_fullscreen\" (click)=\"$event.stopPropagation()\">\n <header class=\"modal-header\">\n <h2 id=\"modal-title\">{{ title }}</h2>\n <div class=\"modal-actions\">\n <button *ngIf=\"maximizable\" class=\"expand-button\" type=\"button\" (click)=\"toggleFullscreen()\">\n <i class=\"fal fa-expand-arrows\"></i>\n </button>\n <button class=\"close-button\" type=\"button\" (click)=\"close()\">\n <i class=\"fal fa-times\"></i>\n </button>\n </div>\n </header>\n\n <main class=\"modal-body\">\n <ng-content></ng-content>\n </main>\n\n <footer class=\"modal-footer\">\n <div class=\"footer-actions\">\n <ng-content select=\"[footer]\"></ng-content>\n <p-button *ngFor=\"let btn of footerButtons\"\n (onClick)=\"btn?.action?.()\"\n [icon]=\"btn.icon\"\n [id]=\"btn.id\"\n [label]=\"btn.label\"\n [severity]=\"btn.severity ?? 'primary'\">\n </p-button>\n </div>\n </footer>\n </div>\n</section>\n", styles: [".modal{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0006;z-index:9999}.modal .modal-container{display:flex;flex-direction:column;max-width:96vw;max-height:90vh;width:100%;box-sizing:border-box;overflow:hidden;border-radius:8px;box-shadow:0 4px 32px #0000002e;background:#fff;transition:all .3s}.modal .modal-container.fullscreen{max-width:100vw!important;max-height:100vh!important;width:100vw!important;height:100vh!important;border-radius:0!important;box-shadow:none!important}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:1.5rem 2rem 1rem;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:0 2px 8px #0000000a}.modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#222;flex:1 1 auto}.modal .modal-header .modal-actions{display:flex;align-items:center;gap:.5rem}.modal .modal-header .expand-button,.modal .modal-header .close-button{width:2.5rem;height:2.5rem;background:none;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-sizing:border-box;cursor:pointer;color:#888;transition:color .2s}.modal .modal-header .expand-button i{font-size:1rem}.modal .modal-header .close-button{font-size:1.5rem}.modal .modal-header .expand-button:hover{color:#1976d2}.modal .modal-header .close-button:hover{color:#e53935}.modal .modal-body{background:#fff;padding:2rem;min-width:320px;min-height:80px;font-size:1rem;color:#333;overflow-y:auto;flex:1 1 auto}.modal .modal-footer{background:#fff;padding:1rem 2rem;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 -2px 8px #0000000a}.modal .modal-footer .footer-actions{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:1rem;justify-content:flex-start;align-items:center}\n"] }]
2210
2461
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { title: [{
@@ -2265,16 +2516,16 @@ class CheckboxComponent {
2265
2516
  this.checkedChange.emit(this.checked);
2266
2517
  this.onTouched();
2267
2518
  }
2268
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2269
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxComponent, isStandalone: true, selector: "sdc-checkbox", inputs: { label: "label", disabled: "disabled", commonCheckbox: "commonCheckbox", labelPosition: "labelPosition", size: "size", checked: "checked" }, outputs: { checkedChange: "checkedChange" }, providers: [
2519
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2520
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CheckboxComponent, isStandalone: true, selector: "sdc-checkbox", inputs: { label: "label", disabled: "disabled", commonCheckbox: "commonCheckbox", labelPosition: "labelPosition", size: "size", checked: "checked" }, outputs: { checkedChange: "checkedChange" }, providers: [
2270
2521
  {
2271
2522
  provide: NG_VALUE_ACCESSOR,
2272
2523
  useExisting: forwardRef(() => CheckboxComponent),
2273
2524
  multi: true
2274
2525
  }
2275
- ], ngImport: i0, template: "<!-- Nativo -->\n<label\n *ngIf=\"commonCheckbox\"\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n\n<!-- Custom -->\n<label\n *ngIf=\"!commonCheckbox\"\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:.6}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--native .sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:1px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:calc(var(--sdc-chk-size) * .22);top:calc(var(--sdc-chk-size) * .02);width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .6);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:14px;line-height:1;align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2526
+ ], ngImport: i0, template: "<!-- Nativo -->\n<label\n *ngIf=\"commonCheckbox\"\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n\n<!-- Custom -->\n<label\n *ngIf=\"!commonCheckbox\"\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:.6}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--native .sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:1px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:calc(var(--sdc-chk-size) * .22);top:calc(var(--sdc-chk-size) * .02);width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .6);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:14px;line-height:1;align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2276
2527
  }
2277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, decorators: [{
2528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, decorators: [{
2278
2529
  type: Component,
2279
2530
  args: [{ standalone: true, selector: "sdc-checkbox", imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [
2280
2531
  {
@@ -2308,12 +2559,12 @@ class CardComponent {
2308
2559
  return '';
2309
2560
  return text.length > this.options.descriptionMaxLength ? text.slice(0, this.options.descriptionMaxLength).trimEnd() + '...' : text;
2310
2561
  }
2311
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2312
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardComponent, isStandalone: true, selector: "dp-card", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, ngImport: i0, template: "<div class=\"sdc-card dp-card\">\n <div class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"options?.icon\"></i>\n </div>\n <div class=\"flex flex-column ml-3\">\n <div class=\"sdc-card__title\">\n {{ data.name }}\n </div>\n\n <div class=\"sdc-card__subtitle\">\n <span>{{ data.category }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n <p class=\"sdc-card__description\">\n {{ getShortDescription(data.description) }}\n </p>\n </div>\n </div>\n\n <div class=\"sdc-card__footer flex justify-content-center\">\n <sdc-button\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel! | translate\"\n >\n </sdc-button>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-card{width:100%;border-radius:var(--sdc-formfield-border-radius);overflow:hidden;display:flex;flex-direction:column;max-height:27rem;min-height:27rem}.sdc-card__header{display:flex;align-items:center;justify-content:start;gap:.75rem;padding:.75rem 1rem}.sdc-card__icon{min-width:3.3rem;min-height:3.3rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.sdc-card__body{padding:1rem}.sdc-card__title{font-size:1.5rem;font-weight:600;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__subtitle{margin-top:.25rem;font-weight:700;font-size:.875rem;color:var(--sdc-muted, #475569);display:flex;justify-content:space-between}.sdc-card__content{margin-top:.5rem}.sdc-card__description{text-align:justify;overflow:hidden}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: AvatarGroupModule }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2562
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2563
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardComponent, isStandalone: true, selector: "sdc-card", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, ngImport: i0, template: "<div class=\"sdc-card dp-card\">\n <div class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"options?.icon\"></i>\n </div>\n <div class=\"flex flex-column ml-3\">\n <div class=\"sdc-card__title\">\n {{ data.name }}\n </div>\n\n <div class=\"sdc-card__subtitle\">\n <span>{{ data.category }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n <p class=\"sdc-card__description\">\n {{ getShortDescription(data.description) }}\n </p>\n </div>\n </div>\n\n <div class=\"sdc-card__footer flex justify-content-center\">\n <sdc-button\n width=\"100%\"\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel! | translate\"\n >\n </sdc-button>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-card{width:100%;border-radius:var(--sdc-formfield-border-radius);overflow:hidden;display:flex;padding:8px;flex-direction:column;max-height:19rem;min-height:19rem}.sdc-card__header{display:flex;align-items:center;justify-content:start;gap:.75rem;padding:.75rem 1rem}.sdc-card__icon{min-width:2.9rem;min-height:2.9rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.sdc-card__body{padding:8px}.sdc-card__title{font-size:1.4rem;font-weight:600;width:100%;white-space:wrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__subtitle{margin-top:.25rem;font-weight:700;font-size:.775rem;color:var(--sdc-muted, #475569);display:flex;justify-content:space-between}.sdc-card__content{margin-top:.5rem}.sdc-card__description{text-align:justify;overflow:hidden}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: AvatarGroupModule }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: CardModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2313
2564
  }
2314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, decorators: [{
2565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, decorators: [{
2315
2566
  type: Component,
2316
- args: [{ selector: 'dp-card', imports: [CommonModule, CheckboxModule, AvatarGroupModule, ButtonComponent, CardModule, TagModule, AvatarModule, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-card dp-card\">\n <div class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"options?.icon\"></i>\n </div>\n <div class=\"flex flex-column ml-3\">\n <div class=\"sdc-card__title\">\n {{ data.name }}\n </div>\n\n <div class=\"sdc-card__subtitle\">\n <span>{{ data.category }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n <p class=\"sdc-card__description\">\n {{ getShortDescription(data.description) }}\n </p>\n </div>\n </div>\n\n <div class=\"sdc-card__footer flex justify-content-center\">\n <sdc-button\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel! | translate\"\n >\n </sdc-button>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-card{width:100%;border-radius:var(--sdc-formfield-border-radius);overflow:hidden;display:flex;flex-direction:column;max-height:27rem;min-height:27rem}.sdc-card__header{display:flex;align-items:center;justify-content:start;gap:.75rem;padding:.75rem 1rem}.sdc-card__icon{min-width:3.3rem;min-height:3.3rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.sdc-card__body{padding:1rem}.sdc-card__title{font-size:1.5rem;font-weight:600;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__subtitle{margin-top:.25rem;font-weight:700;font-size:.875rem;color:var(--sdc-muted, #475569);display:flex;justify-content:space-between}.sdc-card__content{margin-top:.5rem}.sdc-card__description{text-align:justify;overflow:hidden}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem}\n"] }]
2567
+ args: [{ selector: 'sdc-card', imports: [CommonModule, CheckboxModule, AvatarGroupModule, ButtonComponent, CardModule, TagModule, AvatarModule, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-card dp-card\">\n <div class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"options?.icon\"></i>\n </div>\n <div class=\"flex flex-column ml-3\">\n <div class=\"sdc-card__title\">\n {{ data.name }}\n </div>\n\n <div class=\"sdc-card__subtitle\">\n <span>{{ data.category }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n <p class=\"sdc-card__description\">\n {{ getShortDescription(data.description) }}\n </p>\n </div>\n </div>\n\n <div class=\"sdc-card__footer flex justify-content-center\">\n <sdc-button\n width=\"100%\"\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel! | translate\"\n >\n </sdc-button>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-card{width:100%;border-radius:var(--sdc-formfield-border-radius);overflow:hidden;display:flex;padding:8px;flex-direction:column;max-height:19rem;min-height:19rem}.sdc-card__header{display:flex;align-items:center;justify-content:start;gap:.75rem;padding:.75rem 1rem}.sdc-card__icon{min-width:2.9rem;min-height:2.9rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.sdc-card__body{padding:8px}.sdc-card__title{font-size:1.4rem;font-weight:600;width:100%;white-space:wrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__subtitle{margin-top:.25rem;font-weight:700;font-size:.775rem;color:var(--sdc-muted, #475569);display:flex;justify-content:space-between}.sdc-card__content{margin-top:.5rem}.sdc-card__description{text-align:justify;overflow:hidden}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem}\n"] }]
2317
2568
  }], propDecorators: { data: [{
2318
2569
  type: Input
2319
2570
  }], options: [{
@@ -2327,13 +2578,13 @@ class CardListComponent {
2327
2578
  loading = false;
2328
2579
  config = DEFAULT_CARD_LIST_OPTIONS;
2329
2580
  cardButtonClick = new EventEmitter();
2330
- isMobile = isMobile$1();
2331
- isTablet = isTablet$1();
2581
+ isMobile = isMobile();
2582
+ isTablet = isTablet();
2332
2583
  options = signal(DEFAULT_CARD_LIST_OPTIONS);
2333
2584
  totalRecordsLabel = computed(() => this.options().totalRecordsLabel ?? '');
2334
2585
  emptyTitle = computed(() => this.options().empty?.title ?? '');
2335
2586
  emptyText = computed(() => this.options().empty?.message ?? '');
2336
- page = signal({ first: 0, rows: 4 });
2587
+ page = signal({ first: 0, rows: 5 });
2337
2588
  isFirstPage = computed(() => this.page().first === 0);
2338
2589
  isLastPage = computed(() => this.page().first + this.page().rows >= this.filtered().length);
2339
2590
  raw = signal([]);
@@ -2427,12 +2678,12 @@ class CardListComponent {
2427
2678
  return JSON.stringify(obj ?? {});
2428
2679
  }
2429
2680
  }
2430
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2431
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-card-list m-3\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-3\">\n <dp-card (cardAction)=\"onCardClick($event)\" [options]=\"options().customCard\" [data]=\"card\"></dp-card>\n </div>\n }\n </div>\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-beetween sdc-paginator\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:30rem;min-width:17rem;align-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardComponent, selector: "dp-card", inputs: ["data", "options"], outputs: ["cardAction"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
2681
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2682
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <sdc-card (cardAction)=\"onCardClick($event)\" [options]=\"options().customCard\" [data]=\"card\"></sdc-card>\n </div>\n }\n </div>\n\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-between sdc-paginator pt-3\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"[5, 10, 20]\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:25rem;min-width:17rem;align-content:center}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%;padding:.5rem}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardComponent, selector: "sdc-card", inputs: ["data", "options"], outputs: ["cardAction"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$2.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
2432
2683
  }
2433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardListComponent, decorators: [{
2684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, decorators: [{
2434
2685
  type: Component,
2435
- args: [{ selector: 'sdc-card-list', standalone: true, imports: [CommonModule, CardComponent, TranslateModule, ButtonComponent, PaginatorComponent, EmptyStateModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-card-list m-3\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-3\">\n <dp-card (cardAction)=\"onCardClick($event)\" [options]=\"options().customCard\" [data]=\"card\"></dp-card>\n </div>\n }\n </div>\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-beetween sdc-paginator\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:30rem;min-width:17rem;align-content:center}\n"] }]
2686
+ args: [{ selector: 'sdc-card-list', standalone: true, imports: [CommonModule, CardComponent, TranslateModule, ButtonComponent, PaginatorComponent, EmptyStateModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-card-list\">\n <div [class.my-3]=\"isMobile\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) {\n <div class=\"relative\">\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n (click)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n ></sdc-button>\n }\n\n <div class=\"grid flex-1\" [class.mx-5]=\"!isMobile && options().enableSideButtons\">\n @for (card of pagedData(); track card.name) {\n <div class=\"col-12 md:col-6 lg:col-4 xl:col-5th\">\n <sdc-card (cardAction)=\"onCardClick($event)\" [options]=\"options().customCard\" [data]=\"card\"></sdc-card>\n </div>\n }\n </div>\n\n @if (options().enableSideButtons) {\n <sdc-button\n width=\"3rem\"\n *ngIf=\"!isMobile\"\n [disabled]=\"isLastPage()\"\n (click)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n ></sdc-button>\n }\n </div>\n } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"flex justify-content-between sdc-paginator pt-3\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"[5, 10, 20]\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n </div>\n</div>\n", styles: [".sdc-card-list{min-height:25rem;min-width:17rem;align-content:center}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%;padding:.5rem}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"] }]
2436
2687
  }], propDecorators: { data: [{
2437
2688
  type: Input
2438
2689
  }], loading: [{
@@ -2443,50 +2694,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2443
2694
  type: Output
2444
2695
  }] } });
2445
2696
 
2446
- function isMobile() {
2447
- return window.innerWidth <= 768;
2448
- }
2449
- function isTablet() {
2450
- return window.innerWidth > 768 && window.innerWidth <= 1024;
2451
- }
2452
- function isDesktop() {
2453
- return window.innerWidth > 1024;
2454
- }
2455
-
2456
2697
  class RowCardComponent {
2457
2698
  data;
2458
2699
  options;
2459
2700
  isExpanded = false;
2460
2701
  detailTemplate;
2461
- expandClick = new EventEmitter();
2702
+ cardClick = new EventEmitter();
2462
2703
  cardButtonClick = new EventEmitter();
2463
2704
  contentWrapper;
2464
2705
  isMobile = isMobile();
2706
+ get expanded() {
2707
+ return !!this.options?.expandable && !!this.isExpanded;
2708
+ }
2465
2709
  ngOnChanges(changes) {
2466
- if (changes['isExpanded']) {
2467
- queueMicrotask(() => {
2468
- const el = this.contentWrapper?.nativeElement;
2469
- if (!el)
2470
- return;
2471
- el.style.height = this.isExpanded ? el.scrollHeight + 'px' : '0px';
2472
- });
2710
+ if (changes['isExpanded'] || changes['options']) {
2711
+ queueMicrotask(() => this.updateCollapseHeight());
2473
2712
  }
2474
2713
  }
2475
- onCardClick(event) {
2714
+ onCardClick() {
2715
+ this.cardClick.emit(this.data);
2716
+ }
2717
+ onExpandCardClick(event) {
2476
2718
  if (event.target.closest('sdc-button'))
2477
2719
  return;
2478
- this.expandClick.emit();
2720
+ this.cardClick.emit(this.data);
2479
2721
  event.stopPropagation();
2480
2722
  }
2481
2723
  onCardButtonClick() {
2482
2724
  this.cardButtonClick.emit(this.data);
2483
2725
  }
2484
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2485
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RowCardComponent, isStandalone: true, selector: "sdc-row-card", inputs: { data: "data", options: "options", isExpanded: "isExpanded", detailTemplate: "detailTemplate" }, outputs: { expandClick: "expandClick", cardButtonClick: "cardButtonClick" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n (click)=\"onCardClick($event)\"\n [class.border-left]=\"data.hasBorder\"\n class=\"row-card p-4 transition-all cursor-pointer\"\n>\n <div class=\"flex flex-column md:flex-row gap-4 align-items-start md:align-items-center w-full\">\n <i *ngIf=\"isExpanded\" class=\"fas fa-minus\"></i>\n <i *ngIf=\"!isExpanded\" class=\"fas fa-plus\"></i>\n <div class=\"flex-1 min-w-0\">\n <div\n class=\"text-xl font-semibold mb-2 text-overflow-ellipsis white-space-nowrap overflow-hidden\"\n [ngClass]=\"options?.leftTitleColor\"\n >\n {{ data.left_title }}\n </div>\n <div class=\"text-sm\" [ngClass]=\"options?.leftSubtitleColor\">\n {{ data.left_subtitle }}\n </div>\n </div>\n <div class=\"flex md:ml-auto gap-4 w-full md:w-auto align-items-start md:align-items-center\">\n <div class=\"flex flex-column md:flex-row gap-2 w-full md:w-auto\">\n <sdc-button\n (click)=\"$event.stopPropagation()\"\n (onClick)=\"onCardButtonClick()\"\n [priority]=\"options?.buttonPriority!\"\n [icon]=\"options?.buttonIcon\"\n [label]=\"isMobile ? '' : (options!.buttonLabel! | translate)\"\n [class]=\"isMobile ? 'w-full' : 'w-9rem'\"\n >\n </sdc-button>\n </div>\n <div\n class=\"text-right text-sm flex flex-column gap-1 md:align-items-end w-full md:w-auto\"\n style=\"min-width: 13rem\"\n >\n <span class=\"font-bold text-2xl\" [ngClass]=\"options?.rightTitleColor\">{{ data.right_title }}</span>\n <span [ngClass]=\"options?.rightSubtitleColor\">{{ data.right_subtitle }}</span>\n </div>\n </div>\n </div>\n\n <div #contentWrapper class=\"collapse-wrapper\" [class.show]=\"isExpanded\" (click)=\"$event.stopPropagation()\">\n <div class=\"collapse-inner\">\n <ng-container *ngIf=\"detailTemplate; else defaultDetail\">\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data, data: data }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultDetail>\n <div class=\"text-sm text-700\">{{ data.wrapperDetail }}</div>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.collapse-wrapper{border-radius:0 0 10px 10px;height:0;overflow:hidden;transition:height .35s ease}.collapse-inner{padding:2rem 1rem 1rem;opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .3s ease}.collapse-wrapper.show .collapse-inner{opacity:1;transform:translateY(0)}\n"], dependencies: [{ kind: "component", type: ButtonComponent$1, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2726
+ updateCollapseHeight() {
2727
+ const el = this.contentWrapper?.nativeElement;
2728
+ if (!el)
2729
+ return;
2730
+ if (!this.options?.expandable) {
2731
+ el.style.height = '0px';
2732
+ return;
2733
+ }
2734
+ el.style.height = this.expanded ? `${el.scrollHeight}px` : '0px';
2735
+ }
2736
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2737
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowCardComponent, isStandalone: true, selector: "sdc-row-card", inputs: { data: "data", options: "options", isExpanded: "isExpanded", detailTemplate: "detailTemplate" }, outputs: { cardClick: "cardClick", cardButtonClick: "cardButtonClick" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n (click)=\"options?.expandable ? onExpandCardClick($event) : onCardClick()\"\n [class.border-left]=\"data.hasBorder\"\n class=\"row-card p-3 transition-all cursor-pointer\"\n>\n <div class=\"flex flex-column md:flex-row gap-4 align-items-start md:align-items-center w-full\">\n @if (options?.expandable) {\n <i *ngIf=\"expanded\" class=\"fas fa-minus\"></i>\n <i *ngIf=\"!expanded\" class=\"fas fa-plus\"></i>\n }\n\n <div class=\"flex-1 min-w-0\">\n <div\n class=\"text-xl font-semibold mb-2 text-overflow-ellipsis white-space-nowrap overflow-hidden\"\n [ngClass]=\"options?.leftTitleColor\"\n >\n {{ data.left_title }}\n </div>\n <div class=\"text-sm\" [ngClass]=\"options?.leftSubtitleColor\">\n {{ data.left_subtitle }}\n </div>\n </div>\n\n <div class=\"flex md:ml-auto gap-4 w-full md:w-auto align-items-start md:align-items-center\">\n <div class=\"flex flex-column md:flex-row gap-2 w-full md:w-auto\">\n <sdc-button\n (click)=\"$event.stopPropagation()\"\n (onClick)=\"onCardButtonClick()\"\n [priority]=\"options?.buttonPriority!\"\n [icon]=\"options?.buttonIcon\"\n [label]=\"isMobile ? '' : (options!.buttonLabel! | translate)\"\n [class]=\"isMobile ? 'w-full' : 'w-9rem'\"\n >\n </sdc-button>\n </div>\n\n <div\n class=\"text-right text-sm flex flex-column gap-1 md:align-items-end w-full md:w-auto\"\n style=\"min-width: 13rem\"\n >\n <span class=\"font-bold text-2xl\" [ngClass]=\"options?.rightTitleColor\">{{ data.right_title }}</span>\n <span [ngClass]=\"options?.rightSubtitleColor\">{{ data.right_subtitle }}</span>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"options?.expandable\">\n <div #contentWrapper class=\"collapse-wrapper\" [class.show]=\"expanded\" (click)=\"$event.stopPropagation()\">\n <div class=\"collapse-inner\">\n <ng-container *ngIf=\"detailTemplate; else defaultDetail\">\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data, data: data }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultDetail>\n <div class=\"text-sm text-700\">{{ data.wrapperDetail }}</div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.collapse-wrapper{border-radius:0 0 10px 10px;height:0;overflow:hidden;transition:height .35s ease}.collapse-inner{padding:2rem 1rem 1rem;opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .3s ease}.collapse-wrapper.show .collapse-inner{opacity:1;transform:translateY(0)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2486
2738
  }
2487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCardComponent, decorators: [{
2739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardComponent, decorators: [{
2488
2740
  type: Component,
2489
- args: [{ standalone: true, selector: 'sdc-row-card', imports: [ButtonComponent$1, TranslateModule, NgClass, NgIf, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n (click)=\"onCardClick($event)\"\n [class.border-left]=\"data.hasBorder\"\n class=\"row-card p-4 transition-all cursor-pointer\"\n>\n <div class=\"flex flex-column md:flex-row gap-4 align-items-start md:align-items-center w-full\">\n <i *ngIf=\"isExpanded\" class=\"fas fa-minus\"></i>\n <i *ngIf=\"!isExpanded\" class=\"fas fa-plus\"></i>\n <div class=\"flex-1 min-w-0\">\n <div\n class=\"text-xl font-semibold mb-2 text-overflow-ellipsis white-space-nowrap overflow-hidden\"\n [ngClass]=\"options?.leftTitleColor\"\n >\n {{ data.left_title }}\n </div>\n <div class=\"text-sm\" [ngClass]=\"options?.leftSubtitleColor\">\n {{ data.left_subtitle }}\n </div>\n </div>\n <div class=\"flex md:ml-auto gap-4 w-full md:w-auto align-items-start md:align-items-center\">\n <div class=\"flex flex-column md:flex-row gap-2 w-full md:w-auto\">\n <sdc-button\n (click)=\"$event.stopPropagation()\"\n (onClick)=\"onCardButtonClick()\"\n [priority]=\"options?.buttonPriority!\"\n [icon]=\"options?.buttonIcon\"\n [label]=\"isMobile ? '' : (options!.buttonLabel! | translate)\"\n [class]=\"isMobile ? 'w-full' : 'w-9rem'\"\n >\n </sdc-button>\n </div>\n <div\n class=\"text-right text-sm flex flex-column gap-1 md:align-items-end w-full md:w-auto\"\n style=\"min-width: 13rem\"\n >\n <span class=\"font-bold text-2xl\" [ngClass]=\"options?.rightTitleColor\">{{ data.right_title }}</span>\n <span [ngClass]=\"options?.rightSubtitleColor\">{{ data.right_subtitle }}</span>\n </div>\n </div>\n </div>\n\n <div #contentWrapper class=\"collapse-wrapper\" [class.show]=\"isExpanded\" (click)=\"$event.stopPropagation()\">\n <div class=\"collapse-inner\">\n <ng-container *ngIf=\"detailTemplate; else defaultDetail\">\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data, data: data }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultDetail>\n <div class=\"text-sm text-700\">{{ data.wrapperDetail }}</div>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.collapse-wrapper{border-radius:0 0 10px 10px;height:0;overflow:hidden;transition:height .35s ease}.collapse-inner{padding:2rem 1rem 1rem;opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .3s ease}.collapse-wrapper.show .collapse-inner{opacity:1;transform:translateY(0)}\n"] }]
2741
+ args: [{ standalone: true, selector: 'sdc-row-card', imports: [ButtonComponent, TranslateModule, NgClass, NgIf, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n (click)=\"options?.expandable ? onExpandCardClick($event) : onCardClick()\"\n [class.border-left]=\"data.hasBorder\"\n class=\"row-card p-3 transition-all cursor-pointer\"\n>\n <div class=\"flex flex-column md:flex-row gap-4 align-items-start md:align-items-center w-full\">\n @if (options?.expandable) {\n <i *ngIf=\"expanded\" class=\"fas fa-minus\"></i>\n <i *ngIf=\"!expanded\" class=\"fas fa-plus\"></i>\n }\n\n <div class=\"flex-1 min-w-0\">\n <div\n class=\"text-xl font-semibold mb-2 text-overflow-ellipsis white-space-nowrap overflow-hidden\"\n [ngClass]=\"options?.leftTitleColor\"\n >\n {{ data.left_title }}\n </div>\n <div class=\"text-sm\" [ngClass]=\"options?.leftSubtitleColor\">\n {{ data.left_subtitle }}\n </div>\n </div>\n\n <div class=\"flex md:ml-auto gap-4 w-full md:w-auto align-items-start md:align-items-center\">\n <div class=\"flex flex-column md:flex-row gap-2 w-full md:w-auto\">\n <sdc-button\n (click)=\"$event.stopPropagation()\"\n (onClick)=\"onCardButtonClick()\"\n [priority]=\"options?.buttonPriority!\"\n [icon]=\"options?.buttonIcon\"\n [label]=\"isMobile ? '' : (options!.buttonLabel! | translate)\"\n [class]=\"isMobile ? 'w-full' : 'w-9rem'\"\n >\n </sdc-button>\n </div>\n\n <div\n class=\"text-right text-sm flex flex-column gap-1 md:align-items-end w-full md:w-auto\"\n style=\"min-width: 13rem\"\n >\n <span class=\"font-bold text-2xl\" [ngClass]=\"options?.rightTitleColor\">{{ data.right_title }}</span>\n <span [ngClass]=\"options?.rightSubtitleColor\">{{ data.right_subtitle }}</span>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"options?.expandable\">\n <div #contentWrapper class=\"collapse-wrapper\" [class.show]=\"expanded\" (click)=\"$event.stopPropagation()\">\n <div class=\"collapse-inner\">\n <ng-container *ngIf=\"detailTemplate; else defaultDetail\">\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data, data: data }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultDetail>\n <div class=\"text-sm text-700\">{{ data.wrapperDetail }}</div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.collapse-wrapper{border-radius:0 0 10px 10px;height:0;overflow:hidden;transition:height .35s ease}.collapse-inner{padding:2rem 1rem 1rem;opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .3s ease}.collapse-wrapper.show .collapse-inner{opacity:1;transform:translateY(0)}\n"] }]
2490
2742
  }], propDecorators: { data: [{
2491
2743
  type: Input
2492
2744
  }], options: [{
@@ -2495,7 +2747,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2495
2747
  type: Input
2496
2748
  }], detailTemplate: [{
2497
2749
  type: Input
2498
- }], expandClick: [{
2750
+ }], cardClick: [{
2499
2751
  type: Output
2500
2752
  }], cardButtonClick: [{
2501
2753
  type: Output
@@ -2509,10 +2761,10 @@ class RowCardListComponent {
2509
2761
  loading = false;
2510
2762
  config = DEFAULT_ROW_CARD_LIST_OPTIONS;
2511
2763
  cardButtonClick = new EventEmitter();
2512
- expandCard = new EventEmitter();
2764
+ cardClick = new EventEmitter();
2513
2765
  detailTemplate;
2514
- isMobile = isMobile$1();
2515
- isTablet = isTablet$1();
2766
+ isMobile = isMobile();
2767
+ isTablet = isTablet();
2516
2768
  options = signal(DEFAULT_ROW_CARD_LIST_OPTIONS);
2517
2769
  emptyTitle = computed(() => this.options().empty?.title ?? '');
2518
2770
  emptyText = computed(() => this.options().empty?.message ?? '');
@@ -2585,7 +2837,7 @@ class RowCardListComponent {
2585
2837
  onButtonExpand(card) {
2586
2838
  const isOpen = this.expandedCardId() === card.id;
2587
2839
  this.expandedCardId.set(isOpen ? null : card.id);
2588
- this.expandCard.emit(card);
2840
+ this.cardClick.emit(card);
2589
2841
  }
2590
2842
  applyConfigOptions() {
2591
2843
  const base = DEFAULT_ROW_CARD_LIST_OPTIONS;
@@ -2620,12 +2872,12 @@ class RowCardListComponent {
2620
2872
  return JSON.stringify(obj ?? {});
2621
2873
  }
2622
2874
  }
2623
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2624
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RowCardListComponent, isStandalone: true, selector: "sdc-row-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick", expandCard: "expandCard" }, queries: [{ propertyName: "detailTemplate", first: true, predicate: ["rowCardDetail"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-row-card-list\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) { @for (card of pagedData(); track card.id) {\n <div class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (expandClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n >\n </sdc-row-card>\n </div>\n } } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"sdc-paginator-wrap flex justify-content-start\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-row-card-list{min-height:30rem;min-width:17rem;align-content:center}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "component", type: RowCardComponent, selector: "sdc-row-card", inputs: ["data", "options", "isExpanded", "detailTemplate"], outputs: ["expandClick", "cardButtonClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
2875
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2876
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowCardListComponent, isStandalone: true, selector: "sdc-row-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick", cardClick: "cardClick" }, queries: [{ propertyName: "detailTemplate", first: true, predicate: ["rowCardDetail"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-row-card-list\" [class.align-content-center]=\"loading\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) { @for (card of pagedData(); track card.id) {\n <div class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (cardClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n >\n </sdc-row-card>\n </div>\n } } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"sdc-paginator-wrap flex justify-content-start\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-row-card-list{min-height:30rem;min-width:17rem}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }, { kind: "component", type: RowCardComponent, selector: "sdc-row-card", inputs: ["data", "options", "isExpanded", "detailTemplate"], outputs: ["cardClick", "cardButtonClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i3$2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i2$2.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
2625
2877
  }
2626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCardListComponent, decorators: [{
2878
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardListComponent, decorators: [{
2627
2879
  type: Component,
2628
- args: [{ selector: 'sdc-row-card-list', standalone: true, imports: [CommonModule, TranslateModule, RowCardComponent, PaginatorComponent, EmptyStateModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-row-card-list\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) { @for (card of pagedData(); track card.id) {\n <div class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (expandClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n >\n </sdc-row-card>\n </div>\n } } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"sdc-paginator-wrap flex justify-content-start\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-row-card-list{min-height:30rem;min-width:17rem;align-content:center}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}\n"] }]
2880
+ args: [{ selector: 'sdc-row-card-list', standalone: true, imports: [CommonModule, TranslateModule, RowCardComponent, PaginatorComponent, EmptyStateModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-row-card-list\" [class.align-content-center]=\"loading\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) { @for (card of pagedData(); track card.id) {\n <div class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (cardClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n >\n </sdc-row-card>\n </div>\n } } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"sdc-paginator-wrap flex justify-content-start\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-row-card-list{min-height:30rem;min-width:17rem}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}\n"] }]
2629
2881
  }], propDecorators: { data: [{
2630
2882
  type: Input
2631
2883
  }], loading: [{
@@ -2634,7 +2886,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2634
2886
  type: Input
2635
2887
  }], cardButtonClick: [{
2636
2888
  type: Output
2637
- }], expandCard: [{
2889
+ }], cardClick: [{
2638
2890
  type: Output
2639
2891
  }], detailTemplate: [{
2640
2892
  type: ContentChild,
@@ -2654,6 +2906,8 @@ class FiltersComponent {
2654
2906
  ngOnChanges(_changes) {
2655
2907
  this.buildOptionsMap();
2656
2908
  this.ensureModels();
2909
+ this.applyPresetsFromConfig();
2910
+ this.applyInitialStateFromConfig();
2657
2911
  this.applyAndEmitAsync();
2658
2912
  }
2659
2913
  ngOnDestroy() {
@@ -2680,9 +2934,14 @@ class FiltersComponent {
2680
2934
  fields: (s?.fields ?? []),
2681
2935
  placeholder: s?.placeholder,
2682
2936
  triggerMode: s?.triggerMode ?? 'auto',
2683
- show: s?.show ?? true
2937
+ show: s?.show ?? true,
2938
+ label: s?.label
2684
2939
  };
2685
2940
  }
2941
+ getInitialState() {
2942
+ const c = this.config;
2943
+ return c?.initialState;
2944
+ }
2686
2945
  readPath(obj, path) {
2687
2946
  return path.split('.').reduce((acc, part) => (acc && typeof acc === 'object' ? acc[part] : undefined), obj);
2688
2947
  }
@@ -2746,6 +3005,27 @@ class FiltersComponent {
2746
3005
  }
2747
3006
  }
2748
3007
  }
3008
+ applyPresetsFromConfig() {
3009
+ for (const def of this.getFilters()) {
3010
+ const preset = def?.preset;
3011
+ if (preset && (!this.selectedValues[def.key] || (Array.isArray(this.selectedValues[def.key]) && this.selectedValues[def.key].length === 0))) {
3012
+ this.selectedValues[def.key] = Array.isArray(preset) ? preset.slice() : preset;
3013
+ }
3014
+ }
3015
+ }
3016
+ applyInitialStateFromConfig() {
3017
+ const init = this.getInitialState();
3018
+ if (!init)
3019
+ return;
3020
+ if (typeof init.search === 'string') {
3021
+ this.searchTerm.set(init.search.trim());
3022
+ }
3023
+ if (init.filters) {
3024
+ for (const [k, v] of Object.entries(init.filters)) {
3025
+ this.selectedValues[k] = Array.isArray(v) ? v.slice() : v;
3026
+ }
3027
+ }
3028
+ }
2749
3029
  normalizeToValues(def, model) {
2750
3030
  const arr = Array.isArray(model) ? model : model != null ? [model] : [];
2751
3031
  return arr
@@ -2776,9 +3056,7 @@ class FiltersComponent {
2776
3056
  const v = this.getFieldValue(row, f);
2777
3057
  if (Array.isArray(v))
2778
3058
  return v.join(' ').toLowerCase().includes(term);
2779
- return String(v ?? '')
2780
- .toLowerCase()
2781
- .includes(term);
3059
+ return String(v ?? '').toLowerCase().includes(term);
2782
3060
  });
2783
3061
  }
2784
3062
  computeFiltered() {
@@ -2792,10 +3070,10 @@ class FiltersComponent {
2792
3070
  this.filtered.emit(result);
2793
3071
  }, 0);
2794
3072
  }
2795
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2796
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FiltersComponent, isStandalone: true, selector: "sdc-filters", inputs: { data: "data", config: "config", loading: "loading" }, outputs: { filtered: "filtered" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"grid mt-3 min-h-10rem\">\n @if (config!.search!.show !== false) {\n <div class=\"col-12 md:col-12 lg:col-6 xl:col-4\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [placeholder]=\"config!.search!.placeholder || ''\"\n [size]=\"'small'\"\n [triggerMode]=\"config!.search!.triggerMode || 'auto'\"\n (onSearch)=\"onSearch($event)\"\n (onClear)=\"onClear()\"\n >\n </sdc-searchbox>\n </div>\n } @if (config!.filters!.length) { @for (def of config.filters; track def.key) {\n <div class=\"col-12 md:col-6 lg:col-3 xl:col-2\" [class.mb-3]=\"isMobile\">\n <sdc-combobox\n width=\"100%\"\n [disabled]=\"loading\"\n [placeholder]=\"def.placeholder\"\n [multiple]=\"(def.type ?? 'multiselect') === 'multiselect'\"\n [options]=\"filterOptionsMap[def.key]\"\n [(ngModel)]=\"selectedValues[def.key]\"\n (ngModelChange)=\"onComboChange(def.key, $event)\"\n >\n </sdc-combobox>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: SearchboxComponent, selector: "sdc-searchbox", inputs: ["triggerMode"], outputs: ["onSearch", "onClear"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: ComboboxComponent, selector: "sdc-combobox", inputs: ["multiple", "appendTo", "zIndex", "options", "overrideChipMessage", "maxSelectedLabels"], outputs: ["onSelectedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3073
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3074
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersComponent, isStandalone: true, selector: "sdc-filters", inputs: { data: "data", config: "config", loading: "loading" }, outputs: { filtered: "filtered" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"grid min-h-10rem\">\n @if (config!.search!.show !== false) {\n <div class=\"col-12 md:col-12 lg:col-6 xl:col-4\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [label]=\"config!.search!.label || ''\"\n [placeholder]=\"config!.search!.placeholder || ''\"\n [size]=\"'small'\"\n [triggerMode]=\"config!.search!.triggerMode || 'auto'\"\n (onSearch)=\"onSearch($event)\"\n (onClear)=\"onClear()\"\n >\n </sdc-searchbox>\n </div>\n } @if (config!.filters!.length) { @for (def of config.filters; track def.key) {\n <div class=\"col-12 md:col-6 lg:col-3 xl:col-2\" [class.mb-3]=\"isMobile\">\n <sdc-combobox\n width=\"100%\"\n [label]=\"def.label || ''\"\n [disabled]=\"loading\"\n [placeholder]=\"def.placeholder || ''\"\n [multiple]=\"(def.type ?? 'multiselect') === 'multiselect'\"\n [options]=\"filterOptionsMap[def.key]\"\n [(ngModel)]=\"selectedValues[def.key]\"\n (ngModelChange)=\"onComboChange(def.key, $event)\"\n >\n </sdc-combobox>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: SearchboxComponent, selector: "sdc-searchbox", inputs: ["triggerMode"], outputs: ["onSearch", "onClear"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: ComboboxComponent, selector: "sdc-combobox", inputs: ["multiple", "appendTo", "zIndex", "options", "overrideChipMessage", "maxSelectedLabels", "showClear"], outputs: ["onSelectedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2797
3075
  }
2798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersComponent, decorators: [{
3076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersComponent, decorators: [{
2799
3077
  type: Component,
2800
3078
  args: [{ selector: 'sdc-filters', standalone: true, imports: [
2801
3079
  CommonModule,
@@ -2806,7 +3084,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2806
3084
  InputGroupAddonModule,
2807
3085
  MultiSelectModule,
2808
3086
  ComboboxComponent
2809
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"grid mt-3 min-h-10rem\">\n @if (config!.search!.show !== false) {\n <div class=\"col-12 md:col-12 lg:col-6 xl:col-4\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [placeholder]=\"config!.search!.placeholder || ''\"\n [size]=\"'small'\"\n [triggerMode]=\"config!.search!.triggerMode || 'auto'\"\n (onSearch)=\"onSearch($event)\"\n (onClear)=\"onClear()\"\n >\n </sdc-searchbox>\n </div>\n } @if (config!.filters!.length) { @for (def of config.filters; track def.key) {\n <div class=\"col-12 md:col-6 lg:col-3 xl:col-2\" [class.mb-3]=\"isMobile\">\n <sdc-combobox\n width=\"100%\"\n [disabled]=\"loading\"\n [placeholder]=\"def.placeholder\"\n [multiple]=\"(def.type ?? 'multiselect') === 'multiselect'\"\n [options]=\"filterOptionsMap[def.key]\"\n [(ngModel)]=\"selectedValues[def.key]\"\n (ngModelChange)=\"onComboChange(def.key, $event)\"\n >\n </sdc-combobox>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}\n"] }]
3087
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"grid min-h-10rem\">\n @if (config!.search!.show !== false) {\n <div class=\"col-12 md:col-12 lg:col-6 xl:col-4\">\n <sdc-searchbox\n [disabled]=\"loading\"\n [label]=\"config!.search!.label || ''\"\n [placeholder]=\"config!.search!.placeholder || ''\"\n [size]=\"'small'\"\n [triggerMode]=\"config!.search!.triggerMode || 'auto'\"\n (onSearch)=\"onSearch($event)\"\n (onClear)=\"onClear()\"\n >\n </sdc-searchbox>\n </div>\n } @if (config!.filters!.length) { @for (def of config.filters; track def.key) {\n <div class=\"col-12 md:col-6 lg:col-3 xl:col-2\" [class.mb-3]=\"isMobile\">\n <sdc-combobox\n width=\"100%\"\n [label]=\"def.label || ''\"\n [disabled]=\"loading\"\n [placeholder]=\"def.placeholder || ''\"\n [multiple]=\"(def.type ?? 'multiselect') === 'multiselect'\"\n [options]=\"filterOptionsMap[def.key]\"\n [(ngModel)]=\"selectedValues[def.key]\"\n (ngModelChange)=\"onComboChange(def.key, $event)\"\n >\n </sdc-combobox>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}\n"] }]
2810
3088
  }], propDecorators: { data: [{
2811
3089
  type: Input,
2812
3090
  args: [{ required: true }]
@@ -2819,9 +3097,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2819
3097
  type: Output
2820
3098
  }] } });
2821
3099
 
3100
+ // primeng services
3101
+
2822
3102
  /**
2823
3103
  * Generated bundle index. Do not edit.
2824
3104
  */
2825
3105
 
2826
- export { ButtonComponent, CONSTANTS, CardListComponent, CheckboxComponent, ComboboxComponent, ConfirmComponent, FiltersComponent, HyperlinkComponent, ListComponent, ModalComponent, ModalcComponent, PaginatorComponent, PanelComponent, RowCardListComponent, SQL_HELPER, ScaffoldComponent, SearchboxComponent, SidebarComponent, SpinnerComponent, SpinnerService, SqlEditorComponent, TabComponent, TabItemComponent, TableComponent, TextboxComponent, ToastComponent, ToastService, createSqlAutoCompletionHadler, fixComboBoxOverlay, fixDialogMask, getDimensionStyles, provideDataCoreLib, provideTranslations, serviceProviders, sqlDomainFilterDecorator, sqlFormatterHandler, sqlUppercaseHandler };
3106
+ export { ButtonComponent, CONSTANTS, CardListComponent, CheckboxComponent, ComboboxComponent, ConfirmComponent, DEFAULT_CARD_LIST_OPTIONS, DEFAULT_ROW_CARD_LIST_OPTIONS, DEFAULT_TABLE_OPTIONS, FiltersComponent, HyperlinkComponent, ListComponent, ModalComponent, ModalcComponent, PaginatorComponent, PanelComponent, RowCardListComponent, SQL_HELPER, ScaffoldComponent, SearchboxComponent, SidebarComponent, SpinnerComponent, SpinnerService, SqlEditorComponent, TabComponent, TabItemComponent, TableComponent, TextboxComponent, ToastComponent, ToastService, createSqlAutoCompletionHadler, fixComboBoxOverlay, fixDialogMask, getDimensionStyles, isDesktop, isMobile, isTablet, mockRowCardList, provideDataCoreLib, provideGlobalStyles, provideTranslations, range, serviceProviders, sqlDomainFilterDecorator, sqlFormatterHandler, sqlUppercaseHandler };
2827
3107
  //# sourceMappingURL=seniorsistemas-data-seniorx-core.mjs.map