@cadriciel/ui 0.9.0 → 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/cadriciel-ui.mjs +949 -413
- package/fesm2022/cadriciel-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/cadriciel-ui.d.ts +417 -42
package/types/cadriciel-ui.d.ts
CHANGED
|
@@ -694,21 +694,56 @@ declare class CadCheckboxComponent extends CadValueAccessor<boolean> {
|
|
|
694
694
|
* <cad-radio value="session" label="Session" [disabled]="true" />
|
|
695
695
|
* </cad-radio-group>
|
|
696
696
|
* CVA<T> sur le GROUPE. Clavier : ←/→/↑/↓ déplacent la sélection (pattern WAI-ARIA radiogroup).
|
|
697
|
-
* @atelier icone=circle-dot largeur=2
|
|
697
|
+
* @atelier icone=circle-dot largeur=2 conteneur=direct hauteur=4
|
|
698
698
|
*/
|
|
699
699
|
declare class CadRadioGroupComponent<T = unknown> extends CadValueAccessor<T> {
|
|
700
700
|
readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
701
701
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
702
702
|
readonly name: _angular_core.InputSignal<string>;
|
|
703
703
|
readonly changed: _angular_core.OutputEmitterRef<T>;
|
|
704
|
-
|
|
704
|
+
private readonly radiosProjetes;
|
|
705
|
+
/** Radios POSÉS hors gabarit, annoncés par `enregistrerEnfants`. */
|
|
706
|
+
private readonly radiosPoses;
|
|
707
|
+
readonly radios: _angular_core.Signal<any[]>;
|
|
708
|
+
/** Reçoit la LISTE COMPLÈTE des radios posés, et se RATTACHE à chacun. */
|
|
709
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
705
710
|
select(v: T): void;
|
|
706
711
|
protected onKey(e: KeyboardEvent): void;
|
|
707
712
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadRadioGroupComponent<any>, never>;
|
|
708
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadRadioGroupComponent<any>, "cad-radio-group", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, ["
|
|
713
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadRadioGroupComponent<any>, "cad-radio-group", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, ["radiosProjetes"], ["*"], true, never>;
|
|
709
714
|
}
|
|
715
|
+
/**
|
|
716
|
+
* Un choix du groupe : `<cad-radio [value]="'a'" label="Option A">`.
|
|
717
|
+
* @atelier icone=circle-dot conteneur=flux dans=cad-radio-group pose-label=Option
|
|
718
|
+
*/
|
|
710
719
|
declare class CadRadioComponent<T = unknown> {
|
|
711
|
-
|
|
720
|
+
/**
|
|
721
|
+
* Le groupe d'accueil — INJECTÉ dans un gabarit, POUSSÉ par l'hôte à la pose.
|
|
722
|
+
*
|
|
723
|
+
* ⚠️ OPTIONNEL depuis le 27/08, même correctif que `cad-accordion-panel` : l'injection
|
|
724
|
+
* obligatoire levait `NG0201` dès qu'on créait le bouton à la main, et `gen-catalog`
|
|
725
|
+
* classait `cad-radio` « contextuel » — il n'était pas posable. `cad-tab`, la pièce
|
|
726
|
+
* jumelle des onglets, n'injecte rien : elle est PASSIVE et son hôte la pilote. La
|
|
727
|
+
* divergence était d'écriture, pas de nature (SZU 27/08).
|
|
728
|
+
*/
|
|
729
|
+
private readonly groupInjecte;
|
|
730
|
+
private readonly groupPose;
|
|
731
|
+
readonly group: _angular_core.Signal<CadRadioGroupComponent<T> | null>;
|
|
732
|
+
/** Le groupe s'annonce au bouton qu'il accueille. Cf. `atelier/atelier.pieces.ts`. */
|
|
733
|
+
rattacher(g: CadRadioGroupComponent<T>): void;
|
|
734
|
+
/** Sélectionne, si un groupe existe. Un radio solitaire ne prétend pas gérer un choix. */
|
|
735
|
+
protected choisir(): void;
|
|
736
|
+
/**
|
|
737
|
+
* La valeur que ce choix représente.
|
|
738
|
+
*
|
|
739
|
+
* DÉFAUT UNIQUE plutôt que `input.required` (27/08) — même précédent que
|
|
740
|
+
* `cad-accordion-panel`, qui se donne `cadId('cad-panel')`. Une entrée requise LÈVE
|
|
741
|
+
* dès qu'on instancie le composant sans la fournir : posé dans l'atelier, le radio
|
|
742
|
+
* mourait à la construction et le poseur l'écartait EN SILENCE (groupe vide, aucune
|
|
743
|
+
* erreur visible). Un défaut unique par instance rend un radio posé immédiatement
|
|
744
|
+
* cohérent — deux radios ne se retrouvent jamais cochés ensemble — et n'enlève rien à
|
|
745
|
+
* l'usage écrit, où l'on passe toujours une valeur.
|
|
746
|
+
*/
|
|
712
747
|
readonly value: _angular_core.InputSignal<T>;
|
|
713
748
|
readonly label: _angular_core.InputSignal<string>;
|
|
714
749
|
readonly hint: _angular_core.InputSignal<string>;
|
|
@@ -719,7 +754,7 @@ declare class CadRadioComponent<T = unknown> {
|
|
|
719
754
|
protected readonly tabIndex: _angular_core.Signal<0 | -1>;
|
|
720
755
|
focus(): void;
|
|
721
756
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadRadioComponent<any>, never>;
|
|
722
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadRadioComponent<any>, "cad-radio", never, { "value": { "alias": "value"; "required":
|
|
757
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadRadioComponent<any>, "cad-radio", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
723
758
|
}
|
|
724
759
|
|
|
725
760
|
type CadSegmentOption = {
|
|
@@ -1866,6 +1901,7 @@ declare class CadTabContentDirective {
|
|
|
1866
1901
|
* contenu (ou <ng-template cadTabContent> pour un rendu vraiment paresseux)
|
|
1867
1902
|
* <ng-template cadTabLabel>label custom</ng-template>
|
|
1868
1903
|
* </cad-tab>
|
|
1904
|
+
* @atelier icone=panel-top conteneur=flux dans=cad-tabs pose-label=Onglet
|
|
1869
1905
|
*/
|
|
1870
1906
|
declare class CadTabComponent {
|
|
1871
1907
|
readonly value: _angular_core.InputSignal<unknown>;
|
|
@@ -1887,7 +1923,7 @@ declare class CadTabComponent {
|
|
|
1887
1923
|
/**
|
|
1888
1924
|
* <cad-tabs [(value)]="tab" [(activeIndex)]="i" variant="line|pill|enclosed" size="sm|md" [stretch] [scrollable] [lazy]="true" [keepAlive]="true" (changed) (tabChange)>
|
|
1889
1925
|
* `value` prime sur `activeIndex` (les deux sont two-way et synchronisés). Clavier ←/→/Home/End sur la liste.
|
|
1890
|
-
* @atelier icone=folder
|
|
1926
|
+
* @atelier icone=folder conteneur=direct largeur=12 hauteur=6
|
|
1891
1927
|
*/
|
|
1892
1928
|
declare class CadTabsComponent {
|
|
1893
1929
|
readonly value: _angular_core.ModelSignal<unknown>;
|
|
@@ -1911,7 +1947,37 @@ declare class CadTabsComponent {
|
|
|
1911
1947
|
value: unknown;
|
|
1912
1948
|
tab: CadTabComponent;
|
|
1913
1949
|
}>;
|
|
1914
|
-
|
|
1950
|
+
/** Onglets déclarés dans un GABARIT — la voie normale, celle de tous les usages écrits. */
|
|
1951
|
+
private readonly tabsProjetes;
|
|
1952
|
+
/**
|
|
1953
|
+
* Onglets POSÉS : créés hors gabarit par `createComponent`, et annoncés par
|
|
1954
|
+
* `enregistrerEnfants` — le contrat d'accueil décrit dans `atelier/atelier.pieces.ts`.
|
|
1955
|
+
*
|
|
1956
|
+
* ⚠️ CE N'EST PAS UN DOUBLON DE LA REQUÊTE, C'EST LA SEULE VOIE POSSIBLE POUR EUX.
|
|
1957
|
+
* Mesuré le 27/08 : un `cad-tab` créé impérativement et passé en `projectableNodes`
|
|
1958
|
+
* arrive bien dans le DOM, mais `contentChildren` NE LE VOIT PAS — une requête de
|
|
1959
|
+
* contenu se résout sur la structure déclarée d'un gabarit, et un composant instancié
|
|
1960
|
+
* à la main vit dans une autre vue. Résultat avant correction : `onglets=0`, une barre
|
|
1961
|
+
* vide et aucun panneau, sans la moindre erreur. C'est ce qui rendait `cad-tabs`
|
|
1962
|
+
* inutilisable dans l'atelier et dans les pages visuelles de frontless.
|
|
1963
|
+
*
|
|
1964
|
+
* Même trappe que `cad-button-group`, qui la porte depuis le 24/08 pour la même
|
|
1965
|
+
* raison (il était SOURD aux clics de ses boutons posés) : les deux sources
|
|
1966
|
+
* FUSIONNENT, la projection reste prioritaire dans l'ordre, et rien ne change pour
|
|
1967
|
+
* qui écrit du gabarit.
|
|
1968
|
+
*/
|
|
1969
|
+
private readonly tabsPoses;
|
|
1970
|
+
/** Tous les onglets : projetés d'abord, posés ensuite. L'ordre fait la barre. */
|
|
1971
|
+
readonly tabs: _angular_core.Signal<CadTabComponent[]>;
|
|
1972
|
+
/**
|
|
1973
|
+
* Reçoit les instances des onglets posés — la LISTE COMPLÈTE, pas un ajout.
|
|
1974
|
+
*
|
|
1975
|
+
* Le poseur reconstruit ses enfants d'un bloc à chaque changement de structure : lui
|
|
1976
|
+
* faire tenir un différentiel inviterait le fantôme (un onglet détruit qui reste dans
|
|
1977
|
+
* la barre). L'hôte filtre lui-même ce qui n'est pas un onglet, pour qu'un appelant
|
|
1978
|
+
* n'ait pas à connaître nos types.
|
|
1979
|
+
*/
|
|
1980
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
1915
1981
|
private readonly list;
|
|
1916
1982
|
private readonly btns;
|
|
1917
1983
|
protected readonly overflow: _angular_core.WritableSignal<boolean>;
|
|
@@ -1924,7 +1990,7 @@ declare class CadTabsComponent {
|
|
|
1924
1990
|
protected scroll(dir: number): void;
|
|
1925
1991
|
protected checkOverflow(): void;
|
|
1926
1992
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadTabsComponent, never>;
|
|
1927
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadTabsComponent, "cad-tabs", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "stretch": { "alias": "stretch"; "required": false; "isSignal": true; }; "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "keepAlive": { "alias": "keepAlive"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "activeIndex": "activeIndexChange"; "changed": "changed"; "tabChange": "tabChange"; }, ["
|
|
1993
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadTabsComponent, "cad-tabs", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "stretch": { "alias": "stretch"; "required": false; "isSignal": true; }; "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "keepAlive": { "alias": "keepAlive"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "activeIndex": "activeIndexChange"; "changed": "changed"; "tabChange": "tabChange"; }, ["tabsProjetes"], ["[cadTabsEnd]"], true, never>;
|
|
1928
1994
|
}
|
|
1929
1995
|
|
|
1930
1996
|
type CadStepState = 'done' | 'current' | 'error' | 'todo';
|
|
@@ -1998,9 +2064,29 @@ declare class CadPanelContentDirective {
|
|
|
1998
2064
|
* </cad-accordion-panel>
|
|
1999
2065
|
* </cad-accordion>
|
|
2000
2066
|
* `value` = valeur ouverte (string) ou tableau si `multiple`. Clavier : Entrée/Espace, ↑/↓/Home/End entre en-têtes.
|
|
2067
|
+
* @atelier icone=panel-top conteneur=flux dans=cad-accordion pose-header=Section
|
|
2001
2068
|
*/
|
|
2002
2069
|
declare class CadAccordionPanelComponent {
|
|
2003
|
-
|
|
2070
|
+
/**
|
|
2071
|
+
* L'accordéon d'accueil — INJECTÉ dans un gabarit, POUSSÉ par l'hôte quand la pièce
|
|
2072
|
+
* est posée hors gabarit.
|
|
2073
|
+
*
|
|
2074
|
+
* ⚠️ L'INJECTION EST OPTIONNELLE, ET C'EST LE CŒUR DU CORRECTIF (SZU 27/08 : « pourquoi
|
|
2075
|
+
* cad-accordion serait différent d'un cad-tabs ? »). Elle était obligatoire, donc :
|
|
2076
|
+
* `NG0201` dès qu'on créait le panneau à la main, et `gen-catalog` le classait
|
|
2077
|
+
* « contextuel » — il n'était même pas POSABLE. Or `cad-tab`, lui, n'injecte rien :
|
|
2078
|
+
* c'est une pièce PASSIVE que son hôte pilote. La différence n'était pas une contrainte
|
|
2079
|
+
* du composant, c'était une divergence d'écriture entre deux familles jumelles.
|
|
2080
|
+
*
|
|
2081
|
+
* Renversement : la pièce ne va plus CHERCHER son hôte, c'est l'hôte qui s'annonce en
|
|
2082
|
+
* l'accueillant (`rattacher`). Un panneau posé seul reste sensé — il gère alors son
|
|
2083
|
+
* propre `expanded` au lieu de lever.
|
|
2084
|
+
*/
|
|
2085
|
+
private readonly accInjecte;
|
|
2086
|
+
private readonly accPose;
|
|
2087
|
+
readonly acc: _angular_core.Signal<CadAccordionComponent | null>;
|
|
2088
|
+
/** L'accordéon s'annonce à la pièce qu'il accueille. Cf. `atelier/atelier.pieces.ts`. */
|
|
2089
|
+
rattacher(acc: CadAccordionComponent): void;
|
|
2004
2090
|
readonly value: _angular_core.InputSignal<string>;
|
|
2005
2091
|
readonly header: _angular_core.InputSignal<string>;
|
|
2006
2092
|
readonly icon: _angular_core.InputSignal<string>;
|
|
@@ -2013,6 +2099,7 @@ declare class CadAccordionPanelComponent {
|
|
|
2013
2099
|
readonly contentTpl: _angular_core.Signal<CadPanelContentDirective | undefined>;
|
|
2014
2100
|
readonly id: string;
|
|
2015
2101
|
readonly rendered: _angular_core.WritableSignal<boolean>;
|
|
2102
|
+
/** Sans hôte, le panneau fait autorité sur lui-même : posé seul, il reste utilisable. */
|
|
2016
2103
|
readonly isOpen: _angular_core.Signal<boolean>;
|
|
2017
2104
|
constructor();
|
|
2018
2105
|
toggle(): void;
|
|
@@ -2020,7 +2107,7 @@ declare class CadAccordionPanelComponent {
|
|
|
2020
2107
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadAccordionPanelComponent, never>;
|
|
2021
2108
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadAccordionPanelComponent, "cad-accordion-panel", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "opened": "opened"; "closed": "closed"; }, ["headerTpl", "contentTpl"], ["[cadPanelExtra]", "*"], true, never>;
|
|
2022
2109
|
}
|
|
2023
|
-
/** @atelier icone=chevron-down */
|
|
2110
|
+
/** @atelier icone=chevron-down conteneur=direct largeur=12 hauteur=8 */
|
|
2024
2111
|
declare class CadAccordionComponent {
|
|
2025
2112
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2026
2113
|
/** Ouvert(s) : string (single) ou string[] (multiple). */
|
|
@@ -2029,13 +2116,21 @@ declare class CadAccordionComponent {
|
|
|
2029
2116
|
/** Sans bordure extérieure. */
|
|
2030
2117
|
readonly flush: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2031
2118
|
readonly changed: _angular_core.OutputEmitterRef<string | string[] | null>;
|
|
2032
|
-
|
|
2119
|
+
private readonly panelsProjetes;
|
|
2120
|
+
/** Panneaux POSÉS hors gabarit, annoncés par `enregistrerEnfants`. */
|
|
2121
|
+
private readonly panelsPoses;
|
|
2122
|
+
readonly panels: _angular_core.Signal<CadAccordionPanelComponent[]>;
|
|
2123
|
+
/**
|
|
2124
|
+
* Reçoit la LISTE COMPLÈTE des panneaux posés, et se RATTACHE à chacun : la pièce
|
|
2125
|
+
* n'ayant plus d'injection obligatoire, c'est ce geste qui rétablit le lien.
|
|
2126
|
+
*/
|
|
2127
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
2033
2128
|
private readonly openSet;
|
|
2034
2129
|
isOpen(v: string): boolean;
|
|
2035
2130
|
setOpen(v: string, open: boolean, panel?: CadAccordionPanelComponent): void;
|
|
2036
2131
|
onKey(e: KeyboardEvent, from: CadAccordionPanelComponent): void;
|
|
2037
2132
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadAccordionComponent, never>;
|
|
2038
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadAccordionComponent, "cad-accordion", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "expandIcon": { "alias": "expandIcon"; "required": false; "isSignal": true; }; "flush": { "alias": "flush"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, ["
|
|
2133
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadAccordionComponent, "cad-accordion", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "expandIcon": { "alias": "expandIcon"; "required": false; "isSignal": true; }; "flush": { "alias": "flush"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, ["panelsProjetes"], ["*"], true, never>;
|
|
2039
2134
|
}
|
|
2040
2135
|
|
|
2041
2136
|
interface CadBreadcrumbItem {
|
|
@@ -4318,6 +4413,12 @@ declare class CadMessageComponent {
|
|
|
4318
4413
|
* @atelier ajustement=naturel icone=user-round largeur=1 hauteur=1 pose-text=AB
|
|
4319
4414
|
*/
|
|
4320
4415
|
declare class CadAvatarComponent {
|
|
4416
|
+
/**
|
|
4417
|
+
* Son élément, exposé comme `cad-button` le fait déjà : le groupe marque le
|
|
4418
|
+
* débordement (`.is-overflow`) sur les éléments, et une requête de contenu ne les
|
|
4419
|
+
* rapporte pas pour un avatar POSÉ hors gabarit.
|
|
4420
|
+
*/
|
|
4421
|
+
readonly el: ElementRef<HTMLElement>;
|
|
4321
4422
|
readonly src: _angular_core.InputSignal<string | null | undefined>;
|
|
4322
4423
|
readonly text: _angular_core.InputSignal<string>;
|
|
4323
4424
|
readonly icon: _angular_core.InputSignal<string>;
|
|
@@ -4563,19 +4664,30 @@ declare class CadPanelComponent {
|
|
|
4563
4664
|
/**
|
|
4564
4665
|
* <cad-avatar-group [max]="3" size="md"><cad-avatar text="SZ"/><cad-avatar text="PA"/>…</cad-avatar-group>
|
|
4565
4666
|
* Avatars empilés (chevauchement, bordure surface) ; au-delà de `max` un avatar « +N » (title = noms masqués).
|
|
4566
|
-
* @atelier ajustement=naturel icone=users largeur=2 hauteur=1
|
|
4667
|
+
* @atelier ajustement=naturel icone=users largeur=2 hauteur=1 conteneur=direct accepte=cad-avatar
|
|
4567
4668
|
*/
|
|
4568
4669
|
declare class CadAvatarGroupComponent {
|
|
4569
4670
|
readonly max: _angular_core.InputSignalWithTransform<number | null, unknown>;
|
|
4570
4671
|
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
4571
4672
|
readonly moreColor: _angular_core.InputSignal<string | null>;
|
|
4673
|
+
private readonly avatarsProjetes;
|
|
4674
|
+
/**
|
|
4675
|
+
* Avatars POSÉS hors gabarit, annoncés par `enregistrerEnfants`
|
|
4676
|
+
* (cf. `atelier/atelier.pieces.ts`).
|
|
4677
|
+
*
|
|
4678
|
+
* Le groupe RENDAIT correctement sans eux — le chevauchement et les bordures sont du
|
|
4679
|
+
* CSS sur les enfants directs. Seul `max` était inerte : le « +N » ne comptait rien et
|
|
4680
|
+
* rien ne passait en débordement. Une panne discrète, donc pire qu'une panne franche.
|
|
4681
|
+
*/
|
|
4682
|
+
private readonly avatarsPoses;
|
|
4572
4683
|
private readonly avatars;
|
|
4573
|
-
|
|
4684
|
+
/** Reçoit la LISTE COMPLÈTE des avatars posés. Le groupe filtre ce qui n'en est pas un. */
|
|
4685
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
4574
4686
|
readonly hidden: _angular_core.Signal<number>;
|
|
4575
4687
|
readonly hiddenTitle: _angular_core.Signal<string>;
|
|
4576
4688
|
constructor();
|
|
4577
4689
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadAvatarGroupComponent, never>;
|
|
4578
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadAvatarGroupComponent, "cad-avatar-group", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "moreColor": { "alias": "moreColor"; "required": false; "isSignal": true; }; }, {}, ["
|
|
4690
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadAvatarGroupComponent, "cad-avatar-group", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "moreColor": { "alias": "moreColor"; "required": false; "isSignal": true; }; }, {}, ["avatarsProjetes"], ["*"], true, never>;
|
|
4579
4691
|
}
|
|
4580
4692
|
|
|
4581
4693
|
interface CadMeterValue {
|
|
@@ -4867,7 +4979,15 @@ declare class CadClusterComponent {
|
|
|
4867
4979
|
* Grille responsive : `<cad-grid cols="1 sm:2 lg:4" gap="md">` (breakpoints FENÊTRE, mobile-first)
|
|
4868
4980
|
* ou `<cad-grid min="220px">` (auto-fit : autant de colonnes que le CONTENEUR en accepte — préférer pour les composants).
|
|
4869
4981
|
* Enfant : `<div cadCol="2">` / `cadCol="1 md:2"` = span, `cadCol="full"` = toute la largeur.
|
|
4870
|
-
*
|
|
4982
|
+
*
|
|
4983
|
+
* CONTENEUR D'ATELIER en régime `direct`, et non `flux` (27/08) : en flux, l'atelier
|
|
4984
|
+
* envelopperait les enfants dans SA propre grille 12 colonnes, la grille posée n'aurait
|
|
4985
|
+
* plus qu'un seul enfant et son `cols` ne servirait plus à rien — un conteneur qui a
|
|
4986
|
+
* l'air de marcher et ne fait rien. En direct, les enfants sont projetés nus et c'est
|
|
4987
|
+
* bien `cols` / `min` qui les place, ce qu'on vient chercher en posant une grille.
|
|
4988
|
+
* Aucune trappe d'accueil n'est nécessaire ici : `cad-grid` ne fait ni requête de
|
|
4989
|
+
* contenu ni injection depuis ses enfants, il ne les REGARDE pas, il les dispose.
|
|
4990
|
+
* @atelier icone=grid conteneur=direct largeur=12 hauteur=4
|
|
4871
4991
|
*/
|
|
4872
4992
|
declare class CadGridComponent {
|
|
4873
4993
|
readonly cols: _angular_core.InputSignal<string | number>;
|
|
@@ -4958,7 +5078,12 @@ declare class CadContainerComponent {
|
|
|
4958
5078
|
}
|
|
4959
5079
|
/**
|
|
4960
5080
|
* Espace flexible (pousse ce qui suit) ou fixe : `<cad-spacer/>` · `<cad-spacer size="lg"/>`
|
|
4961
|
-
*
|
|
5081
|
+
*
|
|
5082
|
+
* `surface=aucune` : il occupe sa place et ne dessine RIEN. Posé dans une maquette, il
|
|
5083
|
+
* fait donc exactement son travail en restant invisible — indistinguable d'un composant
|
|
5084
|
+
* qui n'aurait pas été posé (SZU 27/08). L'atelier s'en sert pour le MATÉRIALISER le
|
|
5085
|
+
* temps de la conception ; le rendu, lui, n'en sait rien.
|
|
5086
|
+
* @atelier icone=move-horizontal surface=aucune
|
|
4962
5087
|
*/
|
|
4963
5088
|
declare class CadSpacerComponent {
|
|
4964
5089
|
readonly size: _angular_core.InputSignal<"" | CadGap>;
|
|
@@ -4967,7 +5092,10 @@ declare class CadSpacerComponent {
|
|
|
4967
5092
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadSpacerComponent, "cad-spacer", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4968
5093
|
}
|
|
4969
5094
|
|
|
4970
|
-
/**
|
|
5095
|
+
/**
|
|
5096
|
+
* Panneau d'un splitter : `<cad-splitter-panel [size]="30" [minSize]="10">…</cad-splitter-panel>` (size en %).
|
|
5097
|
+
* @atelier icone=square conteneur=flux dans=cad-splitter
|
|
5098
|
+
*/
|
|
4971
5099
|
declare class CadSplitterPanelComponent {
|
|
4972
5100
|
readonly size: _angular_core.InputSignalWithTransform<number | null, unknown>;
|
|
4973
5101
|
readonly minSize: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -4979,7 +5107,7 @@ declare class CadSplitterPanelComponent {
|
|
|
4979
5107
|
* <cad-splitter-panel>…</cad-splitter-panel><cad-splitter-panel>…</cad-splitter-panel>
|
|
4980
5108
|
* </cad-splitter>
|
|
4981
5109
|
* Gouttière glissable (pointer), double-clic = tailles initiales, clavier ←→/↑↓ (±2 %), `role=separator`, persistance localStorage via `stateKey`, imbriquable.
|
|
4982
|
-
* @atelier icone=columns
|
|
5110
|
+
* @atelier icone=columns conteneur=direct largeur=12 hauteur=8
|
|
4983
5111
|
*/
|
|
4984
5112
|
declare class CadSplitterComponent {
|
|
4985
5113
|
private readonly host;
|
|
@@ -4990,7 +5118,22 @@ declare class CadSplitterComponent {
|
|
|
4990
5118
|
readonly stateKey: _angular_core.InputSignal<string>;
|
|
4991
5119
|
readonly resizeStart: _angular_core.OutputEmitterRef<number[]>;
|
|
4992
5120
|
readonly resizeEnd: _angular_core.OutputEmitterRef<number[]>;
|
|
4993
|
-
|
|
5121
|
+
/** Panneaux déclarés dans un GABARIT — la voie normale. */
|
|
5122
|
+
private readonly panelsProjetes;
|
|
5123
|
+
/**
|
|
5124
|
+
* Panneaux POSÉS, créés hors gabarit et annoncés par `enregistrerEnfants`
|
|
5125
|
+
* (cf. `atelier/atelier.pieces.ts`).
|
|
5126
|
+
*
|
|
5127
|
+
* Sans eux, `panels()` reste vide pour un splitter posé : aucune gouttière, aucune
|
|
5128
|
+
* taille calculée, `grid-template-columns` vide — mesuré à `gouttieres=0` le 27/08.
|
|
5129
|
+
* Les panneaux s'affichaient quand même (ils sont projetés), ce qui donnait un
|
|
5130
|
+
* splitter d'apparence correcte mais sans mise en page ni poignée.
|
|
5131
|
+
*/
|
|
5132
|
+
private readonly panelsPoses;
|
|
5133
|
+
/** Tous les panneaux : projetés d'abord, posés ensuite — l'ordre fait les colonnes. */
|
|
5134
|
+
readonly panels: _angular_core.Signal<CadSplitterPanelComponent[]>;
|
|
5135
|
+
/** Reçoit la LISTE COMPLÈTE des panneaux posés. L'hôte filtre ce qui n'en est pas un. */
|
|
5136
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
4994
5137
|
readonly sizes: _angular_core.WritableSignal<number[]>;
|
|
4995
5138
|
readonly gutters: _angular_core.Signal<number[]>;
|
|
4996
5139
|
readonly mins: _angular_core.Signal<number[]>;
|
|
@@ -5007,7 +5150,7 @@ declare class CadSplitterComponent {
|
|
|
5007
5150
|
protected onDown(e: PointerEvent, g: number): void;
|
|
5008
5151
|
protected onKey(e: KeyboardEvent, g: number): void;
|
|
5009
5152
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadSplitterComponent, never>;
|
|
5010
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadSplitterComponent, "cad-splitter", never, { "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "panelSizes": { "alias": "panelSizes"; "required": false; "isSignal": true; }; "minSizes": { "alias": "minSizes"; "required": false; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; }, { "resizeStart": "resizeStart"; "resizeEnd": "resizeEnd"; }, ["
|
|
5153
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadSplitterComponent, "cad-splitter", never, { "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "panelSizes": { "alias": "panelSizes"; "required": false; "isSignal": true; }; "minSizes": { "alias": "minSizes"; "required": false; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; }, { "resizeStart": "resizeStart"; "resizeEnd": "resizeEnd"; }, ["panelsProjetes"], ["*"], true, never>;
|
|
5011
5154
|
}
|
|
5012
5155
|
|
|
5013
5156
|
/**
|
|
@@ -5431,6 +5574,20 @@ declare class CadMapComponent {
|
|
|
5431
5574
|
readonly allChildren: _angular_core.Signal<readonly CadMapChild[]>;
|
|
5432
5575
|
registerChild(k: CadMapChild): void;
|
|
5433
5576
|
unregisterChild(k: CadMapChild): void;
|
|
5577
|
+
/**
|
|
5578
|
+
* Contrat d'accueil des pièces POSÉES (cf. `atelier/atelier.pieces.ts`).
|
|
5579
|
+
*
|
|
5580
|
+
* ⚠️ CORRIGE UN MENSONGE LIVRÉ LE 24/08. `cad-map` était annoté conteneur et ses onze
|
|
5581
|
+
* pièces déclaraient `dans=cad-map`, mais AUCUNE couche posée ne s'est jamais
|
|
5582
|
+
* enregistrée : la carte n'exposait que `registerChild`, que les poseurs n'appellent
|
|
5583
|
+
* pas, et `cad-map-layer` s'injecte la carte en `optional` — donc `null` sans chaîne
|
|
5584
|
+
* d'injecteurs, donc pas d'auto-enregistrement, et pas la moindre erreur pour le dire.
|
|
5585
|
+
* Deux vocabulaires pour un besoin : c'est la divergence qu'on paie ici.
|
|
5586
|
+
*
|
|
5587
|
+
* Liste COMPLÈTE à chaque appel : le poseur reconstruit ses enfants d'un bloc, et un
|
|
5588
|
+
* contrat incrémental laisserait des couches fantômes sur la carte.
|
|
5589
|
+
*/
|
|
5590
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
5434
5591
|
/** Événements du chrome intégré (dessin, import). */
|
|
5435
5592
|
readonly drawChange: _angular_core.OutputEmitterRef<object>;
|
|
5436
5593
|
readonly layerImport: _angular_core.OutputEmitterRef<{
|
|
@@ -8413,6 +8570,22 @@ declare const ATELIER_BORNES: {
|
|
|
8413
8570
|
readonly propsMax: 30;
|
|
8414
8571
|
/** Enfants directs d'un conteneur. Le plafond GLOBAL reste `itemsMax`, enfants compris. */
|
|
8415
8572
|
readonly enfantsMax: 30;
|
|
8573
|
+
/**
|
|
8574
|
+
* Profondeur d'imbrication, en niveaux SOUS le plan.
|
|
8575
|
+
*
|
|
8576
|
+
* Un item du plan est à la profondeur 0, son enfant à 1, et ainsi de suite jusqu'à
|
|
8577
|
+
* `profondeurMax` INCLUS — soit cinq étages en tout. Ce n'est pas une préférence
|
|
8578
|
+
* d'ergonomie : `atelierNormaliser` et l'assainisseur backend descendent une
|
|
8579
|
+
* structure VENUE DE L'EXTÉRIEUR (lien partagé, fichier collé), et une récursion
|
|
8580
|
+
* non bornée sur du JSON hostile fait sauter la pile. Le plafond de COMPTE
|
|
8581
|
+
* (`itemsMax`) ne borne pas la profondeur : deux cents items peuvent former une
|
|
8582
|
+
* chaîne de deux cents étages.
|
|
8583
|
+
*
|
|
8584
|
+
* Cinq étages couvrent le besoin réel mesuré le 27/08 — le pire cas de la
|
|
8585
|
+
* bibliothèque est `cad-splitter > cad-splitter-panel > cad-tabs > cad-tab >
|
|
8586
|
+
* contenu`, soit une profondeur de 4 pour le contenu.
|
|
8587
|
+
*/
|
|
8588
|
+
readonly profondeurMax: 4;
|
|
8416
8589
|
};
|
|
8417
8590
|
/** Un composant posé sur le plan. */
|
|
8418
8591
|
interface AtelierItem {
|
|
@@ -8446,10 +8619,16 @@ interface AtelierItem {
|
|
|
8446
8619
|
* conteneur) — quatre tags à `w=3` tiennent côte à côte. `x`, `y` et `h` restent
|
|
8447
8620
|
* normalisés (0/0/1) : pas de placement absolu à l'intérieur, c'est ce qui évite le
|
|
8448
8621
|
* glisser inter-grilles, là où les outils de maquette meurent.
|
|
8449
|
-
* ·
|
|
8450
|
-
*
|
|
8451
|
-
*
|
|
8452
|
-
*
|
|
8622
|
+
* · IMBRICATION LIBRE jusqu'à `profondeurMax` (27/08, arbitrage SZU) : un enfant est
|
|
8623
|
+
* un item comme un autre, donc un conteneur peut en contenir un. Le plafond d'un
|
|
8624
|
+
* SEUL niveau, tenu du 24/08 au 27/08, rendait indéfendables les familles à pièce
|
|
8625
|
+
* typée — `cad-tabs > cad-tab > contenu` réclame deux niveaux, et un onglet qu'on
|
|
8626
|
+
* ne peut pas remplir est pire qu'un onglet absent. Au-delà du plafond, la pose
|
|
8627
|
+
* refuse VISIBLEMENT et l'assainisseur écarte le surplus : jamais de troncature
|
|
8628
|
+
* muette.
|
|
8629
|
+
* · Le régime (`flux` ou `direct`) est celui du PARENT DIRECT, lu de son annotation
|
|
8630
|
+
* `@atelier conteneur=` — pas celui de la racine. Un `cad-tab` en flux dans un
|
|
8631
|
+
* `cad-tabs` en direct est la forme normale, pas un cas limite.
|
|
8453
8632
|
*/
|
|
8454
8633
|
children?: AtelierItem[];
|
|
8455
8634
|
}
|
|
@@ -8460,10 +8639,81 @@ interface AtelierLayout {
|
|
|
8460
8639
|
/** Un plan vide, jamais `null` : un canevas absent et un canevas vide se traitent pareil. */
|
|
8461
8640
|
declare const atelierLayoutVide: () => AtelierLayout;
|
|
8462
8641
|
|
|
8642
|
+
/**
|
|
8643
|
+
* Le contrat d'accueil entre un HÔTE de la bibliothèque et les pièces qu'on lui POSE.
|
|
8644
|
+
*
|
|
8645
|
+
* ── POURQUOI CE FICHIER EXISTE ──────────────────────────────────────────────────
|
|
8646
|
+
*
|
|
8647
|
+
* L'atelier du studio et le rendu frontless du shell instancient les composants
|
|
8648
|
+
* IMPÉRATIVEMENT (`createComponent` + `projectableNodes`) : c'est ce qui permet de poser
|
|
8649
|
+
* le VRAI composant, vivant, plutôt qu'une image de lui. Mais deux mécanismes d'Angular
|
|
8650
|
+
* ne traversent PAS cette frontière, et c'est mesuré, pas supposé (27/08) :
|
|
8651
|
+
*
|
|
8652
|
+
* ① `contentChildren()` — une requête de contenu se résout sur la structure DÉCLARÉE
|
|
8653
|
+
* d'un gabarit. Un composant instancié à la main vit dans une autre vue : il arrive
|
|
8654
|
+
* bien dans le DOM, la requête ne le voit jamais. `cad-tabs` rendait `onglets=0`,
|
|
8655
|
+
* `cad-splitter` `gouttieres=0` — une barre vide, aucune erreur.
|
|
8656
|
+
* ② `inject(Hôte)` depuis la pièce — sans chaîne d'injecteurs de nœud, la recherche
|
|
8657
|
+
* remonte à l'injecteur d'environnement et échoue : `NG0201` pour
|
|
8658
|
+
* `cad-accordion-panel` et `cad-radio` (que `gen-catalog` classe d'ailleurs en
|
|
8659
|
+
* « contextuels », donc non posables), ou `null` silencieux quand l'injection est
|
|
8660
|
+
* `optional`.
|
|
8661
|
+
*
|
|
8662
|
+
* `<ng-content>` est donc NÉCESSAIRE mais PAS SUFFISANT pour qu'une famille soit un
|
|
8663
|
+
* conteneur d'atelier. Le raccourci « ça projette, donc ça marche » a coûté une matinée :
|
|
8664
|
+
* il faut aussi que l'hôte sache ACCUEILLIR une pièce qu'aucune requête ne lui rapportera.
|
|
8665
|
+
*
|
|
8666
|
+
* ── LE CONTRAT ──────────────────────────────────────────────────────────────────
|
|
8667
|
+
*
|
|
8668
|
+
* Il n'est pas neuf : `cad-button-group` le porte depuis le 24/08, posé le jour où l'on
|
|
8669
|
+
* a constaté qu'un groupe était SOURD aux clics de ses boutons posés. Ce fichier ne
|
|
8670
|
+
* l'invente pas, il l'ÉCRIT — jusqu'ici il vivait duck-typé dans le seul poseur du
|
|
8671
|
+
* studio, invisible depuis la bibliothèque, ce qui a permis à `cad-map` de partir avec
|
|
8672
|
+
* un nom à lui (`registerChild`) que personne n'appelle. Deux vocabulaires pour un
|
|
8673
|
+
* besoin, c'est une famille cassée en silence.
|
|
8674
|
+
*/
|
|
8675
|
+
/**
|
|
8676
|
+
* Un hôte capable d'accueillir des pièces créées hors gabarit.
|
|
8677
|
+
*
|
|
8678
|
+
* Le passage est la LISTE COMPLÈTE, jamais un ajout : le poseur reconstruit ses enfants
|
|
8679
|
+
* d'un bloc à chaque changement de structure, et un contrat incrémental l'obligerait à
|
|
8680
|
+
* tenir un différentiel — c'est ainsi qu'on garde un fantôme après une suppression.
|
|
8681
|
+
*/
|
|
8682
|
+
interface CadHoteAPieces {
|
|
8683
|
+
/** Reçoit toutes les instances posées. L'hôte filtre lui-même ce qui le concerne. */
|
|
8684
|
+
enregistrerEnfants(instances: unknown[]): void;
|
|
8685
|
+
}
|
|
8686
|
+
/**
|
|
8687
|
+
* L'hôte sait-il accueillir des pièces posées ?
|
|
8688
|
+
*
|
|
8689
|
+
* Reconnaissance par CAPACITÉ et non par liste de types : un poseur qui énumérerait les
|
|
8690
|
+
* familles concernées serait à mettre à jour à chaque nouvelle — et c'est toujours la
|
|
8691
|
+
* mise à jour qu'on oublie. Une famille qui gagne la trappe devient utilisable dans
|
|
8692
|
+
* l'atelier sans qu'aucun poseur ne bouge.
|
|
8693
|
+
*/
|
|
8694
|
+
declare function estHoteAPieces(hote: unknown): hote is CadHoteAPieces;
|
|
8695
|
+
|
|
8463
8696
|
/** Identifiant conforme à l'assainisseur backend : `/^[A-Za-z0-9_-]{1,24}$/`. */
|
|
8464
8697
|
declare function atelierNouvelId(): string;
|
|
8465
8698
|
/** Remet le compteur à zéro. Réservé aux tests, pour qu'ils ne dépendent pas de leur ordre. */
|
|
8466
8699
|
declare function atelierReinitialiserIds(): void;
|
|
8700
|
+
/**
|
|
8701
|
+
* Empêche les prochains ids de VOLER l'identité d'items déjà présents.
|
|
8702
|
+
*
|
|
8703
|
+
* ⚠️ À APPELER À CHAQUE CHARGEMENT d'un plan venu d'ailleurs (base, fichier collé). Le
|
|
8704
|
+
* compteur est propre à la SESSION et repart de zéro : une maquette rechargée porte déjà
|
|
8705
|
+
* `i1`, `i2`… et la première pose redonnait `i1`. Deux items partagent alors une clé, et
|
|
8706
|
+
* tout ce qui vise par id se trompe de cible — `atelierTrouver` rend le premier homonyme,
|
|
8707
|
+
* `transformerArbre` édite les deux, et le `@for … track` d'Angular en FUSIONNE deux à
|
|
8708
|
+
* l'écran : un bloc disparaît du canevas sans qu'aucune erreur ne soit levée (NG0955 en
|
|
8709
|
+
* avertissement, c'est tout).
|
|
8710
|
+
*
|
|
8711
|
+
* C'EST LE MÊME DÉFAUT QUE `eb87d3f7` (26/08), qui l'avait corrigé dans le builder
|
|
8712
|
+
* frontless — « le compteur valait items.length et non le plus grand id existant ». Le
|
|
8713
|
+
* format a DEUX producteurs ; le correctif n'en avait couvert qu'un. Il vit désormais
|
|
8714
|
+
* dans la bibliothèque, là où les deux le partagent.
|
|
8715
|
+
*/
|
|
8716
|
+
declare function atelierAdopterIds(layout: AtelierLayout): void;
|
|
8467
8717
|
/**
|
|
8468
8718
|
* La première position libre pour un bloc de `w × h`, en balayant de haut en bas puis de
|
|
8469
8719
|
* gauche à droite.
|
|
@@ -8476,22 +8726,27 @@ declare function atelierPremierePlaceLibre(items: readonly AtelierItem[], w: num
|
|
|
8476
8726
|
x: number;
|
|
8477
8727
|
y: number;
|
|
8478
8728
|
};
|
|
8479
|
-
/** Nombre TOTAL de composants,
|
|
8729
|
+
/** Nombre TOTAL de composants, à toutes les profondeurs — c'est lui que borne `itemsMax`. */
|
|
8480
8730
|
declare function atelierCompter(layout: AtelierLayout): number;
|
|
8481
8731
|
/**
|
|
8482
|
-
* Retrouve un composant OÙ QU'IL VIVE
|
|
8483
|
-
*
|
|
8732
|
+
* Retrouve un composant OÙ QU'IL VIVE, à n'importe quelle profondeur.
|
|
8733
|
+
*
|
|
8734
|
+
* `parentId` dit d'où il vient — c'est ce qui permet à l'inspecteur de remonter, d'un
|
|
8735
|
+
* cran à la fois. `profondeur` dit à quel étage il se trouve (0 = sur le plan) : la
|
|
8736
|
+
* pose s'en sert pour refuser AVANT d'agir, plutôt que de tronquer après.
|
|
8484
8737
|
*/
|
|
8485
8738
|
declare function atelierTrouver(layout: AtelierLayout, id: string): {
|
|
8486
8739
|
item: AtelierItem;
|
|
8487
8740
|
parentId: string | null;
|
|
8741
|
+
profondeur: number;
|
|
8488
8742
|
} | null;
|
|
8489
8743
|
/**
|
|
8490
|
-
* Pose un composant — sur le plan, ou DANS un conteneur (`dansId`)
|
|
8744
|
+
* Pose un composant — sur le plan, ou DANS un conteneur (`dansId`), à n'importe quelle
|
|
8745
|
+
* profondeur jusqu'à `profondeurMax`.
|
|
8491
8746
|
*
|
|
8492
8747
|
* Dans un conteneur, l'enfant vit en FLUX : ajouté en fin, x/y/w/h normalisés (0/0/12/1),
|
|
8493
|
-
* l'ordre fait loi. Refus VISIBLE (id vide) si le conteneur n'existe pas, est
|
|
8494
|
-
*
|
|
8748
|
+
* l'ordre fait loi. Refus VISIBLE (id vide) si le conteneur n'existe pas, s'il est déjà
|
|
8749
|
+
* au dernier étage autorisé, ou si un plafond est atteint — jamais de troncature
|
|
8495
8750
|
* silencieuse, même doctrine que le plafond global.
|
|
8496
8751
|
*/
|
|
8497
8752
|
declare function atelierAjouter(layout: AtelierLayout, type: string, gabarit?: {
|
|
@@ -8502,7 +8757,10 @@ declare function atelierAjouter(layout: AtelierLayout, type: string, gabarit?: {
|
|
|
8502
8757
|
layout: AtelierLayout;
|
|
8503
8758
|
id: string;
|
|
8504
8759
|
};
|
|
8505
|
-
/**
|
|
8760
|
+
/**
|
|
8761
|
+
* Retire un composant, où qu'il vive et à quelque profondeur que ce soit.
|
|
8762
|
+
* Retirer un conteneur emporte toute sa descendance — jamais d'orphelin invisible.
|
|
8763
|
+
*/
|
|
8506
8764
|
declare function atelierRetirer(layout: AtelierLayout, id: string): AtelierLayout;
|
|
8507
8765
|
/** Change une propriété — où que vive le composant. `undefined` la supprime. */
|
|
8508
8766
|
declare function atelierDefinirProp(layout: AtelierLayout, id: string, nom: string, valeur: string | number | boolean | string[] | undefined): AtelierLayout;
|
|
@@ -8608,6 +8866,20 @@ interface AtelierComposant {
|
|
|
8608
8866
|
* métadonnée voyage avec lui, l'atelier n'a aucune liste.
|
|
8609
8867
|
*/
|
|
8610
8868
|
ajustement: 'remplir' | 'naturel';
|
|
8869
|
+
/**
|
|
8870
|
+
* Ce composant DESSINE-T-IL quelque chose ? `aucune` = il occupe sa place sans rien
|
|
8871
|
+
* rendre (`cad-spacer`).
|
|
8872
|
+
*
|
|
8873
|
+
* Sert aux OUTILS DE CONCEPTION à le matérialiser : un composant qui n'affiche rien
|
|
8874
|
+
* est indistinguable d'un composant absent, on ne peut ni le voir ni le saisir. La
|
|
8875
|
+
* métadonnée voyage avec le composant — l'atelier n'a aucune liste à tenir à jour, et
|
|
8876
|
+
* c'est ce qui évite qu'un futur composant sans surface soit oublié.
|
|
8877
|
+
*
|
|
8878
|
+
* ⚠️ N'A AUCUN EFFET AU RENDU. Seule la feuille de style de l'ÉDITEUR agit dessus ;
|
|
8879
|
+
* le visualiseur et le shell frontless n'ont pas la règle, donc ils ne peuvent pas
|
|
8880
|
+
* l'afficher, même par erreur. La garantie est structurelle, pas conditionnelle.
|
|
8881
|
+
*/
|
|
8882
|
+
surface: 'propre' | 'aucune';
|
|
8611
8883
|
/**
|
|
8612
8884
|
* Icône de palette (`@atelier icone=…`), VALIDÉE contre le jeu d'icônes réel : un nom
|
|
8613
8885
|
* inconnu retombe sur `null` plutôt que d'afficher un carré cassé — mieux vaut vide
|
|
@@ -8638,6 +8910,16 @@ interface AtelierComposant {
|
|
|
8638
8910
|
* apparaissent dans leur groupe quand on est « dans » le bon conteneur.
|
|
8639
8911
|
*/
|
|
8640
8912
|
dans: string | null;
|
|
8913
|
+
/**
|
|
8914
|
+
* Les seules clés que cet hôte accueille (`@atelier accepte=cad-avatar`), ou `null`
|
|
8915
|
+
* si rien n'est déclaré. Plusieurs clés se séparent par `|`.
|
|
8916
|
+
*
|
|
8917
|
+
* COMPLÈTE `dans=` sans le doubler. `dans=` dit « cette pièce ne va QUE là », ce qui
|
|
8918
|
+
* rend son hôte strict par ricochet — c'est le cas de `cad-tabs` et de `cad-map`.
|
|
8919
|
+
* Mais un `cad-avatar` se pose aussi très bien seul sur une carte : il ne peut donc
|
|
8920
|
+
* pas porter `dans=`, et c'est alors à l'HÔTE de dire ce qu'il prend.
|
|
8921
|
+
*/
|
|
8922
|
+
accepte: string[] | null;
|
|
8641
8923
|
/**
|
|
8642
8924
|
* Valeurs de départ des ENTRÉES à la pose (`@atelier pose-value=Étiquette`) — le
|
|
8643
8925
|
* pendant de `contenu` pour les composants dont le visible passe par une entrée et
|
|
@@ -8699,18 +8981,111 @@ declare function atelierPalette(): readonly AtelierComposant[];
|
|
|
8699
8981
|
/** Le composant derrière une clé de `layout.json`, ou `null` s'il n'existe plus. */
|
|
8700
8982
|
declare function atelierComposant(cle: string): AtelierComposant | null;
|
|
8701
8983
|
/**
|
|
8702
|
-
*
|
|
8703
|
-
*
|
|
8704
|
-
*
|
|
8705
|
-
*
|
|
8984
|
+
* Cet hôte accepte-t-il ce composant ? `hote = null` désigne le PLAN.
|
|
8985
|
+
*
|
|
8986
|
+
* ⚠️ `dans=` SE LIT DANS LES DEUX SENS, et c'est toute la règle (arbitrage SZU 27/08) :
|
|
8987
|
+
*
|
|
8988
|
+
* · SENS DIRECT — une pièce ne se pose QUE chez son hôte. `cad-map-panel` posé seul
|
|
8989
|
+
* ne montre rien de sensé (signalé le 24/08), `cad-tab` hors d'un `cad-tabs` non plus.
|
|
8990
|
+
* · SENS INVERSE — un hôte QUI A des pièces n'accepte QUE ses pièces. `cad-tabs`
|
|
8991
|
+
* n'accueille que des `cad-tab`, `cad-map` que ses onze pièces de carte.
|
|
8992
|
+
*
|
|
8993
|
+
* La troisième règle en découle sans être écrite : un conteneur SANS pièce déclarée
|
|
8994
|
+
* (`cad-tab`, `cad-panel`, `cad-grid`…) accepte tout, sauf ce qui appartient à un autre
|
|
8995
|
+
* hôte. Rien à annoter : la relation existe déjà, on la lisait à moitié.
|
|
8996
|
+
*/
|
|
8997
|
+
declare function atelierAccepte(hote: string | null, cle: string): boolean;
|
|
8998
|
+
/**
|
|
8999
|
+
* Les clés des pièces d'un hôte, dans l'ordre de la palette. Vide si l'hôte n'est pas
|
|
9000
|
+
* strict — c'est le test « ce conteneur a-t-il des pièces à lui ? ».
|
|
9001
|
+
*/
|
|
9002
|
+
declare function atelierPiecesDe(hote: string | null): string[];
|
|
9003
|
+
/**
|
|
9004
|
+
* Recherche par nom, clé ou sélecteur. Rend TOUT ce qui correspond au terme.
|
|
9005
|
+
*
|
|
9006
|
+
* ⚠️ NE FILTRE PLUS SUR LA CIBLE, et c'est délibéré (SZU 27/08, règle déjà posée le
|
|
9007
|
+
* 26/08 pour le builder) : ce qu'un conteneur refuse doit apparaître VERROUILLÉ, pas
|
|
9008
|
+
* disparaître. Masquer fait deux dégâts — ça dérobe l'information (l'utilisateur ne sait
|
|
9009
|
+
* pas que le composant existe, ni pourquoi il n'est pas là) et ça fait SAUTER la palette
|
|
9010
|
+
* à chaque changement de sélection, si bien qu'on ne retrouve plus rien où on l'avait vu.
|
|
9011
|
+
*
|
|
9012
|
+
* L'appelant interroge `atelierAccepte` pour savoir quoi désactiver, et dit pourquoi.
|
|
9013
|
+
*/
|
|
9014
|
+
declare function atelierChercher(terme: string): AtelierComposant[];
|
|
9015
|
+
/**
|
|
9016
|
+
* Les composants groupés, dans l'ordre d'affichage de la palette.
|
|
9017
|
+
*
|
|
9018
|
+
* Les groupes ne dépendent PAS de la cible : la palette garde la même forme quoi qu'on
|
|
9019
|
+
* sélectionne, ce qui est la moitié de l'intérêt du verrouillage-expliqué.
|
|
8706
9020
|
*/
|
|
8707
|
-
declare function
|
|
8708
|
-
/** Les composants groupés, dans l'ordre d'affichage de la palette. */
|
|
8709
|
-
declare function atelierGroupes(terme?: string, hote?: string | null): {
|
|
9021
|
+
declare function atelierGroupes(terme?: string): {
|
|
8710
9022
|
groupe: string;
|
|
8711
9023
|
composants: AtelierComposant[];
|
|
8712
9024
|
}[];
|
|
8713
9025
|
|
|
9026
|
+
/**
|
|
9027
|
+
* OÙ un clic de palette pose réellement le composant.
|
|
9028
|
+
*
|
|
9029
|
+
* ── POURQUOI CE FICHIER EXISTE ──────────────────────────────────────────────────
|
|
9030
|
+
*
|
|
9031
|
+
* Depuis que les hôtes à pièces typées sont stricts, `cad-tabs` ne prend que des
|
|
9032
|
+
* `cad-tab`. Conséquence immédiate, signalée par SZU le 27/08 : « je fais comment pour
|
|
9033
|
+
* placer un composant sur cad-tab, puisque quand je sélectionne quelque chose c'est
|
|
9034
|
+
* cad-tabs qui est sélectionné ? » — le canevas ne sélectionne que les blocs du PLAN, et
|
|
9035
|
+
* la seule façon de viser un onglet était la liste de l'inspecteur. Ça marche, mais il
|
|
9036
|
+
* faut le savoir : une affordance qu'on doit enseigner n'en est pas une.
|
|
9037
|
+
*
|
|
9038
|
+
* La règle, telle qu'elle a été demandée dès le premier message (« cad-spacer devrait
|
|
9039
|
+
* aller dans cad-tab ») : quand l'hôte visé est STRICT et que le composant n'est pas une
|
|
9040
|
+
* de ses pièces, on DESCEND dans sa pièce courante. Poser un onglet ajoute un onglet ;
|
|
9041
|
+
* poser un bouton le met dans l'onglet affiché.
|
|
9042
|
+
*
|
|
9043
|
+
* Le routage ne s'applique QUE si l'hôte a exactement UN type de pièce et que cette
|
|
9044
|
+
* pièce est elle-même un conteneur. `cad-map` a onze pièces, dont aucune n'accueille
|
|
9045
|
+
* quoi que ce soit : il n'y a rien à router, et un `cad-button` y reste refusé — ce qui
|
|
9046
|
+
* est la vérité, pas une limite d'outil.
|
|
9047
|
+
*
|
|
9048
|
+
* Rien ici ne mute : on rend une DESTINATION, l'appelant décide.
|
|
9049
|
+
*/
|
|
9050
|
+
|
|
9051
|
+
/** La destination d'un clic de palette, résolue et explicable. */
|
|
9052
|
+
interface AtelierCible {
|
|
9053
|
+
/** Le conteneur qui recevra le composant. `null` = le plan. */
|
|
9054
|
+
dansId: string | null;
|
|
9055
|
+
/**
|
|
9056
|
+
* Pièce d'hôte à créer AVANT de poser, parce que l'hôte est strict et n'en a aucune.
|
|
9057
|
+
* L'appelant pose d'abord celle-ci dans `dansId`, puis le composant dans la pièce
|
|
9058
|
+
* obtenue. Elle apparaît à l'écran : rien de caché.
|
|
9059
|
+
*/
|
|
9060
|
+
pieceACreer: string | null;
|
|
9061
|
+
/**
|
|
9062
|
+
* Le chemin lisible de la destination — `['cad-tabs', 'Onglet']` — pour l'ANNONCER
|
|
9063
|
+
* avant le clic. Un routage qu'on ne voit pas est une surprise ; annoncé, c'est un
|
|
9064
|
+
* service.
|
|
9065
|
+
*/
|
|
9066
|
+
chemin: string[];
|
|
9067
|
+
/** Faux si ce composant ne peut se poser nulle part dans cette cible. */
|
|
9068
|
+
possible: boolean;
|
|
9069
|
+
}
|
|
9070
|
+
/**
|
|
9071
|
+
* Résout la destination d'un clic de palette.
|
|
9072
|
+
*
|
|
9073
|
+
* `selectionId` est le composant actuellement sélectionné — un conteneur accueille, un
|
|
9074
|
+
* composant simple fait poser à côté de lui, chez son parent.
|
|
9075
|
+
*/
|
|
9076
|
+
declare function atelierCibleDePose(layout: AtelierLayout, selectionId: string | null, cle: string): AtelierCible;
|
|
9077
|
+
/**
|
|
9078
|
+
* Les valeurs de DÉPART d'un composant qu'on pose : le texte projeté (`contenu=`) et
|
|
9079
|
+
* les entrées (`pose-*`) du catalogue.
|
|
9080
|
+
*
|
|
9081
|
+
* Extrait ici parce que DEUX poseurs doivent l'appliquer, et à DEUX endroits chacun :
|
|
9082
|
+
* au composant cliqué, et à la pièce d'hôte que le routage crée au passage. Cette
|
|
9083
|
+
* seconde application manquait — un onglet né du routage arrivait sans libellé, donc
|
|
9084
|
+
* invisible dans la barre (mesuré au clic dans le builder le 27/08). Un composant posé
|
|
9085
|
+
* sans ses valeurs de départ est une coquille, c'était déjà la leçon du 24/08.
|
|
9086
|
+
*/
|
|
9087
|
+
declare function atelierProposDePose(cle: string): AtelierItem['props'];
|
|
9088
|
+
|
|
8714
9089
|
/** `Relevé d'ouvrage` → `ReleveOuvrage`. */
|
|
8715
9090
|
declare function atelierNomDeClasse(titre: string): string;
|
|
8716
9091
|
/** `ReleveOuvrage` → `app-releve-ouvrage`. */
|
|
@@ -8763,10 +9138,10 @@ interface EntreeRegistre {
|
|
|
8763
9138
|
/** La balise à créer pour l'héberger. */
|
|
8764
9139
|
readonly hote: string;
|
|
8765
9140
|
}
|
|
8766
|
-
/** Symbole -> de quoi le construire.
|
|
9141
|
+
/** Symbole -> de quoi le construire. 106 composants posables. */
|
|
8767
9142
|
declare const REGISTRE: Readonly<Record<string, EntreeRegistre>>;
|
|
8768
9143
|
/** La classe d'un symbole, ou `null` s'il n'est pas posable (directive, ou hôte indéterminable). */
|
|
8769
9144
|
declare function classeDe(symbole: string): Type<unknown> | null;
|
|
8770
9145
|
|
|
8771
|
-
export { ATELIER_BORNES, ATELIER_COLONNES, ATELIER_STYLES_PLAN, BanGeocoder, CAD_BREAKPOINTS, CAD_CHART_PALETTE, CAD_COLOR_PRESETS, CAD_DEFAULT_BASEMAPS, CAD_DEFAULT_PRIORITY_BREAKPOINTS, CAD_DIALOG_DATA, CAD_FILTER_OPERATORS, CAD_GEOCODER, CAD_ICONS, CAD_ICONS_CEREMA, CAD_ICONS_CORE, CAD_ICONS_DATA, CAD_ICONS_FILES, CAD_ICONS_GEO, CAD_ICONS_SUBSET, CAD_ICONS_TOKEN, CAD_ICONS_UI, CAD_ICON_ALIASES, CAD_ICON_CATEGORIES, CAD_MAPLIBRE_CSS_URL, CAD_MAP_CHILD, CAD_MAP_DEFAULTS, CAD_MAP_GLOBAL_STYLES, CAD_MAP_GLYPHS, CAD_MAP_PALETTE, CAD_MASK_PRESETS, CAD_MOBILE_BREAKPOINT, CAD_RECURRENCE_INTERNE, CAD_SELECT_POSITIONS, CAD_SELECT_TRIGGER_STYLES, CAD_SHEET_DATA, CAD_SHELL, CAD_TOUCH_DENSITY, CadAccordionComponent, CadAccordionPanelComponent, CadAppShellComponent, CadAvatarComponent, CadAvatarGroupComponent, CadBadgeComponent, CadBadgeDirective, CadBlockDirective, CadBlockOverlayComponent, CadBlockUiComponent, CadBottomNavComponent, CadBreadcrumbComponent, CadBreadcrumbItemDirective, CadBreakpointService, CadButtonComponent, CadButtonGroupComponent, CadCalendarComponent, CadCaptionDirective, CadCardComponent, CadCardDirective, CadCardHeaderDirective, CadCarouselComponent, CadCarouselItemDirective, CadCascadeSelectComponent, CadCellTemplateDirective, CadCenterComponent, CadChartComponent, CadCheckboxComponent, CadChipComponent, CadClusterComponent, CadColDirective, CadColorpickerComponent, CadColumnComponent, CadComboComponent, CadConfirmContentComponent, CadConfirmDialogComponent, CadConfirmService, CadContainerComponent, CadDataviewComponent, CadDataviewGridDirective, CadDataviewListDirective, CadDatepickerComponent, CadDialogComponent, CadDialogContainerComponent, CadDialogFooterDirective, CadDialogHeaderDirective, CadDialogRef, CadDialogService, CadDividerComponent, CadDrawerComponent, CadEditFocusDirective, CadEditorTemplateDirective, CadEmptyDirective, CadFieldComponent, CadFieldsetComponent, CadFieldsetLegendDirective, CadFilterChipComponent, CadFilterTemplateDirective, CadGanttComponent, CadGeocodingService, CadGridComponent, CadGroupFooterDirective, CadGroupHeaderDirective, CadHeaderTemplateDirective, CadIconComponent, CadIconRegistry, CadIfDirective, CadImageComponent, CadInplaceComponent, CadInplaceContentDirective, CadInplaceDisplayDirective, CadInputDirective, CadJsonEditorComponent, CadKeyFilterDirective, CadListEmptyDirective, CadListFooterDirective, CadListHeaderDirective, CadListItemDirective, CadListboxComponent, CadMapBasemapRegistry, CadMapBasemapsComponent, CadMapCardComponent, CadMapChromeComponent, CadMapComponent, CadMapDrawEngine, CadMapLayerComponent, CadMapLayerGroupComponent, CadMapLayerToggleComponent, CadMapLegendComponent, CadMapMenuComponent, CadMapPanelComponent, CadMapPanels, CadMapRailComponent, CadMapRailItemComponent, CadMapSearchComponent, CadMapSectionComponent, CadMaskDirective, CadMenuComponent, CadMenubarComponent, CadMessageComponent, CadMeterComponent, CadMeterLabelDirective, CadMultiselectComponent, CadNavDrawerComponent, CadNavDrawerFooterDirective, CadNavDrawerHeaderDirective, CadNumberComponent, CadOptionListComponent, CadOrderlistComponent, CadOrgNodeDirective, CadOrgchartComponent, CadOverlayBase, CadPaginatorComponent, CadPanelComponent, CadPanelContentDirective, CadPanelHeaderDirective, CadPanelHeadingDirective, CadPasswordComponent, CadPicklistComponent, CadPopoverComponent, CadProgressComponent, CadRadioComponent, CadRadioGroupComponent, CadRatingComponent, CadRowActionsDirective, CadRowCountDirective, CadRowExpansionDirective, CadSchedulerComponent, CadScrollTopComponent, CadSegmentedComponent, CadSelectBase, CadSelectComponent, CadSelectEmptyDirective, CadSelectFooterDirective, CadSelectHeaderDirective, CadSelectItemDirective, CadSelectSelectedDirective, CadSheetContainerComponent, CadSheetRef, CadSheetService, CadSidebarComponent, CadSidebarPanelDirective, CadSkeletonComponent, CadSliderComponent, CadSpacerComponent, CadSpeedDialComponent, CadSpinnerComponent, CadSplitButtonComponent, CadSplitComponent, CadSplitterComponent, CadSplitterPanelComponent, CadStackComponent, CadStepComponent, CadStepperComponent, CadSwitchComponent, CadTabComponent, CadTabContentDirective, CadTabLabelDirective, CadTableBase, CadTableComponent, CadTableEdit, CadTableEditUi, CadTableFooterDirective, CadTablePanelComponent, CadTableResponsive, CadTableSelection, CadTableSticky, CadTableVirtual, CadTabsComponent, CadTagComponent, CadTaskCardDirective, CadTaskRowDirective, CadTaskboardComponent, CadTimeAxis, CadTimelineComponent, CadTimelineContentDirective, CadTimelineMarkerDirective, CadTimelineOppositeDirective, CadToastComponent, CadToastItemDirective, CadToastService, CadToggleButtonComponent, CadTooltipComponent, CadTooltipDirective, CadTreeAdapter, CadTreeComponent, CadTreeNodeDirective, CadTreeselectComponent, CadUploadComponent, CadUploadContentDirective, CadUploadEmptyDirective, CadUploadItemDirective, CadValueAccessor, CadWorkCalendar, MAPLIBRE_MIN_CSS, REGISTRE, addDays, addMonths, addYears, atelierAjouter, atelierBalise, atelierChercher, atelierCleDeSymbole, atelierCode, atelierComposant, atelierCompter, atelierControle, atelierDefinirProp, atelierDeplacer, atelierGabarit, atelierGroupes, atelierImports, atelierLayoutVide, atelierManques, atelierNomDeClasse, atelierNormaliser, atelierNouvelId, atelierPalette, atelierPoser, atelierPremierePlaceLibre, atelierRecompacter, atelierRedimensionner, atelierReinitialiserIds, atelierReordonnerEnfant, atelierRetirer, atelierSelecteurDeClasse, atelierTrouver, cadAggregate, cadApplyColumnOrder, cadApplyMask, cadArea, cadAutosizeWidth, cadBasemapThumbnail, cadBoundsOf, cadCategories, cadCentroid, cadClipFenetre, cadColorExpr, cadCompare, cadCompareRank, cadCurrentOperator, cadDebutSemaine, cadDefaultMatchMode, cadDistance, cadDownloadCsv, cadDurationToMinutes, cadEstBandeau, cadExpandOccurrences, cadFilterData, cadFilterKindOf, cadFilterOperators, cadFilterRows, cadFindLinkCycle, cadFmtArea, cadFmtLength, cadFormatCell, cadFormatColor, cadFormatDuration, cadFormatSize, cadFrenchHolidays, cadGanttRows, cadGap, cadGeoJSONStats, cadGeometryKinds, cadHeaderMenuItems, cadHighlightJson, cadHslToRgb, cadHsvToRgb, cadId, cadIsGroupKey, cadIsRank, cadJsonErrorPos, cadLegendFromStyle, cadLength, cadMapEstVivante, cadMapLayerOf, cadMapLayersOf, cadMatch, cadMinuit, cadMonthGrid, cadMoveColumn, cadMoveItems, cadNormalize, cadNormalizeOptions, cadNormalizePlan, cadNumberExpr, cadNumeroJour, cadPackDay, cadPackLanes, cadPadBounds, cadParseColor, cadParseDuration, cadParseRRule, cadParseResponsive, cadPlanHeader, cadPlanTicks, cadPointeFleche, cadProjeterClavier, cadProjeterCreation, cadProjeterEdition, cadProjeterMois, cadPropsTable, cadRankBetween, cadRankFirst, cadRankLast, cadRankSequence, cadResolve, cadResolveResponsive, cadResponsive, cadRgbToHsl, cadRgbToHsv, cadRingArea, cadRouterLien, cadRowKey, cadRowPredicate, cadSameValue, cadScaleNext, cadScaleStart, cadSchedulerPartition, cadSortData, cadStartResize, cadStyleToExpressions, cadUnmask, cadUnscheduled, cadValidateGeoJSON, cadValueForOperator, cadWeekBands, cadWriteField, classeDe, compareDay, daysInMonth, endOfMonth, ensureMaplibreCss, formatDate, isBetweenDay, isSameDay, isSameMonth, isValidDate, isoOf, isoWeek, loadChartJs, loadMaplibre, monthNames, pad2, parseIso, parseWithFormat, provideCadIcons, startOfDay, startOfMonth, toDate, weekdayNames };
|
|
8772
|
-
export type { AtelierComposant, AtelierItem, AtelierLayout, AtelierProp, CadAggregate, CadAggregateFn, CadAggregates, CadBadgeSeverity, CadBand, CadBandRow, CadBasemap, CadBasemapKind, CadBottomNavItem, CadBounds, CadBreadcrumbItem, CadBreakpoint, CadCalendarChangeEvent, CadCalendarCreateEvent, CadCalendarDateEvent, CadCalendarEventEvent, CadCalendarSource, CadCalendarView, CadCarouselResponsive, CadCellContext, CadCellEditState, CadChartClickEvent, CadChartType, CadColonneDef, CadColorFormat, CadColorSpec, CadColumnAlign, CadColumnDataType, CadColumnEditor, CadColumnFilterOption, CadColumnFilterType, CadColumnMenuActionEvent, CadColumnPinEvent, CadColumnReorderEvent, CadColumnResizeEvent, CadColumnToggleEvent, CadComboSource, CadConfirmOptions, CadDataviewLayout, CadDateMode, CadDateSelection, CadDateValue, CadDialogConfig, CadDialogPosition, CadDialogSize, CadDisplayRow, CadDrawMode, CadDrawOptions, CadDrawerPosition, CadDuration, CadDurationUnit, CadEditBase, CadEditCompleteEvent, CadEditEvent, CadEditGeometry, CadEditKind, CadEditMode, CadEditorContext, CadExpandResult, CadFeatureEvent, CadFenetreSpan, CadFilterChangeEvent, CadFilterKind, CadFilterMatchMode, CadFilterMeta, CadFilterOperator, CadFilters, CadGanttRow, CadGanttScale, CadGanttTaskEvent, CadGap, CadGeoJSON, CadGeocodeOptions, CadGeocodeResult, CadGeocoder, CadGeometryKind, CadGroupBy, CadGroupContext, CadGroupInfo, CadGroupItem, CadHeaderMenuHost, CadHsva, CadLaneSpan, CadLayerStyle, CadLazyLoadEvent, CadLegendItem, CadLienAncre, CadLienTrace, CadListGroup, CadListItem, CadListNormalizeOpts, CadListOption, CadListRow, CadLngLat, CadMapChild, CadMapChrome, CadMapClick, CadMapControl, CadMapLayerType, CadMapMenuConfig, CadMapMenuItem, CadMapMenuPanel, CadMapMenuRailItem, CadMapMenuSection, CadMapPosition, CadMapSide, CadMapView, CadMeasure, CadMenuItem, CadMenubarItem, CadMeterValue, CadMonthGrid, CadNavDrawerItem, CadNavDrawerMode, CadNavDrawerRow, CadNodeEvent, CadNormalizePlanOptions, CadNormalizedPlan, CadNumberSpec, CadOccurrence, CadOptionItem, CadOrgNode, CadOverlayHandle, CadPageEvent, CadPaintSet, CadPinnedColumns, CadPlacement, CadPlan, CadPlanAssignment, CadPlanBucket, CadPlanCalendar, CadPlanCalendarException, CadPlanDateInput, CadPlanHeader, CadPlanHours, CadPlanIssue, CadPlanLink, CadPlanLinkType, CadPlanMarker, CadPlanResource, CadPlanScale, CadPlanTask, CadPlanTick, CadPlanTicksOptions, CadPlannedLink, CadPlannedTask, CadPriorityBreakpoints, CadProgressSeverity, CadRRule, CadRRuleFreq, CadRecurrenceIssue, CadRgba, CadRowEditEvent, CadRowEditState, CadRowEvent, CadRowReorderEvent, CadSchedulerAssignEvent, CadSchedulerChangeEvent, CadSchedulerCreateEvent, CadSchedulerEventEvent, CadSchedulerMode, CadSchedulerScale, CadSchedulerScheduleEvent, CadSegmentOption, CadSelectItemContext, CadSelectionMode, CadSelectionPropagation, CadSeverity, CadSheetConfig, CadSheetHeight, CadShellApi, CadSize, CadSliderMark, CadSliderSeverity, CadSliderValue, CadSlot, CadSortEvent, CadSortMeta, CadSortOrder, CadStepState, CadTableEditContext, CadTableEditUiContext, CadTablePanelTab, CadTableResponsiveMode, CadTableSelectionContext, CadTagSeverity, CadTaskAssignEvent, CadTaskMoveEvent, CadTaskOpenEvent, CadTaskboardGroupBy, CadTaskboardMode, CadTimelineAlign, CadToastAction, CadToastMessage, CadToastPosition, CadToastSeverity, CadTreeAdapterOptions, CadTreeNode, CadTreeNodeEvent, CadUploadFile, CadUploadHandlerEvent, CadUploadStatus, CadVariant, CadVirtualRange, CadWipEvent, EntreeRegistre, MLExpression, MaplibreModule };
|
|
9146
|
+
export { ATELIER_BORNES, ATELIER_COLONNES, ATELIER_STYLES_PLAN, BanGeocoder, CAD_BREAKPOINTS, CAD_CHART_PALETTE, CAD_COLOR_PRESETS, CAD_DEFAULT_BASEMAPS, CAD_DEFAULT_PRIORITY_BREAKPOINTS, CAD_DIALOG_DATA, CAD_FILTER_OPERATORS, CAD_GEOCODER, CAD_ICONS, CAD_ICONS_CEREMA, CAD_ICONS_CORE, CAD_ICONS_DATA, CAD_ICONS_FILES, CAD_ICONS_GEO, CAD_ICONS_SUBSET, CAD_ICONS_TOKEN, CAD_ICONS_UI, CAD_ICON_ALIASES, CAD_ICON_CATEGORIES, CAD_MAPLIBRE_CSS_URL, CAD_MAP_CHILD, CAD_MAP_DEFAULTS, CAD_MAP_GLOBAL_STYLES, CAD_MAP_GLYPHS, CAD_MAP_PALETTE, CAD_MASK_PRESETS, CAD_MOBILE_BREAKPOINT, CAD_RECURRENCE_INTERNE, CAD_SELECT_POSITIONS, CAD_SELECT_TRIGGER_STYLES, CAD_SHEET_DATA, CAD_SHELL, CAD_TOUCH_DENSITY, CadAccordionComponent, CadAccordionPanelComponent, CadAppShellComponent, CadAvatarComponent, CadAvatarGroupComponent, CadBadgeComponent, CadBadgeDirective, CadBlockDirective, CadBlockOverlayComponent, CadBlockUiComponent, CadBottomNavComponent, CadBreadcrumbComponent, CadBreadcrumbItemDirective, CadBreakpointService, CadButtonComponent, CadButtonGroupComponent, CadCalendarComponent, CadCaptionDirective, CadCardComponent, CadCardDirective, CadCardHeaderDirective, CadCarouselComponent, CadCarouselItemDirective, CadCascadeSelectComponent, CadCellTemplateDirective, CadCenterComponent, CadChartComponent, CadCheckboxComponent, CadChipComponent, CadClusterComponent, CadColDirective, CadColorpickerComponent, CadColumnComponent, CadComboComponent, CadConfirmContentComponent, CadConfirmDialogComponent, CadConfirmService, CadContainerComponent, CadDataviewComponent, CadDataviewGridDirective, CadDataviewListDirective, CadDatepickerComponent, CadDialogComponent, CadDialogContainerComponent, CadDialogFooterDirective, CadDialogHeaderDirective, CadDialogRef, CadDialogService, CadDividerComponent, CadDrawerComponent, CadEditFocusDirective, CadEditorTemplateDirective, CadEmptyDirective, CadFieldComponent, CadFieldsetComponent, CadFieldsetLegendDirective, CadFilterChipComponent, CadFilterTemplateDirective, CadGanttComponent, CadGeocodingService, CadGridComponent, CadGroupFooterDirective, CadGroupHeaderDirective, CadHeaderTemplateDirective, CadIconComponent, CadIconRegistry, CadIfDirective, CadImageComponent, CadInplaceComponent, CadInplaceContentDirective, CadInplaceDisplayDirective, CadInputDirective, CadJsonEditorComponent, CadKeyFilterDirective, CadListEmptyDirective, CadListFooterDirective, CadListHeaderDirective, CadListItemDirective, CadListboxComponent, CadMapBasemapRegistry, CadMapBasemapsComponent, CadMapCardComponent, CadMapChromeComponent, CadMapComponent, CadMapDrawEngine, CadMapLayerComponent, CadMapLayerGroupComponent, CadMapLayerToggleComponent, CadMapLegendComponent, CadMapMenuComponent, CadMapPanelComponent, CadMapPanels, CadMapRailComponent, CadMapRailItemComponent, CadMapSearchComponent, CadMapSectionComponent, CadMaskDirective, CadMenuComponent, CadMenubarComponent, CadMessageComponent, CadMeterComponent, CadMeterLabelDirective, CadMultiselectComponent, CadNavDrawerComponent, CadNavDrawerFooterDirective, CadNavDrawerHeaderDirective, CadNumberComponent, CadOptionListComponent, CadOrderlistComponent, CadOrgNodeDirective, CadOrgchartComponent, CadOverlayBase, CadPaginatorComponent, CadPanelComponent, CadPanelContentDirective, CadPanelHeaderDirective, CadPanelHeadingDirective, CadPasswordComponent, CadPicklistComponent, CadPopoverComponent, CadProgressComponent, CadRadioComponent, CadRadioGroupComponent, CadRatingComponent, CadRowActionsDirective, CadRowCountDirective, CadRowExpansionDirective, CadSchedulerComponent, CadScrollTopComponent, CadSegmentedComponent, CadSelectBase, CadSelectComponent, CadSelectEmptyDirective, CadSelectFooterDirective, CadSelectHeaderDirective, CadSelectItemDirective, CadSelectSelectedDirective, CadSheetContainerComponent, CadSheetRef, CadSheetService, CadSidebarComponent, CadSidebarPanelDirective, CadSkeletonComponent, CadSliderComponent, CadSpacerComponent, CadSpeedDialComponent, CadSpinnerComponent, CadSplitButtonComponent, CadSplitComponent, CadSplitterComponent, CadSplitterPanelComponent, CadStackComponent, CadStepComponent, CadStepperComponent, CadSwitchComponent, CadTabComponent, CadTabContentDirective, CadTabLabelDirective, CadTableBase, CadTableComponent, CadTableEdit, CadTableEditUi, CadTableFooterDirective, CadTablePanelComponent, CadTableResponsive, CadTableSelection, CadTableSticky, CadTableVirtual, CadTabsComponent, CadTagComponent, CadTaskCardDirective, CadTaskRowDirective, CadTaskboardComponent, CadTimeAxis, CadTimelineComponent, CadTimelineContentDirective, CadTimelineMarkerDirective, CadTimelineOppositeDirective, CadToastComponent, CadToastItemDirective, CadToastService, CadToggleButtonComponent, CadTooltipComponent, CadTooltipDirective, CadTreeAdapter, CadTreeComponent, CadTreeNodeDirective, CadTreeselectComponent, CadUploadComponent, CadUploadContentDirective, CadUploadEmptyDirective, CadUploadItemDirective, CadValueAccessor, CadWorkCalendar, MAPLIBRE_MIN_CSS, REGISTRE, addDays, addMonths, addYears, atelierAccepte, atelierAdopterIds, atelierAjouter, atelierBalise, atelierChercher, atelierCibleDePose, atelierCleDeSymbole, atelierCode, atelierComposant, atelierCompter, atelierControle, atelierDefinirProp, atelierDeplacer, atelierGabarit, atelierGroupes, atelierImports, atelierLayoutVide, atelierManques, atelierNomDeClasse, atelierNormaliser, atelierNouvelId, atelierPalette, atelierPiecesDe, atelierPoser, atelierPremierePlaceLibre, atelierProposDePose, atelierRecompacter, atelierRedimensionner, atelierReinitialiserIds, atelierReordonnerEnfant, atelierRetirer, atelierSelecteurDeClasse, atelierTrouver, cadAggregate, cadApplyColumnOrder, cadApplyMask, cadArea, cadAutosizeWidth, cadBasemapThumbnail, cadBoundsOf, cadCategories, cadCentroid, cadClipFenetre, cadColorExpr, cadCompare, cadCompareRank, cadCurrentOperator, cadDebutSemaine, cadDefaultMatchMode, cadDistance, cadDownloadCsv, cadDurationToMinutes, cadEstBandeau, cadExpandOccurrences, cadFilterData, cadFilterKindOf, cadFilterOperators, cadFilterRows, cadFindLinkCycle, cadFmtArea, cadFmtLength, cadFormatCell, cadFormatColor, cadFormatDuration, cadFormatSize, cadFrenchHolidays, cadGanttRows, cadGap, cadGeoJSONStats, cadGeometryKinds, cadHeaderMenuItems, cadHighlightJson, cadHslToRgb, cadHsvToRgb, cadId, cadIsGroupKey, cadIsRank, cadJsonErrorPos, cadLegendFromStyle, cadLength, cadMapEstVivante, cadMapLayerOf, cadMapLayersOf, cadMatch, cadMinuit, cadMonthGrid, cadMoveColumn, cadMoveItems, cadNormalize, cadNormalizeOptions, cadNormalizePlan, cadNumberExpr, cadNumeroJour, cadPackDay, cadPackLanes, cadPadBounds, cadParseColor, cadParseDuration, cadParseRRule, cadParseResponsive, cadPlanHeader, cadPlanTicks, cadPointeFleche, cadProjeterClavier, cadProjeterCreation, cadProjeterEdition, cadProjeterMois, cadPropsTable, cadRankBetween, cadRankFirst, cadRankLast, cadRankSequence, cadResolve, cadResolveResponsive, cadResponsive, cadRgbToHsl, cadRgbToHsv, cadRingArea, cadRouterLien, cadRowKey, cadRowPredicate, cadSameValue, cadScaleNext, cadScaleStart, cadSchedulerPartition, cadSortData, cadStartResize, cadStyleToExpressions, cadUnmask, cadUnscheduled, cadValidateGeoJSON, cadValueForOperator, cadWeekBands, cadWriteField, classeDe, compareDay, daysInMonth, endOfMonth, ensureMaplibreCss, estHoteAPieces, formatDate, isBetweenDay, isSameDay, isSameMonth, isValidDate, isoOf, isoWeek, loadChartJs, loadMaplibre, monthNames, pad2, parseIso, parseWithFormat, provideCadIcons, startOfDay, startOfMonth, toDate, weekdayNames };
|
|
9147
|
+
export type { AtelierCible, AtelierComposant, AtelierItem, AtelierLayout, AtelierProp, CadAggregate, CadAggregateFn, CadAggregates, CadBadgeSeverity, CadBand, CadBandRow, CadBasemap, CadBasemapKind, CadBottomNavItem, CadBounds, CadBreadcrumbItem, CadBreakpoint, CadCalendarChangeEvent, CadCalendarCreateEvent, CadCalendarDateEvent, CadCalendarEventEvent, CadCalendarSource, CadCalendarView, CadCarouselResponsive, CadCellContext, CadCellEditState, CadChartClickEvent, CadChartType, CadColonneDef, CadColorFormat, CadColorSpec, CadColumnAlign, CadColumnDataType, CadColumnEditor, CadColumnFilterOption, CadColumnFilterType, CadColumnMenuActionEvent, CadColumnPinEvent, CadColumnReorderEvent, CadColumnResizeEvent, CadColumnToggleEvent, CadComboSource, CadConfirmOptions, CadDataviewLayout, CadDateMode, CadDateSelection, CadDateValue, CadDialogConfig, CadDialogPosition, CadDialogSize, CadDisplayRow, CadDrawMode, CadDrawOptions, CadDrawerPosition, CadDuration, CadDurationUnit, CadEditBase, CadEditCompleteEvent, CadEditEvent, CadEditGeometry, CadEditKind, CadEditMode, CadEditorContext, CadExpandResult, CadFeatureEvent, CadFenetreSpan, CadFilterChangeEvent, CadFilterKind, CadFilterMatchMode, CadFilterMeta, CadFilterOperator, CadFilters, CadGanttRow, CadGanttScale, CadGanttTaskEvent, CadGap, CadGeoJSON, CadGeocodeOptions, CadGeocodeResult, CadGeocoder, CadGeometryKind, CadGroupBy, CadGroupContext, CadGroupInfo, CadGroupItem, CadHeaderMenuHost, CadHoteAPieces, CadHsva, CadLaneSpan, CadLayerStyle, CadLazyLoadEvent, CadLegendItem, CadLienAncre, CadLienTrace, CadListGroup, CadListItem, CadListNormalizeOpts, CadListOption, CadListRow, CadLngLat, CadMapChild, CadMapChrome, CadMapClick, CadMapControl, CadMapLayerType, CadMapMenuConfig, CadMapMenuItem, CadMapMenuPanel, CadMapMenuRailItem, CadMapMenuSection, CadMapPosition, CadMapSide, CadMapView, CadMeasure, CadMenuItem, CadMenubarItem, CadMeterValue, CadMonthGrid, CadNavDrawerItem, CadNavDrawerMode, CadNavDrawerRow, CadNodeEvent, CadNormalizePlanOptions, CadNormalizedPlan, CadNumberSpec, CadOccurrence, CadOptionItem, CadOrgNode, CadOverlayHandle, CadPageEvent, CadPaintSet, CadPinnedColumns, CadPlacement, CadPlan, CadPlanAssignment, CadPlanBucket, CadPlanCalendar, CadPlanCalendarException, CadPlanDateInput, CadPlanHeader, CadPlanHours, CadPlanIssue, CadPlanLink, CadPlanLinkType, CadPlanMarker, CadPlanResource, CadPlanScale, CadPlanTask, CadPlanTick, CadPlanTicksOptions, CadPlannedLink, CadPlannedTask, CadPriorityBreakpoints, CadProgressSeverity, CadRRule, CadRRuleFreq, CadRecurrenceIssue, CadRgba, CadRowEditEvent, CadRowEditState, CadRowEvent, CadRowReorderEvent, CadSchedulerAssignEvent, CadSchedulerChangeEvent, CadSchedulerCreateEvent, CadSchedulerEventEvent, CadSchedulerMode, CadSchedulerScale, CadSchedulerScheduleEvent, CadSegmentOption, CadSelectItemContext, CadSelectionMode, CadSelectionPropagation, CadSeverity, CadSheetConfig, CadSheetHeight, CadShellApi, CadSize, CadSliderMark, CadSliderSeverity, CadSliderValue, CadSlot, CadSortEvent, CadSortMeta, CadSortOrder, CadStepState, CadTableEditContext, CadTableEditUiContext, CadTablePanelTab, CadTableResponsiveMode, CadTableSelectionContext, CadTagSeverity, CadTaskAssignEvent, CadTaskMoveEvent, CadTaskOpenEvent, CadTaskboardGroupBy, CadTaskboardMode, CadTimelineAlign, CadToastAction, CadToastMessage, CadToastPosition, CadToastSeverity, CadTreeAdapterOptions, CadTreeNode, CadTreeNodeEvent, CadUploadFile, CadUploadHandlerEvent, CadUploadStatus, CadVariant, CadVirtualRange, CadWipEvent, EntreeRegistre, MLExpression, MaplibreModule };
|