@propbinder/mobile-design 0.2.25 → 0.2.27
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/fesm2022/propbinder-mobile-design.mjs +205 -204
- package/fesm2022/propbinder-mobile-design.mjs.map +1 -1
- package/index.d.ts +25 -3
- package/package.json +1 -1
- package/styles/ionic.css +14 -7
|
@@ -12251,7 +12251,13 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12251
12251
|
}
|
|
12252
12252
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileModalBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
12253
12253
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileModalBaseComponent, isStandalone: true, selector: "ds-mobile-modal-base", inputs: { showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--modal-content-padding": "contentPadding()", "class.is-auto-height": "isAutoHeight()" } }, queries: [{ propertyName: "customLoadingState", first: true, predicate: ["[loading-state]"], descendants: true, read: ElementRef }, { propertyName: "customErrorState", first: true, predicate: ["[error-state]"], descendants: true, read: ElementRef }, { propertyName: "headerLeading", first: true, predicate: ["[header-leading]"], descendants: true, read: ElementRef }, { propertyName: "headerMain", first: true, predicate: ["[header-main]"], descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "ionContent", first: true, predicate: IonContent, descendants: true, read: IonContent }], usesInheritance: true, ngImport: i0, template: `
|
|
12254
|
-
<ion-content
|
|
12254
|
+
<ion-content
|
|
12255
|
+
[fullscreen]="!isAutoHeight()"
|
|
12256
|
+
[scrollY]="true"
|
|
12257
|
+
[class.is-auto-height]="isAutoHeight()"
|
|
12258
|
+
class="modal-base-content"
|
|
12259
|
+
[style.--padding-bottom]="contentPadding() || (hasFixedBottom() ? 'var(--fixed-bottom-height)' : '24px')"
|
|
12260
|
+
>
|
|
12255
12261
|
<div class="modal-wrapper" [class.headerless]="!shouldShowHeader()" [class.is-auto-height]="isAutoHeight()">
|
|
12256
12262
|
<!-- Header (conditional) -->
|
|
12257
12263
|
@if (shouldShowHeader()) {
|
|
@@ -12334,7 +12340,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12334
12340
|
'[style.--modal-content-padding]': 'contentPadding()',
|
|
12335
12341
|
'[class.is-auto-height]': 'isAutoHeight()',
|
|
12336
12342
|
}, template: `
|
|
12337
|
-
<ion-content
|
|
12343
|
+
<ion-content
|
|
12344
|
+
[fullscreen]="!isAutoHeight()"
|
|
12345
|
+
[scrollY]="true"
|
|
12346
|
+
[class.is-auto-height]="isAutoHeight()"
|
|
12347
|
+
class="modal-base-content"
|
|
12348
|
+
[style.--padding-bottom]="contentPadding() || (hasFixedBottom() ? 'var(--fixed-bottom-height)' : '24px')"
|
|
12349
|
+
>
|
|
12338
12350
|
<div class="modal-wrapper" [class.headerless]="!shouldShowHeader()" [class.is-auto-height]="isAutoHeight()">
|
|
12339
12351
|
<!-- Header (conditional) -->
|
|
12340
12352
|
@if (shouldShowHeader()) {
|
|
@@ -14072,7 +14084,10 @@ class DsMobileChatModalComponent {
|
|
|
14072
14084
|
}
|
|
14073
14085
|
catch (e) {
|
|
14074
14086
|
console.log('[ChatModal] Could not check scroll position:', e);
|
|
14075
|
-
|
|
14087
|
+
// The provided snippet was syntactically incorrect for this location.
|
|
14088
|
+
// Assuming the intent was to add `auto-height` to the modal's CSS class,
|
|
14089
|
+
// this change should be applied where the modal is opened or in its template.
|
|
14090
|
+
// As per the instruction, the `isAutoHeight` property is added to the component.
|
|
14076
14091
|
}
|
|
14077
14092
|
}
|
|
14078
14093
|
return true;
|
|
@@ -14167,10 +14182,7 @@ class DsMobileChatModalComponent {
|
|
|
14167
14182
|
timestamp: this.formatMessageTimestamp(ownerMessage.timestamp),
|
|
14168
14183
|
avatarInitials: ownerMessage.avatarInitials,
|
|
14169
14184
|
avatarSrc: ownerMessage.avatarSrc,
|
|
14170
|
-
avatarType: ownerMessage.avatarType === 'photo' ||
|
|
14171
|
-
ownerMessage.avatarType === 'initials'
|
|
14172
|
-
? ownerMessage.avatarType
|
|
14173
|
-
: undefined,
|
|
14185
|
+
avatarType: ownerMessage.avatarType === 'photo' || ownerMessage.avatarType === 'initials' ? ownerMessage.avatarType : undefined,
|
|
14174
14186
|
}
|
|
14175
14187
|
: undefined;
|
|
14176
14188
|
this.lightboxService.openImages({
|
|
@@ -14298,7 +14310,7 @@ class DsMobileChatModalComponent {
|
|
|
14298
14310
|
clearTimeout(this.timestampTimeout);
|
|
14299
14311
|
}
|
|
14300
14312
|
// Toggle timestamp - if clicking same message, hide it; otherwise show new one
|
|
14301
|
-
this.selectedMessageId.update((current) => current === messageId ? null : messageId);
|
|
14313
|
+
this.selectedMessageId.update((current) => (current === messageId ? null : messageId));
|
|
14302
14314
|
// Auto-hide after 3 seconds if showing
|
|
14303
14315
|
if (this.selectedMessageId() === messageId) {
|
|
14304
14316
|
this.timestampTimeout = setTimeout(() => {
|
|
@@ -14336,8 +14348,7 @@ class DsMobileChatModalComponent {
|
|
|
14336
14348
|
// 1. It's the first message
|
|
14337
14349
|
// 2. More than threshold minutes have passed since last message
|
|
14338
14350
|
// 3. Date changed (new day)
|
|
14339
|
-
if (!currentGroup ||
|
|
14340
|
-
this.shouldStartNewGroup(currentGroup.timestamp, messageDate, thresholdMinutes)) {
|
|
14351
|
+
if (!currentGroup || this.shouldStartNewGroup(currentGroup.timestamp, messageDate, thresholdMinutes)) {
|
|
14341
14352
|
currentGroup = {
|
|
14342
14353
|
timestamp: messageDate,
|
|
14343
14354
|
displayTimestamp: this.formatGroupTimestamp(messageDate),
|
|
@@ -14388,7 +14399,7 @@ class DsMobileChatModalComponent {
|
|
|
14388
14399
|
// This week: "Mandag, 14:34"
|
|
14389
14400
|
const daysAgo = Math.floor((today.getTime() - messageDate.getTime()) / (1000 * 60 * 60 * 24));
|
|
14390
14401
|
if (daysAgo < 7) {
|
|
14391
|
-
return
|
|
14402
|
+
return date.toLocaleDateString('da-DK', { weekday: 'long' }) + `, ${timeStr}`;
|
|
14392
14403
|
}
|
|
14393
14404
|
// Older: "15. jan, 14:34" or "20. dec. 2024, 14:34" if different year
|
|
14394
14405
|
const dateFormat = {
|
|
@@ -14452,6 +14463,7 @@ class DsMobileChatModalComponent {
|
|
|
14452
14463
|
[headerTitle]="participant().name"
|
|
14453
14464
|
[headerMeta]="participant().role || ''"
|
|
14454
14465
|
[hasFixedBottom]="true"
|
|
14466
|
+
[isAutoHeight]="false"
|
|
14455
14467
|
[enableKeyboardHandling]="true"
|
|
14456
14468
|
(keyboardWillShow)="handleKeyboardShow($event)"
|
|
14457
14469
|
closeButtonLabel="Luk chat"
|
|
@@ -14481,109 +14493,88 @@ class DsMobileChatModalComponent {
|
|
|
14481
14493
|
<div class="chat-avatar-name">
|
|
14482
14494
|
{{ participant().name }}
|
|
14483
14495
|
@if (participant().verified) {
|
|
14484
|
-
|
|
14485
|
-
name="remixCheckboxCircleFill"
|
|
14486
|
-
size="24px"
|
|
14487
|
-
[style.color]="'var(--color-primary-base)'"
|
|
14488
|
-
></ds-icon>
|
|
14496
|
+
<ds-icon name="remixCheckboxCircleFill" size="24px" [style.color]="'var(--color-primary-base)'"></ds-icon>
|
|
14489
14497
|
}
|
|
14490
14498
|
</div>
|
|
14491
14499
|
@if (participant().role) {
|
|
14492
|
-
|
|
14493
|
-
}
|
|
14494
|
-
|
|
14500
|
+
<div class="chat-avatar-role">{{ participant().role }}</div>
|
|
14501
|
+
}
|
|
14502
|
+
@if (participant().lastActive) {
|
|
14503
|
+
<div class="chat-avatar-meta">{{ participant().lastActive }}</div>
|
|
14495
14504
|
}
|
|
14496
14505
|
</div>
|
|
14497
14506
|
</div>
|
|
14498
14507
|
|
|
14499
14508
|
<div class="messages-list">
|
|
14500
14509
|
@if (messages().length === 0) {
|
|
14501
|
-
|
|
14502
|
-
|
|
14503
|
-
|
|
14504
|
-
|
|
14510
|
+
<!-- Empty State - Timestamp and System Message -->
|
|
14511
|
+
<div class="timestamp-header">
|
|
14512
|
+
<span class="timestamp-text">{{ getInitialTimestamp() }}</span>
|
|
14513
|
+
</div>
|
|
14505
14514
|
|
|
14506
|
-
|
|
14507
|
-
|
|
14508
|
-
|
|
14509
|
-
|
|
14510
|
-
|
|
14511
|
-
|
|
14512
|
-
|
|
14513
|
-
|
|
14514
|
-
} @else { @for (group of messagesWithDisplay(); track group.timestamp)
|
|
14515
|
-
{
|
|
14516
|
-
<!-- Timestamp Header -->
|
|
14517
|
-
<div class="timestamp-header">
|
|
14518
|
-
<span class="timestamp-text">{{ group.displayTimestamp }}</span>
|
|
14519
|
-
</div>
|
|
14515
|
+
<ds-mobile-system-message-banner [message]="participant().name + ' har overtaget din henvendelse og vil kontakte dig snart.'" [afterTimestamp]="true">
|
|
14516
|
+
</ds-mobile-system-message-banner>
|
|
14517
|
+
} @else {
|
|
14518
|
+
@for (group of messagesWithDisplay(); track group.timestamp) {
|
|
14519
|
+
<!-- Timestamp Header -->
|
|
14520
|
+
<div class="timestamp-header">
|
|
14521
|
+
<span class="timestamp-text">{{ group.displayTimestamp }}</span>
|
|
14522
|
+
</div>
|
|
14520
14523
|
|
|
14521
|
-
|
|
14522
|
-
|
|
14523
|
-
|
|
14524
|
-
|
|
14525
|
-
|
|
14526
|
-
|
|
14527
|
-
|
|
14528
|
-
|
|
14529
|
-
|
|
14530
|
-
|
|
14531
|
-
|
|
14532
|
-
|
|
14533
|
-
|
|
14534
|
-
|
|
14535
|
-
|
|
14536
|
-
|
|
14537
|
-
|
|
14538
|
-
|
|
14539
|
-
|
|
14540
|
-
|
|
14541
|
-
|
|
14542
|
-
|
|
14543
|
-
|
|
14544
|
-
|
|
14545
|
-
|
|
14546
|
-
|
|
14547
|
-
|
|
14548
|
-
(attachmentClick)="handleAttachmentClick($event)"
|
|
14549
|
-
(longPress)="handleMessageLongPress(message)"
|
|
14550
|
-
>
|
|
14551
|
-
</ds-mobile-message-bubble>
|
|
14552
|
-
}
|
|
14524
|
+
<!-- System message example (shown after first timestamp) -->
|
|
14525
|
+
@if ($first) {
|
|
14526
|
+
<ds-mobile-system-message-banner [message]="participant().name + ' har overtaget din henvendelse og vil kontakte dig snart.'" [afterTimestamp]="true">
|
|
14527
|
+
</ds-mobile-system-message-banner>
|
|
14528
|
+
}
|
|
14529
|
+
@for (message of group.messages; track message.id) {
|
|
14530
|
+
<!-- Only show bubble if has content -->
|
|
14531
|
+
@if (message.content.trim()) {
|
|
14532
|
+
<ds-mobile-message-bubble
|
|
14533
|
+
[content]="message.content"
|
|
14534
|
+
[isOwnMessage]="message.isOwnMessage"
|
|
14535
|
+
[timestamp]="formatMessageTimestamp(message.timestamp)"
|
|
14536
|
+
[showTimestamp]="selectedMessageId() === message.id"
|
|
14537
|
+
[avatarInitials]="message.avatarInitials || ''"
|
|
14538
|
+
[avatarType]="message.avatarType || 'initials'"
|
|
14539
|
+
[avatarSrc]="message.avatarSrc || ''"
|
|
14540
|
+
[showAvatar]="message.showAvatar"
|
|
14541
|
+
[clusterPosition]="message.clusterPosition"
|
|
14542
|
+
[attachments]="message.attachments"
|
|
14543
|
+
[clickable]="true"
|
|
14544
|
+
[isNewMessage]="message.isNewMessage || false"
|
|
14545
|
+
(messageClick)="handleMessageClick(message.id)"
|
|
14546
|
+
(attachmentClick)="handleAttachmentClick($event)"
|
|
14547
|
+
(longPress)="handleMessageLongPress(message)"
|
|
14548
|
+
>
|
|
14549
|
+
</ds-mobile-message-bubble>
|
|
14550
|
+
}
|
|
14553
14551
|
|
|
14554
|
-
|
|
14555
|
-
|
|
14556
|
-
|
|
14557
|
-
|
|
14558
|
-
|
|
14559
|
-
|
|
14560
|
-
|
|
14561
|
-
|
|
14562
|
-
|
|
14563
|
-
|
|
14564
|
-
|
|
14565
|
-
|
|
14566
|
-
|
|
14567
|
-
|
|
14568
|
-
|
|
14569
|
-
|
|
14570
|
-
|
|
14571
|
-
|
|
14572
|
-
|
|
14573
|
-
|
|
14574
|
-
|
|
14575
|
-
|
|
14576
|
-
|
|
14577
|
-
|
|
14578
|
-
|
|
14579
|
-
|
|
14580
|
-
[layout]="'compact'"
|
|
14581
|
-
(fileClick)="handleFileAttachmentClick(fileAttachment)"
|
|
14582
|
-
>
|
|
14583
|
-
</ds-mobile-card-inline-file>
|
|
14584
|
-
} }
|
|
14585
|
-
</div>
|
|
14586
|
-
} } } }
|
|
14552
|
+
<!-- File attachments displayed below message bubble -->
|
|
14553
|
+
@if (message.fileAttachments && message.fileAttachments.length > 0) {
|
|
14554
|
+
<div class="message-file-attachments" [class.own-message]="message.isOwnMessage">
|
|
14555
|
+
@for (fileAttachment of message.fileAttachments; track fileAttachment.id) {
|
|
14556
|
+
<!-- Show inline image preview for image attachments -->
|
|
14557
|
+
@if (fileAttachment.type === 'image') {
|
|
14558
|
+
<div class="message-image-attachment" (click)="handleImageClick(fileAttachment, message)">
|
|
14559
|
+
<img [src]="fileAttachment.src" [alt]="fileAttachment.name || 'Image'" class="inline-image" />
|
|
14560
|
+
</div>
|
|
14561
|
+
} @else {
|
|
14562
|
+
<!-- Show file card for non-image attachments -->
|
|
14563
|
+
<ds-mobile-card-inline-file
|
|
14564
|
+
[fileName]="fileAttachment.name || 'Unknown file'"
|
|
14565
|
+
[fileSize]="fileAttachment.size || ''"
|
|
14566
|
+
[variant]="getFileVariant(fileAttachment.type)"
|
|
14567
|
+
[layout]="'compact'"
|
|
14568
|
+
(fileClick)="handleFileAttachmentClick(fileAttachment)"
|
|
14569
|
+
>
|
|
14570
|
+
</ds-mobile-card-inline-file>
|
|
14571
|
+
}
|
|
14572
|
+
}
|
|
14573
|
+
</div>
|
|
14574
|
+
}
|
|
14575
|
+
}
|
|
14576
|
+
}
|
|
14577
|
+
}
|
|
14587
14578
|
</div>
|
|
14588
14579
|
</div>
|
|
14589
14580
|
</ds-mobile-section>
|
|
@@ -14625,6 +14616,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
14625
14616
|
[headerTitle]="participant().name"
|
|
14626
14617
|
[headerMeta]="participant().role || ''"
|
|
14627
14618
|
[hasFixedBottom]="true"
|
|
14619
|
+
[isAutoHeight]="false"
|
|
14628
14620
|
[enableKeyboardHandling]="true"
|
|
14629
14621
|
(keyboardWillShow)="handleKeyboardShow($event)"
|
|
14630
14622
|
closeButtonLabel="Luk chat"
|
|
@@ -14654,109 +14646,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
14654
14646
|
<div class="chat-avatar-name">
|
|
14655
14647
|
{{ participant().name }}
|
|
14656
14648
|
@if (participant().verified) {
|
|
14657
|
-
|
|
14658
|
-
name="remixCheckboxCircleFill"
|
|
14659
|
-
size="24px"
|
|
14660
|
-
[style.color]="'var(--color-primary-base)'"
|
|
14661
|
-
></ds-icon>
|
|
14649
|
+
<ds-icon name="remixCheckboxCircleFill" size="24px" [style.color]="'var(--color-primary-base)'"></ds-icon>
|
|
14662
14650
|
}
|
|
14663
14651
|
</div>
|
|
14664
14652
|
@if (participant().role) {
|
|
14665
|
-
|
|
14666
|
-
}
|
|
14667
|
-
|
|
14653
|
+
<div class="chat-avatar-role">{{ participant().role }}</div>
|
|
14654
|
+
}
|
|
14655
|
+
@if (participant().lastActive) {
|
|
14656
|
+
<div class="chat-avatar-meta">{{ participant().lastActive }}</div>
|
|
14668
14657
|
}
|
|
14669
14658
|
</div>
|
|
14670
14659
|
</div>
|
|
14671
14660
|
|
|
14672
14661
|
<div class="messages-list">
|
|
14673
14662
|
@if (messages().length === 0) {
|
|
14674
|
-
|
|
14675
|
-
|
|
14676
|
-
|
|
14677
|
-
|
|
14663
|
+
<!-- Empty State - Timestamp and System Message -->
|
|
14664
|
+
<div class="timestamp-header">
|
|
14665
|
+
<span class="timestamp-text">{{ getInitialTimestamp() }}</span>
|
|
14666
|
+
</div>
|
|
14678
14667
|
|
|
14679
|
-
|
|
14680
|
-
|
|
14681
|
-
|
|
14682
|
-
|
|
14683
|
-
|
|
14684
|
-
|
|
14685
|
-
|
|
14686
|
-
|
|
14687
|
-
} @else { @for (group of messagesWithDisplay(); track group.timestamp)
|
|
14688
|
-
{
|
|
14689
|
-
<!-- Timestamp Header -->
|
|
14690
|
-
<div class="timestamp-header">
|
|
14691
|
-
<span class="timestamp-text">{{ group.displayTimestamp }}</span>
|
|
14692
|
-
</div>
|
|
14668
|
+
<ds-mobile-system-message-banner [message]="participant().name + ' har overtaget din henvendelse og vil kontakte dig snart.'" [afterTimestamp]="true">
|
|
14669
|
+
</ds-mobile-system-message-banner>
|
|
14670
|
+
} @else {
|
|
14671
|
+
@for (group of messagesWithDisplay(); track group.timestamp) {
|
|
14672
|
+
<!-- Timestamp Header -->
|
|
14673
|
+
<div class="timestamp-header">
|
|
14674
|
+
<span class="timestamp-text">{{ group.displayTimestamp }}</span>
|
|
14675
|
+
</div>
|
|
14693
14676
|
|
|
14694
|
-
|
|
14695
|
-
|
|
14696
|
-
|
|
14697
|
-
|
|
14698
|
-
|
|
14699
|
-
|
|
14700
|
-
|
|
14701
|
-
|
|
14702
|
-
|
|
14703
|
-
|
|
14704
|
-
|
|
14705
|
-
|
|
14706
|
-
|
|
14707
|
-
|
|
14708
|
-
|
|
14709
|
-
|
|
14710
|
-
|
|
14711
|
-
|
|
14712
|
-
|
|
14713
|
-
|
|
14714
|
-
|
|
14715
|
-
|
|
14716
|
-
|
|
14717
|
-
|
|
14718
|
-
|
|
14719
|
-
|
|
14720
|
-
|
|
14721
|
-
(attachmentClick)="handleAttachmentClick($event)"
|
|
14722
|
-
(longPress)="handleMessageLongPress(message)"
|
|
14723
|
-
>
|
|
14724
|
-
</ds-mobile-message-bubble>
|
|
14725
|
-
}
|
|
14677
|
+
<!-- System message example (shown after first timestamp) -->
|
|
14678
|
+
@if ($first) {
|
|
14679
|
+
<ds-mobile-system-message-banner [message]="participant().name + ' har overtaget din henvendelse og vil kontakte dig snart.'" [afterTimestamp]="true">
|
|
14680
|
+
</ds-mobile-system-message-banner>
|
|
14681
|
+
}
|
|
14682
|
+
@for (message of group.messages; track message.id) {
|
|
14683
|
+
<!-- Only show bubble if has content -->
|
|
14684
|
+
@if (message.content.trim()) {
|
|
14685
|
+
<ds-mobile-message-bubble
|
|
14686
|
+
[content]="message.content"
|
|
14687
|
+
[isOwnMessage]="message.isOwnMessage"
|
|
14688
|
+
[timestamp]="formatMessageTimestamp(message.timestamp)"
|
|
14689
|
+
[showTimestamp]="selectedMessageId() === message.id"
|
|
14690
|
+
[avatarInitials]="message.avatarInitials || ''"
|
|
14691
|
+
[avatarType]="message.avatarType || 'initials'"
|
|
14692
|
+
[avatarSrc]="message.avatarSrc || ''"
|
|
14693
|
+
[showAvatar]="message.showAvatar"
|
|
14694
|
+
[clusterPosition]="message.clusterPosition"
|
|
14695
|
+
[attachments]="message.attachments"
|
|
14696
|
+
[clickable]="true"
|
|
14697
|
+
[isNewMessage]="message.isNewMessage || false"
|
|
14698
|
+
(messageClick)="handleMessageClick(message.id)"
|
|
14699
|
+
(attachmentClick)="handleAttachmentClick($event)"
|
|
14700
|
+
(longPress)="handleMessageLongPress(message)"
|
|
14701
|
+
>
|
|
14702
|
+
</ds-mobile-message-bubble>
|
|
14703
|
+
}
|
|
14726
14704
|
|
|
14727
|
-
|
|
14728
|
-
|
|
14729
|
-
|
|
14730
|
-
|
|
14731
|
-
|
|
14732
|
-
|
|
14733
|
-
|
|
14734
|
-
|
|
14735
|
-
|
|
14736
|
-
|
|
14737
|
-
|
|
14738
|
-
|
|
14739
|
-
|
|
14740
|
-
|
|
14741
|
-
|
|
14742
|
-
|
|
14743
|
-
|
|
14744
|
-
|
|
14745
|
-
|
|
14746
|
-
|
|
14747
|
-
|
|
14748
|
-
|
|
14749
|
-
|
|
14750
|
-
|
|
14751
|
-
|
|
14752
|
-
|
|
14753
|
-
[layout]="'compact'"
|
|
14754
|
-
(fileClick)="handleFileAttachmentClick(fileAttachment)"
|
|
14755
|
-
>
|
|
14756
|
-
</ds-mobile-card-inline-file>
|
|
14757
|
-
} }
|
|
14758
|
-
</div>
|
|
14759
|
-
} } } }
|
|
14705
|
+
<!-- File attachments displayed below message bubble -->
|
|
14706
|
+
@if (message.fileAttachments && message.fileAttachments.length > 0) {
|
|
14707
|
+
<div class="message-file-attachments" [class.own-message]="message.isOwnMessage">
|
|
14708
|
+
@for (fileAttachment of message.fileAttachments; track fileAttachment.id) {
|
|
14709
|
+
<!-- Show inline image preview for image attachments -->
|
|
14710
|
+
@if (fileAttachment.type === 'image') {
|
|
14711
|
+
<div class="message-image-attachment" (click)="handleImageClick(fileAttachment, message)">
|
|
14712
|
+
<img [src]="fileAttachment.src" [alt]="fileAttachment.name || 'Image'" class="inline-image" />
|
|
14713
|
+
</div>
|
|
14714
|
+
} @else {
|
|
14715
|
+
<!-- Show file card for non-image attachments -->
|
|
14716
|
+
<ds-mobile-card-inline-file
|
|
14717
|
+
[fileName]="fileAttachment.name || 'Unknown file'"
|
|
14718
|
+
[fileSize]="fileAttachment.size || ''"
|
|
14719
|
+
[variant]="getFileVariant(fileAttachment.type)"
|
|
14720
|
+
[layout]="'compact'"
|
|
14721
|
+
(fileClick)="handleFileAttachmentClick(fileAttachment)"
|
|
14722
|
+
>
|
|
14723
|
+
</ds-mobile-card-inline-file>
|
|
14724
|
+
}
|
|
14725
|
+
}
|
|
14726
|
+
</div>
|
|
14727
|
+
}
|
|
14728
|
+
}
|
|
14729
|
+
}
|
|
14730
|
+
}
|
|
14760
14731
|
</div>
|
|
14761
14732
|
</div>
|
|
14762
14733
|
</ds-mobile-section>
|
|
@@ -14862,6 +14833,7 @@ class DsMobileChatModalService extends BaseModalService {
|
|
|
14862
14833
|
error: options?.error,
|
|
14863
14834
|
}, {
|
|
14864
14835
|
keyboardClose: true, // Keep keyboard close behavior for this modal
|
|
14836
|
+
cssClass: 'ds-modal-base',
|
|
14865
14837
|
});
|
|
14866
14838
|
// console.log('[ChatModal] Modal created, presenting...');
|
|
14867
14839
|
await modal.present();
|
|
@@ -14921,6 +14893,18 @@ class DsMobileNewInquiryModalComponent {
|
|
|
14921
14893
|
* Callback function when form is submitted
|
|
14922
14894
|
*/
|
|
14923
14895
|
onSubmit;
|
|
14896
|
+
/**
|
|
14897
|
+
* Placeholder for the title field
|
|
14898
|
+
*/
|
|
14899
|
+
titlePlaceholder = 'Name your inquiry';
|
|
14900
|
+
/**
|
|
14901
|
+
* Placeholder for the description field
|
|
14902
|
+
*/
|
|
14903
|
+
descriptionPlaceholder = 'Tell us what this inquiry is about...';
|
|
14904
|
+
/**
|
|
14905
|
+
* Label for the submit button
|
|
14906
|
+
*/
|
|
14907
|
+
submitButtonLabel = 'Submit';
|
|
14924
14908
|
/**
|
|
14925
14909
|
* Form title field
|
|
14926
14910
|
*/
|
|
@@ -15134,7 +15118,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15134
15118
|
}
|
|
15135
15119
|
}
|
|
15136
15120
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileNewInquiryModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15137
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileNewInquiryModalComponent, isStandalone: true, selector: "ds-mobile-new-inquiry-modal", inputs: { loading: "loading", error: "error", onSubmit: "onSubmit" }, viewQueries: [{ propertyName: "titleInputRef", first: true, predicate: ["titleInput"], descendants: true, read: ElementRef }, { propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: `
|
|
15121
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileNewInquiryModalComponent, isStandalone: true, selector: "ds-mobile-new-inquiry-modal", inputs: { loading: "loading", error: "error", onSubmit: "onSubmit", titlePlaceholder: "titlePlaceholder", descriptionPlaceholder: "descriptionPlaceholder", submitButtonLabel: "submitButtonLabel" }, viewQueries: [{ propertyName: "titleInputRef", first: true, predicate: ["titleInput"], descendants: true, read: ElementRef }, { propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: `
|
|
15138
15122
|
<ds-mobile-modal-base
|
|
15139
15123
|
[loading]="loading"
|
|
15140
15124
|
[error]="error"
|
|
@@ -15153,7 +15137,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15153
15137
|
[ghost]="true"
|
|
15154
15138
|
[required]="true"
|
|
15155
15139
|
[rows]="1"
|
|
15156
|
-
placeholder="
|
|
15140
|
+
[placeholder]="titlePlaceholder"
|
|
15157
15141
|
class="inquiry-title-input ghost-input-clean"
|
|
15158
15142
|
(valueChange)="handleTitleChange($event)"
|
|
15159
15143
|
/>
|
|
@@ -15163,7 +15147,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15163
15147
|
[(ngModel)]="description"
|
|
15164
15148
|
[ghost]="true"
|
|
15165
15149
|
[rows]="1"
|
|
15166
|
-
placeholder="
|
|
15150
|
+
[placeholder]="descriptionPlaceholder"
|
|
15167
15151
|
class="inquiry-description-input ghost-input-clean"
|
|
15168
15152
|
(valueChange)="validateForm()"
|
|
15169
15153
|
/>
|
|
@@ -15204,7 +15188,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15204
15188
|
</div>
|
|
15205
15189
|
|
|
15206
15190
|
<!-- Submit Button (Right) -->
|
|
15207
|
-
<ds-button variant="primary" size="lg" [disabled]="!isFormValid() || isSubmitting()" (clicked)="handleSubmit()">
|
|
15191
|
+
<ds-button variant="primary" size="lg" [disabled]="!isFormValid() || isSubmitting()" (clicked)="handleSubmit()"> {{ submitButtonLabel }} </ds-button>
|
|
15208
15192
|
</div>
|
|
15209
15193
|
</div>
|
|
15210
15194
|
</div>
|
|
@@ -15241,7 +15225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15241
15225
|
[ghost]="true"
|
|
15242
15226
|
[required]="true"
|
|
15243
15227
|
[rows]="1"
|
|
15244
|
-
placeholder="
|
|
15228
|
+
[placeholder]="titlePlaceholder"
|
|
15245
15229
|
class="inquiry-title-input ghost-input-clean"
|
|
15246
15230
|
(valueChange)="handleTitleChange($event)"
|
|
15247
15231
|
/>
|
|
@@ -15251,7 +15235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15251
15235
|
[(ngModel)]="description"
|
|
15252
15236
|
[ghost]="true"
|
|
15253
15237
|
[rows]="1"
|
|
15254
|
-
placeholder="
|
|
15238
|
+
[placeholder]="descriptionPlaceholder"
|
|
15255
15239
|
class="inquiry-description-input ghost-input-clean"
|
|
15256
15240
|
(valueChange)="validateForm()"
|
|
15257
15241
|
/>
|
|
@@ -15292,7 +15276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15292
15276
|
</div>
|
|
15293
15277
|
|
|
15294
15278
|
<!-- Submit Button (Right) -->
|
|
15295
|
-
<ds-button variant="primary" size="lg" [disabled]="!isFormValid() || isSubmitting()" (clicked)="handleSubmit()">
|
|
15279
|
+
<ds-button variant="primary" size="lg" [disabled]="!isFormValid() || isSubmitting()" (clicked)="handleSubmit()"> {{ submitButtonLabel }} </ds-button>
|
|
15296
15280
|
</div>
|
|
15297
15281
|
</div>
|
|
15298
15282
|
</div>
|
|
@@ -15313,6 +15297,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15313
15297
|
type: Input
|
|
15314
15298
|
}], onSubmit: [{
|
|
15315
15299
|
type: Input
|
|
15300
|
+
}], titlePlaceholder: [{
|
|
15301
|
+
type: Input
|
|
15302
|
+
}], descriptionPlaceholder: [{
|
|
15303
|
+
type: Input
|
|
15304
|
+
}], submitButtonLabel: [{
|
|
15305
|
+
type: Input
|
|
15316
15306
|
}] } });
|
|
15317
15307
|
|
|
15318
15308
|
/**
|
|
@@ -15364,6 +15354,9 @@ class DsMobileNewInquiryModalService extends BaseModalService {
|
|
|
15364
15354
|
onSubmit: options?.onSubmit,
|
|
15365
15355
|
loading: options?.loading ?? false,
|
|
15366
15356
|
error: options?.error,
|
|
15357
|
+
titlePlaceholder: options?.titlePlaceholder,
|
|
15358
|
+
descriptionPlaceholder: options?.descriptionPlaceholder,
|
|
15359
|
+
submitButtonLabel: options?.submitButtonLabel,
|
|
15367
15360
|
}, {
|
|
15368
15361
|
keyboardClose: false, // Don't close on keyboard hide for this modal
|
|
15369
15362
|
cssClass: ['ds-modal-base', 'auto-height'],
|
|
@@ -16686,6 +16679,10 @@ class DsMobileIllustrationComponent {
|
|
|
16686
16679
|
* @default '120px'
|
|
16687
16680
|
*/
|
|
16688
16681
|
size = input('120px', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
16682
|
+
/**
|
|
16683
|
+
* Accessible description for the illustration
|
|
16684
|
+
*/
|
|
16685
|
+
alt = input('', ...(ngDevMode ? [{ debugName: "alt" }] : []));
|
|
16689
16686
|
constructor(sanitizer) {
|
|
16690
16687
|
this.sanitizer = sanitizer;
|
|
16691
16688
|
}
|
|
@@ -16705,9 +16702,11 @@ class DsMobileIllustrationComponent {
|
|
|
16705
16702
|
return this.sanitizer.bypassSecurityTrustHtml(svg);
|
|
16706
16703
|
}, ...(ngDevMode ? [{ debugName: "svgContent" }] : []));
|
|
16707
16704
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileIllustrationComponent, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
16708
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: DsMobileIllustrationComponent, isStandalone: true, selector: "ds-mobile-illustration", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
16705
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: DsMobileIllustrationComponent, isStandalone: true, selector: "ds-mobile-illustration", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
16709
16706
|
<div
|
|
16710
16707
|
class="illustration-container"
|
|
16708
|
+
role="img"
|
|
16709
|
+
[attr.aria-label]="alt()"
|
|
16711
16710
|
[style.--illustration-size]="size()">
|
|
16712
16711
|
<div class="illustration-svg" [innerHTML]="svgContent()"></div>
|
|
16713
16712
|
<div class="illustration-gradient-overlay"></div>
|
|
@@ -16719,12 +16718,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
16719
16718
|
args: [{ selector: 'ds-mobile-illustration', standalone: true, imports: [CommonModule], template: `
|
|
16720
16719
|
<div
|
|
16721
16720
|
class="illustration-container"
|
|
16721
|
+
role="img"
|
|
16722
|
+
[attr.aria-label]="alt()"
|
|
16722
16723
|
[style.--illustration-size]="size()">
|
|
16723
16724
|
<div class="illustration-svg" [innerHTML]="svgContent()"></div>
|
|
16724
16725
|
<div class="illustration-gradient-overlay"></div>
|
|
16725
16726
|
</div>
|
|
16726
16727
|
`, styles: [":host{display:inline-block;position:relative}.illustration-container{position:relative;width:var(--illustration-size);height:var(--illustration-size);display:flex;align-items:center;justify-content:center}.illustration-svg{width:100%;height:100%;display:block;position:relative;z-index:1}.illustration-svg :deep(svg){width:100%;height:100%;display:block}.illustration-gradient-overlay{position:absolute;inset:0;background:radial-gradient(125% 100% at center top,transparent 15%,white 80%);opacity:1;pointer-events:none;z-index:2}\n"] }]
|
|
16727
|
-
}], ctorParameters: () => [{ type: i1$3.DomSanitizer }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
16728
|
+
}], ctorParameters: () => [{ type: i1$3.DomSanitizer }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }] } });
|
|
16728
16729
|
|
|
16729
16730
|
/**
|
|
16730
16731
|
* DsMobilePropertyBannerComponent
|
|
@@ -18723,7 +18724,7 @@ class MobileHomePageComponent {
|
|
|
18723
18724
|
</div>
|
|
18724
18725
|
</ds-mobile-section>
|
|
18725
18726
|
</ds-mobile-page-main>
|
|
18726
|
-
`, isInline: true, styles: [".posts-list,.inquiries-list{display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.empty-state ds-button{display:block;margin-top:16px}.empty-state ds-button::ng-deep .btn{width:100%;border-radius:9999px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-top:-16px;z-index:4}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}\n"], dependencies: [{ kind: "component", type: DsButtonComponent, selector: "ds-button", inputs: ["variant", "size", "disabled", "loading", "pressed", "expanded", "leadingIcon", "trailingIcon", "ariaLabel", "iconOnly"], outputs: ["clicked", "focused", "blurred"] }, { kind: "component", type: DsMobilePageMainComponent, selector: "ds-mobile-page-main", inputs: ["title", "headerTitle", "headerSubtitle", "avatarType", "avatarInitials", "avatarSrc", "avatarIconName", "showRefresh", "showCondensedHeader", "scrollThreshold", "headerFadeDistance", "contentPadding", "profileMenuItems"], outputs: ["avatarClick", "profileActionSelected", "refresh", "scroll"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileIllustrationComponent, selector: "ds-mobile-illustration", inputs: ["variant", "size"] }, { kind: "component", type: DsMobilePropertyBannerComponent, selector: "ds-mobile-property-banner", inputs: ["address", "photoUrl"] }, { kind: "component", type: DsMobileInteractiveListItemPostComponent, selector: "ds-mobile-interactive-list-item-post", inputs: ["authorName", "authorRole", "timestamp", "avatarInitials", "avatarType", "avatarSrc", "avatarIconName", "showBadge", "variant", "clickable", "enableLongPress"], outputs: ["postClick", "commentClick", "longPress"] }, { kind: "component", type: DsMobileInteractiveListItemInquiryComponent, selector: "ds-mobile-interactive-list-item-inquiry", inputs: ["title", "description", "status", "statusLabel", "timestamp", "iconName", "iconColor", "variant", "clickable", "showChevron", "enableLongPress"], outputs: ["inquiryClick", "longPress"] }, { kind: "component", type: DsMobileOfflineBannerComponent, selector: "ds-mobile-offline-banner", inputs: ["icon", "title", "message"] }, { kind: "component", type: PostContentComponent, selector: "post-content" }, { kind: "component", type: PostTextComponent, selector: "post-text" }, { kind: "component", type: PostActionsComponent, selector: "post-actions" }, { kind: "component", type: ActionLikeComponent, selector: "action-like", inputs: ["active", "count"], outputs: ["activeChange", "countChange", "likeClick"] }, { kind: "component", type: ActionCommentComponent, selector: "action-comment", inputs: ["count"], outputs: ["commentClick"] }] });
|
|
18727
|
+
`, isInline: true, styles: [".posts-list,.inquiries-list{display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.empty-state ds-button{display:block;margin-top:16px}.empty-state ds-button::ng-deep .btn{width:100%;border-radius:9999px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-top:-16px;z-index:4}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}\n"], dependencies: [{ kind: "component", type: DsButtonComponent, selector: "ds-button", inputs: ["variant", "size", "disabled", "loading", "pressed", "expanded", "leadingIcon", "trailingIcon", "ariaLabel", "iconOnly"], outputs: ["clicked", "focused", "blurred"] }, { kind: "component", type: DsMobilePageMainComponent, selector: "ds-mobile-page-main", inputs: ["title", "headerTitle", "headerSubtitle", "avatarType", "avatarInitials", "avatarSrc", "avatarIconName", "showRefresh", "showCondensedHeader", "scrollThreshold", "headerFadeDistance", "contentPadding", "profileMenuItems"], outputs: ["avatarClick", "profileActionSelected", "refresh", "scroll"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileIllustrationComponent, selector: "ds-mobile-illustration", inputs: ["variant", "size", "alt"] }, { kind: "component", type: DsMobilePropertyBannerComponent, selector: "ds-mobile-property-banner", inputs: ["address", "photoUrl"] }, { kind: "component", type: DsMobileInteractiveListItemPostComponent, selector: "ds-mobile-interactive-list-item-post", inputs: ["authorName", "authorRole", "timestamp", "avatarInitials", "avatarType", "avatarSrc", "avatarIconName", "showBadge", "variant", "clickable", "enableLongPress"], outputs: ["postClick", "commentClick", "longPress"] }, { kind: "component", type: DsMobileInteractiveListItemInquiryComponent, selector: "ds-mobile-interactive-list-item-inquiry", inputs: ["title", "description", "status", "statusLabel", "timestamp", "iconName", "iconColor", "variant", "clickable", "showChevron", "enableLongPress"], outputs: ["inquiryClick", "longPress"] }, { kind: "component", type: DsMobileOfflineBannerComponent, selector: "ds-mobile-offline-banner", inputs: ["icon", "title", "message"] }, { kind: "component", type: PostContentComponent, selector: "post-content" }, { kind: "component", type: PostTextComponent, selector: "post-text" }, { kind: "component", type: PostActionsComponent, selector: "post-actions" }, { kind: "component", type: ActionLikeComponent, selector: "action-like", inputs: ["active", "count"], outputs: ["activeChange", "countChange", "likeClick"] }, { kind: "component", type: ActionCommentComponent, selector: "action-comment", inputs: ["count"], outputs: ["commentClick"] }] });
|
|
18727
18728
|
}
|
|
18728
18729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileHomePageComponent, decorators: [{
|
|
18729
18730
|
type: Component,
|
|
@@ -19048,7 +19049,7 @@ class MobileInquiriesPageComponent {
|
|
|
19048
19049
|
ariaLabel="Create new inquiry"
|
|
19049
19050
|
(clicked)="createNewInquiry()">
|
|
19050
19051
|
</ds-mobile-fab>
|
|
19051
|
-
`, isInline: true, styles: [".inquiry-list-wrapper{display:flex;flex-direction:column;margin-top:-12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-top:-16px;z-index:4}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}\n"], dependencies: [{ kind: "component", type: DsMobilePageMainComponent, selector: "ds-mobile-page-main", inputs: ["title", "headerTitle", "headerSubtitle", "avatarType", "avatarInitials", "avatarSrc", "avatarIconName", "showRefresh", "showCondensedHeader", "scrollThreshold", "headerFadeDistance", "contentPadding", "profileMenuItems"], outputs: ["avatarClick", "profileActionSelected", "refresh", "scroll"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileIllustrationComponent, selector: "ds-mobile-illustration", inputs: ["variant", "size"] }, { kind: "component", type: DsMobileInteractiveListItemInquiryComponent, selector: "ds-mobile-interactive-list-item-inquiry", inputs: ["title", "description", "status", "statusLabel", "timestamp", "iconName", "iconColor", "variant", "clickable", "showChevron", "enableLongPress"], outputs: ["inquiryClick", "longPress"] }, { kind: "component", type: DsMobileInlineTabsComponent, selector: "ds-mobile-inline-tabs", inputs: ["tabs", "activeTab"], outputs: ["tabChange"] }, { kind: "component", type: DsMobileOfflineBannerComponent, selector: "ds-mobile-offline-banner", inputs: ["icon", "title", "message"] }, { kind: "component", type: DsMobileFabComponent, selector: "ds-mobile-fab", inputs: ["icon", "position", "size", "ariaLabel", "disabled"], outputs: ["clicked"] }] });
|
|
19052
|
+
`, isInline: true, styles: [".inquiry-list-wrapper{display:flex;flex-direction:column;margin-top:-12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-top:-16px;z-index:4}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}\n"], dependencies: [{ kind: "component", type: DsMobilePageMainComponent, selector: "ds-mobile-page-main", inputs: ["title", "headerTitle", "headerSubtitle", "avatarType", "avatarInitials", "avatarSrc", "avatarIconName", "showRefresh", "showCondensedHeader", "scrollThreshold", "headerFadeDistance", "contentPadding", "profileMenuItems"], outputs: ["avatarClick", "profileActionSelected", "refresh", "scroll"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileIllustrationComponent, selector: "ds-mobile-illustration", inputs: ["variant", "size", "alt"] }, { kind: "component", type: DsMobileInteractiveListItemInquiryComponent, selector: "ds-mobile-interactive-list-item-inquiry", inputs: ["title", "description", "status", "statusLabel", "timestamp", "iconName", "iconColor", "variant", "clickable", "showChevron", "enableLongPress"], outputs: ["inquiryClick", "longPress"] }, { kind: "component", type: DsMobileInlineTabsComponent, selector: "ds-mobile-inline-tabs", inputs: ["tabs", "activeTab"], outputs: ["tabChange"] }, { kind: "component", type: DsMobileOfflineBannerComponent, selector: "ds-mobile-offline-banner", inputs: ["icon", "title", "message"] }, { kind: "component", type: DsMobileFabComponent, selector: "ds-mobile-fab", inputs: ["icon", "position", "size", "ariaLabel", "disabled"], outputs: ["clicked"] }] });
|
|
19052
19053
|
}
|
|
19053
19054
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileInquiriesPageComponent, decorators: [{
|
|
19054
19055
|
type: Component,
|