@sentropic/design-system-angular 0.36.56 → 0.36.57
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/.srchash +1 -1
- package/dist/AppChrome.d.ts +18 -1
- package/dist/AppChrome.d.ts.map +1 -1
- package/dist/AppChrome.js +71 -23
- package/dist/AppChrome.js.map +1 -1
- package/dist/Dropdown.d.ts +2 -0
- package/dist/Dropdown.d.ts.map +1 -1
- package/dist/Dropdown.js +16 -8
- package/dist/Dropdown.js.map +1 -1
- package/dist/styles.css +10 -5
- package/package.json +1 -1
package/dist/.srchash
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
e4c43aca12a50722604b8e7c6d1ab45a137dc52408c31b4c62a0929036a146b0
|
package/dist/AppChrome.d.ts
CHANGED
|
@@ -4,6 +4,16 @@ export interface AppChromeNavItem {
|
|
|
4
4
|
href: string;
|
|
5
5
|
/** Marqué actif (souligné, aria-current=page). */
|
|
6
6
|
active?: boolean;
|
|
7
|
+
/** Roles autorisés à voir l'item. Vide/undefined = visible par tous. */
|
|
8
|
+
roles?: string[];
|
|
9
|
+
/** Alias pratique pour un seul rôle autorisé. */
|
|
10
|
+
role?: string;
|
|
11
|
+
/** Coupe la navigation tout en gardant l'item visible/annoncé. */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
target?: string;
|
|
15
|
+
rel?: string;
|
|
16
|
+
onClick?: (event: MouseEvent) => void;
|
|
7
17
|
}
|
|
8
18
|
export interface AppChromeThemeOption {
|
|
9
19
|
id: string;
|
|
@@ -20,6 +30,8 @@ export type AppChromeProps = {
|
|
|
20
30
|
brandLabel?: string;
|
|
21
31
|
nav?: AppChromeNavItem[];
|
|
22
32
|
navLabel?: string;
|
|
33
|
+
/** Roles de l'utilisateur courant pour filtrer les nav items gatés par rôle. */
|
|
34
|
+
userRoles?: string[];
|
|
23
35
|
themes?: AppChromeThemeOption[];
|
|
24
36
|
theme?: string;
|
|
25
37
|
onThemeChange?: (id: string) => void;
|
|
@@ -52,6 +64,7 @@ export declare class AppChrome {
|
|
|
52
64
|
brandLabel?: string;
|
|
53
65
|
nav: AppChromeNavItem[];
|
|
54
66
|
navLabel?: string;
|
|
67
|
+
userRoles: string[];
|
|
55
68
|
themes: AppChromeThemeOption[];
|
|
56
69
|
theme?: string;
|
|
57
70
|
onThemeChange?: (id: string) => void;
|
|
@@ -87,6 +100,10 @@ export declare class AppChrome {
|
|
|
87
100
|
get showGithub(): boolean;
|
|
88
101
|
get colorModeAriaLabel(): string;
|
|
89
102
|
chevronClass(open: boolean): string;
|
|
103
|
+
canShowNavItem(item: AppChromeNavItem): boolean;
|
|
104
|
+
navRel(item: AppChromeNavItem): string | undefined;
|
|
105
|
+
navLinkClass(item: AppChromeNavItem, base: string): string;
|
|
106
|
+
handleNavClick(event: MouseEvent, item: AppChromeNavItem, closeDrawer?: boolean): void;
|
|
90
107
|
toggleTheme(): void;
|
|
91
108
|
toggleLocale(): void;
|
|
92
109
|
pickTheme(id: string): void;
|
|
@@ -99,6 +116,6 @@ export declare class AppChrome {
|
|
|
99
116
|
onDocumentClick(e: MouseEvent): void;
|
|
100
117
|
onDocumentKeydown(e: KeyboardEvent): void;
|
|
101
118
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppChrome, never>;
|
|
102
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AppChrome, "st-app-chrome", never, { "brandName": { "alias": "brandName"; "required": false; }; "productName": { "alias": "productName"; "required": false; }; "logoSrc": { "alias": "logoSrc"; "required": false; }; "logoAlt": { "alias": "logoAlt"; "required": false; }; "brandHref": { "alias": "brandHref"; "required": false; }; "brandLabel": { "alias": "brandLabel"; "required": false; }; "nav": { "alias": "nav"; "required": false; }; "navLabel": { "alias": "navLabel"; "required": false; }; "themes": { "alias": "themes"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; }; "themeLabel": { "alias": "themeLabel"; "required": false; }; "colorMode": { "alias": "colorMode"; "required": false; }; "onColorModeChange": { "alias": "onColorModeChange"; "required": false; }; "colorModeLabels": { "alias": "colorModeLabels"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; }; "localeLabel": { "alias": "localeLabel"; "required": false; }; "githubHref": { "alias": "githubHref"; "required": false; }; "githubLabel": { "alias": "githubLabel"; "required": false; }; "mobileMenuOpen": { "alias": "mobileMenuOpen"; "required": false; }; "onMobileMenuToggle": { "alias": "onMobileMenuToggle"; "required": false; }; "menuLabel": { "alias": "menuLabel"; "required": false; }; "classInput": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
119
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppChrome, "st-app-chrome", never, { "brandName": { "alias": "brandName"; "required": false; }; "productName": { "alias": "productName"; "required": false; }; "logoSrc": { "alias": "logoSrc"; "required": false; }; "logoAlt": { "alias": "logoAlt"; "required": false; }; "brandHref": { "alias": "brandHref"; "required": false; }; "brandLabel": { "alias": "brandLabel"; "required": false; }; "nav": { "alias": "nav"; "required": false; }; "navLabel": { "alias": "navLabel"; "required": false; }; "userRoles": { "alias": "userRoles"; "required": false; }; "themes": { "alias": "themes"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; }; "themeLabel": { "alias": "themeLabel"; "required": false; }; "colorMode": { "alias": "colorMode"; "required": false; }; "onColorModeChange": { "alias": "onColorModeChange"; "required": false; }; "colorModeLabels": { "alias": "colorModeLabels"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; }; "localeLabel": { "alias": "localeLabel"; "required": false; }; "githubHref": { "alias": "githubHref"; "required": false; }; "githubLabel": { "alias": "githubLabel"; "required": false; }; "mobileMenuOpen": { "alias": "mobileMenuOpen"; "required": false; }; "onMobileMenuToggle": { "alias": "onMobileMenuToggle"; "required": false; }; "menuLabel": { "alias": "menuLabel"; "required": false; }; "classInput": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
103
120
|
}
|
|
104
121
|
//# sourceMappingURL=AppChrome.d.ts.map
|
package/dist/AppChrome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppChrome.d.ts","sourceRoot":"","sources":["../src/AppChrome.ts"],"names":[],"mappings":";AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AppChrome.d.ts","sourceRoot":"","sources":["../src/AppChrome.ts"],"names":[],"mappings":"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"}
|
package/dist/AppChrome.js
CHANGED
|
@@ -15,6 +15,7 @@ export class AppChrome {
|
|
|
15
15
|
brandLabel;
|
|
16
16
|
nav = [];
|
|
17
17
|
navLabel = "Primary";
|
|
18
|
+
userRoles = [];
|
|
18
19
|
themes = [];
|
|
19
20
|
theme;
|
|
20
21
|
onThemeChange;
|
|
@@ -75,6 +76,25 @@ export class AppChrome {
|
|
|
75
76
|
chevronClass(open) {
|
|
76
77
|
return classNames("st-appChrome__chevron", open ? "is-rotated" : undefined);
|
|
77
78
|
}
|
|
79
|
+
canShowNavItem(item) {
|
|
80
|
+
const allowed = item.roles ?? (item.role ? [item.role] : []);
|
|
81
|
+
return allowed.length === 0 || allowed.some((role) => this.userRoles.includes(role));
|
|
82
|
+
}
|
|
83
|
+
navRel(item) {
|
|
84
|
+
if (item.disabled)
|
|
85
|
+
return undefined;
|
|
86
|
+
return item.rel ?? (item.target === "_blank" ? "noreferrer" : undefined);
|
|
87
|
+
}
|
|
88
|
+
navLinkClass(item, base) {
|
|
89
|
+
return classNames(base, item.disabled ? "st-appChrome__navLink--disabled" : undefined);
|
|
90
|
+
}
|
|
91
|
+
handleNavClick(event, item, closeDrawer = false) {
|
|
92
|
+
if (item.disabled)
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
item.onClick?.(event);
|
|
95
|
+
if (!item.disabled && closeDrawer)
|
|
96
|
+
this.onMobileMenuToggle?.();
|
|
97
|
+
}
|
|
78
98
|
toggleTheme() {
|
|
79
99
|
this.isThemeOpen = !this.isThemeOpen;
|
|
80
100
|
}
|
|
@@ -121,7 +141,7 @@ export class AppChrome {
|
|
|
121
141
|
}
|
|
122
142
|
}
|
|
123
143
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AppChrome, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: AppChrome, isStandalone: true, selector: "st-app-chrome", inputs: { brandName: "brandName", productName: "productName", logoSrc: "logoSrc", logoAlt: "logoAlt", brandHref: "brandHref", brandLabel: "brandLabel", nav: "nav", navLabel: "navLabel", themes: "themes", theme: "theme", onThemeChange: "onThemeChange", themeLabel: "themeLabel", colorMode: "colorMode", onColorModeChange: "onColorModeChange", colorModeLabels: "colorModeLabels", locale: "locale", onLocaleChange: "onLocaleChange", localeLabel: "localeLabel", githubHref: "githubHref", githubLabel: "githubLabel", mobileMenuOpen: "mobileMenuOpen", onMobileMenuToggle: "onMobileMenuToggle", menuLabel: "menuLabel", classInput: ["class", "classInput"] }, host: { listeners: { "document:click": "onDocumentClick($event)", "document:keydown": "onDocumentKeydown($event)" } }, ngImport: i0, template: `
|
|
144
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: AppChrome, isStandalone: true, selector: "st-app-chrome", inputs: { brandName: "brandName", productName: "productName", logoSrc: "logoSrc", logoAlt: "logoAlt", brandHref: "brandHref", brandLabel: "brandLabel", nav: "nav", navLabel: "navLabel", userRoles: "userRoles", themes: "themes", theme: "theme", onThemeChange: "onThemeChange", themeLabel: "themeLabel", colorMode: "colorMode", onColorModeChange: "onColorModeChange", colorModeLabels: "colorModeLabels", locale: "locale", onLocaleChange: "onLocaleChange", localeLabel: "localeLabel", githubHref: "githubHref", githubLabel: "githubLabel", mobileMenuOpen: "mobileMenuOpen", onMobileMenuToggle: "onMobileMenuToggle", menuLabel: "menuLabel", classInput: ["class", "classInput"] }, host: { listeners: { "document:click": "onDocumentClick($event)", "document:keydown": "onDocumentKeydown($event)" } }, ngImport: i0, template: `
|
|
125
145
|
<div [attr.data-st-component]="componentName" [class]="hostClass">
|
|
126
146
|
<header class="st-appHeader st-appChrome__header">
|
|
127
147
|
<div class="st-appHeader__bar">
|
|
@@ -152,11 +172,18 @@ export class AppChrome {
|
|
|
152
172
|
<!-- ── Nav principale ─────────────────────────────────────────── -->
|
|
153
173
|
<nav class="st-appHeader__nav" aria-label="Primary">
|
|
154
174
|
@for (item of nav; track item.href) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
175
|
+
@if (canShowNavItem(item)) {
|
|
176
|
+
<a
|
|
177
|
+
[class]="navLinkClass(item, 'st-appChrome__navLink st-appHeader__navLink')"
|
|
178
|
+
[attr.href]="item.disabled ? null : item.href"
|
|
179
|
+
[attr.aria-current]="item.active ? 'page' : null"
|
|
180
|
+
[attr.aria-disabled]="item.disabled ? 'true' : null"
|
|
181
|
+
[attr.aria-label]="item.ariaLabel ?? null"
|
|
182
|
+
[attr.target]="item.disabled ? null : (item.target ?? null)"
|
|
183
|
+
[attr.rel]="navRel(item) ?? null"
|
|
184
|
+
(click)="handleNavClick($event, item)"
|
|
185
|
+
>{{ item.label }}</a>
|
|
186
|
+
}
|
|
160
187
|
}
|
|
161
188
|
</nav>
|
|
162
189
|
|
|
@@ -312,12 +339,18 @@ export class AppChrome {
|
|
|
312
339
|
<nav [id]="drawerId" class="st-appChrome__drawer" [attr.aria-label]="navLabel">
|
|
313
340
|
<div class="st-appChrome__drawerSection">
|
|
314
341
|
@for (item of nav; track item.href) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
342
|
+
@if (canShowNavItem(item)) {
|
|
343
|
+
<a
|
|
344
|
+
[class]="navLinkClass(item, 'st-appChrome__drawerLink')"
|
|
345
|
+
[attr.href]="item.disabled ? null : item.href"
|
|
346
|
+
[attr.aria-current]="item.active ? 'page' : null"
|
|
347
|
+
[attr.aria-disabled]="item.disabled ? 'true' : null"
|
|
348
|
+
[attr.aria-label]="item.ariaLabel ?? null"
|
|
349
|
+
[attr.target]="item.disabled ? null : (item.target ?? null)"
|
|
350
|
+
[attr.rel]="navRel(item) ?? null"
|
|
351
|
+
(click)="handleNavClick($event, item, true)"
|
|
352
|
+
>{{ item.label }}</a>
|
|
353
|
+
}
|
|
321
354
|
}
|
|
322
355
|
</div>
|
|
323
356
|
|
|
@@ -412,11 +445,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
412
445
|
<!-- ── Nav principale ─────────────────────────────────────────── -->
|
|
413
446
|
<nav class="st-appHeader__nav" aria-label="Primary">
|
|
414
447
|
@for (item of nav; track item.href) {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
448
|
+
@if (canShowNavItem(item)) {
|
|
449
|
+
<a
|
|
450
|
+
[class]="navLinkClass(item, 'st-appChrome__navLink st-appHeader__navLink')"
|
|
451
|
+
[attr.href]="item.disabled ? null : item.href"
|
|
452
|
+
[attr.aria-current]="item.active ? 'page' : null"
|
|
453
|
+
[attr.aria-disabled]="item.disabled ? 'true' : null"
|
|
454
|
+
[attr.aria-label]="item.ariaLabel ?? null"
|
|
455
|
+
[attr.target]="item.disabled ? null : (item.target ?? null)"
|
|
456
|
+
[attr.rel]="navRel(item) ?? null"
|
|
457
|
+
(click)="handleNavClick($event, item)"
|
|
458
|
+
>{{ item.label }}</a>
|
|
459
|
+
}
|
|
420
460
|
}
|
|
421
461
|
</nav>
|
|
422
462
|
|
|
@@ -572,12 +612,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
572
612
|
<nav [id]="drawerId" class="st-appChrome__drawer" [attr.aria-label]="navLabel">
|
|
573
613
|
<div class="st-appChrome__drawerSection">
|
|
574
614
|
@for (item of nav; track item.href) {
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
615
|
+
@if (canShowNavItem(item)) {
|
|
616
|
+
<a
|
|
617
|
+
[class]="navLinkClass(item, 'st-appChrome__drawerLink')"
|
|
618
|
+
[attr.href]="item.disabled ? null : item.href"
|
|
619
|
+
[attr.aria-current]="item.active ? 'page' : null"
|
|
620
|
+
[attr.aria-disabled]="item.disabled ? 'true' : null"
|
|
621
|
+
[attr.aria-label]="item.ariaLabel ?? null"
|
|
622
|
+
[attr.target]="item.disabled ? null : (item.target ?? null)"
|
|
623
|
+
[attr.rel]="navRel(item) ?? null"
|
|
624
|
+
(click)="handleNavClick($event, item, true)"
|
|
625
|
+
>{{ item.label }}</a>
|
|
626
|
+
}
|
|
581
627
|
}
|
|
582
628
|
</div>
|
|
583
629
|
|
|
@@ -654,6 +700,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
654
700
|
type: NgInput
|
|
655
701
|
}], navLabel: [{
|
|
656
702
|
type: NgInput
|
|
703
|
+
}], userRoles: [{
|
|
704
|
+
type: NgInput
|
|
657
705
|
}], themes: [{
|
|
658
706
|
type: NgInput
|
|
659
707
|
}], theme: [{
|
package/dist/AppChrome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppChrome.js","sourceRoot":"","sources":["../src/AppChrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;
|
|
1
|
+
{"version":3,"file":"AppChrome.js","sourceRoot":"","sources":["../src/AppChrome.ts"],"names":[],"mappings":"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"}
|
package/dist/Dropdown.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export declare class Dropdown {
|
|
|
29
29
|
readonly select: EventEmitter<string>;
|
|
30
30
|
localOpen: boolean;
|
|
31
31
|
localValue: string;
|
|
32
|
+
get isOpen(): boolean;
|
|
33
|
+
toggleOpen(): void;
|
|
32
34
|
get resolvedPlaceholder(): string;
|
|
33
35
|
get selectedLabel(): string;
|
|
34
36
|
get iconClass(): string;
|
package/dist/Dropdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAA4B,MAAM,eAAe,CAAC;;AAIlF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAmDa,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,eAAe,cAAc;IAC7C,QAAQ,CAAC,aAAa,cAAc;IAEzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAM;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,MAAM,uBAA8B;IAEvD,SAAS,UAAS;IAClB,UAAU,SAAM;IAEhB,IAAI,mBAAmB,IAAI,MAAM,CAGhC;IAED,IAAI,aAAa,IAAI,MAAM,CAI1B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAA4B,MAAM,eAAe,CAAC;;AAIlF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAmDa,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,eAAe,cAAc;IAC7C,QAAQ,CAAC,aAAa,cAAc;IAEzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAM;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,MAAM,uBAA8B;IAEvD,SAAS,UAAS;IAClB,UAAU,SAAM;IAEhB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,UAAU,IAAI,IAAI;IAIlB,IAAI,mBAAmB,IAAI,MAAM,CAGhC;IAED,IAAI,aAAa,IAAI,MAAM,CAI1B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;yCA7C/B,QAAQ;2CAAR,QAAQ;CAoDpB"}
|
package/dist/Dropdown.js
CHANGED
|
@@ -15,6 +15,13 @@ export class Dropdown {
|
|
|
15
15
|
select = new EventEmitter();
|
|
16
16
|
localOpen = false;
|
|
17
17
|
localValue = "";
|
|
18
|
+
get isOpen() {
|
|
19
|
+
return this.open ?? this.localOpen;
|
|
20
|
+
}
|
|
21
|
+
toggleOpen() {
|
|
22
|
+
if (this.open === undefined)
|
|
23
|
+
this.localOpen = !this.localOpen;
|
|
24
|
+
}
|
|
18
25
|
get resolvedPlaceholder() {
|
|
19
26
|
const isFr = (this.locale ?? "fr-FR").toLowerCase().startsWith("fr");
|
|
20
27
|
return this.placeholder ?? (isFr ? "Sélectionner" : "Select");
|
|
@@ -25,7 +32,7 @@ export class Dropdown {
|
|
|
25
32
|
return opt ? String(opt.label) : this.resolvedPlaceholder;
|
|
26
33
|
}
|
|
27
34
|
get iconClass() {
|
|
28
|
-
return classNames("st-dropdown__icon", this.
|
|
35
|
+
return classNames("st-dropdown__icon", this.isOpen ? "st-dropdown__icon--open" : undefined);
|
|
29
36
|
}
|
|
30
37
|
get hostClass() {
|
|
31
38
|
return classNames("st-dropdown", this.classInput);
|
|
@@ -34,7 +41,8 @@ export class Dropdown {
|
|
|
34
41
|
if (option.disabled)
|
|
35
42
|
return;
|
|
36
43
|
this.localValue = option.value;
|
|
37
|
-
this.
|
|
44
|
+
if (this.open === undefined)
|
|
45
|
+
this.localOpen = false;
|
|
38
46
|
this.select.emit(option.value);
|
|
39
47
|
this.onSelect?.(option.value);
|
|
40
48
|
}
|
|
@@ -48,8 +56,8 @@ export class Dropdown {
|
|
|
48
56
|
type="button"
|
|
49
57
|
class="st-dropdown__button"
|
|
50
58
|
aria-haspopup="listbox"
|
|
51
|
-
[attr.aria-expanded]="
|
|
52
|
-
(click)="
|
|
59
|
+
[attr.aria-expanded]="isOpen"
|
|
60
|
+
(click)="toggleOpen()"
|
|
53
61
|
>
|
|
54
62
|
<span class="st-dropdown__label">{{ label }}</span>: <span class="st-dropdown__value">{{ selectedLabel }}</span>
|
|
55
63
|
<svg
|
|
@@ -65,7 +73,7 @@ export class Dropdown {
|
|
|
65
73
|
aria-hidden="true"
|
|
66
74
|
><path d="m6 9 6 6 6-6"></path></svg>
|
|
67
75
|
</button>
|
|
68
|
-
@if (
|
|
76
|
+
@if (isOpen) {
|
|
69
77
|
<div
|
|
70
78
|
class="st-dropdown__list"
|
|
71
79
|
role="listbox"
|
|
@@ -101,8 +109,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
101
109
|
type="button"
|
|
102
110
|
class="st-dropdown__button"
|
|
103
111
|
aria-haspopup="listbox"
|
|
104
|
-
[attr.aria-expanded]="
|
|
105
|
-
(click)="
|
|
112
|
+
[attr.aria-expanded]="isOpen"
|
|
113
|
+
(click)="toggleOpen()"
|
|
106
114
|
>
|
|
107
115
|
<span class="st-dropdown__label">{{ label }}</span>: <span class="st-dropdown__value">{{ selectedLabel }}</span>
|
|
108
116
|
<svg
|
|
@@ -118,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
118
126
|
aria-hidden="true"
|
|
119
127
|
><path d="m6 9 6 6 6-6"></path></svg>
|
|
120
128
|
</button>
|
|
121
|
-
@if (
|
|
129
|
+
@if (isOpen) {
|
|
122
130
|
<div
|
|
123
131
|
class="st-dropdown__list"
|
|
124
132
|
role="listbox"
|
package/dist/Dropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;AAsE7C,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAU,eAAe,GAAG,UAAU,CAAC;IACpC,aAAa,GAAG,UAAU,CAAC;IAEzB,KAAK,CAAU;IACf,OAAO,GAAqB,EAAE,CAAC;IAC/B,KAAK,CAAU;IACf,IAAI,CAAW;IACf,WAAW,CAAU;IACrB,MAAM,CAAU;IAChB,QAAQ,CAA2B;IAC5B,UAAU,CAAU;IAEnB,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;IAEvD,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,GAAG,EAAE,CAAC;IAEhB,IAAI,mBAAmB;QACrB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,aAAa;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;AAsE7C,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAU,eAAe,GAAG,UAAU,CAAC;IACpC,aAAa,GAAG,UAAU,CAAC;IAEzB,KAAK,CAAU;IACf,OAAO,GAAqB,EAAE,CAAC;IAC/B,KAAK,CAAU;IACf,IAAI,CAAW;IACf,WAAW,CAAU;IACrB,MAAM,CAAU;IAChB,QAAQ,CAA2B;IAC5B,UAAU,CAAU;IAEnB,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;IAEvD,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,GAAG,EAAE,CAAC;IAEhB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,aAAa;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,SAAS;QACX,OAAO,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,MAAsB;QACjC,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;wGAnDU,QAAQ;4FAAR,QAAQ,6RAhDT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CT;;4FAEU,QAAQ;kBAnDpB,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CT;iBACF;;sBAKE,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;uBAAC,OAAO;;sBAEf,MAAM"}
|
package/dist/styles.css
CHANGED
|
@@ -2349,12 +2349,8 @@
|
|
|
2349
2349
|
border-radius: var(--st-component-dropdown-radius, 0.375rem);
|
|
2350
2350
|
box-shadow: var(--st-component-dropdown-shadow, 0 8px 24px rgb(15 23 42 / 0.14));
|
|
2351
2351
|
display: grid;
|
|
2352
|
-
left: 0;
|
|
2353
|
-
margin-top: var(--st-spacing-1, 0.25rem);
|
|
2354
|
-
min-width: 100%;
|
|
2355
2352
|
overflow: hidden;
|
|
2356
|
-
position:
|
|
2357
|
-
top: 100%;
|
|
2353
|
+
position: fixed;
|
|
2358
2354
|
z-index: var(--st-component-popover-zIndex, 80);
|
|
2359
2355
|
}
|
|
2360
2356
|
|
|
@@ -12680,6 +12676,15 @@
|
|
|
12680
12676
|
font-weight: 700;
|
|
12681
12677
|
}
|
|
12682
12678
|
|
|
12679
|
+
.st-appChrome__navLink--disabled,
|
|
12680
|
+
.st-appChrome__navLink--disabled:hover,
|
|
12681
|
+
.st-appChrome__navLink--disabled:focus-visible {
|
|
12682
|
+
color: var(--st-semantic-text-disabled, var(--st-semantic-text-secondary));
|
|
12683
|
+
cursor: not-allowed;
|
|
12684
|
+
opacity: 0.56;
|
|
12685
|
+
pointer-events: none;
|
|
12686
|
+
}
|
|
12687
|
+
|
|
12683
12688
|
.st-appHeader__control {
|
|
12684
12689
|
align-items: center;
|
|
12685
12690
|
background: var(--st-semantic-surface-default);
|