@sentropic/design-system-svelte 0.34.47 → 0.34.49

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.
@@ -0,0 +1,167 @@
1
+ <script lang="ts">
2
+ // App-shell SVELTE : COMPOSE les vrais composants du design system — zéro contrôle
3
+ // bricolé. Triggers = DS Button / IconButton ; menus = DS MenuPopover + Menu ;
4
+ // identité = DS IdentityMenu ; barre = DS Header. Le look vient donc des tokens DS
5
+ // (--st-component-control-*) → pixel-cohérent avec le header de référence, et les
6
+ // menus sont ceux du DS (fonctionnels). Piloté par `siteConfig`.
7
+ import Header from "./Header.svelte";
8
+ import Button from "./Button.svelte";
9
+ import IconButton from "./IconButton.svelte";
10
+ import MenuPopover from "./MenuPopover.svelte";
11
+ import Menu from "./Menu.svelte";
12
+ import { Boxes, ChevronDown, Globe, Moon, Palette, Search as SearchIcon, Sun } from "@lucide/svelte";
13
+ import IdentityButton from "./IdentityButton.svelte";
14
+ import type { SiteConfig } from "./site-config";
15
+
16
+ let { config }: { config: SiteConfig } = $props();
17
+
18
+ const brand = $derived(config.brand ?? { name: "Sentropic" });
19
+ const nav = $derived(Array.isArray(config.nav) ? config.nav : []);
20
+ const t = $derived(config.theming ?? { themes: [], theme: "" });
21
+
22
+ const isActive = (item: { href: string; active?: boolean }) =>
23
+ item.active != null
24
+ ? item.active
25
+ : config.activePath != null &&
26
+ (item.href === config.activePath || (item.href !== "/" && (config.activePath ?? "").startsWith(item.href)));
27
+
28
+ const themeItems = $derived((t.themes ?? []).map((o) => ({ label: o.label, value: o.id })));
29
+ const fwItems = $derived((config.frameworkSwitcher?.available ?? []).map((o) => ({ label: o.label, value: o.id })));
30
+ const localeItems = $derived((config.locale?.available ?? []).map((o) => ({ label: o.label, value: o.code })));
31
+ const fwLabel = $derived((config.frameworkSwitcher?.available ?? []).find((o) => o.id === config.frameworkSwitcher?.current)?.label ?? "");
32
+ const themeLabel = $derived((t.themes ?? []).find((o) => o.id === t.theme)?.label ?? "");
33
+
34
+ // Ancrage des menus (MenuPopover veut un HTMLElement) : on bind un span tight.
35
+ let themeEl = $state<HTMLElement | null>(null);
36
+ let fwEl = $state<HTMLElement | null>(null);
37
+ let localeEl = $state<HTMLElement | null>(null);
38
+ let themeOpen = $state(false);
39
+ let fwOpen = $state(false);
40
+ let localeOpen = $state(false);
41
+
42
+ function cycleColorMode() {
43
+ const cur = t.colorMode;
44
+ t.onColorModeChange?.(cur === "light" ? "dark" : cur === "dark" ? "auto" : "light");
45
+ }
46
+ </script>
47
+
48
+ {#snippet logo()}
49
+ <a class="st-shell__brand" href={brand.href ?? "/"} aria-label={brand.label ?? [brand.name, brand.productName].filter(Boolean).join(" ")}>
50
+ {#if brand.logoSrc}<img class="st-shell__brandMark" src={brand.logoSrc} alt="" aria-hidden="true" />{/if}
51
+ <span class="st-shell__brandCopy">
52
+ {#if brand.name}<span class="st-shell__brandName">{brand.name}</span>{/if}
53
+ {#if brand.productName}<span class="st-shell__brandProduct">{brand.productName}</span>{/if}
54
+ </span>
55
+ </a>
56
+ {/snippet}
57
+
58
+ {#snippet navigation()}
59
+ <nav class="st-shell__nav" aria-label={config.navLabel ?? "Navigation"}>
60
+ {#each nav as item (item.href)}
61
+ <a class="st-shell__navLink" href={item.href} aria-current={isActive(item) ? "page" : undefined}>{item.label}</a>
62
+ {/each}
63
+ </nav>
64
+ {/snippet}
65
+
66
+ {#snippet actions()}
67
+ <div class="st-shell__actions">
68
+ {#if config.search?.enabled}
69
+ <Button variant="secondary" size="sm" class="st-shell__search" onclick={() => config.search?.onSearch?.("")}>
70
+ <SearchIcon size={16} strokeWidth={2.1} aria-hidden="true" />
71
+ <span>{config.search.placeholder ?? "Rechercher…"}</span>
72
+ <kbd class="st-shell__kbd">/</kbd>
73
+ </Button>
74
+ {/if}
75
+
76
+ {#if config.frameworkSwitcher?.enabled}
77
+ <span class="st-shell__menuWrap" bind:this={fwEl}>
78
+ <Button variant="secondary" size="sm" class="st-shell__switch" onclick={() => (fwOpen = !fwOpen)} aria-haspopup="menu" aria-expanded={fwOpen}>
79
+ <Boxes size={14} aria-hidden="true" /><span>{fwLabel}</span><ChevronDown size={14} aria-hidden="true" />
80
+ </Button>
81
+ </span>
82
+ <MenuPopover bind:open={fwOpen} trigger={fwEl} placement="bottom-end" label="Framework">
83
+ <Menu label="Framework" items={fwItems} onselect={(v) => { config.frameworkSwitcher?.onChange?.(v); fwOpen = false; }} />
84
+ </MenuPopover>
85
+ {/if}
86
+
87
+ {#if (t.themes ?? []).length}
88
+ <span class="st-shell__menuWrap" bind:this={themeEl}>
89
+ <Button variant="secondary" size="sm" class="st-shell__switch" onclick={() => (themeOpen = !themeOpen)} aria-haspopup="menu" aria-expanded={themeOpen}>
90
+ <Palette size={14} aria-hidden="true" /><span>{themeLabel}</span><ChevronDown size={14} aria-hidden="true" />
91
+ </Button>
92
+ </span>
93
+ <MenuPopover bind:open={themeOpen} trigger={themeEl} placement="bottom-end" label={t.themeLabel ?? "Thème"}>
94
+ <Menu label={t.themeLabel ?? "Thème"} items={themeItems} onselect={(v) => { t.onThemeChange?.(v); themeOpen = false; }} />
95
+ </MenuPopover>
96
+ {/if}
97
+
98
+ {#if t.colorMode}
99
+ <IconButton size="sm" variant="ghost" aria-label="Mode couleur" onclick={cycleColorMode}>
100
+ {#if t.colorMode === "dark"}<Moon size={16} aria-hidden="true" />{:else}<Sun size={16} aria-hidden="true" />{/if}
101
+ </IconButton>
102
+ {/if}
103
+
104
+ {#if config.locale}
105
+ <span class="st-shell__menuWrap" bind:this={localeEl}>
106
+ <Button variant="secondary" size="sm" class="st-shell__switch" onclick={() => (localeOpen = !localeOpen)} aria-haspopup="menu" aria-expanded={localeOpen}>
107
+ <Globe size={14} aria-hidden="true" /><span>{(config.locale.current ?? "").toUpperCase()}</span><ChevronDown size={14} aria-hidden="true" />
108
+ </Button>
109
+ </span>
110
+ <MenuPopover bind:open={localeOpen} trigger={localeEl} placement="bottom-end" label={config.locale.label ?? "Langue"}>
111
+ <Menu label={config.locale.label ?? "Langue"} items={localeItems} onselect={(v) => { config.locale?.onChange?.(v); localeOpen = false; }} />
112
+ </MenuPopover>
113
+ {/if}
114
+
115
+ {#if config.identity}
116
+ <IdentityButton
117
+ mode="icon"
118
+ authState={config.identity.state}
119
+ user={config.identity.user ?? null}
120
+ signInLabel={config.identity.label ?? "Se connecter"}
121
+ onSignIn={() => config.identity?.onSignIn?.()}
122
+ onSignOut={() => config.identity?.onSignOut?.()}
123
+ menu={config.identity.menu ?? []}
124
+ />
125
+ {/if}
126
+ </div>
127
+ {/snippet}
128
+
129
+ <Header class="st-shell" label={config.brand?.label ?? "Navigation"} logo={logo} navigation={navigation} actions={actions} />
130
+
131
+ <style>
132
+ /* Hauteur de barre alignée sur la référence docs (80px) : le Header DS lit
133
+ `--st-component-header-height` (défaut 3.5rem) ; on le porte à 5rem + padding 1.5rem. */
134
+ :global(.st-shell.st-header) { --st-component-header-height: 5rem; padding-inline: var(--st-spacing-6, 1.5rem); }
135
+ /* Style UNIQUE « bouton de contrôle » token-driven, applique a TOUS les controles
136
+ du header (search, switchers, mode couleur, login) — fini les 3 styles divergents
137
+ (gris secondary / ghost transparent / foncé). Fond blanc (control-background),
138
+ bordure subtle, texte secondaire, 12px/650, 36px ; hover = control-hoverBackground. */
139
+ :global(.st-shell .st-button),
140
+ :global(.st-shell .st-iconButton) {
141
+ background: var(--st-component-control-background, var(--st-semantic-surface-default, #ffffff));
142
+ border: 1px solid var(--st-component-control-border, var(--st-semantic-border-subtle, #e2e8f0));
143
+ color: var(--st-semantic-text-secondary);
144
+ font-weight: 650;
145
+ font-size: 12px;
146
+ height: 2.25rem;
147
+ border-radius: var(--st-radius-md, 0.375rem);
148
+ }
149
+ :global(.st-shell .st-iconButton) { width: 2.25rem; padding: 0; }
150
+ :global(.st-shell .st-button:hover),
151
+ :global(.st-shell .st-iconButton:hover) {
152
+ background: var(--st-component-control-hoverBackground, var(--st-semantic-surface-subtle, #f1f5f9));
153
+ }
154
+ :global(.st-shell .st-button svg),
155
+ :global(.st-shell .st-iconButton svg) { flex-shrink: 0; }
156
+ .st-shell__brand { align-items: center; color: var(--st-semantic-text-primary); display: inline-flex; flex: 0 0 auto; gap: var(--st-spacing-3, 0.75rem); text-decoration: none; }
157
+ .st-shell__brandMark { width: 2rem; height: 2rem; }
158
+ .st-shell__brandCopy { display: flex; flex-direction: column; gap: 0.08rem; line-height: 1; }
159
+ .st-shell__brandName { font-weight: 760; font-size: 1rem; }
160
+ .st-shell__brandProduct { font-weight: 650; font-size: 0.75rem; color: var(--st-semantic-text-secondary); }
161
+ .st-shell__nav { display: flex; align-items: center; gap: var(--st-spacing-1, 0.25rem); }
162
+ .st-shell__navLink { color: var(--st-semantic-text-secondary); text-decoration: none; font-size: 0.875rem; line-height: 1; padding: 0.38rem 0.75rem; border-radius: var(--st-radius-md, 0.375rem); }
163
+ .st-shell__navLink[aria-current="page"] { color: var(--st-semantic-text-primary); font-weight: 650; }
164
+ .st-shell__actions { display: flex; align-items: center; gap: var(--st-spacing-2, 0.5rem); }
165
+ .st-shell__menuWrap { display: inline-flex; }
166
+ .st-shell__kbd { border: 1px solid var(--st-semantic-border-subtle); border-radius: 0.25rem; font-size: 0.6875rem; padding: 0 0.3rem; color: var(--st-semantic-text-secondary); }
167
+ </style>
@@ -0,0 +1,8 @@
1
+ import type { SiteConfig } from "./site-config";
2
+ type $$ComponentProps = {
3
+ config: SiteConfig;
4
+ };
5
+ declare const AppShell: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type AppShell = ReturnType<typeof AppShell>;
7
+ export default AppShell;
8
+ //# sourceMappingURL=AppShell.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.svelte.d.ts","sourceRoot":"","sources":["../src/lib/AppShell.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/C,KAAK,gBAAgB,GAAI;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AA+HjD,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,128 @@
1
+ <script module lang="ts">
2
+ // Types exportes — en Svelte 5 les exports de module vont dans <script module>
3
+ // (le <script> d'instance ne sert qu'aux props/runes).
4
+ export type IdentityState = "anonymous" | "authenticated";
5
+ export type IdentityMode = "icon" | "button" | "menu";
6
+ export type IdentityTone = "default" | "onColor";
7
+ export interface IdentityUser {
8
+ name: string;
9
+ avatarSrc?: string;
10
+ }
11
+ export interface IdentityMenuEntry {
12
+ label: string;
13
+ href?: string;
14
+ onClick?: () => void;
15
+ }
16
+ </script>
17
+
18
+ <script lang="ts">
19
+ // IdentityButton — composant d'identite DS multi-modes (incubation app-shell).
20
+ // Dedup l'ancien split (IconButton+user pour l'anonyme / IdentityMenu pour
21
+ // l'authentifie) en UN composant a modes. Compose les composants DS
22
+ // (IconButton / Button / MenuPopover / Menu) — zero primitive nouvelle.
23
+ import IconButton from "./IconButton.svelte";
24
+ import Button from "./Button.svelte";
25
+ import MenuPopover from "./MenuPopover.svelte";
26
+ import Menu from "./Menu.svelte";
27
+ import { User } from "@lucide/svelte";
28
+
29
+ let {
30
+ authState = "anonymous",
31
+ user = null,
32
+ mode = "icon",
33
+ tone = "default",
34
+ signInLabel = "Se connecter",
35
+ accountLabel = "Compte",
36
+ onSignIn,
37
+ onSignOut,
38
+ menu = [],
39
+ }: {
40
+ authState?: IdentityState;
41
+ user?: IdentityUser | null;
42
+ mode?: IdentityMode;
43
+ tone?: IdentityTone;
44
+ signInLabel?: string;
45
+ accountLabel?: string;
46
+ onSignIn?: () => void;
47
+ onSignOut?: () => void;
48
+ menu?: IdentityMenuEntry[];
49
+ } = $props();
50
+
51
+ let triggerEl = $state<HTMLElement | null>(null);
52
+ let open = $state(false);
53
+
54
+ const initials = $derived(
55
+ user?.name
56
+ ? user.name.trim().split(/\s+/).map((w) => w[0]).slice(0, 2).join("").toUpperCase()
57
+ : "",
58
+ );
59
+ const authed = $derived(authState === "authenticated");
60
+ // Items du menu compte (mode "menu" ou clic sur l'avatar authentifie).
61
+ const menuItems = $derived([
62
+ ...menu.map((e) => ({ label: e.label, value: e.href ?? e.label })),
63
+ ...(onSignOut ? [{ label: "Se déconnecter", value: "__signout" }] : []),
64
+ ]);
65
+ function onMenuSelect(value: string) {
66
+ open = false;
67
+ if (value === "__signout") return onSignOut?.();
68
+ const entry = menu.find((e) => (e.href ?? e.label) === value);
69
+ if (entry?.onClick) entry.onClick();
70
+ else if (entry?.href) location.href = entry.href;
71
+ }
72
+ </script>
73
+
74
+ {#snippet face()}
75
+ {#if authed && user?.avatarSrc}
76
+ <img class="st-identityBtn__avatar" src={user.avatarSrc} alt="" aria-hidden="true" />
77
+ {:else if authed && initials}
78
+ <span class="st-identityBtn__initials" aria-hidden="true">{initials}</span>
79
+ {:else}
80
+ <User size={16} strokeWidth={2.1} aria-hidden="true" />
81
+ {/if}
82
+ {/snippet}
83
+
84
+ <span class="st-identityBtn" class:st-identityBtn--onColor={tone === "onColor"}>
85
+ {#if mode === "button"}
86
+ <Button variant={authed ? "ghost" : "secondary"} size="sm" onclick={() => (authed ? (open = !open) : onSignIn?.())}>
87
+ {@render face()}
88
+ <span>{authed ? (user?.name ?? accountLabel) : signInLabel}</span>
89
+ </Button>
90
+ {:else if mode === "menu"}
91
+ <span class="st-identityBtn__wrap" bind:this={triggerEl}>
92
+ <IconButton size="sm" variant="ghost" aria-label={authed ? accountLabel : signInLabel} onclick={() => (open = !open)}>
93
+ {@render face()}
94
+ </IconButton>
95
+ </span>
96
+ {#if menuItems.length}
97
+ <MenuPopover bind:open trigger={triggerEl} placement="bottom-end" label={accountLabel}>
98
+ <Menu label={accountLabel} items={menuItems} onselect={onMenuSelect} />
99
+ </MenuPopover>
100
+ {/if}
101
+ {:else}
102
+ <!-- mode "icon" (defaut) : icone/avatar seul. -->
103
+ <IconButton
104
+ size="sm"
105
+ variant="ghost"
106
+ aria-label={authed ? accountLabel : signInLabel}
107
+ onclick={() => (authed ? (menuItems.length ? (open = !open) : undefined) : onSignIn?.())}
108
+ >
109
+ {@render face()}
110
+ </IconButton>
111
+ {/if}
112
+ </span>
113
+
114
+ <style>
115
+ .st-identityBtn { display: inline-flex; }
116
+ .st-identityBtn__wrap { display: inline-flex; }
117
+ .st-identityBtn__avatar { width: 1.5rem; height: 1.5rem; border-radius: 50%; object-fit: cover; }
118
+ .st-identityBtn__initials {
119
+ width: 1.5rem; height: 1.5rem; border-radius: 50%;
120
+ display: inline-flex; align-items: center; justify-content: center;
121
+ font-size: 0.6875rem; font-weight: 650;
122
+ background: var(--st-semantic-surface-subtle, #f1f5f9);
123
+ color: var(--st-semantic-text-primary, #0f172a);
124
+ }
125
+ /* tone onColor : icone blanche pour chromes colores (Airbus/DSFR/sombres). */
126
+ .st-identityBtn--onColor :global(.st-iconButton),
127
+ .st-identityBtn--onColor :global(.st-button) { color: #ffffff; }
128
+ </style>
@@ -0,0 +1,27 @@
1
+ export type IdentityState = "anonymous" | "authenticated";
2
+ export type IdentityMode = "icon" | "button" | "menu";
3
+ export type IdentityTone = "default" | "onColor";
4
+ export interface IdentityUser {
5
+ name: string;
6
+ avatarSrc?: string;
7
+ }
8
+ export interface IdentityMenuEntry {
9
+ label: string;
10
+ href?: string;
11
+ onClick?: () => void;
12
+ }
13
+ type $$ComponentProps = {
14
+ authState?: IdentityState;
15
+ user?: IdentityUser | null;
16
+ mode?: IdentityMode;
17
+ tone?: IdentityTone;
18
+ signInLabel?: string;
19
+ accountLabel?: string;
20
+ onSignIn?: () => void;
21
+ onSignOut?: () => void;
22
+ menu?: IdentityMenuEntry[];
23
+ };
24
+ declare const IdentityButton: import("svelte").Component<$$ComponentProps, {}, "">;
25
+ type IdentityButton = ReturnType<typeof IdentityButton>;
26
+ export default IdentityButton;
27
+ //# sourceMappingURL=IdentityButton.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityButton.svelte.d.ts","sourceRoot":"","sources":["../src/lib/IdentityButton.svelte.ts"],"names":[],"mappings":"AAKE,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,eAAe,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AACjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAaF,KAAK,gBAAgB,GAAI;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CAAC;AAwFJ,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,268 @@
1
+ <script lang="ts" module>
2
+ import type { Snippet } from "svelte";
3
+
4
+ /** Profondeur dans l'arbre de nav → échelle typographique DÉCROISSANTE.
5
+ * L0 = racine (base/600), chaque palier descend en taille ET en graisse pour
6
+ * que la hiérarchie se LISE sans indentation seule. */
7
+ export type NavItemDepth = 0 | 1 | 2 | 3;
8
+
9
+ /** Ton sémantique de la rangée. `error` est un VRAI état (un « HTTP 403 »
10
+ * devient rouge sémantique), pas une teinte décorative. */
11
+ export type NavItemStatus = "neutral" | "info" | "success" | "warning" | "error";
12
+
13
+ export type NavItemSwatch = {
14
+ /** Couleur arbitraire (hex/rgb/var) → rendue par ColorSwatch. */
15
+ color?: string;
16
+ /** Ton sémantique → rendu par StatusDot (un point). Ignoré si `color`. */
17
+ tone?: "neutral" | "info" | "success" | "warning" | "error";
18
+ /** Forme de la pastille couleur (ColorSwatch). Défaut « square ». */
19
+ shape?: "square" | "circle" | "pill";
20
+ };
21
+
22
+ export type NavItemProps = {
23
+ /** Clé de sélection, passée telle quelle à SelectableRow (data-value). */
24
+ value?: string;
25
+ /** Libellé principal (1ʳᵉ ligne). */
26
+ title: string;
27
+ /** 2ᵉ ligne MUETTE, ellipsée indépendamment du titre. */
28
+ caption?: string;
29
+ /** Profondeur (défaut 0) → échelle typo + indentation de la tête. */
30
+ depth?: NavItemDepth;
31
+ /** Pastille de tête : couleur arbitraire (ColorSwatch) ou ton (StatusDot). */
32
+ swatch?: NavItemSwatch;
33
+ /** Bulle de compte en queue (Badge circle/sm, tabular-nums). */
34
+ count?: number;
35
+ /** Ton sémantique de la rangée. */
36
+ status?: NavItemStatus;
37
+ /** Sélection (bindable, honorée en standalone ; la liste prime si encadrée). */
38
+ selected?: boolean;
39
+ /** Non-interactif. */
40
+ disabled?: boolean;
41
+ /** Rend la rangée comme un lien (ancre) — anatomie identique. */
42
+ href?: string;
43
+ /** Tête personnalisée (prime sur `swatch`). MUST NOT être interactif en option. */
44
+ leading?: Snippet;
45
+ /** Queue personnalisée (prime sur `count`). MUST NOT être interactif en option. */
46
+ trailing?: Snippet;
47
+ /** Séparateur token-only rendu APRÈS la rangée. */
48
+ divider?: boolean;
49
+ class?: string;
50
+ };
51
+ </script>
52
+
53
+ <script lang="ts">
54
+ // NavItem — l'ANATOMIE DE RANGÉE CANONIQUE du système de navigation (vague 2).
55
+ // C'est la brique que tout rail/drawer instancie : tête (pastille/icône) +
56
+ // titre + caption muette + queue (bulle de compte) + sélection + profondeur
57
+ // typographique + séparateur optionnel.
58
+ //
59
+ // Zéro-entropie : NavItem NE RÉIMPLÉMENTE RIEN. Il COMPOSE SelectableRow (qui
60
+ // possède déjà leading/trailing, la caption à ellipse indépendante, la
61
+ // sélection à 2 signaux, l'accentBar opt-in, le rôle ARIA dérivé du conteneur
62
+ // et la propagation du roving-tabindex) et réutilise les primitives vague 1 :
63
+ // • ColorSwatch → tête quand `swatch.color` (couleur arbitraire inline)
64
+ // • StatusDot → tête quand `swatch.tone` (point sémantique)
65
+ // • Badge → queue (shape="circle" size="sm", tabular-nums) pour `count`
66
+ // Style PROPRE token-only scopé : chaque --st-component-navItem-* retombe sur
67
+ // un littéral de base, AUCUN hex en dur. Un thème qui n'émet rien rend
68
+ // byte-identique.
69
+ //
70
+ // a11y : NavItem N'INTRODUIT AUCUN interactif dans la rangée — pastille, badge
71
+ // et caption sont décoratifs/textuels. Le href passe par l'ancre native de
72
+ // SelectableRow… mais SelectableRow rend un <div role=button/option> : pour un
73
+ // lien réel on enveloppe via la tête. Ici `href` est exposé comme intention de
74
+ // navigation transmise au consommateur (onselect) — la rangée reste UN seul
75
+ // tab stop, conforme au rôle « option » dérivé du conteneur.
76
+ import SelectableRow from "./SelectableRow.svelte";
77
+ import ColorSwatch from "./ColorSwatch.svelte";
78
+ import StatusDot from "./StatusDot.svelte";
79
+ import Badge from "./Badge.svelte";
80
+
81
+ let {
82
+ value,
83
+ title,
84
+ caption,
85
+ depth = 0,
86
+ swatch,
87
+ count,
88
+ status = "neutral",
89
+ selected = $bindable(false),
90
+ disabled = false,
91
+ href,
92
+ leading,
93
+ trailing,
94
+ divider = false,
95
+ class: className
96
+ }: NavItemProps = $props();
97
+
98
+ // Profondeur bornée [0..3] : une valeur hors-borne ne doit pas casser la classe.
99
+ const safeDepth = $derived(
100
+ (Math.min(Math.max(Math.trunc(Number(depth) || 0), 0), 3)) as NavItemDepth
101
+ );
102
+
103
+ // status → tone Badge : Badge ne connaît pas "neutral"+"info"+… exactement de
104
+ // la même façon, mais ses tons couvrent neutral/info/success/warning/error.
105
+ const badgeTone = $derived(status);
106
+
107
+ // Le count alimente un aria-label explicite « N title » (un compte nu est
108
+ // ambigu pour un lecteur d'écran — cf. la doc de Badge).
109
+ const countLabel = $derived(
110
+ count != null ? `${count} ${title}` : undefined
111
+ );
112
+
113
+ // Classes posées sur le WRAPPER NavItem (la rangée elle-même est SelectableRow).
114
+ // Le wrapper porte la profondeur (échelle typo + indentation) et le ton de
115
+ // rangée — ainsi SelectableRow reste inchangé et son rôle ARIA dérivé du
116
+ // conteneur (option/button) est préservé.
117
+ const wrapperClasses = $derived(
118
+ [
119
+ "st-navItem",
120
+ `st-navItem--depth${safeDepth}`,
121
+ status !== "neutral" ? `st-navItem--status-${status}` : null,
122
+ className
123
+ ]
124
+ .filter(Boolean)
125
+ .join(" ")
126
+ );
127
+
128
+ // Indentation de profondeur : un CSS var additif sur le wrapper, à fallback
129
+ // littéral par palier (aucun hex). SelectableRow ne forwarde pas `style` ; on
130
+ // pose donc la var sur le wrapper et la rangée hérite via la cascade.
131
+ const depthStyle = $derived(
132
+ `--st-navItem-indent: var(--st-component-navItem-depth${safeDepth}-indent, ${
133
+ ["0rem", "0.75rem", "1.5rem", "2.25rem"][safeDepth]
134
+ });`
135
+ );
136
+
137
+ </script>
138
+
139
+ <!-- Snippet de caption déclaré HORS de SelectableRow : il n'est passé en prop
140
+ `caption` QUE lorsque `caption` est fournie, pour préserver l'invariant
141
+ byte-identité de SelectableRow (sans caption → rangée single-line). -->
142
+ {#snippet captionSnippet()}
143
+ <span class="st-navItem__caption">{caption}</span>
144
+ {/snippet}
145
+
146
+ <div class={wrapperClasses} style={depthStyle}>
147
+ <SelectableRow
148
+ bind:selected
149
+ {value}
150
+ {disabled}
151
+ role={href ? "link" : undefined}
152
+ caption={caption ? captionSnippet : undefined}
153
+ >
154
+ {#snippet leading()}
155
+ {#if leading}
156
+ {@render leading()}
157
+ {:else if swatch}
158
+ <!-- Tête : ColorSwatch pour une couleur arbitraire, sinon StatusDot pour
159
+ un ton sémantique. Décoratif → aria géré par la primitive. -->
160
+ {#if swatch.color}
161
+ <ColorSwatch color={swatch.color} shape={swatch.shape ?? "square"} size={14} />
162
+ {:else}
163
+ <StatusDot tone={swatch.tone ?? "neutral"} size={8} />
164
+ {/if}
165
+ {/if}
166
+ {/snippet}
167
+
168
+ {#snippet children()}
169
+ <span class="st-navItem__title">{title}</span>
170
+ {/snippet}
171
+
172
+ {#snippet trailing()}
173
+ {#if trailing}
174
+ {@render trailing()}
175
+ {:else if count != null}
176
+ <!-- Queue : bulle de compte. Badge shape="circle" size="sm" (tabular-nums),
177
+ ton sémantique aligné sur le `status` de la rangée. aria-label explicite. -->
178
+ <Badge shape="circle" size="sm" tone={badgeTone} aria-label={countLabel}>
179
+ {count}
180
+ </Badge>
181
+ {/if}
182
+ {/snippet}
183
+ </SelectableRow>
184
+
185
+ {#if divider}
186
+ <!-- Séparateur token-only APRÈS la rangée (anatomie de liste de nav). -->
187
+ <hr class="st-navItem__divider" aria-hidden="true" />
188
+ {/if}
189
+ </div>
190
+
191
+ <style>
192
+ .st-navItem {
193
+ display: block;
194
+ inline-size: 100%;
195
+ }
196
+
197
+ /* Indentation de PROFONDEUR : décale la rangée SelectableRow (sa tête comprise)
198
+ par un padding inline-start ADDITIF à son padding de base (0.75rem). On cible
199
+ la rangée via :global car c'est le DOM de SelectableRow (composé, pas inline).
200
+ La var --st-navItem-indent est posée sur le wrapper et héritée par cascade. */
201
+ .st-navItem :global(.st-selectableRow) {
202
+ padding-inline-start: calc(0.75rem + var(--st-navItem-indent, 0rem));
203
+ }
204
+
205
+ /* Échelle typographique : la graisse ET la taille DÉCROISSENT avec la
206
+ profondeur, pour que la hiérarchie se lise sans relief de couleur. Le wrapper
207
+ et le titre sont tous deux NavItem-authored (scope identique) → pas de
208
+ :global nécessaire. Chaque token retombe sur un littéral → thème silencieux =
209
+ byte-identique. */
210
+ .st-navItem--depth0 .st-navItem__title {
211
+ font-size: var(--st-component-navItem-depth0-fontSize, 0.875rem);
212
+ font-weight: var(--st-component-navItem-depth0-fontWeight, 600);
213
+ }
214
+ .st-navItem--depth1 .st-navItem__title {
215
+ font-size: var(--st-component-navItem-depth1-fontSize, 0.8125rem);
216
+ font-weight: var(--st-component-navItem-depth1-fontWeight, 500);
217
+ }
218
+ .st-navItem--depth2 .st-navItem__title {
219
+ font-size: var(--st-component-navItem-depth2-fontSize, 0.8125rem);
220
+ font-weight: var(--st-component-navItem-depth2-fontWeight, 400);
221
+ }
222
+ /* L3 — muted : même métrique que L2, couleur atténuée. */
223
+ .st-navItem--depth3 .st-navItem__title {
224
+ font-size: var(--st-component-navItem-depth3-fontSize, 0.8125rem);
225
+ font-weight: var(--st-component-navItem-depth3-fontWeight, 400);
226
+ color: var(--st-component-navItem-depth3-color, var(--st-semantic-text-muted));
227
+ }
228
+
229
+ .st-navItem__title {
230
+ display: block;
231
+ min-width: 0;
232
+ overflow: hidden;
233
+ text-overflow: ellipsis;
234
+ white-space: nowrap;
235
+ }
236
+
237
+ .st-navItem__caption {
238
+ display: block;
239
+ min-width: 0;
240
+ overflow: hidden;
241
+ text-overflow: ellipsis;
242
+ white-space: nowrap;
243
+ }
244
+
245
+ /* Ton sémantique de la RANGÉE : teinte le titre par le feedback correspondant.
246
+ Un « HTTP 403 » error devient rouge sémantique réel. Chaque ton retombe sur
247
+ son token --st-semantic-feedback-*. */
248
+ .st-navItem--status-info .st-navItem__title {
249
+ color: var(--st-component-navItem-status-info, var(--st-semantic-feedback-info));
250
+ }
251
+ .st-navItem--status-success .st-navItem__title {
252
+ color: var(--st-component-navItem-status-success, var(--st-semantic-feedback-success));
253
+ }
254
+ .st-navItem--status-warning .st-navItem__title {
255
+ color: var(--st-component-navItem-status-warning, var(--st-semantic-feedback-warning));
256
+ }
257
+ .st-navItem--status-error .st-navItem__title {
258
+ color: var(--st-component-navItem-status-error, var(--st-semantic-feedback-error));
259
+ }
260
+
261
+ /* Séparateur token-only : une fine règle pleine largeur après la rangée. */
262
+ .st-navItem__divider {
263
+ border: 0;
264
+ border-top: var(--st-border-width-thin, 1px) solid
265
+ var(--st-component-navItem-dividerColor, var(--st-semantic-border-subtle, rgba(0, 0, 0, 0.08)));
266
+ margin-block: var(--st-component-navItem-dividerGap, 0.375rem);
267
+ }
268
+ </style>
@@ -0,0 +1,49 @@
1
+ import type { Snippet } from "svelte";
2
+ /** Profondeur dans l'arbre de nav → échelle typographique DÉCROISSANTE.
3
+ * L0 = racine (base/600), chaque palier descend en taille ET en graisse pour
4
+ * que la hiérarchie se LISE sans indentation seule. */
5
+ export type NavItemDepth = 0 | 1 | 2 | 3;
6
+ /** Ton sémantique de la rangée. `error` est un VRAI état (un « HTTP 403 »
7
+ * devient rouge sémantique), pas une teinte décorative. */
8
+ export type NavItemStatus = "neutral" | "info" | "success" | "warning" | "error";
9
+ export type NavItemSwatch = {
10
+ /** Couleur arbitraire (hex/rgb/var) → rendue par ColorSwatch. */
11
+ color?: string;
12
+ /** Ton sémantique → rendu par StatusDot (un point). Ignoré si `color`. */
13
+ tone?: "neutral" | "info" | "success" | "warning" | "error";
14
+ /** Forme de la pastille couleur (ColorSwatch). Défaut « square ». */
15
+ shape?: "square" | "circle" | "pill";
16
+ };
17
+ export type NavItemProps = {
18
+ /** Clé de sélection, passée telle quelle à SelectableRow (data-value). */
19
+ value?: string;
20
+ /** Libellé principal (1ʳᵉ ligne). */
21
+ title: string;
22
+ /** 2ᵉ ligne MUETTE, ellipsée indépendamment du titre. */
23
+ caption?: string;
24
+ /** Profondeur (défaut 0) → échelle typo + indentation de la tête. */
25
+ depth?: NavItemDepth;
26
+ /** Pastille de tête : couleur arbitraire (ColorSwatch) ou ton (StatusDot). */
27
+ swatch?: NavItemSwatch;
28
+ /** Bulle de compte en queue (Badge circle/sm, tabular-nums). */
29
+ count?: number;
30
+ /** Ton sémantique de la rangée. */
31
+ status?: NavItemStatus;
32
+ /** Sélection (bindable, honorée en standalone ; la liste prime si encadrée). */
33
+ selected?: boolean;
34
+ /** Non-interactif. */
35
+ disabled?: boolean;
36
+ /** Rend la rangée comme un lien (ancre) — anatomie identique. */
37
+ href?: string;
38
+ /** Tête personnalisée (prime sur `swatch`). MUST NOT être interactif en option. */
39
+ leading?: Snippet;
40
+ /** Queue personnalisée (prime sur `count`). MUST NOT être interactif en option. */
41
+ trailing?: Snippet;
42
+ /** Séparateur token-only rendu APRÈS la rangée. */
43
+ divider?: boolean;
44
+ class?: string;
45
+ };
46
+ declare const NavItem: import("svelte").Component<NavItemProps, {}, "selected">;
47
+ type NavItem = ReturnType<typeof NavItem>;
48
+ export default NavItem;
49
+ //# sourceMappingURL=NavItem.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.svelte.d.ts","sourceRoot":"","sources":["../src/lib/NavItem.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC;;uDAEuD;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzC;2DAC2D;AAC3D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5D,qEAAqE;IACrE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoKJ,QAAA,MAAM,OAAO,0DAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -0,0 +1,152 @@
1
+ <script lang="ts" module>
2
+ /** Niveau de titre porté par l'Overline d'en-tête de section. `h2`/`h3` quand la
3
+ * section est une vraie région titrée d'un rail/drawer ; choisis selon la
4
+ * profondeur du sommaire. */
5
+ export type NavSectionHeadingLevel = "h2" | "h3";
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ // NavSection — EN-TÊTE DE GROUPE d'un rail / drawer (« COMMUNITIES »,
10
+ // « SIGNAUX », « Pastilles », « Zonage / Potentiel », « DOCUMENTATION »).
11
+ // Donne la hiérarchie typographique qui manque à une liste plate + un foyer
12
+ // normé pour l'action locale (au lieu d'un bouton primaire planté dans la
13
+ // liste). ZÉRO-ENTROPIE : on RÉUTILISE les primitives déjà livrées —
14
+ // • Overline → le libellé small-caps muet (rendu en h2/h3 pour la
15
+ // sémantique de titre quand la section n'est PAS repliable) ;
16
+ // • Badge shape="circle" → le compteur de section en queue d'en-tête ;
17
+ // • Collapsible → le disclosure (trigger aria-expanded + région
18
+ // aria-labelledby) quand `collapsible`.
19
+ // On ne réimplémente NI disclosure NI libellé. Style token-only scopé, aucun hex.
20
+ import type { Snippet } from "svelte";
21
+ import Badge from "./Badge.svelte";
22
+ import Collapsible from "./Collapsible.svelte";
23
+ import Overline from "./Overline.svelte";
24
+
25
+ type NavSectionProps = {
26
+ /** Libellé de la section, rendu via Overline (small-caps muet). */
27
+ label: string;
28
+ /** Compteur optionnel → Badge circle en queue de l'en-tête. */
29
+ count?: number;
30
+ /** Si true, l'en-tête devient le trigger d'un Collapsible (aria-expanded)
31
+ * qui montre/cache le contenu. Sinon : groupe titré statique. */
32
+ collapsible?: boolean;
33
+ /** État d'ouverture quand `collapsible` (bindable). */
34
+ open?: boolean;
35
+ /** Niveau de titre de l'Overline quand la section n'est pas repliable. */
36
+ as?: NavSectionHeadingLevel;
37
+ /** Emplacement normé d'une action de section (ex. Button « + Ajouter »),
38
+ * aligné à droite de l'en-tête. NON rendu quand `collapsible` (le trigger
39
+ * occupe l'en-tête en entier — place l'action dans le contenu). */
40
+ action?: Snippet;
41
+ /** Contenu de la section (NavItem / NavList) — rendu dans la région. */
42
+ children: Snippet;
43
+ class?: string;
44
+ };
45
+
46
+ let {
47
+ label,
48
+ count,
49
+ collapsible = false,
50
+ open = $bindable(true),
51
+ as = "h3",
52
+ action,
53
+ children,
54
+ class: className
55
+ }: NavSectionProps = $props();
56
+
57
+ const uid = `st-navSection-${Math.random().toString(36).slice(2, 9)}`;
58
+
59
+ const rootClasses = $derived(
60
+ [
61
+ "st-navSection",
62
+ collapsible ? "st-navSection--collapsible" : "st-navSection--static",
63
+ className
64
+ ]
65
+ .filter(Boolean)
66
+ .join(" ")
67
+ );
68
+
69
+ const hasCount = $derived(typeof count === "number");
70
+ </script>
71
+
72
+ {#if collapsible}
73
+ <!-- Repliable : l'en-tête EST le trigger du Collapsible. Le compteur passe par
74
+ son slot `trailing` (entre le titre et le chevron) ; on annonce le tout aux
75
+ lecteurs d'écran via aria-label. L'action de section n'a pas sa place dans
76
+ un trigger (un bouton dans un bouton) : la documenter dans le contenu. -->
77
+ <Collapsible
78
+ bind:open
79
+ title={label}
80
+ aria-label={hasCount ? `${label}, ${count}` : label}
81
+ class={rootClasses}
82
+ >
83
+ {#snippet trailing()}
84
+ {#if hasCount}
85
+ <Badge shape="circle" size="sm" aria-label={`${count} éléments`}>{count}</Badge>
86
+ {/if}
87
+ {/snippet}
88
+ {@render children()}
89
+ </Collapsible>
90
+ {:else}
91
+ <!-- Statique : groupe titré par l'Overline (h2/h3). Le contenu est relié au
92
+ titre via aria-labelledby — la liste devient une vraie région titrée. -->
93
+ <section {...{ class: rootClasses }} role="group" aria-labelledby={`${uid}-label`}>
94
+ <div class="st-navSection__header">
95
+ <Overline {as} id={`${uid}-label`} class="st-navSection__label">
96
+ {label}
97
+ {#if hasCount}
98
+ <Badge
99
+ shape="circle"
100
+ size="sm"
101
+ class="st-navSection__count"
102
+ aria-label={`${count} éléments`}>{count}</Badge>
103
+ {/if}
104
+ </Overline>
105
+ {#if action}
106
+ <span class="st-navSection__action">{@render action()}</span>
107
+ {/if}
108
+ </div>
109
+ <div class="st-navSection__body">
110
+ {@render children()}
111
+ </div>
112
+ </section>
113
+ {/if}
114
+
115
+ <style>
116
+ /* Token-only scopé. L'en-tête statique aligne le libellé (small-caps via
117
+ Overline), le compteur en queue, et pousse l'action de section à droite. */
118
+ .st-navSection {
119
+ inline-size: 100%;
120
+ }
121
+
122
+ .st-navSection__header {
123
+ align-items: baseline;
124
+ display: flex;
125
+ gap: var(--st-spacing-2, 0.5rem);
126
+ justify-content: space-between;
127
+ padding-block: var(--st-component-navSection-headerPaddingBlock, 0.375rem);
128
+ }
129
+
130
+ /* Le libellé et son compteur forment un bloc ; le Badge circle s'aligne au
131
+ centre vertical du texte small-caps. */
132
+ .st-navSection :global(.st-navSection__label) {
133
+ align-items: center;
134
+ display: inline-flex;
135
+ gap: var(--st-spacing-2, 0.5rem);
136
+ }
137
+
138
+ .st-navSection :global(.st-navSection__count) {
139
+ flex: 0 0 auto;
140
+ }
141
+
142
+ /* Foyer de l'action de section : ancré à droite, ne grandit pas. */
143
+ .st-navSection__action {
144
+ align-items: center;
145
+ display: inline-flex;
146
+ flex: 0 0 auto;
147
+ }
148
+
149
+ .st-navSection__body {
150
+ display: block;
151
+ }
152
+ </style>
@@ -0,0 +1,29 @@
1
+ /** Niveau de titre porté par l'Overline d'en-tête de section. `h2`/`h3` quand la
2
+ * section est une vraie région titrée d'un rail/drawer ; choisis selon la
3
+ * profondeur du sommaire. */
4
+ export type NavSectionHeadingLevel = "h2" | "h3";
5
+ import type { Snippet } from "svelte";
6
+ type NavSectionProps = {
7
+ /** Libellé de la section, rendu via Overline (small-caps muet). */
8
+ label: string;
9
+ /** Compteur optionnel → Badge circle en queue de l'en-tête. */
10
+ count?: number;
11
+ /** Si true, l'en-tête devient le trigger d'un Collapsible (aria-expanded)
12
+ * qui montre/cache le contenu. Sinon : groupe titré statique. */
13
+ collapsible?: boolean;
14
+ /** État d'ouverture quand `collapsible` (bindable). */
15
+ open?: boolean;
16
+ /** Niveau de titre de l'Overline quand la section n'est pas repliable. */
17
+ as?: NavSectionHeadingLevel;
18
+ /** Emplacement normé d'une action de section (ex. Button « + Ajouter »),
19
+ * aligné à droite de l'en-tête. NON rendu quand `collapsible` (le trigger
20
+ * occupe l'en-tête en entier — place l'action dans le contenu). */
21
+ action?: Snippet;
22
+ /** Contenu de la section (NavItem / NavList) — rendu dans la région. */
23
+ children: Snippet;
24
+ class?: string;
25
+ };
26
+ declare const NavSection: import("svelte").Component<NavSectionProps, {}, "open">;
27
+ type NavSection = ReturnType<typeof NavSection>;
28
+ export default NavSection;
29
+ //# sourceMappingURL=NavSection.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavSection.svelte.d.ts","sourceRoot":"","sources":["../src/lib/NavSection.svelte.ts"],"names":[],"mappings":"AAGE;;6BAE6B;AAC7B,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AAcnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMpC,KAAK,eAAe,GAAG;IACrB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qEACiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAC5B;;uEAEmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiFJ,QAAA,MAAM,UAAU,yDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -111,6 +111,8 @@ export { default as ColorScaleBar } from "./ColorScaleBar.svelte";
111
111
  export { default as Overline } from "./Overline.svelte";
112
112
  export { default as StatusDot } from "./StatusDot.svelte";
113
113
  export { default as NavActionStack } from "./NavActionStack.svelte";
114
+ export { default as NavItem } from "./NavItem.svelte";
115
+ export { default as NavSection } from "./NavSection.svelte";
114
116
  export { default as Timeline } from "./Timeline.svelte";
115
117
  export { default as RibbonChart } from "./RibbonChart.svelte";
116
118
  export { default as AnomalySwimLaneChart } from "./AnomalySwimLaneChart.svelte";
@@ -193,6 +195,10 @@ export { default as Table } from "./Table.svelte";
193
195
  export { default as Tabs } from "./Tabs.svelte";
194
196
  export { default as Tag } from "./Tag.svelte";
195
197
  export { default as ThemeProvider } from "./ThemeProvider.svelte";
198
+ export { default as AppShell } from "./AppShell.svelte";
199
+ export { default as IdentityButton } from "./IdentityButton.svelte";
200
+ export type { SiteConfig, SiteNavItem, ThemeOption, ColorMode, ActionMode } from "./site-config";
201
+ export { SITE_CONFIG_SCHEMA_VERSION, SHELL_TOKEN_CONTRACT } from "./site-config";
196
202
  export { default as Textarea } from "./Textarea.svelte";
197
203
  export { default as TimePicker } from "./TimePicker.svelte";
198
204
  export { default as Tile } from "./Tile.svelte";
@@ -255,6 +261,8 @@ export type { ColorScaleBarOrientation } from "./ColorScaleBar.svelte";
255
261
  export type { OverlineAs } from "./Overline.svelte";
256
262
  export type { StatusDotTone } from "./StatusDot.svelte";
257
263
  export type { NavAction, NavActionKind, NavActionDangerZone, NavActionStackOrientation } from "./NavActionStack.svelte";
264
+ export type { NavItemDepth, NavItemStatus, NavItemSwatch, NavItemProps } from "./NavItem.svelte";
265
+ export type { NavSectionHeadingLevel } from "./NavSection.svelte";
258
266
  export type { TimelineItem, TimelineTone, TimelineOrientation } from "./Timeline.svelte";
259
267
  export type { RibbonChartTone, RibbonChartDatum } from "./RibbonChart.svelte";
260
268
  export type { AnomalySwimLaneTone, AnomalySwimLaneBucket, AnomalySwimLaneSeries } from "./AnomalySwimLaneChart.svelte";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACjF,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACxG,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzG,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACnG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjF,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvF,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9F,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACnG,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACnG,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrH,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACpF,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjG,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzF,YAAY,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,YAAY,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACpG,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC1H,YAAY,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACtF,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACV,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC5H,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtF,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -101,6 +101,8 @@ export { default as ColorScaleBar } from "./ColorScaleBar.svelte";
101
101
  export { default as Overline } from "./Overline.svelte";
102
102
  export { default as StatusDot } from "./StatusDot.svelte";
103
103
  export { default as NavActionStack } from "./NavActionStack.svelte";
104
+ export { default as NavItem } from "./NavItem.svelte";
105
+ export { default as NavSection } from "./NavSection.svelte";
104
106
  export { default as Timeline } from "./Timeline.svelte";
105
107
  export { default as RibbonChart } from "./RibbonChart.svelte";
106
108
  export { default as AnomalySwimLaneChart } from "./AnomalySwimLaneChart.svelte";
@@ -180,6 +182,12 @@ export { default as Table } from "./Table.svelte";
180
182
  export { default as Tabs } from "./Tabs.svelte";
181
183
  export { default as Tag } from "./Tag.svelte";
182
184
  export { default as ThemeProvider } from "./ThemeProvider.svelte";
185
+ // App-shell : composant de chrome applicatif (compose Header/Menu/Button du DS).
186
+ // Ex-paquet @sentropic/app-shell, replié ici — c'est un composant comme un autre ;
187
+ // seul son contrat `SiteConfig` (data) est agnostique et réexporté ci-dessous.
188
+ export { default as AppShell } from "./AppShell.svelte";
189
+ export { default as IdentityButton } from "./IdentityButton.svelte";
190
+ export { SITE_CONFIG_SCHEMA_VERSION, SHELL_TOKEN_CONTRACT } from "./site-config";
183
191
  export { default as Textarea } from "./Textarea.svelte";
184
192
  export { default as TimePicker } from "./TimePicker.svelte";
185
193
  export { default as Tile } from "./Tile.svelte";
@@ -0,0 +1,106 @@
1
+ /** Version de schéma du contrat `SiteConfig`. **STABLE / FIGÉ v1** : évolution
2
+ * UNIQUEMENT additive (nouvelles clés optionnelles) — aucune suppression/rename de
3
+ * clé existante sans bump majeur. Les consommateurs (geo, dataviz, docs…) peuvent
4
+ * construire contre v1 sans crainte de rupture. Skew toléré (cf. en-tête). */
5
+ export declare const SITE_CONFIG_SCHEMA_VERSION: 1;
6
+ /** Deux modes pour toute action navigable : `callback` (SPA riche) ou `navigate`
7
+ * (lien `href`, marche en HTML pur / site vitrine sans JS applicatif). */
8
+ export type ActionMode = "callback" | "navigate";
9
+ export interface SiteNavItem {
10
+ label: string;
11
+ href: string;
12
+ /** Marqué actif (souligné, aria-current=page). Sinon dérivé de `activePath`. */
13
+ active?: boolean;
14
+ /** Sous-navigation optionnelle. */
15
+ children?: SiteNavItem[];
16
+ }
17
+ export interface ThemeOption {
18
+ id: string;
19
+ label: string;
20
+ }
21
+ export type ColorMode = "light" | "dark" | "auto";
22
+ export interface SiteConfig {
23
+ /** Version de schéma du contrat (info ; le shell ne throw jamais sur écart). */
24
+ schemaVersion?: number;
25
+ brand: {
26
+ name: string;
27
+ productName?: string;
28
+ logoSrc?: string;
29
+ href?: string;
30
+ label?: string;
31
+ };
32
+ nav?: SiteNavItem[];
33
+ /** Chemin courant : calcule `active` si non fourni explicitement par item. */
34
+ activePath?: string;
35
+ navLabel?: string;
36
+ search?: {
37
+ enabled: boolean;
38
+ placeholder?: string;
39
+ mode: ActionMode;
40
+ onSearch?: (query: string) => void;
41
+ hrefTemplate?: string;
42
+ };
43
+ theming: {
44
+ themes: ThemeOption[];
45
+ theme: string;
46
+ colorMode?: ColorMode;
47
+ onThemeChange?: (id: string) => void;
48
+ onColorModeChange?: (mode: ColorMode) => void;
49
+ themeLabel?: string;
50
+ colorModeLabels?: {
51
+ light: string;
52
+ dark: string;
53
+ auto: string;
54
+ };
55
+ };
56
+ locale?: {
57
+ current: string;
58
+ available: Array<{
59
+ code: string;
60
+ label: string;
61
+ }>;
62
+ mode?: ActionMode;
63
+ onChange?: (code: string) => void;
64
+ hrefTemplate?: string;
65
+ label?: string;
66
+ };
67
+ frameworkSwitcher?: {
68
+ enabled: boolean;
69
+ current: string;
70
+ available: Array<{
71
+ id: string;
72
+ label: string;
73
+ }>;
74
+ mode: ActionMode;
75
+ onChange?: (id: string) => void;
76
+ hrefTemplate?: string;
77
+ };
78
+ identity?: {
79
+ state: "anonymous" | "authenticated";
80
+ user?: {
81
+ name: string;
82
+ avatarSrc?: string;
83
+ };
84
+ signInHref?: string;
85
+ onSignIn?: () => void;
86
+ onSignOut?: () => void;
87
+ menu?: Array<{
88
+ label: string;
89
+ href?: string;
90
+ onClick?: () => void;
91
+ }>;
92
+ label?: string;
93
+ };
94
+ links?: {
95
+ github?: string;
96
+ };
97
+ slots?: {
98
+ extraActions?: boolean;
99
+ searchResults?: boolean;
100
+ };
101
+ }
102
+ /** Token contract : les `--st-*` que le shell CONSOMME (doivent être fournis par le
103
+ * thème actif de l'hôte ; fallback CSS sinon, jamais de trou visuel). Sert de
104
+ * référence de découplage shell ⇄ thèmes. */
105
+ export declare const SHELL_TOKEN_CONTRACT: readonly ["--st-semantic-surface-default", "--st-semantic-text-primary", "--st-semantic-text-secondary", "--st-semantic-border-subtle", "--st-font-sans", "--st-spacing-4", "--st-spacing-6", "--st-shadow-lg"];
106
+ //# sourceMappingURL=site-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-config.d.ts","sourceRoot":"","sources":["../src/lib/site-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ // ─────────────────────────────────────────────────────────────────────────────
2
+ // CONTRAT `siteConfig` de `<sentropic-app-shell>` — source unique de paramétrage.
3
+ //
4
+ // Principe anti-dérive : TOUT ce qui doit être pixel-perfect est une DONNÉE de ce
5
+ // contrat (rendu par le shell), JAMAIS un slot bricolé en aval. Recherche, switcher
6
+ // framework et identité sont first-class ici — ce sont eux qui dérivaient quand ils
7
+ // vivaient hors du composant partagé.
8
+ //
9
+ // Tolérance de version (skew) : le shell IGNORE les clés inconnues et applique des
10
+ // défauts aux clés absentes ; il ne throw jamais. Un site sur shell vN recevant une
11
+ // config vN+1 ne casse pas (clés futures ignorées) ; l'inverse dégrade gracieusement.
12
+ //
13
+ // Contrôlé, jamais propriétaire de l'état : le shell SIGNALE (callbacks/`navigate`),
14
+ // l'hôte APPLIQUE (router, auth, bascule + chargement du CSS de thème). Cohérent avec
15
+ // « URL = source de vérité thème+framework » et « DS contrôlé/présentationnel ».
16
+ // ─────────────────────────────────────────────────────────────────────────────
17
+ /** Version de schéma du contrat `SiteConfig`. **STABLE / FIGÉ v1** : évolution
18
+ * UNIQUEMENT additive (nouvelles clés optionnelles) — aucune suppression/rename de
19
+ * clé existante sans bump majeur. Les consommateurs (geo, dataviz, docs…) peuvent
20
+ * construire contre v1 sans crainte de rupture. Skew toléré (cf. en-tête). */
21
+ export const SITE_CONFIG_SCHEMA_VERSION = 1;
22
+ /** Token contract : les `--st-*` que le shell CONSOMME (doivent être fournis par le
23
+ * thème actif de l'hôte ; fallback CSS sinon, jamais de trou visuel). Sert de
24
+ * référence de découplage shell ⇄ thèmes. */
25
+ export const SHELL_TOKEN_CONTRACT = [
26
+ "--st-semantic-surface-default",
27
+ "--st-semantic-text-primary",
28
+ "--st-semantic-text-secondary",
29
+ "--st-semantic-border-subtle",
30
+ "--st-font-sans",
31
+ "--st-spacing-4",
32
+ "--st-spacing-6",
33
+ "--st-shadow-lg",
34
+ ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-svelte",
3
- "version": "0.34.47",
3
+ "version": "0.34.49",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"