@ktortu/aaa 0.9.1 → 0.9.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/fesm2022/ktortu-aaa-button.mjs +10 -2
- package/fesm2022/ktortu-aaa-button.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-card.mjs +14 -5
- package/fesm2022/ktortu-aaa-card.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-cdk.mjs +49 -2
- package/fesm2022/ktortu-aaa-cdk.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-dialog.mjs +19 -31
- package/fesm2022/ktortu-aaa-dialog.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-disclosure.mjs +201 -0
- package/fesm2022/ktortu-aaa-disclosure.mjs.map +1 -0
- package/fesm2022/ktortu-aaa-forms.mjs +210 -93
- package/fesm2022/ktortu-aaa-forms.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-progress-bar.mjs +91 -0
- package/fesm2022/ktortu-aaa-progress-bar.mjs.map +1 -0
- package/fesm2022/ktortu-aaa-snackbar.mjs +16 -3
- package/fesm2022/ktortu-aaa-snackbar.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-tooltip.mjs +20 -30
- package/fesm2022/ktortu-aaa-tooltip.mjs.map +1 -1
- package/fesm2022/ktortu-aaa.mjs +1 -0
- package/fesm2022/ktortu-aaa.mjs.map +1 -1
- package/forms/field/field.css +16 -0
- package/forms/styles/field-box.css +11 -5
- package/package.json +9 -1
- package/progress-bar/progress-bar.css +127 -0
- package/styles/disclosure.css +6 -0
- package/styles/progress-bar.css +5 -0
- package/styles/styles.css +2 -0
- package/themes/theme-cyberpunk.css +11 -0
- package/tooltip/tooltip.css +1 -1
- package/types/ktortu-aaa-button.d.ts +2 -0
- package/types/ktortu-aaa-card.d.ts +3 -0
- package/types/ktortu-aaa-cdk.d.ts +27 -1
- package/types/ktortu-aaa-dialog.d.ts +7 -14
- package/types/ktortu-aaa-disclosure.d.ts +112 -0
- package/types/ktortu-aaa-forms.d.ts +66 -14
- package/types/ktortu-aaa-progress-bar.d.ts +27 -0
- package/types/ktortu-aaa-snackbar.d.ts +11 -68
- package/types/ktortu-aaa-tooltip.d.ts +0 -1
- package/types/ktortu-aaa.d.ts +1 -0
|
@@ -164,22 +164,23 @@ declare class KtField implements KtFieldParent {
|
|
|
164
164
|
/** Politique effective : input ?? KT_FIELD_CONFIG.floatLabel ?? 'auto'. */
|
|
165
165
|
protected readonly resolvedFloatLabel: _angular_core.Signal<KtFloatLabel>;
|
|
166
166
|
private readonly control;
|
|
167
|
-
private readonly templateTooltip;
|
|
168
|
-
private readonly projectedTooltip;
|
|
169
|
-
private readonly activeTooltip;
|
|
170
167
|
private readonly idGen;
|
|
171
168
|
private readonly uid;
|
|
172
169
|
readonly baseId: _angular_core.Signal<string>;
|
|
173
170
|
protected readonly labelId: _angular_core.Signal<string>;
|
|
174
171
|
protected readonly hintId: _angular_core.Signal<string>;
|
|
175
172
|
protected readonly errorId: _angular_core.Signal<string>;
|
|
173
|
+
protected readonly helpId: _angular_core.Signal<string>;
|
|
174
|
+
protected readonly helpTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
|
|
175
|
+
protected readonly helpString: _angular_core.Signal<string | null>;
|
|
176
|
+
protected readonly hasHelp: _angular_core.Signal<boolean>;
|
|
176
177
|
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
177
178
|
protected readonly showHint: _angular_core.Signal<boolean>;
|
|
178
179
|
protected readonly displayedErrors: _angular_core.Signal<readonly KtFieldError[]>;
|
|
179
180
|
readonly describedBy: _angular_core.Signal<string | null>;
|
|
180
181
|
protected onHelpClick(event: MouseEvent): void;
|
|
181
182
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtField, never>;
|
|
182
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtField, "kt-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "helpText": { "alias": "helpText"; "required": false; "isSignal": true; }; "helpLabel": { "alias": "helpLabel"; "required": false; "isSignal": true; }; "customDescribedBy": { "alias": "customDescribedBy"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": false; "isSignal": true; }; "hideHintWhenInvalid": { "alias": "hideHintWhenInvalid"; "required": false; "isSignal": true; }; "showAllErrors": { "alias": "showAllErrors"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; }, { "helpClick": "helpClick"; }, ["control"
|
|
183
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtField, "kt-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "helpText": { "alias": "helpText"; "required": false; "isSignal": true; }; "helpLabel": { "alias": "helpLabel"; "required": false; "isSignal": true; }; "customDescribedBy": { "alias": "customDescribedBy"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": false; "isSignal": true; }; "hideHintWhenInvalid": { "alias": "hideHintWhenInvalid"; "required": false; "isSignal": true; }; "showAllErrors": { "alias": "showAllErrors"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; }, { "helpClick": "helpClick"; }, ["control"], ["[ktFieldHelp]", "*"], true, never>;
|
|
183
184
|
}
|
|
184
185
|
|
|
185
186
|
/** Marque le contrôle (natif ou custom) d'un champ pour que `Field` y câble l'a11y
|
|
@@ -439,16 +440,11 @@ declare class KtTextArea extends KtBaseInputField<string> implements FormValueCo
|
|
|
439
440
|
readonly minLength: _angular_core.InputSignal<number | undefined>;
|
|
440
441
|
/** Plafond de caractères ; poussé par le form (validateur maxLength) ou par le consommateur. @default undefined */
|
|
441
442
|
readonly maxLength: _angular_core.InputSignal<number | undefined>;
|
|
442
|
-
/** Motifs de validation (contrat Signal Forms). L'attribut natif `pattern` ne prend qu'une regex →
|
|
443
|
-
seule la première est posée. @default [] */
|
|
444
|
-
readonly pattern: _angular_core.InputSignal<readonly RegExp[]>;
|
|
445
|
-
/** Source de la première regex pour l'attribut `pattern` natif (`null` si aucune). */
|
|
446
|
-
protected readonly patternAttr: _angular_core.Signal<string>;
|
|
447
443
|
protected parse(raw: string): string;
|
|
448
444
|
protected emptyValue(): string;
|
|
449
445
|
protected isEmpty(value: string): boolean;
|
|
450
446
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtTextArea, never>;
|
|
451
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtTextArea, "kt-text-area", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; };
|
|
447
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtTextArea, "kt-text-area", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["[ktFieldHelp]"], true, never>;
|
|
452
448
|
}
|
|
453
449
|
|
|
454
450
|
/** Types texte dont la valeur reste une string (number/date = composants séparés). */
|
|
@@ -492,6 +488,48 @@ declare class KtTextField extends KtBaseInputField<string> implements FormValueC
|
|
|
492
488
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtTextField, "kt-text-field", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["[ktFieldHelp]"], true, never>;
|
|
493
489
|
}
|
|
494
490
|
|
|
491
|
+
type KtPasswordAutocomplete = 'current-password' | 'new-password' | 'off';
|
|
492
|
+
/**
|
|
493
|
+
* Champ mot de passe (valeur `string`) intégré aux Signal Forms via `FormValueControl`.
|
|
494
|
+
* Inclut un bouton pour masquer/afficher la saisie en clair de manière accessible.
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* ```html
|
|
498
|
+
* <kt-password-field label="Mot de passe" [(value)]="password" required />
|
|
499
|
+
* ```
|
|
500
|
+
*/
|
|
501
|
+
declare class KtPasswordField extends KtBaseInputField<string> implements FormValueControl<string> {
|
|
502
|
+
/** Valeur saisie (two-way). @default '' */
|
|
503
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
504
|
+
/** Plancher de caractères (attribut `minlength` natif ; poussé par le validateur minLength). @default undefined */
|
|
505
|
+
readonly minLength: _angular_core.InputSignal<number | undefined>;
|
|
506
|
+
/** Plafond de caractères (attribut `maxlength` natif ; poussé par le validateur maxLength). @default undefined */
|
|
507
|
+
readonly maxLength: _angular_core.InputSignal<number | undefined>;
|
|
508
|
+
/** Motifs de validation. @default [] */
|
|
509
|
+
readonly pattern: _angular_core.InputSignal<readonly RegExp[]>;
|
|
510
|
+
/** Source de la première regex pour l'attribut `pattern` natif (`null` si aucune). */
|
|
511
|
+
protected readonly patternAttr: _angular_core.Signal<string>;
|
|
512
|
+
/** Indice d'autoremplissage effectif (par défaut 'current-password'). */
|
|
513
|
+
protected readonly resolvedAutocomplete: _angular_core.Signal<AutoFill>;
|
|
514
|
+
/** État de visibilité du mot de passe en clair. @default false */
|
|
515
|
+
protected readonly isPasswordVisible: _angular_core.WritableSignal<boolean>;
|
|
516
|
+
/** Type natif de l'input selon l'état de visibilité. */
|
|
517
|
+
protected readonly inputType: _angular_core.Signal<"text" | "password">;
|
|
518
|
+
private readonly idGen;
|
|
519
|
+
private readonly uid;
|
|
520
|
+
protected readonly inputId: _angular_core.Signal<string>;
|
|
521
|
+
protected parse(raw: string): string;
|
|
522
|
+
protected emptyValue(): string;
|
|
523
|
+
protected isEmpty(value: string): boolean;
|
|
524
|
+
/**
|
|
525
|
+
* Bascule l'état de visibilité du mot de passe.
|
|
526
|
+
* Utilise preventDefault() pour empêcher l'input de perdre le focus.
|
|
527
|
+
*/
|
|
528
|
+
protected toggleVisibility(event: MouseEvent): void;
|
|
529
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtPasswordField, never>;
|
|
530
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtPasswordField, "kt-password-field", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["[ktFieldHelp]"], true, never>;
|
|
531
|
+
}
|
|
532
|
+
|
|
495
533
|
/**
|
|
496
534
|
* Bouton bascule (Switch / Slide-Toggle) accessible conforme aux normes WAI-ARIA.
|
|
497
535
|
* Permet d'activer ou désactiver une option avec effet immédiat.
|
|
@@ -708,6 +746,8 @@ declare class KtCheckbox<V = unknown> implements FormValueControl<boolean> {
|
|
|
708
746
|
private readonly inputEl;
|
|
709
747
|
private readonly el;
|
|
710
748
|
private readonly errorResolver;
|
|
749
|
+
private readonly auditEnabled;
|
|
750
|
+
private isDestroyed;
|
|
711
751
|
private readonly idGen;
|
|
712
752
|
private readonly uid;
|
|
713
753
|
protected readonly baseId: _angular_core.Signal<string>;
|
|
@@ -878,11 +918,15 @@ declare abstract class KtBaseSelect<T, V = T> {
|
|
|
878
918
|
private readonly errorResolver;
|
|
879
919
|
protected readonly config: Partial<_ktortu_aaa_forms.KtSelectConfigOptions> | null;
|
|
880
920
|
protected readonly host: ElementRef<HTMLElement>;
|
|
881
|
-
private readonly ngZone;
|
|
882
921
|
protected readonly doc: Document;
|
|
883
922
|
private readonly platformId;
|
|
884
923
|
private readonly destroyRef;
|
|
924
|
+
private readonly bodyScrollLock;
|
|
885
925
|
private wasExpanded;
|
|
926
|
+
private scrollLocked;
|
|
927
|
+
/** Pose/relâche le verrou de scroll du fond de façon idempotente (n'agit qu'à la transition),
|
|
928
|
+
via le compteur partagé `KtBodyScrollLock` — deux sheets ouvertes ne se désynchronisent pas. */
|
|
929
|
+
private setBodyScrollLock;
|
|
886
930
|
/** Liste des options affichées (source de vérité du contrôle). */
|
|
887
931
|
readonly options: _angular_core.InputSignal<readonly T[]>;
|
|
888
932
|
/** Libellé affiché d'une option : clé OU fonction. Défaut : `label`/`name`, sinon `String(option)`. */
|
|
@@ -1489,7 +1533,6 @@ declare class KtChipList<T> implements ChipTransitionScope {
|
|
|
1489
1533
|
private readonly doc;
|
|
1490
1534
|
private readonly platformId;
|
|
1491
1535
|
private readonly cdr;
|
|
1492
|
-
private readonly ngZone;
|
|
1493
1536
|
/** Vrai pendant la View Transition de CETTE liste : les chips (standards via Chip,
|
|
1494
1537
|
custom via tokens.css) ne portent leur `view-transition-name` que dans cette fenêtre. */
|
|
1495
1538
|
readonly transitioning: _angular_core.WritableSignal<boolean>;
|
|
@@ -1529,6 +1572,13 @@ declare class KtChipList<T> implements ChipTransitionScope {
|
|
|
1529
1572
|
}>;
|
|
1530
1573
|
protected readonly itemDef: _angular_core.Signal<KtChipItemDef<any> | undefined>;
|
|
1531
1574
|
private readonly chips;
|
|
1575
|
+
private static readonly CHIP_FOCUSABLES;
|
|
1576
|
+
private static readonly ROVING_FOCUSABLES;
|
|
1577
|
+
private query;
|
|
1578
|
+
/** Index de l'unique focusable portant `tabindex="0"` : point d'entrée clavier UNIQUE dans la
|
|
1579
|
+
liste (pattern composite WAI-ARIA). Les flèches/Home/End le déplacent ; un focus direct
|
|
1580
|
+
(souris) le resynchronise via `onFocusin`. */
|
|
1581
|
+
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
1532
1582
|
protected readonly resolvedListLabel: _angular_core.Signal<string>;
|
|
1533
1583
|
private readonly resolvedRemoveItemLabel;
|
|
1534
1584
|
private readonly resolvedItemRemovedText;
|
|
@@ -1569,6 +1619,8 @@ declare class KtChipList<T> implements ChipTransitionScope {
|
|
|
1569
1619
|
/** Déplie/replie ; au dépliage, focus sur le premier chip nouvellement révélé. */
|
|
1570
1620
|
protected toggleExpanded(): void;
|
|
1571
1621
|
protected onKeydown(event: KeyboardEvent): void;
|
|
1622
|
+
/** Resynchronise le point de tabulation unique sur l'élément réellement focusé (souris/voix). */
|
|
1623
|
+
protected onFocusin(event: FocusEvent): void;
|
|
1572
1624
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtChipList<any>, never>;
|
|
1573
1625
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtChipList<any>, "kt-chip-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "itemLabel": { "alias": "itemLabel"; "required": false; "isSignal": true; }; "itemKey": { "alias": "itemKey"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "maxVisible": { "alias": "maxVisible"; "required": false; "isSignal": true; }; "listLabel": { "alias": "listLabel"; "required": false; "isSignal": true; }; "removeItemLabel": { "alias": "removeItemLabel"; "required": false; "isSignal": true; }; "itemRemovedText": { "alias": "itemRemovedText"; "required": false; "isSignal": true; }; "moreLabel": { "alias": "moreLabel"; "required": false; "isSignal": true; }; "lessLabel": { "alias": "lessLabel"; "required": false; "isSignal": true; }; "chipTemplate": { "alias": "chipTemplate"; "required": false; "isSignal": true; }; "emptyFocusTarget": { "alias": "emptyFocusTarget"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, ["itemDef"], never, true, never>;
|
|
1574
1626
|
}
|
|
@@ -1913,5 +1965,5 @@ declare class KtFixedClock extends KtClock {
|
|
|
1913
1965
|
today(): Temporal$1.PlainDate;
|
|
1914
1966
|
}
|
|
1915
1967
|
|
|
1916
|
-
export { DEFAULT_KT_SELECT_CONFIG, KT_CHIPS_CONFIG, KT_DEFAULT_FIELD_ERROR_MESSAGES, KT_FIELD, KT_FIELD_CONFIG, KT_SELECT_CONFIG, KtBaseInputField, KtBaseSelect, KtBaseTemporalField, KtBaseTimeTemporalField, KtCheckbox, KtCheckboxGroup, KtChip, KtChipItemDef, KtChipList, KtClock, KtDateField, KtDateTimeField, KtField, KtFieldControl, KtFieldErrorResolver, KtFixedClock, KtInstantField, KtMultiSelect, KtMultiSelectChipDef, KtMultiSelectOptionDef, KtMultiSelectTriggerDef, KtNumberField, KtRadio, KtRadioGroup, KtSelect, KtSelectConfig, KtSelectOptionDef, KtSelectTriggerDef, KtSwitch, KtTemporalDatePipe, KtTextArea, KtTextField, KtTimeField, KtYearMonthField, Temporal, defaultKtFieldErrorMatcher, ktErrorParam, normalizeKtSuggestions, provideKtField };
|
|
1917
|
-
export type { CalendarDate, KtChipItemContext, KtChipsConfig, KtDatalistOption, KtErrorMessageFactory, KtFieldAppearance, KtFieldConfig, KtFieldError, KtFieldErrorMatcher, KtFieldErrorMessages, KtFieldErrorState, KtFieldParent, KtFloatLabel, KtKeyish, KtMultiSelectChipContext, KtMultiSelectOptionContext, KtMultiSelectSelectionChange, KtMultiSelectTriggerContext, KtResolvableError, KtSelectConfigOptions, KtSelectOptionContext, KtSelectSelectionChange, KtSelectTriggerContext, KtSuggestion, KtTextFieldType, KtTimePrecision, LocalDateTime, Timestamp, WallTime, ZonedTimestamp };
|
|
1968
|
+
export { DEFAULT_KT_SELECT_CONFIG, KT_CHIPS_CONFIG, KT_DEFAULT_FIELD_ERROR_MESSAGES, KT_FIELD, KT_FIELD_CONFIG, KT_SELECT_CONFIG, KtBaseInputField, KtBaseSelect, KtBaseTemporalField, KtBaseTimeTemporalField, KtCheckbox, KtCheckboxGroup, KtChip, KtChipItemDef, KtChipList, KtClock, KtDateField, KtDateTimeField, KtField, KtFieldControl, KtFieldErrorResolver, KtFixedClock, KtInstantField, KtMultiSelect, KtMultiSelectChipDef, KtMultiSelectOptionDef, KtMultiSelectTriggerDef, KtNumberField, KtPasswordField, KtRadio, KtRadioGroup, KtSelect, KtSelectConfig, KtSelectOptionDef, KtSelectTriggerDef, KtSwitch, KtTemporalDatePipe, KtTextArea, KtTextField, KtTimeField, KtYearMonthField, Temporal, defaultKtFieldErrorMatcher, ktErrorParam, normalizeKtSuggestions, provideKtField };
|
|
1969
|
+
export type { CalendarDate, KtChipItemContext, KtChipsConfig, KtDatalistOption, KtErrorMessageFactory, KtFieldAppearance, KtFieldConfig, KtFieldError, KtFieldErrorMatcher, KtFieldErrorMessages, KtFieldErrorState, KtFieldParent, KtFloatLabel, KtKeyish, KtMultiSelectChipContext, KtMultiSelectOptionContext, KtMultiSelectSelectionChange, KtMultiSelectTriggerContext, KtPasswordAutocomplete, KtResolvableError, KtSelectConfigOptions, KtSelectOptionContext, KtSelectSelectionChange, KtSelectTriggerContext, KtSuggestion, KtTextFieldType, KtTimePrecision, LocalDateTime, Timestamp, WallTime, ZonedTimestamp };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
declare class KtProgressBar implements AfterViewInit {
|
|
5
|
+
private readonly idGen;
|
|
6
|
+
private readonly elementRef;
|
|
7
|
+
protected readonly labelId: string;
|
|
8
|
+
private readonly hasProjectedContent;
|
|
9
|
+
/** Mode de fonctionnement de la barre de progression. @default 'indeterminate' */
|
|
10
|
+
readonly mode: _angular_core.InputSignal<"determinate" | "indeterminate">;
|
|
11
|
+
/** Valeur de la progression (entre 0 et 100). Ignorée en mode 'indeterminate'. @default 0 */
|
|
12
|
+
readonly value: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
13
|
+
/** Label textuel optionnel passé par attribut. */
|
|
14
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
15
|
+
/** Détermine si le label textuel doit être visible à l'écran. @default true */
|
|
16
|
+
readonly labelVisible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
17
|
+
/** Permet de figer l'animation indéterminée (utile pour les tests). @default false */
|
|
18
|
+
readonly reducedMotion: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
/** Indique si le composant dispose d'un label défini (soit via input, soit par projection). */
|
|
20
|
+
protected readonly hasLabel: _angular_core.Signal<boolean>;
|
|
21
|
+
protected readonly transformStyle: _angular_core.Signal<string | null>;
|
|
22
|
+
ngAfterViewInit(): void;
|
|
23
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtProgressBar, never>;
|
|
24
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtProgressBar, "kt-progress-bar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelVisible": { "alias": "labelVisible"; "required": false; "isSignal": true; }; "reducedMotion": { "alias": "reducedMotion"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { KtProgressBar };
|
|
@@ -151,7 +151,12 @@ declare class KtSnackbarRef {
|
|
|
151
151
|
* - **Échap** ferme la snackbar affichée (la plus récente).
|
|
152
152
|
*
|
|
153
153
|
* Requiert côté hôte les styles `@angular/cdk/overlay-prebuilt.css` **et**
|
|
154
|
-
* `@angular/cdk/a11y-prebuilt.css` (ce dernier masque l'élément du LiveAnnouncer)
|
|
154
|
+
* `@angular/cdk/a11y-prebuilt.css` (ce dernier masque l'élément du LiveAnnouncer), en plus de
|
|
155
|
+
* `@ktortu/aaa/snackbar.css`.
|
|
156
|
+
*
|
|
157
|
+
* > [!IMPORTANT]
|
|
158
|
+
* > **Prérequis d'intégration obligatoire :**
|
|
159
|
+
* > Ce service ne fonctionnera pas correctement sans l'importation de ces deux fichiers CSS de l'overlay CDK et d'accessibilité dans votre feuille de styles globale ou votre build.
|
|
155
160
|
*
|
|
156
161
|
* @example
|
|
157
162
|
* ```ts
|
|
@@ -180,6 +185,9 @@ declare class KtSnackbar implements OnDestroy {
|
|
|
180
185
|
* Un `message` identique à une snackbar déjà affichée ou en attente est **fusionné** : on renvoie
|
|
181
186
|
* alors la référence existante sans rien ré-empiler.
|
|
182
187
|
*
|
|
188
|
+
* > [!IMPORTANT]
|
|
189
|
+
* > Assurez-vous d'avoir importé `@angular/cdk/overlay-prebuilt.css` et `@angular/cdk/a11y-prebuilt.css` dans votre application hôte.
|
|
190
|
+
*
|
|
183
191
|
* @param message Texte affiché et annoncé au lecteur d'écran.
|
|
184
192
|
* @param options Surcharges ponctuelles (durée, régime, position, politesse, variante, fermeture).
|
|
185
193
|
* @returns La référence de la snackbar (existante en cas de fusion).
|
|
@@ -206,70 +214,5 @@ declare class KtSnackbar implements OnDestroy {
|
|
|
206
214
|
static ɵprov: i0.ɵɵInjectableDeclaration<KtSnackbar>;
|
|
207
215
|
}
|
|
208
216
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
* Produites par `KtSnackbar` après résolution `option ?? config ?? défaut`.
|
|
212
|
-
*/
|
|
213
|
-
interface KtSnackbarContext {
|
|
214
|
-
/** Message affiché et annoncé. */
|
|
215
|
-
readonly message: string;
|
|
216
|
-
/** Variante sémantique (apparence : accent + icône). */
|
|
217
|
-
readonly variant: KtSnackbarVariant;
|
|
218
|
-
/** Affiche le bouton de fermeture. */
|
|
219
|
-
readonly closable: boolean;
|
|
220
|
-
/** Nom accessible du bouton de fermeture. */
|
|
221
|
-
readonly closeLabel: string;
|
|
222
|
-
/** Régime temporel (la minuterie n'existe qu'en `'auto'`). */
|
|
223
|
-
readonly timing: KtSnackbarTiming;
|
|
224
|
-
/** Durée (ms) avant disparition automatique en régime `'auto'`. */
|
|
225
|
-
readonly duration: number;
|
|
226
|
-
}
|
|
227
|
-
declare const KT_SNACKBAR_CONTEXT: InjectionToken<KtSnackbarContext>;
|
|
228
|
-
/**
|
|
229
|
-
* Conteneur visuel d'une snackbar. **Volontairement pas une live region** (aucun `role`/`aria-live`
|
|
230
|
-
* sur l'hôte) : l'annonce passe par un canal UNIQUE, le `LiveAnnouncer` du service. On évite ainsi
|
|
231
|
-
* la double-annonce et l'écrasement de politesse observés sur d'autres libs.
|
|
232
|
-
*
|
|
233
|
-
* En régime `'auto'`, la minuterie de disparition se met **en pause au survol et au focus** clavier
|
|
234
|
-
* (WCAG 1.4.13 / 2.2.1) et reprend quand ni le pointeur ni le focus ne sont sur la snackbar.
|
|
235
|
-
* L'icône de variante est **décorative** (`aria-hidden`) : la forme distincte sert d'indice non
|
|
236
|
-
* coloré (WCAG 1.4.1), le sens reste porté par le texte.
|
|
237
|
-
*
|
|
238
|
-
* @internal Monté par `KtSnackbar` via un `ComponentPortal`.
|
|
239
|
-
*/
|
|
240
|
-
declare class KtSnackbarContainer {
|
|
241
|
-
protected readonly context: KtSnackbarContext;
|
|
242
|
-
private readonly ref;
|
|
243
|
-
private readonly platformId;
|
|
244
|
-
private readonly host;
|
|
245
|
-
/** Vrai pendant l'animation de sortie (déclenche la classe `kt-snackbar--leaving`). */
|
|
246
|
-
protected readonly leaving: i0.WritableSignal<boolean>;
|
|
247
|
-
private timer;
|
|
248
|
-
private remaining;
|
|
249
|
-
private deadline;
|
|
250
|
-
private hovered;
|
|
251
|
-
private focused;
|
|
252
|
-
constructor();
|
|
253
|
-
protected close(): void;
|
|
254
|
-
/**
|
|
255
|
-
* Joue l'animation de sortie puis invoque `done` (démontage de l'overlay côté service). Appelé par
|
|
256
|
-
* le service à la fermeture. Sans animation (durée nulle, `prefers-reduced-motion`, ou SSR), `done`
|
|
257
|
-
* est invoqué immédiatement. Filet de sécurité par `setTimeout` si `transitionend` ne se déclenche pas.
|
|
258
|
-
*/
|
|
259
|
-
playExit(done: () => void): void;
|
|
260
|
-
protected onPointerEnter(): void;
|
|
261
|
-
protected onPointerLeave(): void;
|
|
262
|
-
protected onFocusEnter(): void;
|
|
263
|
-
protected onFocusLeave(): void;
|
|
264
|
-
private maybeResume;
|
|
265
|
-
private startTimer;
|
|
266
|
-
private pauseTimer;
|
|
267
|
-
private clearTimer;
|
|
268
|
-
/** Durée (ms) de la transition de sortie, lue sur l'hôte (0 si aucune — ex. reduced-motion). */
|
|
269
|
-
private exitDurationMs;
|
|
270
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KtSnackbarContainer, never>;
|
|
271
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KtSnackbarContainer, "kt-snackbar-container", never, {}, {}, never, never, true, never>;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
export { KT_SNACKBAR_CONFIG, KT_SNACKBAR_CONTEXT, KT_SNACKBAR_DEFAULTS, KtSnackbar, KtSnackbarContainer, KtSnackbarRef, provideKtSnackbar };
|
|
275
|
-
export type { KtSnackbarConfig, KtSnackbarContext, KtSnackbarDismissReason, KtSnackbarOptions, KtSnackbarPoliteness, KtSnackbarPosition, KtSnackbarTiming, KtSnackbarVariant };
|
|
217
|
+
export { KT_SNACKBAR_CONFIG, KT_SNACKBAR_DEFAULTS, KtSnackbar, KtSnackbarRef, provideKtSnackbar };
|
|
218
|
+
export type { KtSnackbarConfig, KtSnackbarDismissReason, KtSnackbarOptions, KtSnackbarPoliteness, KtSnackbarPosition, KtSnackbarTiming, KtSnackbarVariant };
|
|
@@ -39,7 +39,6 @@ declare class KtTooltip implements OnDestroy {
|
|
|
39
39
|
private readonly host;
|
|
40
40
|
private readonly renderer;
|
|
41
41
|
private readonly vcr;
|
|
42
|
-
private readonly ngZone;
|
|
43
42
|
private readonly platformId;
|
|
44
43
|
/** Contenu de l'infobulle : texte simple (injecté en `textContent`) ou `TemplateRef` non interactif. */
|
|
45
44
|
readonly ktTooltip: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
package/types/ktortu-aaa.d.ts
CHANGED