@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' is the compact logomark; 'full' and 'header' show the wordmark
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 in header) -->
20258
+ <!-- Logo (desktop only, header variant: headerLogoUrl override, else full logo) -->
20247
20259
  <div class="ds-tab-bar__logo">
20248
- <ds-logo variant="full" size="lg" />
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 in header) -->
20314
+ <!-- Logo (desktop only, header variant: headerLogoUrl override, else full logo) -->
20303
20315
  <div class="ds-tab-bar__logo">
20304
- <ds-logo variant="full" size="lg" />
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="mark" />
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="mark" />
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"] }]