Lot A du sprint UI rework : réorganisation de la navigation racine. - shared/ui/MenuBar.tsx : barre de menus unique avec menus déroulants - shared/ui/FloatingWindow.tsx : primitive de fenêtre flottante réutilisable (socle du lot C #17 fenêtre dédiée gestion tickets) - shared/ui/zIndex.ts : échelle z-index étendue pour les fenêtres flottantes - App : intègre la barre unique et le sélecteur de projet permanent - ProjectsView : sélecteur de projet permanent Tests : tsc --noEmit clean, suite complète 527/527, suites impactées 33/33. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
/**
|
||
* Centralized z-index scale for full-window chrome overlays (G2 — UI rework).
|
||
*
|
||
* In-cell veils/portals keep their historical low values (chrome 2–5, F3 z-20,
|
||
* write-portal z-4, resume z-5); this scale is for floating windows and menus
|
||
* mounted at the **chrome level** (ProjectsView/App), never inside
|
||
* LayoutGrid/LeafView (G5).
|
||
*
|
||
* Consumers: `FloatingWindow` (floatingWindow), `MenuBar` dropdowns
|
||
* (menuDropdown), `TicketPicker` (floatingWindowNested), background-task toasts
|
||
* (toast). Introduced by lot B (#18) and adopted as the canonical scale by lot A
|
||
* (#16). See the sprint scoping note `ui-rework-sprint-scoping-contracts`.
|
||
*/
|
||
export const zIndex = {
|
||
/** Dropdown menus / popovers anchored to a control. */
|
||
menuDropdown: 40,
|
||
/** A top-level floating window (movable panel, editor overlay). */
|
||
floatingWindow: 50,
|
||
/** A floating window opened from within another floating window (e.g. a
|
||
* ticket picker launched from a sprint/link dialog). Sits above it. */
|
||
floatingWindowNested: 60,
|
||
/** Transient toasts, always on top. */
|
||
toast: 70,
|
||
} as const;
|
||
|
||
/** A level name in the {@link zIndex} scale. */
|
||
export type ZIndexLevel = keyof typeof zIndex;
|