@sentropic/design-system-svelte 0.34.27 → 0.34.28
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/AppChrome.svelte
CHANGED
|
@@ -75,6 +75,10 @@
|
|
|
75
75
|
/** Zone identité à droite (IdentityMenu, bouton connexion, …). */
|
|
76
76
|
identity?: Snippet;
|
|
77
77
|
|
|
78
|
+
// ── Contrôles additionnels ─────────────────────────────────────────────────
|
|
79
|
+
/** Contrôles additionnels dans la zone utilitaire. */
|
|
80
|
+
extraSelectors?: Snippet;
|
|
81
|
+
|
|
78
82
|
// ── Mobile ─────────────────────────────────────────────────────────────────
|
|
79
83
|
/** État ouvert du tiroir mobile (contrôlé). */
|
|
80
84
|
mobileMenuOpen?: boolean;
|
|
@@ -95,10 +99,10 @@
|
|
|
95
99
|
<script lang="ts">
|
|
96
100
|
import { untrack } from "svelte";
|
|
97
101
|
import {
|
|
98
|
-
Boxes,
|
|
99
102
|
ChevronDown,
|
|
100
103
|
Github,
|
|
101
104
|
Globe,
|
|
105
|
+
Menu,
|
|
102
106
|
Moon,
|
|
103
107
|
Palette,
|
|
104
108
|
Sun,
|
|
@@ -127,6 +131,7 @@
|
|
|
127
131
|
githubHref,
|
|
128
132
|
githubLabel = "GitHub",
|
|
129
133
|
identity,
|
|
134
|
+
extraSelectors,
|
|
130
135
|
mobileMenuOpen = false,
|
|
131
136
|
onMobileMenuToggle,
|
|
132
137
|
menuLabel = "Menu",
|
|
@@ -320,6 +325,7 @@
|
|
|
320
325
|
{#if showLocaleSelector}{@render localeSelector()}{/if}
|
|
321
326
|
{#if showGithub}{@render githubLink()}{/if}
|
|
322
327
|
{#if identity}<div class="st-appChrome__identity">{@render identity()}</div>{/if}
|
|
328
|
+
{#if extraSelectors}<div class="st-appChrome__extraSelectors">{@render extraSelectors()}</div>{/if}
|
|
323
329
|
</div>
|
|
324
330
|
{/snippet}
|
|
325
331
|
|
|
@@ -334,7 +340,7 @@
|
|
|
334
340
|
aria-controls={drawerId}
|
|
335
341
|
aria-label={menuLabel}
|
|
336
342
|
>
|
|
337
|
-
<
|
|
343
|
+
<Menu size={20} aria-hidden="true" />
|
|
338
344
|
</button>
|
|
339
345
|
{/snippet}
|
|
340
346
|
|
|
@@ -434,11 +440,18 @@
|
|
|
434
440
|
react/vue : la source de vérité du CSS est le bloc publié (styles.css).
|
|
435
441
|
Ce <style> scoped ne fait que rendre la démo Svelte autonome. */
|
|
436
442
|
.st-appChrome {
|
|
443
|
+
position: sticky;
|
|
444
|
+
top: 0;
|
|
437
445
|
width: 100%;
|
|
446
|
+
z-index: 30;
|
|
438
447
|
}
|
|
439
448
|
|
|
440
449
|
:global(.st-appChrome__header .st-appHeader__bar) {
|
|
450
|
+
background: color-mix(in srgb, var(--st-semantic-surface-default) 96%, transparent);
|
|
451
|
+
backdrop-filter: blur(8px);
|
|
452
|
+
height: 5rem;
|
|
441
453
|
max-width: none;
|
|
454
|
+
padding: 0 var(--st-spacing-6, 1.5rem);
|
|
442
455
|
}
|
|
443
456
|
|
|
444
457
|
.st-appChrome__brand {
|
|
@@ -482,7 +495,7 @@
|
|
|
482
495
|
.st-appChrome__utilityNav {
|
|
483
496
|
align-items: center;
|
|
484
497
|
display: flex;
|
|
485
|
-
gap: var(--st-spacing-
|
|
498
|
+
gap: var(--st-spacing-1, 0.25rem);
|
|
486
499
|
}
|
|
487
500
|
|
|
488
501
|
.st-appChrome__menuWrap {
|
|
@@ -579,6 +592,12 @@
|
|
|
579
592
|
color: var(--st-semantic-text-primary);
|
|
580
593
|
}
|
|
581
594
|
|
|
595
|
+
.st-appChrome__extraSelectors {
|
|
596
|
+
align-items: center;
|
|
597
|
+
display: flex;
|
|
598
|
+
gap: var(--st-spacing-1, 0.25rem);
|
|
599
|
+
}
|
|
600
|
+
|
|
582
601
|
.st-appChrome__drawer {
|
|
583
602
|
background: var(--st-semantic-surface-default);
|
|
584
603
|
border-bottom: 1px solid var(--st-semantic-border-subtle);
|
|
@@ -60,6 +60,8 @@ export interface AppChromeProps {
|
|
|
60
60
|
githubLabel?: string;
|
|
61
61
|
/** Zone identité à droite (IdentityMenu, bouton connexion, …). */
|
|
62
62
|
identity?: Snippet;
|
|
63
|
+
/** Contrôles additionnels dans la zone utilitaire. */
|
|
64
|
+
extraSelectors?: Snippet;
|
|
63
65
|
/** État ouvert du tiroir mobile (contrôlé). */
|
|
64
66
|
mobileMenuOpen?: boolean;
|
|
65
67
|
/** Callback de bascule du tiroir mobile. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppChrome.svelte.d.ts","sourceRoot":"","sources":["../src/lib/AppChrome.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAM,WAAW,cAAc;IAE7B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,yDAAyD;IACzD,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,0DAA0D;IAC1D,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAGhE,2DAA2D;IAC3D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wCAAwC;IACxC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"AppChrome.svelte.d.ts","sourceRoot":"","sources":["../src/lib/AppChrome.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAM,WAAW,cAAc;IAE7B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,yDAAyD;IACzD,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,0DAA0D;IAC1D,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAGhE,2DAA2D;IAC3D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wCAAwC;IACxC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuRH,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
|
package/dist/AppChrome.test.js
CHANGED
|
@@ -120,3 +120,13 @@ describe("AppChrome — mobile burger + tiroir", () => {
|
|
|
120
120
|
expect(onMobileMenuToggle).toHaveBeenCalledTimes(1);
|
|
121
121
|
});
|
|
122
122
|
});
|
|
123
|
+
describe("AppChrome — extraSelectors", () => {
|
|
124
|
+
it("renders extraSelectors snippet content in the utility nav", () => {
|
|
125
|
+
const { container } = render(AppChrome, { props: { extraSelectors: snippet("extra-ctrl") } });
|
|
126
|
+
expect(container.querySelector(".st-appChrome__extraSelectors")?.textContent).toContain("extra-ctrl");
|
|
127
|
+
});
|
|
128
|
+
it("does not render extraSelectors div when not provided", () => {
|
|
129
|
+
const { container } = render(AppChrome);
|
|
130
|
+
expect(container.querySelector(".st-appChrome__extraSelectors")).toBeNull();
|
|
131
|
+
});
|
|
132
|
+
});
|