@micheeeeel/yinyangapp 2.0.1 → 2.0.4

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.
@@ -17,6 +17,24 @@ export interface YinYangFilmConfig {
17
17
  };
18
18
  /** Retire les <text> (titres) — inutiles à petite taille. Défaut : true. */
19
19
  stripText?: boolean;
20
+ /** Met en avant le segment de bordure de la composante courante (comme un
21
+ * clic sur la facette). Défaut : true. `false` = bordure neutre unique,
22
+ * sans calque de bordure par composante (film plus léger). */
23
+ highlightActiveSegment?: boolean;
20
24
  }
21
25
  /** Cuit un tour complet et renvoie un <svg> autonome (keyframes inlinées). */
22
26
  export declare function createYinYangFilmSvg(config: YinYangFilmConfig): SVGSVGElement;
27
+ export interface YinYangFilmAsyncOptions {
28
+ /** Rend la main entre deux pas de cuisson. Défaut : requestIdleCallback
29
+ * (timeout 500 ms), sinon setTimeout(0). */
30
+ yieldFn?: () => Promise<void>;
31
+ /** Abandon : la promesse est rejetée et la zone hors écran nettoyée. */
32
+ signal?: AbortSignal;
33
+ }
34
+ /**
35
+ * Même cuisson que createYinYangFilmSvg, découpée : la main est rendue au
36
+ * navigateur entre chaque calque capturé (≈ 5–8 ms de travail par pas contre
37
+ * ≈ 50–180 ms d'un bloc), ce qui évite les micro-gels sur une page qui
38
+ * anime en continu (carte). Le rendu hors écran reste posé entre deux pas.
39
+ */
40
+ export declare function createYinYangFilmSvgAsync(config: YinYangFilmConfig, options?: YinYangFilmAsyncOptions): Promise<SVGSVGElement>;
@@ -44,5 +44,5 @@ export declare function mountYinYang(config: YinYangMountConfig): YinYangMountHa
44
44
  export declare function createYinYangSvg(config: YinYangSvgConfig): SVGSVGElement | null;
45
45
  /** Variante en lot : une seule zone hors écran pour tous les rendus. */
46
46
  export declare function createYinYangSvgs(configs: YinYangSvgConfig[]): (SVGSVGElement | null)[];
47
- export { createYinYangFilmSvg } from "./api-film";
48
- export type { YinYangFilmConfig } from "./api-film";
47
+ export { createYinYangFilmSvg, createYinYangFilmSvgAsync } from "./api-film";
48
+ export type { YinYangFilmConfig, YinYangFilmAsyncOptions } from "./api-film";
@@ -167,7 +167,10 @@ export declare class BorderDrawer {
167
167
  * (e.g. from the action stack) so the border stays in sync from the very
168
168
  * start of the transition animation.
169
169
  */
170
- activateSegment(segmentIndex: number): void;
170
+ /** @param immediate pose l'état final sans transition (rendu hors écran,
171
+ * cuisson d'un film) : la croissance du segment n'est plus tributaire des
172
+ * timers D3. */
173
+ activateSegment(segmentIndex: number, immediate?: boolean): void;
171
174
  /** Resets all arc segments to inactive style (e.g. when satellites are
172
175
  * folded) and returns to Idle: every facette image goes back to full
173
176
  * color, exactly like a fresh load. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micheeeeel/yinyangapp",
3
- "version": "2.0.1",
3
+ "version": "2.0.4",
4
4
  "description": "A program to visualize human activity balance to reach Sustainable Development Objectives",
5
5
  "main": "dist/bundle.js",
6
6
  "types": "dist/types/main.d.ts",