@propbinder/mobile-design 0.2.68 → 0.2.70

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.
@@ -1699,7 +1699,7 @@ class DsMobileBottomSheetWrapperComponent {
1699
1699
  <div class="bottom-sheet-wrapper">
1700
1700
  <ng-content></ng-content>
1701
1701
  </div>
1702
- `, isInline: true, styles: [":host{display:block;background:var(--color-background-neutral-primary, #ffffff);background:#fff;height:auto}.bottom-sheet-wrapper{display:flex;flex-direction:column;background:var(--color-background-neutral-primary, #ffffff);background:#fff;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px);overflow:hidden;width:100%;height:auto;min-height:unset}:host ::ng-deep .view-container:not(.is-animating){height:auto!important;min-height:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1702
+ `, isInline: true, styles: [":host{display:block;background:var(--color-background-neutral-primary, #ffffff);background:#fff;height:auto}.bottom-sheet-wrapper{display:flex;flex-direction:column;background:var(--color-background-neutral-primary, #ffffff);background:#fff;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px);overflow:hidden;width:100%;height:auto;min-height:160px}:host ::ng-deep .view-container:not(.is-animating){height:auto!important;min-height:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1703
1703
  }
1704
1704
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileBottomSheetWrapperComponent, decorators: [{
1705
1705
  type: Component,
@@ -1707,7 +1707,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1707
1707
  <div class="bottom-sheet-wrapper">
1708
1708
  <ng-content></ng-content>
1709
1709
  </div>
1710
- `, styles: [":host{display:block;background:var(--color-background-neutral-primary, #ffffff);background:#fff;height:auto}.bottom-sheet-wrapper{display:flex;flex-direction:column;background:var(--color-background-neutral-primary, #ffffff);background:#fff;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px);overflow:hidden;width:100%;height:auto;min-height:unset}:host ::ng-deep .view-container:not(.is-animating){height:auto!important;min-height:0!important}\n"] }]
1710
+ `, styles: [":host{display:block;background:var(--color-background-neutral-primary, #ffffff);background:#fff;height:auto}.bottom-sheet-wrapper{display:flex;flex-direction:column;background:var(--color-background-neutral-primary, #ffffff);background:#fff;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px);overflow:hidden;width:100%;height:auto;min-height:160px}:host ::ng-deep .view-container:not(.is-animating){height:auto!important;min-height:0!important}\n"] }]
1711
1711
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
1712
1712
 
1713
1713
  /**
@@ -2004,8 +2004,8 @@ class DsMobileBottomSheetService {
2004
2004
  const modal = await this.modalController.create({
2005
2005
  component,
2006
2006
  componentProps,
2007
- breakpoints: autoHeight ? undefined : breakpoints,
2008
- initialBreakpoint: autoHeight ? undefined : initialBreakpoint,
2007
+ breakpoints: autoHeight ? [0, 1] : breakpoints,
2008
+ initialBreakpoint: autoHeight ? 1 : initialBreakpoint,
2009
2009
  handle: autoHeight ? false : handle,
2010
2010
  cssClass: cssClasses,
2011
2011
  backdropDismiss,
@@ -3098,6 +3098,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3098
3098
  class DsMobileProfileActionsSheetComponent {
3099
3099
  modalController;
3100
3100
  injector;
3101
+ elementRef;
3101
3102
  /**
3102
3103
  * Action groups to display in main view
3103
3104
  */
@@ -3175,9 +3176,10 @@ class DsMobileProfileActionsSheetComponent {
3175
3176
  * Is animating between views
3176
3177
  */
3177
3178
  isAnimating = signal(false, ...(ngDevMode ? [{ debugName: "isAnimating" }] : []));
3178
- constructor(modalController, injector) {
3179
+ constructor(modalController, injector, elementRef) {
3179
3180
  this.modalController = modalController;
3180
3181
  this.injector = injector;
3182
+ this.elementRef = elementRef;
3181
3183
  // Set initial height after render
3182
3184
  afterNextRender(() => {
3183
3185
  this.updateHeight();
@@ -3345,6 +3347,24 @@ class DsMobileProfileActionsSheetComponent {
3345
3347
  container.style.opacity = '1';
3346
3348
  await this.delay(150);
3347
3349
  this.isAnimating.set(false);
3350
+ // Notify Ionic of the new content height so drag-to-dismiss recalibrates
3351
+ const modal = this.getModalElement();
3352
+ if (modal) {
3353
+ modal.setCurrentBreakpoint(1);
3354
+ }
3355
+ }
3356
+ /**
3357
+ * Walk up the DOM to find the parent ion-modal element
3358
+ */
3359
+ getModalElement() {
3360
+ let element = this.elementRef.nativeElement.parentElement;
3361
+ while (element) {
3362
+ if (element.tagName === 'ION-MODAL') {
3363
+ return element;
3364
+ }
3365
+ element = element.parentElement;
3366
+ }
3367
+ return null;
3348
3368
  }
3349
3369
  /**
3350
3370
  * Helper to create delay promise
@@ -3358,7 +3378,7 @@ class DsMobileProfileActionsSheetComponent {
3358
3378
  selectAction(action) {
3359
3379
  this.modalController.dismiss({ action }, 'select');
3360
3380
  }
3361
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileProfileActionsSheetComponent, deps: [{ token: i1.ModalController }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3381
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileProfileActionsSheetComponent, deps: [{ token: i1.ModalController }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3362
3382
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileProfileActionsSheetComponent, isStandalone: true, selector: "ds-mobile-profile-actions-sheet", inputs: { actionGroups: "actionGroups", currentLanguage: "currentLanguage", availableLanguages: "availableLanguages" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["viewContainer"], descendants: true, read: ElementRef }, { propertyName: "sheetWrapper", first: true, predicate: ["sheetWrapper"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
3363
3383
  <ds-mobile-bottom-sheet-wrapper>
3364
3384
  <div class="profile-sheet-content" #sheetWrapper>
@@ -3518,7 +3538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3518
3538
  </div>
3519
3539
  </ds-mobile-bottom-sheet-wrapper>
3520
3540
  `, styles: [":host{display:block;height:auto;background:var(--color-background-neutral-primary, #ffffff)}.profile-sheet-content{overflow:hidden;width:100%}.view-container{display:grid;grid-template-columns:50% 50%;width:200%;transform:translate(0);transition:transform .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),opacity .15s ease-in-out;overflow:hidden}.view-container.show-language{transform:translate(-50%)}.view{width:100%}.view-container:not(.is-animating) .view:not(.active){height:0!important;overflow:hidden!important}.main-view{padding-top:16px}.actions-list{display:flex;flex-direction:column}.action-group{display:flex;flex-direction:column;padding:0 16px}.language-view{display:flex;flex-direction:column}.language-list{padding:8px 16px}.language-flag{width:24px;height:24px;object-fit:cover}.radio-wrapper{display:flex;align-items:center;justify-content:center}.radio-indicator{width:20px;height:20px;border:2px solid var(--color-border-default, #d1d5db);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.radio-indicator.radio-checked{border-color:var(--color-accent, #7c3aed)}.radio-inner{width:10px;height:10px;border-radius:50%;background:transparent;transition:background .2s ease}.radio-checked .radio-inner{background:var(--color-accent, #7c3aed)}.trailing-content{display:flex;align-items:center;gap:8px}.subtitle-flag{width:16px;height:16px;object-fit:cover;border-radius:2px}.subtitle{font-size:15px;color:var(--color-text-subtle, #6b7280);line-height:20px}.chevron-icon{color:var(--color-text-secondary, #737373)}.check-icon{color:var(--color-primary-base, #7c3aed)}::ng-deep ds-mobile-action-list-item ds-mobile-list-item{--color-background-primary: transparent;--color-background-neutral-primary-hover: var(--color-background-neutral-secondary, #f5f5f5)}::ng-deep ds-mobile-action-list-item ds-mobile-list-item .list-item-inner:before{z-index:0!important}::ng-deep ds-mobile-action-list-item ds-mobile-list-item .content-leading,::ng-deep ds-mobile-action-list-item ds-mobile-list-item .content-main,::ng-deep ds-mobile-action-list-item ds-mobile-list-item .content-trailing{position:relative;z-index:1}ds-mobile-action-list-item.destructive{--text-color-default-primary: var(--color-error-base, #ef4444)}.destructive-icon{color:var(--color-error-base, #ef4444)}.action-group-divider{height:1px;background:var(--color-border-subtle, #e5e5e5);margin:8px 0}\n"] }]
3521
- }], ctorParameters: () => [{ type: i1.ModalController }, { type: i0.Injector }], propDecorators: { actionGroups: [{
3541
+ }], ctorParameters: () => [{ type: i1.ModalController }, { type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { actionGroups: [{
3522
3542
  type: Input
3523
3543
  }], currentLanguage: [{
3524
3544
  type: Input
@@ -10385,23 +10405,26 @@ class DsMobileTabBarComponent {
10385
10405
  });
10386
10406
  }
10387
10407
  ngOnInit() {
10388
- // Listen to router events to detect active tab from URL
10389
10408
  if (this.router) {
10409
+ // Seed active tab from the URL that was already resolved before this component rendered.
10410
+ // The initial NavigationEnd fires before any Angular lifecycle hooks, so the subscription
10411
+ // below would never catch it — reading router.url here covers that gap.
10412
+ this.syncActiveTabFromUrl(this.router.url);
10390
10413
  this.routerSubscription = this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
10391
- const url = event.urlAfterRedirects || event.url;
10392
- // Extract the route segment (e.g., /tab-bar-test/home -> home)
10393
- const segments = url.split('/').filter((s) => s);
10394
- const lastSegment = segments[segments.length - 1];
10395
- // Find matching tab by route
10396
- if (this.tabs && lastSegment) {
10397
- const matchingTab = this.tabs.find((tab) => tab.route === lastSegment);
10398
- if (matchingTab) {
10399
- this.activeTab.set(matchingTab.route);
10400
- }
10401
- }
10414
+ this.syncActiveTabFromUrl(event.urlAfterRedirects || event.url);
10402
10415
  });
10403
10416
  }
10404
10417
  }
10418
+ syncActiveTabFromUrl(url) {
10419
+ const segments = url.split('/').filter((s) => s);
10420
+ const lastSegment = segments[segments.length - 1];
10421
+ if (this.tabs && lastSegment) {
10422
+ const matchingTab = this.tabs.find((tab) => tab.route === lastSegment);
10423
+ if (matchingTab) {
10424
+ this.activeTab.set(matchingTab.route);
10425
+ }
10426
+ }
10427
+ }
10405
10428
  ngAfterViewInit() {
10406
10429
  // Initial removal
10407
10430
  this.removeTitleAttributes();
@@ -24278,9 +24301,9 @@ class MobileInquiryDetailPageComponent {
24278
24301
  </ds-mobile-list-item>
24279
24302
 
24280
24303
  <!-- Description -->
24281
- <ds-mobile-list-item [leadingSize]="'32px'" [showDivider]="true">
24304
+ <ds-mobile-list-item [leadingSize]="'32px'" [showDivider]="photoUrls.length > 0">
24282
24305
  <ds-icon content-leading name="remixAlignLeft" size="20px" color="tertiary" />
24283
- <div content-main>
24306
+ <div content-main style="display:flex;flex-direction:column;gap:8px">
24284
24307
  <div class="detail-value description-text">
24285
24308
  I de sidste tre dage har vi oplevet vedvarende problemer med tørretumbleren i vores lejlighed. På trods af at vi følger betjeningsvejledningen, fejler maskinen konsekvent i at fuldføre sine tørrecyklusser.
24286
24309
  </div>
@@ -24301,7 +24324,7 @@ class MobileInquiryDetailPageComponent {
24301
24324
  </ds-mobile-section>
24302
24325
  }
24303
24326
  </ds-mobile-page-details>
24304
- `, isInline: true, styles: [".activity-list{display:flex;flex-direction:column;gap:12px;position:relative}.activity-list ds-mobile-list-item:not(:last-child) [content-leading]:after{content:\"\";position:absolute;top:40px;left:50%;transform:translate(-50%);width:1px;height:calc(100% - 2px);background:var(--border-color-default, #e5e5e5);z-index:0}.activity-icon-wrapper{width:100%;height:100%;border-radius:8px;background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.avatar-wrapper{position:relative;display:flex;align-items:start;justify-content:center;flex-shrink:0;width:100%;height:100%;z-index:1}.avatar-badge{position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-radius:8px;background:var(--color-brand-secondary, #5d5fef);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-background-primary, #ffffff)}.avatar-badge svg{width:10px;position:relative;top:1px;fill:#fff}.activity-content{display:flex;flex-direction:column;gap:4px}.activity-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227);margin:0}.activity-title .actor-name{font-weight:600;color:var(--text-color-default-primary, #202227)}.activity-title .activity-text{color:var(--text-color-default-secondary, #545B66);font-weight:400}.activity-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-secondary, #545B66);margin:0}.activity-timestamp{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-label{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373)}.detail-value{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:24px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227)}.detail-value.description-text{padding:0 0 8px}.detail-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;background:var(--color-background-neutral-secondary, #f5f5f5);font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--text-color-default-secondary, #525866);margin-top:4px;margin-bottom:10px;width:-moz-fit-content;width:fit-content}.photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.photo-add{width:100%;aspect-ratio:1;border-radius:12px;border:1px dashed var(--border-color-default, #e5e5e5);background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-item{width:100%;aspect-ratio:1;border-radius:12px;-o-object-fit:cover;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsIconComponent, selector: "ds-icon", inputs: ["name", "size", "color", "interactive"] }, { kind: "component", type: DsAvatarWithBadgeComponent, selector: "ds-avatar-with-badge", inputs: ["type", "size", "initials", "src", "iconName", "showBadge", "badgePosition"] }, { kind: "component", type: DsMobilePageDetailsComponent, selector: "ds-mobile-page-details", inputs: ["title", "backRoute", "contentPadding", "tabs", "activeTab", "showRefresh", "scrollThreshold", "headerFadeDistance"], outputs: ["back", "tabChange", "refresh", "scroll"] }, { kind: "component", type: DsMobileInteractiveListItemMessageComponent, selector: "ds-mobile-interactive-list-item-message", inputs: ["senderName", "senderRole", "timestamp", "message", "avatarInitials", "avatarType", "avatarSrc", "unread", "clickable", "align"], outputs: ["messageClick", "longPress"] }, { kind: "component", type: DsMobileListItemComponent, selector: "ds-mobile-list-item", inputs: ["leadingSize", "variant", "align", "interactive", "disabled", "loading", "enableLongPress", "showDesktopMoreButton", "moreActions", "interactiveOffset", "title", "subtitle", "showDivider", "dividerSpacing"], outputs: ["itemClick", "moreButtonClick"] }, { kind: "component", type: DsBadgeComponent, selector: "ds-badge", inputs: ["variant", "contentType", "content", "leadingIcon", "indicatorShape"] }, { kind: "component", type: DsMobileCardInlineBannerComponent, selector: "ds-mobile-card-inline-banner", inputs: ["title", "timestamp", "unreadCount", "layout"], outputs: ["bannerClick"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "paddingDesktop", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileInlinePhotoComponent, selector: "ds-mobile-inline-photo", inputs: ["images", "loadingStates", "author", "maxVisible", "useGrid"], outputs: ["photoClick"] }] });
24327
+ `, isInline: true, styles: [".activity-list{display:flex;flex-direction:column;gap:12px;position:relative}.activity-list ds-mobile-list-item:not(:last-child) [content-leading]:after{content:\"\";position:absolute;top:40px;left:50%;transform:translate(-50%);width:1px;height:calc(100% - 2px);background:var(--border-color-default, #e5e5e5);z-index:0}.activity-icon-wrapper{width:100%;height:100%;border-radius:8px;background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.avatar-wrapper{position:relative;display:flex;align-items:start;justify-content:center;flex-shrink:0;width:100%;height:100%;z-index:1}.avatar-badge{position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-radius:8px;background:var(--color-brand-secondary, #5d5fef);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-background-primary, #ffffff)}.avatar-badge svg{width:10px;position:relative;top:1px;fill:#fff}.activity-content{display:flex;flex-direction:column;gap:4px}.activity-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227);margin:0}.activity-title .actor-name{font-weight:600;color:var(--text-color-default-primary, #202227)}.activity-title .activity-text{color:var(--text-color-default-secondary, #545B66);font-weight:400}.activity-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-secondary, #545B66);margin:0}.activity-timestamp{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-label{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373)}.detail-value{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:24px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227)}.detail-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;background:var(--color-background-neutral-secondary, #f5f5f5);font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--text-color-default-secondary, #525866);margin-top:4px;margin-bottom:10px;width:-moz-fit-content;width:fit-content}.photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.photo-add{width:100%;aspect-ratio:1;border-radius:12px;border:1px dashed var(--border-color-default, #e5e5e5);background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-item{width:100%;aspect-ratio:1;border-radius:12px;-o-object-fit:cover;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsIconComponent, selector: "ds-icon", inputs: ["name", "size", "color", "interactive"] }, { kind: "component", type: DsAvatarWithBadgeComponent, selector: "ds-avatar-with-badge", inputs: ["type", "size", "initials", "src", "iconName", "showBadge", "badgePosition"] }, { kind: "component", type: DsMobilePageDetailsComponent, selector: "ds-mobile-page-details", inputs: ["title", "backRoute", "contentPadding", "tabs", "activeTab", "showRefresh", "scrollThreshold", "headerFadeDistance"], outputs: ["back", "tabChange", "refresh", "scroll"] }, { kind: "component", type: DsMobileInteractiveListItemMessageComponent, selector: "ds-mobile-interactive-list-item-message", inputs: ["senderName", "senderRole", "timestamp", "message", "avatarInitials", "avatarType", "avatarSrc", "unread", "clickable", "align"], outputs: ["messageClick", "longPress"] }, { kind: "component", type: DsMobileListItemComponent, selector: "ds-mobile-list-item", inputs: ["leadingSize", "variant", "align", "interactive", "disabled", "loading", "enableLongPress", "showDesktopMoreButton", "moreActions", "interactiveOffset", "title", "subtitle", "showDivider", "dividerSpacing"], outputs: ["itemClick", "moreButtonClick"] }, { kind: "component", type: DsBadgeComponent, selector: "ds-badge", inputs: ["variant", "contentType", "content", "leadingIcon", "indicatorShape"] }, { kind: "component", type: DsMobileCardInlineBannerComponent, selector: "ds-mobile-card-inline-banner", inputs: ["title", "timestamp", "unreadCount", "layout"], outputs: ["bannerClick"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "paddingDesktop", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileInlinePhotoComponent, selector: "ds-mobile-inline-photo", inputs: ["images", "loadingStates", "author", "maxVisible", "useGrid"], outputs: ["photoClick"] }] });
24305
24328
  }
24306
24329
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileInquiryDetailPageComponent, decorators: [{
24307
24330
  type: Component,
@@ -24405,9 +24428,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
24405
24428
  </ds-mobile-list-item>
24406
24429
 
24407
24430
  <!-- Description -->
24408
- <ds-mobile-list-item [leadingSize]="'32px'" [showDivider]="true">
24431
+ <ds-mobile-list-item [leadingSize]="'32px'" [showDivider]="photoUrls.length > 0">
24409
24432
  <ds-icon content-leading name="remixAlignLeft" size="20px" color="tertiary" />
24410
- <div content-main>
24433
+ <div content-main style="display:flex;flex-direction:column;gap:8px">
24411
24434
  <div class="detail-value description-text">
24412
24435
  I de sidste tre dage har vi oplevet vedvarende problemer med tørretumbleren i vores lejlighed. På trods af at vi følger betjeningsvejledningen, fejler maskinen konsekvent i at fuldføre sine tørrecyklusser.
24413
24436
  </div>
@@ -24428,7 +24451,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
24428
24451
  </ds-mobile-section>
24429
24452
  }
24430
24453
  </ds-mobile-page-details>
24431
- `, styles: [".activity-list{display:flex;flex-direction:column;gap:12px;position:relative}.activity-list ds-mobile-list-item:not(:last-child) [content-leading]:after{content:\"\";position:absolute;top:40px;left:50%;transform:translate(-50%);width:1px;height:calc(100% - 2px);background:var(--border-color-default, #e5e5e5);z-index:0}.activity-icon-wrapper{width:100%;height:100%;border-radius:8px;background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.avatar-wrapper{position:relative;display:flex;align-items:start;justify-content:center;flex-shrink:0;width:100%;height:100%;z-index:1}.avatar-badge{position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-radius:8px;background:var(--color-brand-secondary, #5d5fef);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-background-primary, #ffffff)}.avatar-badge svg{width:10px;position:relative;top:1px;fill:#fff}.activity-content{display:flex;flex-direction:column;gap:4px}.activity-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227);margin:0}.activity-title .actor-name{font-weight:600;color:var(--text-color-default-primary, #202227)}.activity-title .activity-text{color:var(--text-color-default-secondary, #545B66);font-weight:400}.activity-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-secondary, #545B66);margin:0}.activity-timestamp{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-label{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373)}.detail-value{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:24px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227)}.detail-value.description-text{padding:0 0 8px}.detail-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;background:var(--color-background-neutral-secondary, #f5f5f5);font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--text-color-default-secondary, #525866);margin-top:4px;margin-bottom:10px;width:-moz-fit-content;width:fit-content}.photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.photo-add{width:100%;aspect-ratio:1;border-radius:12px;border:1px dashed var(--border-color-default, #e5e5e5);background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-item{width:100%;aspect-ratio:1;border-radius:12px;-o-object-fit:cover;object-fit:cover}\n"] }]
24454
+ `, styles: [".activity-list{display:flex;flex-direction:column;gap:12px;position:relative}.activity-list ds-mobile-list-item:not(:last-child) [content-leading]:after{content:\"\";position:absolute;top:40px;left:50%;transform:translate(-50%);width:1px;height:calc(100% - 2px);background:var(--border-color-default, #e5e5e5);z-index:0}.activity-icon-wrapper{width:100%;height:100%;border-radius:8px;background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.avatar-wrapper{position:relative;display:flex;align-items:start;justify-content:center;flex-shrink:0;width:100%;height:100%;z-index:1}.avatar-badge{position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-radius:8px;background:var(--color-brand-secondary, #5d5fef);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-background-primary, #ffffff)}.avatar-badge svg{width:10px;position:relative;top:1px;fill:#fff}.activity-content{display:flex;flex-direction:column;gap:4px}.activity-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227);margin:0}.activity-title .actor-name{font-weight:600;color:var(--text-color-default-primary, #202227)}.activity-title .activity-text{color:var(--text-color-default-secondary, #545B66);font-weight:400}.activity-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:20px;letter-spacing:-.3px;color:var(--text-color-default-secondary, #545B66);margin:0}.activity-timestamp{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-label{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--text-color-default-tertiary, #737373)}.detail-value{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:24px;letter-spacing:-.3px;color:var(--text-color-default-primary, #202227)}.detail-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;background:var(--color-background-neutral-secondary, #f5f5f5);font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--text-color-default-secondary, #525866);margin-top:4px;margin-bottom:10px;width:-moz-fit-content;width:fit-content}.photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.photo-add{width:100%;aspect-ratio:1;border-radius:12px;border:1px dashed var(--border-color-default, #e5e5e5);background:var(--color-background-neutral-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-item{width:100%;aspect-ratio:1;border-radius:12px;-o-object-fit:cover;object-fit:cover}\n"] }]
24432
24455
  }], ctorParameters: () => [{ type: UserService }, { type: DsMobileLightboxService }, { type: DsMobileChatModalService }] });
24433
24456
 
24434
24457
  /**