@micheeeeel/yinyangapp 2.4.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +1 -1
- package/dist/types/adapters/yasuniCauseAdapter.d.ts +13 -0
- package/dist/types/api.d.ts +2 -1
- package/dist/types/components/controller/YinYangController.d.ts +4 -1
- package/dist/types/components/controls/DiagramSwitcherControl.d.ts +3 -0
- package/dist/types/components/view/ViewInitializer.d.ts +10 -0
- package/dist/types/components/view/YinYangDrawer.d.ts +56 -25
- package/dist/types/components/workspace/workspaceTemplate.d.ts +1 -1
- package/dist/types/data/OddCategoryColors.d.ts +7 -0
- package/dist/types/data/activeDiagram.d.ts +60 -0
- package/dist/types/data/contacts/buildContactSphere.d.ts +27 -0
- package/dist/types/data/contacts/index.d.ts +11 -0
- package/dist/types/data/contacts/profiles/andres_cevallos.d.ts +2 -0
- package/dist/types/data/contacts/profiles/camila_serrano.d.ts +2 -0
- package/dist/types/data/contacts/profiles/dika.d.ts +2 -0
- package/dist/types/data/contacts/profiles/elena_viteri.d.ts +2 -0
- package/dist/types/data/contacts/profiles/etawane.d.ts +2 -0
- package/dist/types/data/contacts/profiles/gabriel_mena.d.ts +2 -0
- package/dist/types/data/contacts/profiles/kuri_tapuy.d.ts +2 -0
- package/dist/types/data/contacts/profiles/lucia_cardenas.d.ts +2 -0
- package/dist/types/data/contacts/profiles/mariana_paredes.d.ts +2 -0
- package/dist/types/data/contacts/profiles/martin_aguirre.d.ts +2 -0
- package/dist/types/data/contacts/profiles/mateo_salazar.d.ts +2 -0
- package/dist/types/data/contacts/profiles/sofia_almeida.d.ts +2 -0
- package/dist/types/data/contacts/profiles/tomas_valverde.d.ts +2 -0
- package/dist/types/data/contacts/universalFacets.d.ts +263 -0
- package/dist/types/interfaces/ICauseModel.d.ts +4 -0
- package/dist/types/interfaces/IYinYangInternalModel.d.ts +6 -0
- package/dist/types/utils/facetteImages.d.ts +1 -0
- package/dist/types/utils/oddLegend.d.ts +1 -1
- package/package.json +1 -1
|
@@ -10,3 +10,16 @@ export declare function composantesToCause(composantes: Composante[], id?: strin
|
|
|
10
10
|
/** La `Cause` du Yasuní, fraîchement construite à chaque appel (l'hôte peut
|
|
11
11
|
* la muter sans effet de bord). `id` par défaut : "yasuni". */
|
|
12
12
|
export declare function getYasuniCause(id?: string): Cause;
|
|
13
|
+
/** La `Cause` d'un contact (sphère individuelle, 8 facettes / 38 satellites),
|
|
14
|
+
* fraîchement construite à chaque appel. `id` par défaut : l'id du contact.
|
|
15
|
+
* Lève une erreur si le contact est inconnu (voir `listContacts`). */
|
|
16
|
+
export declare function getContactCause(contactId: string, id?: string): Cause;
|
|
17
|
+
export interface ContactSummary {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
role: string;
|
|
21
|
+
organisation: string;
|
|
22
|
+
provisional: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Les contacts disponibles, dans l'ordre de la calibration Notion. */
|
|
25
|
+
export declare function listContacts(): ContactSummary[];
|
package/dist/types/api.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ export { createYinYangFilmSvg, createYinYangFilmSvgAsync } from "./api-film";
|
|
|
58
58
|
export type { YinYangFilmConfig, YinYangFilmAsyncOptions } from "./api-film";
|
|
59
59
|
export { createRandomCause } from "./api-random";
|
|
60
60
|
export type { RandomCauseOptions, RandomRange } from "./api-random";
|
|
61
|
-
export { getYasuniCause } from "./adapters/yasuniCauseAdapter";
|
|
61
|
+
export { getYasuniCause, getContactCause, listContacts, } from "./adapters/yasuniCauseAdapter";
|
|
62
|
+
export type { ContactSummary } from "./adapters/yasuniCauseAdapter";
|
|
62
63
|
export { mountYinYangWorkspace } from "./api-workspace";
|
|
63
64
|
export type { YinYangWorkspaceConfig, YinYangWorkspaceHandle, } from "./api-workspace";
|
|
@@ -758,6 +758,9 @@ export declare class YinYangController implements IYinYangController {
|
|
|
758
758
|
private _animateComet;
|
|
759
759
|
private getCurrentComponent;
|
|
760
760
|
private getCurrentComponentOrUndefined;
|
|
761
|
+
/** Nom de l'objet racine : celui de la Cause montée quand elle en porte un
|
|
762
|
+
* (sphère de contact), sinon la sphère active de la page. */
|
|
763
|
+
private rootName;
|
|
761
764
|
private getCurrentComponentTitle;
|
|
762
765
|
/** Second (et, le cas échéant, troisième) niveau du titre : libellé + couleur
|
|
763
766
|
* ODD du satellite actif sous la facette courante (menu ouvert, ou
|
|
@@ -1140,7 +1143,7 @@ export declare class YinYangController implements IYinYangController {
|
|
|
1140
1143
|
highlightOddByStackItemId(stackItemId: string | null): void;
|
|
1141
1144
|
/**
|
|
1142
1145
|
* Retourne les actions applicables au cutting associé à `childKey`,
|
|
1143
|
-
* en consultant `
|
|
1146
|
+
* en consultant `activeComposantes` via `actionMap` (lookup O(1)).
|
|
1144
1147
|
*
|
|
1145
1148
|
* Les actions adverses vivent sous le même satellite (l'invariant "une
|
|
1146
1149
|
* action vit sous un satellite" tient) mais ne sont jamais proposées au
|
|
@@ -6,6 +6,7 @@ import { IYinYangView } from "../../interfaces/IYinYangView";
|
|
|
6
6
|
import { IYinOrYangPattern } from "../../interfaces/IYinOrYangPattern";
|
|
7
7
|
import { IViewData } from "../../interfaces/IViewData";
|
|
8
8
|
import { IYinYangGeometry, YinYangCategoryArcGeometry, YinYangSpikeGeometry } from "../../interfaces/IYinYangGeometry";
|
|
9
|
+
import { YinYangComponentNode } from "../../interfaces/IYinYangInternalModel";
|
|
9
10
|
export declare class ViewInitializer {
|
|
10
11
|
graphicContainer: IGraphicElement;
|
|
11
12
|
graphicStrategy: IGraphicsStrategy;
|
|
@@ -188,6 +189,10 @@ export declare class ViewInitializer {
|
|
|
188
189
|
oddContextLabelsVisible: boolean;
|
|
189
190
|
oddContextLabelsSuppressed: boolean;
|
|
190
191
|
oddLabelsCompact: boolean;
|
|
192
|
+
/** Reflet de "Afficher libellés" (YinYangControllerState.allLabelsVisible),
|
|
193
|
+
* posé par ControllerSettingsApplier : affiche le poids de toutes les
|
|
194
|
+
* facettes sur leur arc, pas seulement celui de la facette active. */
|
|
195
|
+
allLabelsVisible: boolean;
|
|
191
196
|
legendLabelsBgEnabled: boolean;
|
|
192
197
|
labelsFontAutoScale: number;
|
|
193
198
|
labelsFontScale: number;
|
|
@@ -309,6 +314,11 @@ export declare class ViewInitializer {
|
|
|
309
314
|
* (même règle que le plafond par-ODD affiché sur les arcs, voir
|
|
310
315
|
* buildOddArcLabelLines dans YinYangDrawer). */
|
|
311
316
|
getFacetteWeightMax(): number;
|
|
317
|
+
/** getFacetteWeight pour une facette quelconque (poids de chaque arc de
|
|
318
|
+
* bordure quand "Afficher libellés" est actif). */
|
|
319
|
+
getComponentWeight(component: YinYangComponentNode | null | undefined): number;
|
|
320
|
+
/** getFacetteWeightMax pour une facette quelconque. */
|
|
321
|
+
getComponentWeightMax(component: YinYangComponentNode | null | undefined): number;
|
|
312
322
|
getCurrentComponentIndex(): number;
|
|
313
323
|
getCurrentComponentName(): string;
|
|
314
324
|
getCurrentComponentOrientation(): "yin" | "yang";
|
|
@@ -27,6 +27,8 @@ export declare class YinYangDrawer {
|
|
|
27
27
|
private categoryArcGhostFrameId;
|
|
28
28
|
private readonly CHILD_SCORE_BAND_FRACTION;
|
|
29
29
|
private readonly CHILD_WEIGHT_LABEL_BAND_FRACTION;
|
|
30
|
+
private readonly FACETTE_SCORE_BAND_FRACTION;
|
|
31
|
+
private readonly SCORE_FONT_SCALE;
|
|
30
32
|
private readonly BASE_MAIN_SELECTOR;
|
|
31
33
|
private readonly IDLE_SPHERE_OVERLAY_ROLE;
|
|
32
34
|
private readonly MIN_VISIBLE_ARC_ANGLE_RAD;
|
|
@@ -240,7 +242,7 @@ export declare class YinYangDrawer {
|
|
|
240
242
|
*/
|
|
241
243
|
private drawYinOrYangWithGroup;
|
|
242
244
|
/**
|
|
243
|
-
* Affiche le score d'état ("40
|
|
245
|
+
* Affiche le score d'état ("40%") dans l'anneau extérieur de la moitié
|
|
244
246
|
* dominante du satellite — entre le petit cercle "noyau"
|
|
245
247
|
* (smallRadius) et le bord du lobe (radius) — plutôt qu'en son centre
|
|
246
248
|
* exact, pour laisser le noyau visible. La moitié orientée grandit
|
|
@@ -266,43 +268,63 @@ export declare class YinYangDrawer {
|
|
|
266
268
|
* plus grand, et le texte doit suivre dans les deux cas.
|
|
267
269
|
*/
|
|
268
270
|
private renderChildStateLabel;
|
|
271
|
+
/** Score "47%" : valeur pleine, signe % réduit — le score est une part de
|
|
272
|
+
* 100, le suffixe "/100" n'apprenait rien de plus. */
|
|
273
|
+
private writeScorePercent;
|
|
269
274
|
/**
|
|
270
|
-
* Affiche le poids ("6
|
|
275
|
+
* Affiche le poids ("6") dans le même lobe dominant que le score, mais
|
|
271
276
|
* sur le rayon OPPOSÉ (score : vers l'extérieur du satellite ; poids :
|
|
272
277
|
* vers son centre) — même mécanique que renderChildStateLabel (taille
|
|
273
|
-
* proportionnelle au rayon réel)
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
* coup d'œil, et un fond en dégradé radial (pas de liseret) qui calme le
|
|
278
|
-
* lobe sous les chiffres. Même technique que les libellés d'arcs du cercle
|
|
279
|
-
* central (renderOddArcLabels) : cercle rempli d'un radialGradient
|
|
280
|
-
* couleur→transparent, dimensionné sur le bbox du texte.
|
|
281
|
-
*
|
|
282
|
-
* Teinte comme voile suivent le lobe (weightColorForLobe, labelVeilColor) :
|
|
283
|
-
* doré sur fond noir, ambre profond sur fond blanc, où le doré ne tient
|
|
284
|
-
* pas — c'est la même règle que le score, qui lui s'inverse franchement.
|
|
278
|
+
* proportionnelle au rayon réel). Même pastille sombre que le poids de la
|
|
279
|
+
* facette (ensureWeightPill/fitWeightPill) : le doré y reste lisible sur
|
|
280
|
+
* un lobe noir comme blanc, et le poids se reconnaît au même encadré
|
|
281
|
+
* partout dans le diagramme.
|
|
285
282
|
*/
|
|
286
283
|
private renderChildWeightLabel;
|
|
287
284
|
/**
|
|
288
|
-
*
|
|
285
|
+
* Pastille du poids — partagée par le poids de la facette (dans son arc)
|
|
286
|
+
* et celui des satellites (dans leur lobe) : fond sombre arrondi, chiffre
|
|
287
|
+
* doré. Le fond ne dépend pas de ce qu'il y a dessous (lobe noir ou
|
|
288
|
+
* blanc, arc de n'importe quelle teinte), le doré y reste toujours lisible.
|
|
289
|
+
* Crée le groupe (rect + text) s'il n'existe pas encore sous `parent` ;
|
|
290
|
+
* `key` distingue plusieurs pastilles du même rôle (une par arc de facette).
|
|
291
|
+
*/
|
|
292
|
+
private ensureWeightPill;
|
|
293
|
+
/** Ajuste la pastille (ensureWeightPill) au texte qu'elle porte — à
|
|
294
|
+
* rappeler après chaque changement de texte ou de police. */
|
|
295
|
+
private fitWeightPill;
|
|
296
|
+
/**
|
|
297
|
+
* Affiche le score de la facette courante ("40%") dans le cercle
|
|
289
298
|
* principal — même règle que renderChildStateLabel au niveau d'un
|
|
290
299
|
* satellite (bande [smallRadius, radius] du lobe dominant, même
|
|
291
300
|
* contraste), maintenant que les arcs ODD n'affichent plus systématiquement
|
|
292
301
|
* cette information (voir buildOddArcLabelLines, réservé à l'ODD
|
|
293
|
-
* sélectionné).
|
|
294
|
-
*
|
|
295
|
-
* pas de fratrie pour donner le contexte d'échelle par comparaison.
|
|
302
|
+
* sélectionné). Seul occupant du lobe depuis que le poids a rejoint l'arc
|
|
303
|
+
* de facette (renderFacetteWeightLabel), il est centré dans l'anneau.
|
|
296
304
|
*/
|
|
297
305
|
private renderFacetteStateLabel;
|
|
298
306
|
/**
|
|
299
|
-
* Affiche le poids
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
307
|
+
* Affiche le poids d'une facette ("18/40") DANS son arc de bordure
|
|
308
|
+
* (segment de BorderDrawer), et non dans un lobe : ce poids est celui qui
|
|
309
|
+
* dimensionne l'arc, il se lit donc sur lui. Le poids et son plafond sont
|
|
310
|
+
* la somme des poids de tous les ODD de la facette (voir
|
|
311
|
+
* ViewInitializer.getComponentWeight/getComponentWeightMax).
|
|
312
|
+
*
|
|
313
|
+
* Par défaut seule la facette active porte son poids (et seulement quand
|
|
314
|
+
* ses libellés sont visibles, voir shouldShowFacetteLabels) ; avec
|
|
315
|
+
* "Afficher libellés" (ViewInitializer.allLabelsVisible), chaque arc porte
|
|
316
|
+
* le sien, facette ouverte ou non.
|
|
317
|
+
*
|
|
318
|
+
* Police calée sur l'épaisseur de l'anneau, texte couché le long de l'arc
|
|
319
|
+
* (tangent à son milieu, retourné sur la moitié basse pour rester à
|
|
320
|
+
* l'endroit) : il épouse la courbe du cercle, et tient dans la bande à
|
|
321
|
+
* n'importe quel angle. Posé sur une pastille sombre (ensureWeightPill) :
|
|
322
|
+
* l'arc peut porter n'importe quelle teinte, y compris le doré du poids.
|
|
323
|
+
*
|
|
324
|
+
* Calque propre, enfant direct de globalGroup et non du lobe : yinYangGroup
|
|
325
|
+
* tourne pendant les animations alors que les arcs de bordure restent
|
|
326
|
+
* fixes — les libellés doivent rester collés à leur arc, pas au spin.
|
|
327
|
+
* Réinséré en dernier pour passer au-dessus des arcs comme du yin-yang.
|
|
306
328
|
*/
|
|
307
329
|
private renderFacetteWeightLabel;
|
|
308
330
|
private drawGhostCircle;
|
|
@@ -485,6 +507,15 @@ export declare class YinYangDrawer {
|
|
|
485
507
|
*/
|
|
486
508
|
setHoverOddId(oddId: string | null): void;
|
|
487
509
|
private refreshHoverArcStyles;
|
|
510
|
+
/**
|
|
511
|
+
* Allume les zones de clic des arcs ODD d'une couche : un arc SURVOLÉ ou
|
|
512
|
+
* ACTIF reçoit la couleur de son ODD et son halo, les autres redeviennent
|
|
513
|
+
* transparents. L'arc actif était auparavant allumé par accident — le
|
|
514
|
+
* style de survol, posé juste avant le clic, n'était jamais retiré tant
|
|
515
|
+
* que l'arc restait actif ; activé sans survol (par l'hôte :
|
|
516
|
+
* searchHighlightOdd, searchActivateOdd), il n'avait que son liseré.
|
|
517
|
+
*/
|
|
518
|
+
private refreshOddHitZones;
|
|
488
519
|
/**
|
|
489
520
|
* Re-applies the highlight / dim styles on all existing interactive arc hit-zones
|
|
490
521
|
* based on the current `activeOddId`, without recreating the DOM elements.
|