/** * `PositionModeMenu` — sélecteur de MODE D'AFFICHAGE d'une dimension (absolu / proportionnel / * échelle adaptée), primitive d'interface PARTAGÉE. * * os#1366 — Extrait de `opensankey-editor/components/topmenus/Toolbar.tsx`, où il n'était * atteignable que par l'éditeur : une publication sert le lecteur, et le réglage n'y avait donc * jamais existé. Or le mode d'affichage n'est pas un outil d'édition — c'est une façon de LIRE la * donnée quand la sélection change (positions absolues conservées, comprimées proportionnellement, * ou échelle adaptée au flux de référence). Il appartient au lecteur autant qu'à l'auteur. * * Le composant est DÉPLACÉ, pas recopié : ses trois hôtes (ligne du panneau Filtres, sélecteur de * la barre du haut, frise de séquence) importent tous celui-ci. Deux copies auraient divergé. * * La LOGIQUE de positionnement, elle, ne bouge pas : elle vit déjà dans OpenSankey * (`Class_DataTagGroup.applyPositionModeToDrawing`, `NodePositioning*`). Ce module n'est que * l'interface. La règle d'affichage vit dans `positionModeHost.ts`, à côté. * * `import type` uniquement pour les classes modèle : ce module reste une feuille, sans arête * runtime vers `types/` (cf. `architectureBoundary.test.ts` et le cycle Element → Handler). */ import React from 'react'; import type { IconDefinition } from '@fortawesome/fontawesome-svg-core'; import type { Class_ApplicationData } from '../../types/ApplicationData'; import type { Class_DataTagGroup } from '../../types/TagGroup'; import type { Type_PositionMode } from '../../types/PublishOptions'; export declare const POSITION_MODE_META: { value: Type_PositionMode; icon: IconDefinition; label_key: string; }[]; /** * Menu du mode d'affichage D'UNE DIMENSION : déclencheur icône seule (icône du mode de la * dimension, discret), le texte + icône de chaque mode ne se voient que dans le menu * déroulé. * * #370 — Un menu par dimension, à côté d'elle, quel que soit son hôte : ligne du panneau * Filtres, sélecteur de la barre du haut, frise de séquence. Remplace le bouton unique en * en-tête de section du #367 : le mode n'est plus un réglage global du diagramme, il * qualifie chaque dimension (échelle adaptée pour des unités, proportionnel pour des * années). */ export declare const PositionModeMenu: ({ app_data, tagg }: { app_data: Class_ApplicationData; tagg: Class_DataTagGroup; }) => React.JSX.Element;