@propbinder/mobile-design 0.4.43 → 0.4.44
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.
|
@@ -607,6 +607,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.23", ngImpo
|
|
|
607
607
|
* ```html
|
|
608
608
|
* <ds-logo variant="header" size="lg" />
|
|
609
609
|
* ```
|
|
610
|
+
*
|
|
611
|
+
* Spinner/loading logo on the dark header surface (headerLogoUrl override, else the logomark):
|
|
612
|
+
* ```html
|
|
613
|
+
* <ds-logo variant="spinner" size="lg" />
|
|
614
|
+
* ```
|
|
610
615
|
*/
|
|
611
616
|
class DsLogoComponent {
|
|
612
617
|
whitelabelService = inject(WhitelabelService);
|
|
@@ -622,6 +627,13 @@ class DsLogoComponent {
|
|
|
622
627
|
const headerLogoUrl = this.whitelabelService.headerLogoUrl();
|
|
623
628
|
return headerLogoUrl || logoUrl || logoMarkUrl;
|
|
624
629
|
}
|
|
630
|
+
if (this.variant === 'spinner') {
|
|
631
|
+
// Loading spinner sits on the dark header surface. Prefer the header override
|
|
632
|
+
// (a light/dark-surface badge), then the compact logomark, then the full logo.
|
|
633
|
+
// Distinct from 'header' which falls back to the full wordmark, not the mark.
|
|
634
|
+
const headerLogoUrl = this.whitelabelService.headerLogoUrl();
|
|
635
|
+
return headerLogoUrl || logoMarkUrl || logoUrl;
|
|
636
|
+
}
|
|
625
637
|
if (this.variant === 'full') {
|
|
626
638
|
// Use logo, fall back to logomark if logo doesn't exist
|
|
627
639
|
return logoUrl || logoMarkUrl;
|
|
@@ -633,8 +645,8 @@ class DsLogoComponent {
|
|
|
633
645
|
}
|
|
634
646
|
get logoAlt() {
|
|
635
647
|
const alt = this.whitelabelService.logoAlt();
|
|
636
|
-
// 'mark'
|
|
637
|
-
return this.variant === 'mark' ? `${alt} logo` : alt;
|
|
648
|
+
// 'mark' and 'spinner' are compact marks; 'full' and 'header' show the wordmark
|
|
649
|
+
return this.variant === 'mark' || this.variant === 'spinner' ? `${alt} logo` : alt;
|
|
638
650
|
}
|
|
639
651
|
/**
|
|
640
652
|
* Priority: customHeight input > whitelabel config logoHeight > default 32px
|
|
@@ -20243,9 +20255,9 @@ class DsMobileTabBarComponent {
|
|
|
20243
20255
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.23", ngImport: i0, type: DsMobileTabBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20244
20256
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.23", type: DsMobileTabBarComponent, isStandalone: true, selector: "ds-mobile-tab-bar", inputs: { tabs: "tabs", avatarType: "avatarType", avatarInitials: "avatarInitials", avatarSrc: "avatarSrc", avatarIconName: "avatarIconName", profileMenuItems: "profileMenuItems", notificationCount: "notificationCount", moreMenuItems: "moreMenuItems", moreMenuLabel: "moreMenuLabel", moreMenuIcon: "moreMenuIcon", moreMenuIconActive: "moreMenuIconActive" }, outputs: { notificationClick: "notificationClick", avatarClick: "avatarClick", profileActionSelected: "profileActionSelected", moreMenuItemSelected: "moreMenuItemSelected" }, ngImport: i0, template: `
|
|
20245
20257
|
<ion-tab-bar [attr.slot]="isDesktop() ? 'top' : 'bottom'" class="ds-tab-bar" [class.ds-tab-bar--desktop]="isDesktop()">
|
|
20246
|
-
<!-- Logo (desktop only, full logo
|
|
20258
|
+
<!-- Logo (desktop only, header variant: headerLogoUrl override, else full logo) -->
|
|
20247
20259
|
<div class="ds-tab-bar__logo">
|
|
20248
|
-
<ds-logo variant="
|
|
20260
|
+
<ds-logo variant="header" size="lg" />
|
|
20249
20261
|
</div>
|
|
20250
20262
|
|
|
20251
20263
|
<!-- Tab buttons container -->
|
|
@@ -20299,9 +20311,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.23", ngImpo
|
|
|
20299
20311
|
type: Component,
|
|
20300
20312
|
args: [{ selector: 'ds-mobile-tab-bar', standalone: true, imports: [CommonModule, IonTabBar, IonTabButton, IonLabel, DsIconComponent, DsAvatarComponent, DsLogoComponent, DsMobileNotificationButtonComponent], template: `
|
|
20301
20313
|
<ion-tab-bar [attr.slot]="isDesktop() ? 'top' : 'bottom'" class="ds-tab-bar" [class.ds-tab-bar--desktop]="isDesktop()">
|
|
20302
|
-
<!-- Logo (desktop only, full logo
|
|
20314
|
+
<!-- Logo (desktop only, header variant: headerLogoUrl override, else full logo) -->
|
|
20303
20315
|
<div class="ds-tab-bar__logo">
|
|
20304
|
-
<ds-logo variant="
|
|
20316
|
+
<ds-logo variant="header" size="lg" />
|
|
20305
20317
|
</div>
|
|
20306
20318
|
|
|
20307
20319
|
<!-- Tab buttons container -->
|
|
@@ -21882,7 +21894,7 @@ class DsMobileAppLoadingComponent {
|
|
|
21882
21894
|
<div class="app-loading__backdrop" (animationend)="onAnimEnd($event)"></div>
|
|
21883
21895
|
<div class="app-loading__content">
|
|
21884
21896
|
<div class="app-loading__ring"></div>
|
|
21885
|
-
<ds-logo class="app-loading__logo" variant="
|
|
21897
|
+
<ds-logo class="app-loading__logo" variant="spinner" />
|
|
21886
21898
|
</div>
|
|
21887
21899
|
</div>
|
|
21888
21900
|
`, isInline: true, styles: [":host{display:block;position:fixed;inset:0;z-index:9999}.app-loading{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.app-loading__backdrop{position:absolute;inset:0;background:var(--color-header-surface, #2D2356)}.app-loading__content{position:relative;display:flex;align-items:center;justify-content:center;transform:scale(1.2);z-index:1}.app-loading__ring{position:absolute;width:96px;height:96px;border-radius:50%;border:2.5px solid rgba(255,255,255,.15);border-top-color:#ffffffbf;animation:ringSpinner .75s linear infinite}@keyframes ringSpinner{to{transform:rotate(360deg)}}.app-loading--exiting .app-loading__content{animation:contentExit 1.5s var(--spring-curve-bouncy) forwards}.app-loading--exiting .app-loading__ring{animation:ringFade .15s ease forwards}.app-loading--exiting .app-loading__backdrop{animation:backdropFade .3s ease forwards}@keyframes contentExit{0%{transform:translateY(0) scale(1.2);opacity:1}to{transform:translateY(-256px) scale(0);opacity:0}}@keyframes ringFade{to{opacity:0}}@keyframes backdropFade{to{opacity:0}}\n"], dependencies: [{ kind: "component", type: DsLogoComponent, selector: "ds-logo", inputs: ["variant", "size", "customHeight", "customWidth"] }] });
|
|
@@ -21898,7 +21910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.23", ngImpo
|
|
|
21898
21910
|
<div class="app-loading__backdrop" (animationend)="onAnimEnd($event)"></div>
|
|
21899
21911
|
<div class="app-loading__content">
|
|
21900
21912
|
<div class="app-loading__ring"></div>
|
|
21901
|
-
<ds-logo class="app-loading__logo" variant="
|
|
21913
|
+
<ds-logo class="app-loading__logo" variant="spinner" />
|
|
21902
21914
|
</div>
|
|
21903
21915
|
</div>
|
|
21904
21916
|
`, styles: [":host{display:block;position:fixed;inset:0;z-index:9999}.app-loading{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.app-loading__backdrop{position:absolute;inset:0;background:var(--color-header-surface, #2D2356)}.app-loading__content{position:relative;display:flex;align-items:center;justify-content:center;transform:scale(1.2);z-index:1}.app-loading__ring{position:absolute;width:96px;height:96px;border-radius:50%;border:2.5px solid rgba(255,255,255,.15);border-top-color:#ffffffbf;animation:ringSpinner .75s linear infinite}@keyframes ringSpinner{to{transform:rotate(360deg)}}.app-loading--exiting .app-loading__content{animation:contentExit 1.5s var(--spring-curve-bouncy) forwards}.app-loading--exiting .app-loading__ring{animation:ringFade .15s ease forwards}.app-loading--exiting .app-loading__backdrop{animation:backdropFade .3s ease forwards}@keyframes contentExit{0%{transform:translateY(0) scale(1.2);opacity:1}to{transform:translateY(-256px) scale(0);opacity:0}}@keyframes ringFade{to{opacity:0}}@keyframes backdropFade{to{opacity:0}}\n"] }]
|