@muxima-ui/core 1.4.0 → 1.5.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.
- package/README.md +11 -0
- package/fesm2022/muxima-ui-core-alert.mjs +5 -3
- package/fesm2022/muxima-ui-core-alert.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-breadcrumb.mjs +5 -3
- package/fesm2022/muxima-ui-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-carousel.mjs +19 -17
- package/fesm2022/muxima-ui-core-carousel.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-chips.mjs +19 -14
- package/fesm2022/muxima-ui-core-chips.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-clipboard.mjs +10 -6
- package/fesm2022/muxima-ui-core-clipboard.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-color-picker.mjs +53 -50
- package/fesm2022/muxima-ui-core-color-picker.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-combobox.mjs +15 -12
- package/fesm2022/muxima-ui-core-combobox.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-command.mjs +21 -16
- package/fesm2022/muxima-ui-core-command.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-data-grid.mjs +50 -52
- package/fesm2022/muxima-ui-core-data-grid.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-date-picker.mjs +97 -69
- package/fesm2022/muxima-ui-core-date-picker.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-editor.mjs +25 -19
- package/fesm2022/muxima-ui-core-editor.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-file-upload.mjs +30 -25
- package/fesm2022/muxima-ui-core-file-upload.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-i18n.mjs +550 -0
- package/fesm2022/muxima-ui-core-i18n.mjs.map +1 -0
- package/fesm2022/muxima-ui-core-image-cropper.mjs +27 -24
- package/fesm2022/muxima-ui-core-image-cropper.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-kanban.mjs +22 -19
- package/fesm2022/muxima-ui-core-kanban.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-notification-center.mjs +41 -36
- package/fesm2022/muxima-ui-core-notification-center.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-pagination.mjs +29 -26
- package/fesm2022/muxima-ui-core-pagination.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-progress.mjs +5 -3
- package/fesm2022/muxima-ui-core-progress.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-rating.mjs +12 -8
- package/fesm2022/muxima-ui-core-rating.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-select.mjs +14 -11
- package/fesm2022/muxima-ui-core-select.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-sidebar.mjs +10 -7
- package/fesm2022/muxima-ui-core-sidebar.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-slider.mjs +8 -6
- package/fesm2022/muxima-ui-core-slider.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-stepper.mjs +5 -3
- package/fesm2022/muxima-ui-core-stepper.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-table.mjs +4 -4
- package/fesm2022/muxima-ui-core-table.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-time-picker.mjs +7 -5
- package/fesm2022/muxima-ui-core-time-picker.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-toast.mjs +8 -5
- package/fesm2022/muxima-ui-core-toast.mjs.map +1 -1
- package/fesm2022/muxima-ui-core-tour.mjs +10 -11
- package/fesm2022/muxima-ui-core-tour.mjs.map +1 -1
- package/fesm2022/muxima-ui-core.mjs +1 -1
- package/fesm2022/muxima-ui-core.mjs.map +1 -1
- package/package.json +6 -2
- package/styles/components/data-grid.css +1 -0
- package/types/muxima-ui-core-alert.d.ts +3 -1
- package/types/muxima-ui-core-breadcrumb.d.ts +6 -4
- package/types/muxima-ui-core-carousel.d.ts +4 -2
- package/types/muxima-ui-core-chips.d.ts +23 -3
- package/types/muxima-ui-core-clipboard.d.ts +6 -3
- package/types/muxima-ui-core-color-picker.d.ts +40 -7
- package/types/muxima-ui-core-combobox.d.ts +6 -3
- package/types/muxima-ui-core-command.d.ts +7 -3
- package/types/muxima-ui-core-data-grid.d.ts +31 -11
- package/types/muxima-ui-core-date-picker.d.ts +59 -14
- package/types/muxima-ui-core-editor.d.ts +13 -2
- package/types/muxima-ui-core-file-upload.d.ts +22 -6
- package/types/muxima-ui-core-i18n.d.ts +322 -0
- package/types/muxima-ui-core-image-cropper.d.ts +19 -6
- package/types/muxima-ui-core-kanban.d.ts +16 -3
- package/types/muxima-ui-core-notification-center.d.ts +30 -8
- package/types/muxima-ui-core-pagination.d.ts +16 -1
- package/types/muxima-ui-core-progress.d.ts +10 -8
- package/types/muxima-ui-core-rating.d.ts +6 -2
- package/types/muxima-ui-core-select.d.ts +6 -3
- package/types/muxima-ui-core-sidebar.d.ts +6 -3
- package/types/muxima-ui-core-slider.d.ts +4 -2
- package/types/muxima-ui-core-stepper.d.ts +10 -8
- package/types/muxima-ui-core-table.d.ts +3 -3
- package/types/muxima-ui-core-time-picker.d.ts +3 -1
- package/types/muxima-ui-core-toast.d.ts +3 -0
- package/types/muxima-ui-core-tour.d.ts +6 -1
- package/types/muxima-ui-core.d.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
|
|
3
4
|
type MxAlertVariant = 'info' | 'success' | 'warning' | 'danger';
|
|
@@ -26,7 +27,8 @@ declare class MxAlertTitle {
|
|
|
26
27
|
}
|
|
27
28
|
/** Botão de fechar do alerta. Esconder o alerta fica a cargo da aplicação (ex.: com @if). */
|
|
28
29
|
declare class MxAlertClose {
|
|
29
|
-
readonly label: i0.InputSignal<string>;
|
|
30
|
+
readonly label: i0.InputSignal<string | undefined>;
|
|
31
|
+
protected readonly i18n: i0.Signal<_muxima_ui_core_i18n.MxMessages>;
|
|
30
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<MxAlertClose, never>;
|
|
31
33
|
static ɵdir: i0.ɵɵDirectiveDeclaration<MxAlertClose, "button[mxAlertClose]", never, { "label": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
32
34
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Migalhas: mostram onde a página está na hierarquia.
|
|
@@ -16,9 +17,10 @@ import * as i0 from '@angular/core';
|
|
|
16
17
|
* Os separadores são desenhados em CSS, por isso o leitor de ecrã não os lê.
|
|
17
18
|
*/
|
|
18
19
|
declare class MxBreadcrumb {
|
|
19
|
-
readonly ariaLabel:
|
|
20
|
-
|
|
21
|
-
static
|
|
20
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
21
|
+
protected readonly i18n: _angular_core.Signal<_muxima_ui_core_i18n.MxMessages>;
|
|
22
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MxBreadcrumb, never>;
|
|
23
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MxBreadcrumb, "nav[mxBreadcrumb]", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
export { MxBreadcrumb };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
3
|
|
|
3
4
|
/** Um diapositivo. O carrossel dá-lhe o nome "2 de 5" e tira do teclado os que não se vêem. */
|
|
@@ -37,8 +38,9 @@ declare class MxCarousel {
|
|
|
37
38
|
readonly indicators: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
38
39
|
/** Botões anterior e seguinte. Sem eles, dá à pessoa outra forma de mudar ([(index)]). */
|
|
39
40
|
readonly controls: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
40
|
-
readonly prevLabel: _angular_core.InputSignal<string>;
|
|
41
|
-
readonly nextLabel: _angular_core.InputSignal<string>;
|
|
41
|
+
readonly prevLabel: _angular_core.InputSignal<string | undefined>;
|
|
42
|
+
readonly nextLabel: _angular_core.InputSignal<string | undefined>;
|
|
43
|
+
readonly i18n: _angular_core.Signal<_muxima_ui_core_i18n.MxMessages>;
|
|
42
44
|
readonly slides: _angular_core.Signal<readonly MxCarouselSlide[]>;
|
|
43
45
|
private readonly viewport;
|
|
44
46
|
private readonly reducedMotion;
|
|
@@ -19,8 +19,18 @@ declare class MxChip {
|
|
|
19
19
|
readonly variant: _angular_core.InputSignal<"default" | "outline" | "accent">;
|
|
20
20
|
readonly size: _angular_core.InputSignal<"sm" | "md">;
|
|
21
21
|
/** Verbo do botão de remover, seguido do texto do chip. */
|
|
22
|
-
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
22
|
+
readonly removeLabel: _angular_core.InputSignal<string | undefined>;
|
|
23
23
|
readonly removed: _angular_core.OutputEmitterRef<void>;
|
|
24
|
+
protected readonly msg: _angular_core.Signal<{
|
|
25
|
+
remove: string;
|
|
26
|
+
list: string;
|
|
27
|
+
help: string;
|
|
28
|
+
added: (tag: string) => string;
|
|
29
|
+
removed: (tag: string) => string;
|
|
30
|
+
max: (max: number) => string;
|
|
31
|
+
duplicate: (tag: string) => string;
|
|
32
|
+
}>;
|
|
33
|
+
private readonly i18n;
|
|
24
34
|
private readonly label;
|
|
25
35
|
protected readonly text: _angular_core.WritableSignal<string>;
|
|
26
36
|
constructor();
|
|
@@ -67,8 +77,8 @@ declare class MxTagInput implements ControlValueAccessor, MxFormFieldControl {
|
|
|
67
77
|
/** Valida cada etiqueta antes de a acrescentar (ex.: email). Devolve a mensagem de erro ou null. */
|
|
68
78
|
readonly validate: _angular_core.InputSignal<(tag: string) => string | null>;
|
|
69
79
|
/** Nome da lista para o leitor de ecrã. */
|
|
70
|
-
readonly listLabel: _angular_core.InputSignal<string>;
|
|
71
|
-
readonly helpText: _angular_core.InputSignal<string>;
|
|
80
|
+
readonly listLabel: _angular_core.InputSignal<string | undefined>;
|
|
81
|
+
readonly helpText: _angular_core.InputSignal<string | undefined>;
|
|
72
82
|
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
73
83
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
74
84
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -83,6 +93,16 @@ declare class MxTagInput implements ControlValueAccessor, MxFormFieldControl {
|
|
|
83
93
|
protected readonly field: MxFormField | null;
|
|
84
94
|
private readonly ngControl;
|
|
85
95
|
private readonly announcer;
|
|
96
|
+
private readonly i18n;
|
|
97
|
+
protected readonly msg: _angular_core.Signal<{
|
|
98
|
+
remove: string;
|
|
99
|
+
list: string;
|
|
100
|
+
help: string;
|
|
101
|
+
added: (tag: string) => string;
|
|
102
|
+
removed: (tag: string) => string;
|
|
103
|
+
max: (max: number) => string;
|
|
104
|
+
duplicate: (tag: string) => string;
|
|
105
|
+
}>;
|
|
86
106
|
private readonly host;
|
|
87
107
|
private readonly input;
|
|
88
108
|
private readonly injector;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -11,7 +12,8 @@ import * as _angular_core from '@angular/core';
|
|
|
11
12
|
declare class MxCopy {
|
|
12
13
|
readonly text: _angular_core.InputSignal<string>;
|
|
13
14
|
/** Mensagem anunciada ao copiar. */
|
|
14
|
-
readonly copiedMessage: _angular_core.InputSignal<string>;
|
|
15
|
+
readonly copiedMessage: _angular_core.InputSignal<string | undefined>;
|
|
16
|
+
private readonly i18n;
|
|
15
17
|
readonly copiedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
16
18
|
private readonly clipboard;
|
|
17
19
|
private readonly announcer;
|
|
@@ -32,8 +34,9 @@ declare class MxCopy {
|
|
|
32
34
|
*/
|
|
33
35
|
declare class MxCopyButton {
|
|
34
36
|
protected readonly copy: MxCopy;
|
|
35
|
-
readonly
|
|
36
|
-
readonly
|
|
37
|
+
protected readonly i18n: _angular_core.Signal<_muxima_ui_core_i18n.MxMessages>;
|
|
38
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
39
|
+
readonly copiedLabel: _angular_core.InputSignal<string | undefined>;
|
|
37
40
|
readonly size: _angular_core.InputSignal<"sm" | "md">;
|
|
38
41
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MxCopyButton, never>;
|
|
39
42
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MxCopyButton, "button[mxCopyButton]", ["mxCopyButton"], { "label": { "alias": "label"; "required": false; "isSignal": true; }; "copiedLabel": { "alias": "copiedLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof MxCopy; inputs: { "mxCopy": "value"; }; outputs: { "mxCopied": "mxCopied"; }; }]>;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
2
|
+
import { MxColorNames } from '@muxima-ui/core/i18n';
|
|
1
3
|
import * as _angular_core from '@angular/core';
|
|
2
4
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
3
5
|
import { ControlValueAccessor } from '@angular/forms';
|
|
@@ -25,8 +27,11 @@ declare function mxHexToHsva(hex: string): MxHsva;
|
|
|
25
27
|
declare function mxHsvaToHex({ h, s, v, a }: MxHsva): string;
|
|
26
28
|
/** Contraste WCAG entre duas cores (1 a 21). */
|
|
27
29
|
declare function mxContrast(a: string, b: string): number;
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Nome aproximado da cor, para o leitor de ecrã: "azul escuro", "cinzento claro".
|
|
32
|
+
* Por omissão em português; passa `names` para outro idioma (ex.: `MX_MESSAGES_EN.colorPicker.names`).
|
|
33
|
+
*/
|
|
34
|
+
declare function mxColorName(hex: string, names?: MxColorNames): string;
|
|
30
35
|
|
|
31
36
|
/** Amostra pronta: só a cor, ou cor e nome. */
|
|
32
37
|
type MxColorSwatch = string | {
|
|
@@ -54,10 +59,24 @@ declare class MxColorPanel {
|
|
|
54
59
|
/** Só as amostras: uma paleta fechada, sem área nem matiz. */
|
|
55
60
|
readonly swatchesOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
56
61
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
57
|
-
readonly areaLabel: _angular_core.InputSignal<string>;
|
|
58
|
-
readonly
|
|
59
|
-
readonly
|
|
60
|
-
|
|
62
|
+
readonly areaLabel: _angular_core.InputSignal<string | undefined>;
|
|
63
|
+
private readonly i18n;
|
|
64
|
+
protected readonly msg: _angular_core.Signal<{
|
|
65
|
+
choose: string;
|
|
66
|
+
change: (name: string, hex: string) => string;
|
|
67
|
+
area: string;
|
|
68
|
+
hue: string;
|
|
69
|
+
alpha: string;
|
|
70
|
+
swatches: string;
|
|
71
|
+
eyeDropper: string;
|
|
72
|
+
hex: string;
|
|
73
|
+
areaValue: (saturation: number, brightness: number, name: string) => string;
|
|
74
|
+
hueValue: (degrees: number, name: string) => string;
|
|
75
|
+
names: _muxima_ui_core_i18n.MxColorNames;
|
|
76
|
+
}>;
|
|
77
|
+
readonly hueLabel: _angular_core.InputSignal<string | undefined>;
|
|
78
|
+
readonly alphaLabel: _angular_core.InputSignal<string | undefined>;
|
|
79
|
+
readonly swatchesLabel: _angular_core.InputSignal<string | undefined>;
|
|
61
80
|
/** Emite ao largar o rato, escolher amostra ou terminar de escrever (para guardar). */
|
|
62
81
|
readonly committed: _angular_core.OutputEmitterRef<string>;
|
|
63
82
|
private readonly area;
|
|
@@ -106,7 +125,21 @@ declare class MxColorPicker implements ControlValueAccessor, MxFormFieldControl
|
|
|
106
125
|
readonly alpha: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
107
126
|
readonly swatches: _angular_core.InputSignal<MxColorSwatch[]>;
|
|
108
127
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
109
|
-
readonly dialogLabel: _angular_core.InputSignal<string>;
|
|
128
|
+
readonly dialogLabel: _angular_core.InputSignal<string | undefined>;
|
|
129
|
+
private readonly i18n;
|
|
130
|
+
protected readonly msg: _angular_core.Signal<{
|
|
131
|
+
choose: string;
|
|
132
|
+
change: (name: string, hex: string) => string;
|
|
133
|
+
area: string;
|
|
134
|
+
hue: string;
|
|
135
|
+
alpha: string;
|
|
136
|
+
swatches: string;
|
|
137
|
+
eyeDropper: string;
|
|
138
|
+
hex: string;
|
|
139
|
+
areaValue: (saturation: number, brightness: number, name: string) => string;
|
|
140
|
+
hueValue: (degrees: number, name: string) => string;
|
|
141
|
+
names: _muxima_ui_core_i18n.MxColorNames;
|
|
142
|
+
}>;
|
|
110
143
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
111
144
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
112
145
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
3
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
3
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
@@ -21,11 +22,13 @@ declare class MxCombobox<T = unknown> implements ControlValueAccessor, MxFormFie
|
|
|
21
22
|
/** Texto de cada opção. Por omissão, String(opção). */
|
|
22
23
|
readonly displayWith: _angular_core.InputSignal<(option: T) => string>;
|
|
23
24
|
readonly compareWith: _angular_core.InputSignal<(a: T | null, b: T | null) => boolean>;
|
|
24
|
-
readonly placeholder: _angular_core.InputSignal<string>;
|
|
25
|
-
readonly
|
|
25
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
26
|
+
protected readonly i18n: _angular_core.Signal<_muxima_ui_core_i18n.MxMessages>;
|
|
27
|
+
protected readonly placeholderText: _angular_core.Signal<string>;
|
|
28
|
+
readonly emptyText: _angular_core.InputSignal<string | undefined>;
|
|
26
29
|
/** Resultados a chegar (pesquisa no servidor): mostra um indicador no campo e na lista. */
|
|
27
30
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
28
|
-
readonly loadingText: _angular_core.InputSignal<string>;
|
|
31
|
+
readonly loadingText: _angular_core.InputSignal<string | undefined>;
|
|
29
32
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
30
33
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
31
34
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _muxima_ui_core_i18n from '@muxima-ui/core/i18n';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
3
|
import { TemplateRef } from '@angular/core';
|
|
3
4
|
import { DialogRef } from '@angular/cdk/dialog';
|
|
@@ -33,9 +34,11 @@ declare class MxCommandItemTemplate {
|
|
|
33
34
|
*/
|
|
34
35
|
declare class MxCommand<D = unknown> {
|
|
35
36
|
readonly items: _angular_core.InputSignal<readonly MxCommandItem<D>[]>;
|
|
36
|
-
readonly placeholder: _angular_core.InputSignal<string>;
|
|
37
|
-
readonly emptyText: _angular_core.InputSignal<string>;
|
|
38
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
37
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
38
|
+
readonly emptyText: _angular_core.InputSignal<string | undefined>;
|
|
39
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
40
|
+
protected readonly i18n: _angular_core.Signal<_muxima_ui_core_i18n.MxMessages>;
|
|
41
|
+
protected readonly labelText: _angular_core.Signal<string>;
|
|
39
42
|
readonly selected: _angular_core.OutputEmitterRef<MxCommandItem<D>>;
|
|
40
43
|
protected readonly itemTemplate: _angular_core.Signal<MxCommandItemTemplate | undefined>;
|
|
41
44
|
private readonly host;
|
|
@@ -81,6 +84,7 @@ declare class MxCommandPaletteDialog {
|
|
|
81
84
|
*/
|
|
82
85
|
declare class MxCommandPalette {
|
|
83
86
|
private readonly dialog;
|
|
87
|
+
private readonly i18n;
|
|
84
88
|
open<D>(items: MxCommandItem<D>[], options?: {
|
|
85
89
|
placeholder?: string;
|
|
86
90
|
label?: string;
|
|
@@ -85,18 +85,38 @@ declare class MxDataGrid<T = any> {
|
|
|
85
85
|
readonly density: _angular_core.InputSignal<"comfortable" | "compact">;
|
|
86
86
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
87
87
|
readonly columnMenu: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
88
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
88
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
89
|
+
private readonly i18n;
|
|
90
|
+
protected readonly msg: _angular_core.Signal<{
|
|
91
|
+
label: string;
|
|
92
|
+
empty: string;
|
|
93
|
+
loading: string;
|
|
94
|
+
columns: string;
|
|
95
|
+
filter: string;
|
|
96
|
+
all: string;
|
|
97
|
+
selectAll: string;
|
|
98
|
+
selectRow: string;
|
|
99
|
+
selection: string;
|
|
100
|
+
resizeHint: string;
|
|
101
|
+
numberFilter: (filter: string, column: string) => string;
|
|
102
|
+
rows: (n: string, count: number) => string;
|
|
103
|
+
of: (total: string) => string;
|
|
104
|
+
selected: (n: string, count: number) => string;
|
|
105
|
+
sorted: (column: string, direction: "asc" | "desc") => string;
|
|
106
|
+
unsorted: string;
|
|
107
|
+
width: (column: string, px: number) => string;
|
|
108
|
+
}>;
|
|
89
109
|
/** Coluna cujo texto identifica a linha nos nomes ("Seleccionar FT 2026/0201"). */
|
|
90
110
|
readonly labelKey: _angular_core.InputSignal<string | null>;
|
|
91
|
-
readonly emptyText: _angular_core.InputSignal<string>;
|
|
92
|
-
readonly loadingText: _angular_core.InputSignal<string>;
|
|
93
|
-
readonly columnsText: _angular_core.InputSignal<string>;
|
|
94
|
-
readonly filterText: _angular_core.InputSignal<string>;
|
|
95
|
-
readonly allText: _angular_core.InputSignal<string>;
|
|
96
|
-
readonly selectAllText: _angular_core.InputSignal<string>;
|
|
97
|
-
readonly selectRowText: _angular_core.InputSignal<string>;
|
|
98
|
-
readonly selectText: _angular_core.InputSignal<string>;
|
|
99
|
-
readonly resizeHint: _angular_core.InputSignal<string>;
|
|
111
|
+
readonly emptyText: _angular_core.InputSignal<string | undefined>;
|
|
112
|
+
readonly loadingText: _angular_core.InputSignal<string | undefined>;
|
|
113
|
+
readonly columnsText: _angular_core.InputSignal<string | undefined>;
|
|
114
|
+
readonly filterText: _angular_core.InputSignal<string | undefined>;
|
|
115
|
+
readonly allText: _angular_core.InputSignal<string | undefined>;
|
|
116
|
+
readonly selectAllText: _angular_core.InputSignal<string | undefined>;
|
|
117
|
+
readonly selectRowText: _angular_core.InputSignal<string | undefined>;
|
|
118
|
+
readonly selectText: _angular_core.InputSignal<string | undefined>;
|
|
119
|
+
readonly resizeHint: _angular_core.InputSignal<string | undefined>;
|
|
100
120
|
/** Enter ou duplo clique numa linha. */
|
|
101
121
|
readonly rowActivate: _angular_core.OutputEmitterRef<T>;
|
|
102
122
|
private readonly cells;
|
|
@@ -115,7 +135,7 @@ declare class MxDataGrid<T = any> {
|
|
|
115
135
|
/** Célula activa: linha e coluna na grelha (0 = cabeçalho). */
|
|
116
136
|
private readonly active;
|
|
117
137
|
protected readonly showToolbar: _angular_core.Signal<boolean>;
|
|
118
|
-
protected readonly offset: _angular_core.Signal<
|
|
138
|
+
protected readonly offset: _angular_core.Signal<0 | 1>;
|
|
119
139
|
protected readonly hasFilters: _angular_core.Signal<boolean>;
|
|
120
140
|
protected readonly headerRows: _angular_core.Signal<number>;
|
|
121
141
|
protected readonly hideableColumns: _angular_core.Signal<MxGridColumn<T>[]>;
|
|
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import { MxFormFieldControl, MxFormField } from '@muxima-ui/core/form-field';
|
|
5
|
+
import { MxMessages } from '@muxima-ui/core/i18n';
|
|
5
6
|
|
|
6
7
|
/** Data sem horas, para comparar dias. */
|
|
7
8
|
declare function mxStartOfDay(d: Date): Date;
|
|
@@ -31,9 +32,22 @@ declare class MxCalendar {
|
|
|
31
32
|
readonly max: _angular_core.InputSignal<Date | null>;
|
|
32
33
|
/** Dias que não se podem escolher (ex.: fins-de-semana). */
|
|
33
34
|
readonly dateDisabled: _angular_core.InputSignal<(d: Date) => boolean>;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
/** Locale dos nomes dos meses e dos dias; por omissão o do idioma activo. */
|
|
36
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
37
|
+
/** Primeiro dia da semana: 0 = domingo, 1 = segunda-feira. Por omissão o do idioma activo. */
|
|
38
|
+
readonly firstDayOfWeek: _angular_core.InputSignal<number | undefined>;
|
|
39
|
+
private readonly i18n;
|
|
40
|
+
protected readonly msg: _angular_core.Signal<{
|
|
41
|
+
previousMonth: (month: string) => string;
|
|
42
|
+
nextMonth: (month: string) => string;
|
|
43
|
+
rangeStart: string;
|
|
44
|
+
rangeEnd: string;
|
|
45
|
+
rangeStartEnd: string;
|
|
46
|
+
rangeHint: (start: string, end: string) => string;
|
|
47
|
+
rangeStartHint: (start: string) => string;
|
|
48
|
+
}>;
|
|
49
|
+
private readonly loc;
|
|
50
|
+
private readonly firstDay;
|
|
37
51
|
readonly selected: _angular_core.OutputEmitterRef<Date>;
|
|
38
52
|
/** `single` escolhe um dia; `range` escolhe um intervalo em [(range)]. */
|
|
39
53
|
readonly mode: _angular_core.InputSignal<"single" | "range">;
|
|
@@ -88,8 +102,10 @@ declare class MxCalendar {
|
|
|
88
102
|
}
|
|
89
103
|
|
|
90
104
|
/** Converte "dd/mm/aaaa" numa data. Aceita também "-" e "." como separadores. */
|
|
91
|
-
|
|
92
|
-
|
|
105
|
+
/** Ordem do dia (d), mês (m) e ano (y) numa data escrita. */
|
|
106
|
+
type MxDateOrder = 'dmy' | 'mdy' | 'ymd';
|
|
107
|
+
declare function mxParseDate(text: string, order?: MxDateOrder): Date | null;
|
|
108
|
+
declare function mxFormatDate(d: Date | null, order?: MxDateOrder): string;
|
|
93
109
|
/**
|
|
94
110
|
* Campo de data: escreve-se "dd/mm/aaaa" ou escolhe-se no calendário.
|
|
95
111
|
* O calendário abre num diálogo não modal com foco no dia; Escape fecha.
|
|
@@ -109,8 +125,17 @@ declare class MxDatePicker implements ControlValueAccessor, MxFormFieldControl {
|
|
|
109
125
|
readonly min: _angular_core.InputSignal<Date | null>;
|
|
110
126
|
readonly max: _angular_core.InputSignal<Date | null>;
|
|
111
127
|
readonly dateDisabled: _angular_core.InputSignal<(d: Date) => boolean>;
|
|
112
|
-
|
|
113
|
-
readonly
|
|
128
|
+
/** Locale dos nomes dos meses e dos dias; por omissão o do idioma activo. */
|
|
129
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
130
|
+
/** Por omissão "dd/mm/aaaa" em português e "mm/dd/yyyy" em inglês. */
|
|
131
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
132
|
+
private readonly i18n;
|
|
133
|
+
protected readonly msg: _angular_core.Signal<{
|
|
134
|
+
placeholder: string;
|
|
135
|
+
choose: string;
|
|
136
|
+
change: (date: string) => string;
|
|
137
|
+
}>;
|
|
138
|
+
protected readonly loc: _angular_core.Signal<string>;
|
|
114
139
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
115
140
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
116
141
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -166,8 +191,12 @@ interface MxDateRangePreset {
|
|
|
166
191
|
end: Date;
|
|
167
192
|
};
|
|
168
193
|
}
|
|
169
|
-
/**
|
|
170
|
-
|
|
194
|
+
/**
|
|
195
|
+
* Atalhos comuns: últimos 7 e 30 dias, este mês e o mês passado.
|
|
196
|
+
* Os nomes vêm de `labels` (por omissão em português); para o idioma activo,
|
|
197
|
+
* usa `mxDefaultRangePresets(inject(MxI18n).messages().dateRangePicker)`.
|
|
198
|
+
*/
|
|
199
|
+
declare function mxDefaultRangePresets(labels?: MxMessages['dateRangePicker']): MxDateRangePreset[];
|
|
171
200
|
/**
|
|
172
201
|
* Campo de intervalo de datas: dois campos (início e fim) que se escrevem em "dd/mm/aaaa"
|
|
173
202
|
* ou se escolhem num calendário, com atalhos opcionais.
|
|
@@ -188,10 +217,26 @@ declare class MxDateRangePicker implements ControlValueAccessor, MxFormFieldCont
|
|
|
188
217
|
readonly max: _angular_core.InputSignal<Date | null>;
|
|
189
218
|
readonly dateDisabled: _angular_core.InputSignal<(d: Date) => boolean>;
|
|
190
219
|
readonly presets: _angular_core.InputSignal<MxDateRangePreset[]>;
|
|
191
|
-
|
|
192
|
-
readonly
|
|
193
|
-
|
|
194
|
-
readonly
|
|
220
|
+
/** Locale dos nomes dos meses e dos dias; por omissão o do idioma activo. */
|
|
221
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
222
|
+
/** Por omissão "dd/mm/aaaa" em português e "mm/dd/yyyy" em inglês. */
|
|
223
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
224
|
+
readonly startLabel: _angular_core.InputSignal<string | undefined>;
|
|
225
|
+
readonly endLabel: _angular_core.InputSignal<string | undefined>;
|
|
226
|
+
private readonly i18n;
|
|
227
|
+
protected readonly msg: _angular_core.Signal<{
|
|
228
|
+
start: string;
|
|
229
|
+
end: string;
|
|
230
|
+
choose: string;
|
|
231
|
+
change: (start: string, end: string) => string;
|
|
232
|
+
presets: string;
|
|
233
|
+
last7Days: string;
|
|
234
|
+
last30Days: string;
|
|
235
|
+
thisMonth: string;
|
|
236
|
+
lastMonth: string;
|
|
237
|
+
}>;
|
|
238
|
+
protected readonly loc: _angular_core.Signal<string>;
|
|
239
|
+
protected readonly placeholderText: _angular_core.Signal<string>;
|
|
195
240
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
196
241
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
197
242
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -258,4 +303,4 @@ declare function mxDateRangeComplete(control: {
|
|
|
258
303
|
} | null;
|
|
259
304
|
|
|
260
305
|
export { MxCalendar, MxDatePicker, MxDateRangePicker, mxDateRangeComplete, mxDefaultRangePresets, mxFormatDate, mxParseDate, mxSameDay, mxStartOfDay };
|
|
261
|
-
export type { MxDateRange, MxDateRangePreset };
|
|
306
|
+
export type { MxDateOrder, MxDateRange, MxDateRangePreset };
|
|
@@ -48,8 +48,19 @@ declare class MxEditor implements ControlValueAccessor, MxFormFieldControl {
|
|
|
48
48
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
49
49
|
readonly id: _angular_core.InputSignal<string | undefined>;
|
|
50
50
|
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
51
|
-
readonly toolbarLabel: _angular_core.InputSignal<string>;
|
|
52
|
-
readonly linkLabel: _angular_core.InputSignal<string>;
|
|
51
|
+
readonly toolbarLabel: _angular_core.InputSignal<string | undefined>;
|
|
52
|
+
readonly linkLabel: _angular_core.InputSignal<string | undefined>;
|
|
53
|
+
private readonly i18n;
|
|
54
|
+
protected readonly msg: _angular_core.Signal<{
|
|
55
|
+
toolbar: string;
|
|
56
|
+
link: string;
|
|
57
|
+
apply: string;
|
|
58
|
+
remove: string;
|
|
59
|
+
cancel: string;
|
|
60
|
+
characters: string;
|
|
61
|
+
tools: Record<"bold" | "italic" | "underline" | "strike" | "code" | "heading2" | "heading3" | "paragraph" | "bulletList" | "orderedList" | "blockquote" | "link" | "undo" | "redo", string>;
|
|
62
|
+
}>;
|
|
63
|
+
protected toolLabel(t: MxEditorTool): string;
|
|
53
64
|
protected readonly field: MxFormField | null;
|
|
54
65
|
private readonly ngControl;
|
|
55
66
|
private readonly content;
|
|
@@ -38,14 +38,30 @@ declare class MxFileUpload implements ControlValueAccessor, MxFormFieldControl {
|
|
|
38
38
|
readonly progress: _angular_core.InputSignal<Record<string, number>>;
|
|
39
39
|
/** Erro de envio por nome de ficheiro. */
|
|
40
40
|
readonly errors: _angular_core.InputSignal<Record<string, string>>;
|
|
41
|
-
readonly dropText: _angular_core.InputSignal<string>;
|
|
42
|
-
readonly
|
|
41
|
+
readonly dropText: _angular_core.InputSignal<string | undefined>;
|
|
42
|
+
private readonly i18n;
|
|
43
|
+
protected readonly msg: _angular_core.Signal<{
|
|
44
|
+
drop: string;
|
|
45
|
+
browse: string;
|
|
46
|
+
list: string;
|
|
47
|
+
remove: string;
|
|
48
|
+
done: string;
|
|
49
|
+
uploading: (name: string) => string;
|
|
50
|
+
rejectedType: (name: string) => string;
|
|
51
|
+
rejectedSize: (name: string, size: string, max: string) => string;
|
|
52
|
+
rejectedCount: (name: string, max: number) => string;
|
|
53
|
+
addedOne: (name: string) => string;
|
|
54
|
+
addedMany: (n: number) => string;
|
|
55
|
+
removed: (name: string) => string;
|
|
56
|
+
}>;
|
|
57
|
+
readonly buttonText: _angular_core.InputSignal<string | undefined>;
|
|
43
58
|
/** Linha de ajuda dentro da área (ex.: "PDF até 5 MB"). */
|
|
44
59
|
readonly description: _angular_core.InputSignal<string>;
|
|
45
|
-
readonly listLabel: _angular_core.InputSignal<string>;
|
|
46
|
-
readonly removeText: _angular_core.InputSignal<string>;
|
|
47
|
-
readonly doneText: _angular_core.InputSignal<string>;
|
|
48
|
-
|
|
60
|
+
readonly listLabel: _angular_core.InputSignal<string | undefined>;
|
|
61
|
+
readonly removeText: _angular_core.InputSignal<string | undefined>;
|
|
62
|
+
readonly doneText: _angular_core.InputSignal<string | undefined>;
|
|
63
|
+
/** Locale dos tamanhos ("1,2 MB"); por omissão o do idioma activo. */
|
|
64
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
49
65
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
50
66
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
51
67
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|