@ngx-smz/ui-kit 21.9.0-next.9 → 21.10.0-next.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngx-smz/ui-kit",
3
- "version": "21.9.0-next.9",
3
+ "version": "21.10.0-next.2",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": ">=21.0.0 <22.0.0",
6
6
  "@angular/common": ">=21.0.0 <22.0.0",
@@ -1,85 +1,91 @@
1
- const channel = (name) => `rgb(var(--smz-color-${name}) / <alpha-value>)`;
2
-
3
- const colorNames = [
4
- 'primary', 'primary-hover', 'primary-active', 'on-primary',
5
- 'danger', 'danger-hover', 'danger-active', 'on-danger',
6
- 'success', 'success-hover', 'success-active', 'on-success',
7
- 'warning', 'warning-hover', 'warning-active', 'on-warning',
8
- 'surface-0', 'surface-1', 'surface-2', 'surface-3',
9
- 'fg', 'fg-muted', 'fg-subtle',
10
- 'line', 'line-strong',
11
- 'focus',
12
- ];
13
-
14
- const colors = Object.fromEntries(colorNames.map((name) => [`ui-${name}`, channel(name)]));
15
-
16
- /**
17
- * Vocabulario herdado do `tailwindcss-primeui` (bg-primary, text-color, text-muted-color, bg-surface-100, border-surface,
18
- * rounded-border), mantido para os apps e layouts existentes. Mapeia para os mesmos tokens do tema; a escala `surface-N` e fixa.
19
- */
20
- const surfaceScale = {
21
- 0: '#ffffff', 50: '#f8fafc', 100: '#f1f5f9', 200: '#e2e8f0', 300: '#cbd5e1', 400: '#94a3b8',
22
- 500: '#64748b', 600: '#475569', 700: '#334155', 800: '#1e293b', 900: '#0f172a', 950: '#020617',
23
- };
24
- const legacyColors = {
25
- primary: { DEFAULT: channel('primary'), contrast: channel('on-primary'), hover: channel('primary-hover'), active: channel('primary-active') },
26
- surface: { DEFAULT: channel('line'), ...surfaceScale },
27
- color: channel('fg'),
28
- 'muted-color': channel('fg-muted'),
29
- 'surface-border': channel('line'),
30
- };
31
-
32
- /**
33
- * Preset do @ngx-smz/ui-kit. Mapeia os tokens do tema (variaveis CSS --smz-*)
34
- * para utilitarios semanticos do Tailwind (bg-ui-primary, rounded-control, h-control...).
35
- * Cores levam o prefixo `ui-` (bg-ui-primary, text-ui-fg) para nao colidir com plugins ou temas do app
36
- * Os valores vivem no arquivo de tema (themes/*.css), nunca aqui.
37
- */
38
- module.exports = {
39
- theme: {
40
- extend: {
41
- colors: { ...colors, ...legacyColors },
42
- fontFamily: {
43
- ui: 'var(--smz-font-sans)',
44
- 'ui-mono': 'var(--smz-font-mono)',
45
- },
46
- fontSize: {
47
- 'ui-xs': ['var(--smz-text-xs)', 'var(--smz-leading)'],
48
- 'ui-sm': ['var(--smz-text-sm)', 'var(--smz-leading)'],
49
- 'ui-md': ['var(--smz-text-md)', 'var(--smz-leading)'],
50
- 'ui-lg': ['var(--smz-text-lg)', 'var(--smz-leading)'],
51
- 'ui-xl': ['var(--smz-text-xl)', 'var(--smz-leading)'],
52
- },
53
- height: {
54
- 'control-sm': 'var(--smz-control-h-sm)',
55
- control: 'var(--smz-control-h)',
56
- 'control-lg': 'var(--smz-control-h-lg)',
57
- },
58
- minHeight: {
59
- 'control-sm': 'var(--smz-control-h-sm)',
60
- control: 'var(--smz-control-h)',
61
- 'control-lg': 'var(--smz-control-h-lg)',
62
- },
63
- padding: {
64
- 'control-x-sm': 'var(--smz-control-px-sm)',
65
- 'control-x': 'var(--smz-control-px)',
66
- 'control-x-lg': 'var(--smz-control-px-lg)',
67
- 'input-x-sm': 'var(--smz-input-px-sm)',
68
- 'input-x': 'var(--smz-input-px)',
69
- },
70
- borderRadius: {
71
- control: 'var(--smz-radius-control)',
72
- card: 'var(--smz-radius-card)',
73
- overlay: 'var(--smz-radius-overlay)',
74
- border: 'var(--smz-radius-control)',
75
- },
76
- boxShadow: {
77
- card: 'var(--smz-shadow-card)',
78
- overlay: 'var(--smz-shadow-overlay)',
79
- },
80
- transitionDuration: {
81
- ui: 'var(--smz-duration)',
82
- },
83
- },
84
- },
85
- };
1
+ const channel = (name) => `rgb(var(--smz-color-${name}) / <alpha-value>)`;
2
+
3
+ const colorNames = [
4
+ 'primary', 'primary-hover', 'primary-active', 'on-primary',
5
+ 'danger', 'danger-hover', 'danger-active', 'on-danger',
6
+ 'success', 'success-hover', 'success-active', 'on-success',
7
+ 'warning', 'warning-hover', 'warning-active', 'on-warning',
8
+ 'surface-0', 'surface-1', 'surface-2', 'surface-3',
9
+ 'fg', 'fg-muted', 'fg-subtle',
10
+ 'line', 'line-strong',
11
+ 'focus',
12
+ ];
13
+
14
+ const colors = Object.fromEntries(colorNames.map((name) => [`ui-${name}`, channel(name)]));
15
+
16
+ /**
17
+ * Vocabulario herdado do `tailwindcss-primeui` (bg-primary, text-color, text-muted-color, bg-surface-100, border-surface,
18
+ * rounded-border), mantido para os apps e layouts existentes. Mapeia para os mesmos tokens do tema; a escala `surface-N` e fixa.
19
+ */
20
+ const surfaceScale = {
21
+ 0: '#ffffff', 50: '#f8fafc', 100: '#f1f5f9', 200: '#e2e8f0', 300: '#cbd5e1', 400: '#94a3b8',
22
+ 500: '#64748b', 600: '#475569', 700: '#334155', 800: '#1e293b', 900: '#0f172a', 950: '#020617',
23
+ };
24
+ const legacyColors = {
25
+ primary: { DEFAULT: channel('primary'), contrast: channel('on-primary'), hover: channel('primary-hover'), active: channel('primary-active') },
26
+ surface: { DEFAULT: channel('line'), ...surfaceScale },
27
+ color: channel('fg'),
28
+ 'muted-color': channel('fg-muted'),
29
+ 'surface-border': channel('line'),
30
+ };
31
+
32
+ /**
33
+ * Preset do @ngx-smz/ui-kit. Mapeia os tokens do tema (variaveis CSS --smz-*)
34
+ * para utilitarios semanticos do Tailwind (bg-ui-primary, rounded-control, h-control...).
35
+ * Cores levam o prefixo `ui-` (bg-ui-primary, text-ui-fg) para nao colidir com plugins ou temas do app
36
+ * Os valores vivem no arquivo de tema (themes/*.css), nunca aqui.
37
+ */
38
+ module.exports = {
39
+ // Classes de layout que @ngx-smz/core monta em runtime (row: N dos templates de formulario/dialog): o scanner do
40
+ // Tailwind do app nao as ve nos templates, entao precisam estar na safelist.
41
+ safelist: [
42
+ { pattern: /^col-span-(1[0-2]|[1-9]|full)$/, variants: ['sm', 'md', 'lg', 'xl'] },
43
+ { pattern: /^w-((1[01]|[1-9])\/12|full)$/, variants: ['sm', 'md', 'lg', 'xl'] },
44
+ ],
45
+ theme: {
46
+ extend: {
47
+ colors: { ...colors, ...legacyColors },
48
+ fontFamily: {
49
+ ui: 'var(--smz-font-sans)',
50
+ 'ui-mono': 'var(--smz-font-mono)',
51
+ },
52
+ fontSize: {
53
+ 'ui-xs': ['var(--smz-text-xs)', 'var(--smz-leading)'],
54
+ 'ui-sm': ['var(--smz-text-sm)', 'var(--smz-leading)'],
55
+ 'ui-md': ['var(--smz-text-md)', 'var(--smz-leading)'],
56
+ 'ui-lg': ['var(--smz-text-lg)', 'var(--smz-leading)'],
57
+ 'ui-xl': ['var(--smz-text-xl)', 'var(--smz-leading)'],
58
+ },
59
+ height: {
60
+ 'control-sm': 'var(--smz-control-h-sm)',
61
+ control: 'var(--smz-control-h)',
62
+ 'control-lg': 'var(--smz-control-h-lg)',
63
+ },
64
+ minHeight: {
65
+ 'control-sm': 'var(--smz-control-h-sm)',
66
+ control: 'var(--smz-control-h)',
67
+ 'control-lg': 'var(--smz-control-h-lg)',
68
+ },
69
+ padding: {
70
+ 'control-x-sm': 'var(--smz-control-px-sm)',
71
+ 'control-x': 'var(--smz-control-px)',
72
+ 'control-x-lg': 'var(--smz-control-px-lg)',
73
+ 'input-x-sm': 'var(--smz-input-px-sm)',
74
+ 'input-x': 'var(--smz-input-px)',
75
+ },
76
+ borderRadius: {
77
+ control: 'var(--smz-radius-control)',
78
+ card: 'var(--smz-radius-card)',
79
+ overlay: 'var(--smz-radius-overlay)',
80
+ border: 'var(--smz-radius-control)',
81
+ },
82
+ boxShadow: {
83
+ card: 'var(--smz-shadow-card)',
84
+ overlay: 'var(--smz-shadow-overlay)',
85
+ },
86
+ transitionDuration: {
87
+ ui: 'var(--smz-duration)',
88
+ },
89
+ },
90
+ },
91
+ };
@@ -622,12 +622,27 @@ declare class SmzDialogRef<TResult = unknown> {
622
622
  bind(closeHandler: () => void): void;
623
623
  }
624
624
 
625
+ /** Estilos de tamanho que precisam ir para o painel do CDK Overlay (e nao para o frame dentro dele). */
626
+ interface SmzDialogPaneSize {
627
+ width?: string;
628
+ height?: string;
629
+ minWidth?: string;
630
+ maxWidth?: string;
631
+ minHeight?: string;
632
+ maxHeight?: string;
633
+ }
634
+
625
635
  /** Componente que sera criado dentro do dialog. */
626
636
  declare const SMZ_DIALOG_CONTENT: InjectionToken<Type<unknown>>;
627
637
  /** Moldura do dialog: cabecalho com titulo e botao fechar, mais a area do conteudo. */
628
638
  declare class SmzDialogFrameComponent {
629
639
  protected readonly config: SmzDialogConfig<any>;
630
640
  protected readonly ref: SmzDialogRef<any>;
641
+ /** Tamanho vai para o painel do overlay (ver `smzSplitDialogSize`); o frame ocupa 100% dele. */
642
+ protected readonly size: {
643
+ pane: SmzDialogPaneSize;
644
+ rest: Record<string, string | number>;
645
+ };
631
646
  private readonly injector;
632
647
  private readonly contentType;
633
648
  private readonly host;
@@ -690,6 +705,11 @@ declare class SmzDialogComponent implements OnDestroy {
690
705
  private readonly viewContainer;
691
706
  private readonly host;
692
707
  private overlayRef?;
708
+ /** `width`/`height`/`min-*`/`max-*` de `style` vao para o painel do overlay (relativos a viewport); o frame ocupa 100% dele. */
709
+ protected readonly sizing: _angular_core.Signal<{
710
+ pane: SmzDialogPaneSize;
711
+ rest: Record<string, string | number>;
712
+ }>;
693
713
  protected readonly dx: _angular_core.WritableSignal<number>;
694
714
  protected readonly dy: _angular_core.WritableSignal<number>;
695
715
  constructor();
@@ -843,6 +863,7 @@ declare class SmzToastContainerComponent {
843
863
  private readonly timers;
844
864
  protected readonly positionClasses: _angular_core.Signal<string>;
845
865
  protected readonly visibleMessages: _angular_core.Signal<SmzToastMessage[]>;
866
+ private readonly layer;
846
867
  constructor();
847
868
  protected toneClasses(message: SmzToastMessage): string;
848
869
  protected close(message: SmzToastMessage): void;
@@ -1016,6 +1037,10 @@ declare class SmzSelectComponent extends SmzValueAccessor<any> implements OnDest
1016
1037
  protected readonly activeIndex: _angular_core.WritableSignal<number>;
1017
1038
  protected readonly config: _angular_core.Signal<SmzOptionConfig>;
1018
1039
  protected readonly visibleOptions: _angular_core.Signal<any[]>;
1040
+ /** Templates opcionais: `item` (linha da lista) e `selectedItem` (valor exibido no campo), como no `p-select`. */
1041
+ private readonly templates;
1042
+ protected readonly itemTemplate: _angular_core.Signal<TemplateRef<unknown>>;
1043
+ protected readonly selectedItemTemplate: _angular_core.Signal<TemplateRef<unknown>>;
1019
1044
  protected readonly hasValue: _angular_core.Signal<boolean>;
1020
1045
  protected readonly selectedOption: _angular_core.Signal<any>;
1021
1046
  protected readonly displayLabel: _angular_core.Signal<string>;
@@ -1042,7 +1067,7 @@ declare class SmzSelectComponent extends SmzValueAccessor<any> implements OnDest
1042
1067
  private nextEnabled;
1043
1068
  private jumpToLetter;
1044
1069
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmzSelectComponent, never>;
1045
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzSelectComponent, "ui-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "showed": "showed"; "hidden": "hidden"; }, never, never, true, never>;
1070
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzSelectComponent, "ui-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "showed": "showed"; "hidden": "hidden"; }, ["templates"], never, true, never>;
1046
1071
  }
1047
1072
 
1048
1073
  interface SmzMultiSelectChangeEvent {
@@ -1089,6 +1114,10 @@ declare class SmzMultiSelectComponent extends SmzValueAccessor<any[]> implements
1089
1114
  protected readonly activeIndex: _angular_core.WritableSignal<number>;
1090
1115
  protected readonly config: _angular_core.Signal<SmzOptionConfig>;
1091
1116
  protected readonly visibleOptions: _angular_core.Signal<any[]>;
1117
+ /** Templates opcionais: `item` (linha da lista) e `selectedItems` (valor exibido no campo; `$implicit` = valores selecionados), como no `p-multiselect`. */
1118
+ private readonly templates;
1119
+ protected readonly itemTemplate: _angular_core.Signal<TemplateRef<unknown>>;
1120
+ protected readonly selectedItemsTemplate: _angular_core.Signal<TemplateRef<unknown>>;
1092
1121
  protected readonly selectedValues: _angular_core.Signal<any[]>;
1093
1122
  protected readonly selectedOptions: _angular_core.Signal<any[]>;
1094
1123
  protected readonly allSelected: _angular_core.Signal<boolean>;
@@ -1114,7 +1143,7 @@ declare class SmzMultiSelectComponent extends SmzValueAccessor<any[]> implements
1114
1143
  private close;
1115
1144
  private afterClose;
1116
1145
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmzMultiSelectComponent, never>;
1117
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzMultiSelectComponent, "ui-multi-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "selectedItemsLabel": { "alias": "selectedItemsLabel"; "required": false; "isSignal": true; }; "panelStyle": { "alias": "panelStyle"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "panelHide": "panelHide"; "panelShow": "panelShow"; }, never, never, true, never>;
1146
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzMultiSelectComponent, "ui-multi-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "selectedItemsLabel": { "alias": "selectedItemsLabel"; "required": false; "isSignal": true; }; "panelStyle": { "alias": "panelStyle"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "panelHide": "panelHide"; "panelShow": "panelShow"; }, ["templates"], never, true, never>;
1118
1147
  }
1119
1148
 
1120
1149
  interface SmzSelectButtonChangeEvent {
@@ -1377,6 +1406,7 @@ declare class SmzInputNumberComponent extends SmzValueAccessor<number> {
1377
1406
  readonly placeholder: _angular_core.InputSignal<string>;
1378
1407
  readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
1379
1408
  readonly inputId: _angular_core.InputSignal<string>;
1409
+ readonly name: _angular_core.InputSignal<string>;
1380
1410
  readonly inputed: _angular_core.OutputEmitterRef<SmzInputNumberInputEvent>;
1381
1411
  readonly keyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
1382
1412
  readonly blurred: _angular_core.OutputEmitterRef<Event>;
@@ -1402,7 +1432,7 @@ declare class SmzInputNumberComponent extends SmzValueAccessor<number> {
1402
1432
  private round;
1403
1433
  private clamp;
1404
1434
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmzInputNumberComponent, never>;
1405
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzInputNumberComponent, "ui-input-number", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "localeMatcher": { "alias": "localeMatcher"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "currencyDisplay": { "alias": "currencyDisplay"; "required": false; "isSignal": true; }; "useGrouping": { "alias": "useGrouping"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "allowEmpty": { "alias": "allowEmpty"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; }, { "inputed": "inputed"; "keyDown": "keyDown"; "blurred": "blurred"; "focused": "focused"; }, never, never, true, never>;
1435
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzInputNumberComponent, "ui-input-number", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "localeMatcher": { "alias": "localeMatcher"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "currencyDisplay": { "alias": "currencyDisplay"; "required": false; "isSignal": true; }; "useGrouping": { "alias": "useGrouping"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "allowEmpty": { "alias": "allowEmpty"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, { "inputed": "inputed"; "keyDown": "keyDown"; "blurred": "blurred"; "focused": "focused"; }, never, never, true, never>;
1406
1436
  }
1407
1437
 
1408
1438
  /** Formata uma data (so a parte de data) no formato estilo jQuery UI: d, dd, o, oo, D, DD, m, mm, M, MM, y, yy, @, !. */
@@ -1615,6 +1645,7 @@ declare class SmzInputMaskComponent extends SmzValueAccessor<string> {
1615
1645
  readonly placeholder: _angular_core.InputSignal<string>;
1616
1646
  readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
1617
1647
  readonly inputId: _angular_core.InputSignal<string>;
1648
+ readonly name: _angular_core.InputSignal<string>;
1618
1649
  /** Tipo do `<input>` nativo (`text`, `tel`, `password`...). */
1619
1650
  readonly type: _angular_core.InputSignal<string>;
1620
1651
  readonly inputed: _angular_core.OutputEmitterRef<Event>;
@@ -1626,7 +1657,11 @@ declare class SmzInputMaskComponent extends SmzValueAccessor<string> {
1626
1657
  private readonly focusedState;
1627
1658
  protected readonly parsed: _angular_core.Signal<ParsedMask>;
1628
1659
  protected readonly display: _angular_core.Signal<string>;
1629
- writeValue(value: string | null): void;
1660
+ /**
1661
+ * Aceita `number` alem de `string` (ex.: `FormControl` com `5`): o valor e convertido para texto antes de distribuir
1662
+ * nos slots, senao `text.length` e `undefined` e o campo abre vazio.
1663
+ */
1664
+ writeValue(value: string | number | null): void;
1630
1665
  protected onFocus(): void;
1631
1666
  protected onKeydown(event: KeyboardEvent): void;
1632
1667
  /**
@@ -1640,7 +1675,7 @@ declare class SmzInputMaskComponent extends SmzValueAccessor<string> {
1640
1675
  private apply;
1641
1676
  private moveCaret;
1642
1677
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmzInputMaskComponent, never>;
1643
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzInputMaskComponent, "ui-input-mask", never, { "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "slotChar": { "alias": "slotChar"; "required": false; "isSignal": true; }; "characterPattern": { "alias": "characterPattern"; "required": false; "isSignal": true; }; "unmask": { "alias": "unmask"; "required": false; "isSignal": true; }; "autoClear": { "alias": "autoClear"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "inputed": "inputed"; "blurred": "blurred"; "completed": "completed"; }, never, never, true, never>;
1678
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzInputMaskComponent, "ui-input-mask", never, { "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "slotChar": { "alias": "slotChar"; "required": false; "isSignal": true; }; "characterPattern": { "alias": "characterPattern"; "required": false; "isSignal": true; }; "unmask": { "alias": "unmask"; "required": false; "isSignal": true; }; "autoClear": { "alias": "autoClear"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "inputed": "inputed"; "blurred": "blurred"; "completed": "completed"; }, never, never, true, never>;
1644
1679
  }
1645
1680
 
1646
1681
  /**
@@ -1819,6 +1854,8 @@ declare class SmzUiTimelineComponent {
1819
1854
  protected readonly contentTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
1820
1855
  protected readonly oppositeTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
1821
1856
  protected readonly horizontal: _angular_core.Signal<boolean>;
1857
+ /** No layout horizontal, o conteudo fica acima da linha em `top` e nos itens impares de `alternate`/`right`. */
1858
+ protected contentOnTop(index: number): boolean;
1822
1859
  protected rowReverse(index: number): boolean;
1823
1860
  protected oppositeClass(index: number): string;
1824
1861
  protected contentClass(index: number): string;
@@ -2213,6 +2250,11 @@ declare class SmzPanelComponent {
2213
2250
  readonly header: _angular_core.InputSignal<string>;
2214
2251
  readonly toggleable: _angular_core.InputSignalWithTransform<boolean, unknown>;
2215
2252
  readonly collapsed: _angular_core.ModelSignal<boolean>;
2253
+ /**
2254
+ * O que alterna o painel: `icon` (padrao; so o botao) ou `header` (o cabecalho inteiro, exceto elementos
2255
+ * interativos dentro dele, como botoes do template `icons`). Equivale ao `toggler` do `p-panel`.
2256
+ */
2257
+ readonly toggler: _angular_core.InputSignal<"icon" | "header">;
2216
2258
  /** Antes de alternar (cancelavel nao: apenas notifica). */
2217
2259
  readonly beforeToggle: _angular_core.OutputEmitterRef<{
2218
2260
  originalEvent: Event;
@@ -2227,9 +2269,13 @@ declare class SmzPanelComponent {
2227
2269
  protected readonly iconsTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
2228
2270
  protected readonly footerTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
2229
2271
  protected readonly hasHeader: _angular_core.Signal<boolean>;
2272
+ protected readonly headerToggles: _angular_core.Signal<boolean>;
2273
+ protected onIconClick(event: Event): void;
2274
+ protected onHeaderClick(event: Event): void;
2275
+ protected onHeaderKey(event: Event): void;
2230
2276
  protected toggle(event: Event): void;
2231
2277
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmzPanelComponent, never>;
2232
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzPanelComponent, "ui-panel", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "beforeToggle": "beforeToggle"; "afterToggle": "afterToggle"; }, ["templates"], ["*"], true, never>;
2278
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmzPanelComponent, "ui-panel", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "toggler": { "alias": "toggler"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "beforeToggle": "beforeToggle"; "afterToggle": "afterToggle"; }, ["templates"], ["*"], true, never>;
2233
2279
  }
2234
2280
 
2235
2281
  /**
@@ -2315,7 +2361,7 @@ interface SmzTreeTableNodeEvent {
2315
2361
  type SmzTreeTableSelectionMode = 'single' | 'multiple' | 'checkbox';
2316
2362
  /**
2317
2363
  * Tabela em arvore. Substitui o `p-treeTable` do PrimeNG.
2318
- * Os templates `header`, `body`, `caption`, `footer`, `emptymessage` e `summary` usam `smzTemplate`;
2364
+ * Os templates `colgroup`, `header`, `body`, `caption`, `footer`, `emptymessage` e `summary` usam `smzTemplate`;
2319
2365
  * o `body` recebe `let-rowNode let-rowData="rowData" let-columns="columns"`.
2320
2366
  *
2321
2367
  * <ui-tree-table [value]="nodes" [columns]="cols" selectionMode="checkbox" [(selection)]="sel">
@@ -2362,6 +2408,8 @@ declare class SmzTreeTableComponent {
2362
2408
  readonly page: _angular_core.OutputEmitterRef<unknown>;
2363
2409
  private readonly templates;
2364
2410
  protected readonly headerTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
2411
+ /** `<colgroup>` com as larguras das colunas (como no `p-treeTable`); quando existe, a tabela usa `table-layout: fixed`. */
2412
+ protected readonly colgroupTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
2365
2413
  protected readonly bodyTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
2366
2414
  protected readonly captionTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
2367
2415
  protected readonly footerTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
@@ -2435,7 +2483,10 @@ declare class SmzTreeTableHeaderCheckboxComponent {
2435
2483
  declare class SmzTreeTableSortableColumnDirective {
2436
2484
  protected readonly table: SmzTreeTableComponent;
2437
2485
  readonly field: _angular_core.InputSignal<string>;
2438
- protected ariaSort(): string;
2486
+ /** Coluna ordenada agora (inclui o `sortField`/`sortOrder` iniciais da tabela, sem precisar de clique). */
2487
+ protected readonly sorted: _angular_core.Signal<boolean>;
2488
+ protected readonly classes: _angular_core.Signal<string>;
2489
+ protected readonly ariaSort: _angular_core.Signal<"none" | "ascending" | "descending">;
2439
2490
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmzTreeTableSortableColumnDirective, never>;
2440
2491
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SmzTreeTableSortableColumnDirective, "th[smzTtSortableColumn]", never, { "field": { "alias": "smzTtSortableColumn"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2441
2492
  }