@propbinder/mobile-design 0.2.22 → 0.2.24
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 +121 -180
- package/fesm2022/propbinder-mobile-design.mjs.map +1 -1
- package/index.d.ts +20 -22
- package/package.json +1 -1
- package/styles/ionic.css +18 -0
|
@@ -1212,10 +1212,15 @@ class DsMobileListItemComponent {
|
|
|
1212
1212
|
// (but not the host element itself)
|
|
1213
1213
|
const target = event.target;
|
|
1214
1214
|
const closestInteractive = target.closest('button, a, input, select, textarea, [role="button"]');
|
|
1215
|
-
//
|
|
1215
|
+
// Only block if the interactive element is a REAL child action (like a button in trailing slot),
|
|
1216
|
+
// but NOT if it's just the host itself or something inside leading/main that shouldn't block.
|
|
1216
1217
|
if (closestInteractive && closestInteractive !== event.currentTarget) {
|
|
1217
|
-
//
|
|
1218
|
-
|
|
1218
|
+
// If the target is inside content-leading or content-main, we generally want to allow the click
|
|
1219
|
+
const isInsidePrimaryContent = !!target.closest('[content-leading], [content-main], .structured-title, .structured-subtitle');
|
|
1220
|
+
if (!isInsidePrimaryContent) {
|
|
1221
|
+
// console.log('[ListItem] Click ignored - came from interactive child in trailing/unknown slot:', closestInteractive);
|
|
1222
|
+
return;
|
|
1223
|
+
}
|
|
1219
1224
|
}
|
|
1220
1225
|
if (!this.longPressTriggered) {
|
|
1221
1226
|
// console.log('[ListItem] Emitting itemClick');
|
|
@@ -2350,14 +2355,27 @@ class DsMobileProfileActionsSheetComponent {
|
|
|
2350
2355
|
constructor(modalController, injector) {
|
|
2351
2356
|
this.modalController = modalController;
|
|
2352
2357
|
this.injector = injector;
|
|
2353
|
-
// Initialize selected language when component is created
|
|
2354
|
-
this.selectedLanguage.set(this.currentLanguage);
|
|
2355
|
-
this.initialLanguage = this.currentLanguage;
|
|
2356
2358
|
// Set initial height after render
|
|
2357
2359
|
afterNextRender(() => {
|
|
2358
2360
|
this.updateHeight();
|
|
2359
2361
|
}, { injector: this.injector });
|
|
2360
2362
|
}
|
|
2363
|
+
ngOnChanges(changes) {
|
|
2364
|
+
if (changes['currentLanguage']) {
|
|
2365
|
+
const val = changes['currentLanguage'].currentValue;
|
|
2366
|
+
if (val) {
|
|
2367
|
+
this.selectedLanguage.set(val);
|
|
2368
|
+
this.initialLanguage = val;
|
|
2369
|
+
}
|
|
2370
|
+
}
|
|
2371
|
+
}
|
|
2372
|
+
ngOnInit() {
|
|
2373
|
+
// Fallback initialization if not already set by ngOnChanges
|
|
2374
|
+
if (!this.selectedLanguage()) {
|
|
2375
|
+
this.selectedLanguage.set(this.currentLanguage);
|
|
2376
|
+
this.initialLanguage = this.currentLanguage;
|
|
2377
|
+
}
|
|
2378
|
+
}
|
|
2361
2379
|
/**
|
|
2362
2380
|
* Handle action item click
|
|
2363
2381
|
*/
|
|
@@ -2495,7 +2513,7 @@ class DsMobileProfileActionsSheetComponent {
|
|
|
2495
2513
|
this.modalController.dismiss({ action }, 'select');
|
|
2496
2514
|
}
|
|
2497
2515
|
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 });
|
|
2498
|
-
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 }], ngImport: i0, template: `
|
|
2516
|
+
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: `
|
|
2499
2517
|
<ds-mobile-bottom-sheet-wrapper>
|
|
2500
2518
|
<div class="profile-sheet-content" #sheetWrapper>
|
|
2501
2519
|
<!-- View Container with CSS Animation -->
|
|
@@ -11805,21 +11823,14 @@ class MobileModalBase {
|
|
|
11805
11823
|
* - Any custom CSS padding value
|
|
11806
11824
|
*
|
|
11807
11825
|
* @default '0'
|
|
11808
|
-
*
|
|
11809
|
-
* @example
|
|
11810
|
-
* ```html
|
|
11811
|
-
* <!-- Default: sections handle padding -->
|
|
11812
|
-
* <ds-mobile-modal-base headerTitle="Details">
|
|
11813
|
-
* <ds-mobile-section headline="Info">...</ds-mobile-section>
|
|
11814
|
-
* </ds-mobile-modal-base>
|
|
11815
|
-
*
|
|
11816
|
-
* <!-- Legacy: content without sections -->
|
|
11817
|
-
* <ds-mobile-modal-base headerTitle="Details" contentPadding="20px">
|
|
11818
|
-
* <div>Padded content</div>
|
|
11819
|
-
* </ds-mobile-modal-base>
|
|
11820
|
-
* ```
|
|
11821
11826
|
*/
|
|
11822
11827
|
contentPadding = input('0', ...(ngDevMode ? [{ debugName: "contentPadding" }] : []));
|
|
11828
|
+
/**
|
|
11829
|
+
* Enable auto-height behavior for bottom sheets
|
|
11830
|
+
* When true, sets [fullscreen]="false" on ion-content and enforces flex: 0 0 auto
|
|
11831
|
+
* @default false
|
|
11832
|
+
*/
|
|
11833
|
+
isAutoHeight = input(false, ...(ngDevMode ? [{ debugName: "isAutoHeight" }] : []));
|
|
11823
11834
|
/**
|
|
11824
11835
|
* Emitted when modal is closed
|
|
11825
11836
|
*/
|
|
@@ -12065,14 +12076,14 @@ class MobileModalBase {
|
|
|
12065
12076
|
});
|
|
12066
12077
|
}
|
|
12067
12078
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileModalBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12068
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: MobileModalBase, isStandalone: true, inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, headerTitle: { classPropertyName: "headerTitle", publicName: "headerTitle", isSignal: true, isRequired: false, transformFunction: null }, headerMeta: { classPropertyName: "headerMeta", publicName: "headerMeta", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, enableKeyboardHandling: { classPropertyName: "enableKeyboardHandling", publicName: "enableKeyboardHandling", isSignal: true, isRequired: false, transformFunction: null }, hasFixedBottom: { classPropertyName: "hasFixedBottom", publicName: "hasFixedBottom", isSignal: true, isRequired: false, transformFunction: null }, contentPadding: { classPropertyName: "contentPadding", publicName: "contentPadding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", keyboardWillShow: "keyboardWillShow", keyboardWillHide: "keyboardWillHide" }, viewQueries: [{ propertyName: "ionContent", first: true, predicate: IonContent, descendants: true, read: IonContent }], ngImport: i0 });
|
|
12079
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: MobileModalBase, isStandalone: true, inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, headerTitle: { classPropertyName: "headerTitle", publicName: "headerTitle", isSignal: true, isRequired: false, transformFunction: null }, headerMeta: { classPropertyName: "headerMeta", publicName: "headerMeta", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, enableKeyboardHandling: { classPropertyName: "enableKeyboardHandling", publicName: "enableKeyboardHandling", isSignal: true, isRequired: false, transformFunction: null }, hasFixedBottom: { classPropertyName: "hasFixedBottom", publicName: "hasFixedBottom", isSignal: true, isRequired: false, transformFunction: null }, contentPadding: { classPropertyName: "contentPadding", publicName: "contentPadding", isSignal: true, isRequired: false, transformFunction: null }, isAutoHeight: { classPropertyName: "isAutoHeight", publicName: "isAutoHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", keyboardWillShow: "keyboardWillShow", keyboardWillHide: "keyboardWillHide" }, viewQueries: [{ propertyName: "ionContent", first: true, predicate: IonContent, descendants: true, read: IonContent }], ngImport: i0 });
|
|
12069
12080
|
}
|
|
12070
12081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileModalBase, decorators: [{
|
|
12071
12082
|
type: Directive
|
|
12072
12083
|
}], propDecorators: { ionContent: [{
|
|
12073
12084
|
type: ViewChild,
|
|
12074
12085
|
args: [IonContent, { read: IonContent }]
|
|
12075
|
-
}], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], headerTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTitle", required: false }] }], headerMeta: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerMeta", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], enableKeyboardHandling: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableKeyboardHandling", required: false }] }], hasFixedBottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFixedBottom", required: false }] }], contentPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentPadding", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], keyboardWillShow: [{ type: i0.Output, args: ["keyboardWillShow"] }], keyboardWillHide: [{ type: i0.Output, args: ["keyboardWillHide"] }] } });
|
|
12086
|
+
}], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], headerTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTitle", required: false }] }], headerMeta: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerMeta", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], enableKeyboardHandling: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableKeyboardHandling", required: false }] }], hasFixedBottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFixedBottom", required: false }] }], contentPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentPadding", required: false }] }], isAutoHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAutoHeight", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], keyboardWillShow: [{ type: i0.Output, args: ["keyboardWillShow"] }], keyboardWillHide: [{ type: i0.Output, args: ["keyboardWillHide"] }] } });
|
|
12076
12087
|
|
|
12077
12088
|
/**
|
|
12078
12089
|
* DsMobileModalBaseComponent
|
|
@@ -12204,10 +12215,7 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12204
12215
|
if (showHeaderValue === false)
|
|
12205
12216
|
return false;
|
|
12206
12217
|
// Auto-detect: show header if there's any header content
|
|
12207
|
-
return !!(this.headerTitle() ||
|
|
12208
|
-
this.headerMeta() ||
|
|
12209
|
-
this.hasContentInSlot(this.headerLeading) ||
|
|
12210
|
-
this.hasContentInSlot(this.headerMain));
|
|
12218
|
+
return !!(this.headerTitle() || this.headerMeta() || this.hasContentInSlot(this.headerLeading) || this.hasContentInSlot(this.headerMain));
|
|
12211
12219
|
}
|
|
12212
12220
|
/**
|
|
12213
12221
|
* Check if a content child slot has actual content
|
|
@@ -12216,13 +12224,12 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12216
12224
|
if (!slot)
|
|
12217
12225
|
return false;
|
|
12218
12226
|
const element = slot.nativeElement;
|
|
12219
|
-
return element && (element.childNodes.length > 0 ||
|
|
12220
|
-
element.textContent?.trim().length > 0);
|
|
12227
|
+
return element && (element.childNodes.length > 0 || element.textContent?.trim().length > 0);
|
|
12221
12228
|
}
|
|
12222
12229
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileModalBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
12223
|
-
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()" } }, 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: `
|
|
12224
|
-
<ion-content [fullscreen]="
|
|
12225
|
-
<div class="modal-wrapper" [class.headerless]="!shouldShowHeader()">
|
|
12230
|
+
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: `
|
|
12231
|
+
<ion-content [fullscreen]="!isAutoHeight()" [scrollY]="!isAutoHeight()" class="modal-base-content" [class.is-auto-height]="isAutoHeight()">
|
|
12232
|
+
<div class="modal-wrapper" [class.headerless]="!shouldShowHeader()" [class.is-auto-height]="isAutoHeight()">
|
|
12226
12233
|
<!-- Header (conditional) -->
|
|
12227
12234
|
@if (shouldShowHeader()) {
|
|
12228
12235
|
<div class="modal-header">
|
|
@@ -12231,7 +12238,7 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12231
12238
|
<div class="header-leading">
|
|
12232
12239
|
<ng-content select="[header-leading]"></ng-content>
|
|
12233
12240
|
</div>
|
|
12234
|
-
|
|
12241
|
+
|
|
12235
12242
|
<!-- Main (title + meta or custom) -->
|
|
12236
12243
|
<div class="header-main">
|
|
12237
12244
|
@if (headerTitle()) {
|
|
@@ -12242,30 +12249,16 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12242
12249
|
}
|
|
12243
12250
|
<ng-content select="[header-main]"></ng-content>
|
|
12244
12251
|
</div>
|
|
12245
|
-
|
|
12252
|
+
|
|
12246
12253
|
<!-- Close button (in header) -->
|
|
12247
|
-
<ds-icon-button
|
|
12248
|
-
icon="remixCloseLine"
|
|
12249
|
-
variant="secondary"
|
|
12250
|
-
size="lg"
|
|
12251
|
-
(clicked)="close()"
|
|
12252
|
-
class="close-button"
|
|
12253
|
-
[attr.aria-label]="closeButtonLabel()"
|
|
12254
|
-
/>
|
|
12254
|
+
<ds-icon-button icon="remixCloseLine" variant="secondary" size="lg" (clicked)="close()" class="close-button" [attr.aria-label]="closeButtonLabel()" />
|
|
12255
12255
|
</div>
|
|
12256
12256
|
</div>
|
|
12257
12257
|
}
|
|
12258
|
-
|
|
12258
|
+
|
|
12259
12259
|
<!-- Absolute close button (when header is hidden) -->
|
|
12260
12260
|
@if (!shouldShowHeader()) {
|
|
12261
|
-
<ds-icon-button
|
|
12262
|
-
icon="remixCloseLine"
|
|
12263
|
-
variant="secondary"
|
|
12264
|
-
size="lg"
|
|
12265
|
-
(clicked)="close()"
|
|
12266
|
-
class="close-button-absolute"
|
|
12267
|
-
[attr.aria-label]="closeButtonLabel()"
|
|
12268
|
-
/>
|
|
12261
|
+
<ds-icon-button icon="remixCloseLine" variant="secondary" size="lg" (clicked)="close()" class="close-button-absolute" [attr.aria-label]="closeButtonLabel()" />
|
|
12269
12262
|
}
|
|
12270
12263
|
|
|
12271
12264
|
<!-- Content Container -->
|
|
@@ -12274,7 +12267,7 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12274
12267
|
<div class="custom-loading-slot" [class.state-hidden]="!(loading() && hasCustomLoadingState)">
|
|
12275
12268
|
<ng-content select="[loading-state]"></ng-content>
|
|
12276
12269
|
</div>
|
|
12277
|
-
|
|
12270
|
+
|
|
12278
12271
|
<!-- Default Loading State -->
|
|
12279
12272
|
@if (loading() && !hasCustomLoadingState) {
|
|
12280
12273
|
<div class="modal-loading-state">
|
|
@@ -12282,12 +12275,12 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12282
12275
|
<p class="loading-text">Loading...</p>
|
|
12283
12276
|
</div>
|
|
12284
12277
|
}
|
|
12285
|
-
|
|
12278
|
+
|
|
12286
12279
|
<!-- Custom Error State Slot - always present -->
|
|
12287
12280
|
<div class="custom-error-slot" [class.state-hidden]="!(error() && !loading() && hasCustomErrorState)">
|
|
12288
12281
|
<ng-content select="[error-state]"></ng-content>
|
|
12289
12282
|
</div>
|
|
12290
|
-
|
|
12283
|
+
|
|
12291
12284
|
<!-- Default Error State -->
|
|
12292
12285
|
@if (error() && !loading() && !hasCustomErrorState) {
|
|
12293
12286
|
<div class="modal-error-state">
|
|
@@ -12296,7 +12289,7 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12296
12289
|
<p class="error-state-description">{{ error() }}</p>
|
|
12297
12290
|
</div>
|
|
12298
12291
|
}
|
|
12299
|
-
|
|
12292
|
+
|
|
12300
12293
|
<!-- Main content - always rendered but hidden when loading/error -->
|
|
12301
12294
|
<div class="modal-main-content" [class.content-hidden]="loading() || !!error()">
|
|
12302
12295
|
<ng-content></ng-content>
|
|
@@ -12306,24 +12299,20 @@ class DsMobileModalBaseComponent extends MobileModalBase {
|
|
|
12306
12299
|
</ion-content>
|
|
12307
12300
|
|
|
12308
12301
|
<!-- Fixed Bottom Component / Footer (slides with keyboard) -->
|
|
12309
|
-
<div class="modal-fixed-bottom" [class.bottom-hidden]="!hasFixedBottom() || loading() || error()">
|
|
12302
|
+
<div class="modal-fixed-bottom" [class.bottom-hidden]="!hasFixedBottom() || loading() || error()" [class.is-auto-height]="isAutoHeight()">
|
|
12310
12303
|
<ng-content select="[fixed-bottom]"></ng-content>
|
|
12311
12304
|
<ng-content select="[footer]"></ng-content>
|
|
12312
12305
|
</div>
|
|
12313
|
-
`, isInline: true, styles: [":host{display:block;position:relative;height:100%;width:100%}.modal-base-content{--background: var(--color-background-neutral-primary, #ffffff)}.modal-wrapper{display:flex;flex-direction:column;width:100%;background:var(--color-background-neutral-primary, #ffffff)}.modal-header{position:sticky;top:0;z-index:10;background:var(--color-background-neutral-primary, #ffffff);border-bottom:1px solid var(--border-color-default);padding:16px}.header-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-leading{flex-shrink:0;display:flex;align-items:center}.header-leading:empty{display:none}.header-content:has(.header-leading:empty){gap:16px}.header-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.modal-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.close-button{flex-shrink:0;border-radius:50%}.close-button::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.close-button-absolute{position:absolute;top:16px;right:16px;z-index:100;flex-shrink:0;border-radius:50%}.close-button-absolute::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-content-container{display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;flex:1;position:relative;padding-bottom:var(--fixed-bottom-height, 0px);transition:padding-bottom .3s ease-out}.modal-wrapper.headerless .modal-content-container{padding-top:0}.modal-main-content{display:flex;flex-direction:column;width:100%;padding-top:0;padding-left:var(--modal-content-padding, 20px);padding-right:var(--modal-content-padding, 20px);padding-bottom:var(--modal-content-padding, 20px)}.modal-main-content.content-hidden,.state-hidden{display:none}.custom-loading-slot,.custom-error-slot{width:100%}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-background-neutral-secondary, #f0f0f0);border-top-color:var(--color-primary-base, #2563eb);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin-top:16px}.modal-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:16px}.error-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--color-text-primary, #1a1a1a);margin:0}.error-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin:0}.modal-fixed-bottom{position:fixed;bottom:0;left:0;right:0;z-index:1000;pointer-events:none;background:var(--color-background-neutral-primary, #ffffff);box-shadow:0 300px 0 300px var(--color-background-neutral-primary, #ffffff);transform:translateY(calc(-1 * var(--keyboard-height, 0px)));transition:transform .3s cubic-bezier(.215,.61,.355,1);max-width:100vw;padding-bottom:
|
|
12306
|
+
`, isInline: true, styles: [":host{display:block;position:relative;height:100%;width:100%}:host(.is-auto-height){height:auto}.modal-base-content{--background: var(--color-background-neutral-primary, #ffffff)}.modal-base-content.is-auto-height{--height: auto;height:auto!important;flex:0 0 auto;display:block;contain:none!important}.modal-base-content.is-auto-height::part(scroll){position:relative!important;display:block!important;height:auto!important;overflow:visible!important}.modal-wrapper{display:flex;flex-direction:column;width:100%;background:var(--color-background-neutral-primary, #ffffff)}.modal-wrapper.is-auto-height{flex:0 0 auto}.modal-header{position:sticky;top:0;z-index:10;background:var(--color-background-neutral-primary, #ffffff);border-bottom:1px solid var(--border-color-default);padding:16px}.header-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-leading{flex-shrink:0;display:flex;align-items:center}.header-leading:empty{display:none}.header-content:has(.header-leading:empty){gap:16px}.header-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.modal-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.close-button{flex-shrink:0;border-radius:50%}.close-button::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.close-button-absolute{position:absolute;top:16px;right:16px;z-index:100;flex-shrink:0;border-radius:50%}.close-button-absolute::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-content-container{display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;flex:1;position:relative;padding-bottom:var(--fixed-bottom-height, 0px);transition:padding-bottom .3s ease-out}:host-context(ion-modal.auto-height) .modal-content-container,.modal-wrapper.is-auto-height .modal-content-container{flex:0 0 auto}.modal-wrapper.headerless .modal-content-container{padding-top:0}.modal-main-content{display:flex;flex-direction:column;width:100%;padding-top:0;padding-left:var(--modal-content-padding, 20px);padding-right:var(--modal-content-padding, 20px);padding-bottom:var(--modal-content-padding, 20px)}.modal-main-content.content-hidden,.state-hidden{display:none}.custom-loading-slot,.custom-error-slot{width:100%}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-background-neutral-secondary, #f0f0f0);border-top-color:var(--color-primary-base, #2563eb);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin-top:16px}.modal-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:16px}.error-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--color-text-primary, #1a1a1a);margin:0}.error-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin:0}.modal-fixed-bottom{position:fixed;bottom:0;left:0;right:0;z-index:1000;pointer-events:none;background:var(--color-background-neutral-primary, #ffffff);box-shadow:0 300px 0 300px var(--color-background-neutral-primary, #ffffff);transform:translateY(calc(-1 * var(--keyboard-height, 0px)));transition:transform .3s cubic-bezier(.215,.61,.355,1);max-width:100vw;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}.modal-fixed-bottom.is-auto-height{position:relative;bottom:auto;left:auto;right:auto;transform:none!important;box-shadow:none;z-index:1;background:var(--color-background-neutral-primary, #ffffff)}.modal-fixed-bottom>*{pointer-events:auto}.modal-fixed-bottom.bottom-hidden{display:none}@supports (padding: env(safe-area-inset-bottom)){.modal-content-container{padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion: reduce){.modal-fixed-bottom{transition:none}.loading-spinner{animation:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: DsIconButtonComponent, selector: "ds-icon-button", inputs: ["variant", "size", "icon", "disabled", "loading", "pressed", "expanded", "ariaLabel", "tooltip", "tooltipDisabled", "tooltipPlacement"], outputs: ["clicked", "focused", "blurred"] }, { kind: "component", type: DsIconComponent, selector: "ds-icon", inputs: ["name", "size", "color", "interactive"] }] });
|
|
12314
12307
|
}
|
|
12315
12308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileModalBaseComponent, decorators: [{
|
|
12316
12309
|
type: Component,
|
|
12317
|
-
args: [{ selector: 'ds-mobile-modal-base', standalone: true, imports: [
|
|
12318
|
-
|
|
12319
|
-
|
|
12320
|
-
DsIconButtonComponent,
|
|
12321
|
-
DsIconComponent
|
|
12322
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], host: {
|
|
12323
|
-
'[style.--modal-content-padding]': 'contentPadding()'
|
|
12310
|
+
args: [{ selector: 'ds-mobile-modal-base', standalone: true, imports: [CommonModule, IonContent, DsIconButtonComponent, DsIconComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], host: {
|
|
12311
|
+
'[style.--modal-content-padding]': 'contentPadding()',
|
|
12312
|
+
'[class.is-auto-height]': 'isAutoHeight()',
|
|
12324
12313
|
}, template: `
|
|
12325
|
-
<ion-content [fullscreen]="
|
|
12326
|
-
<div class="modal-wrapper" [class.headerless]="!shouldShowHeader()">
|
|
12314
|
+
<ion-content [fullscreen]="!isAutoHeight()" [scrollY]="!isAutoHeight()" class="modal-base-content" [class.is-auto-height]="isAutoHeight()">
|
|
12315
|
+
<div class="modal-wrapper" [class.headerless]="!shouldShowHeader()" [class.is-auto-height]="isAutoHeight()">
|
|
12327
12316
|
<!-- Header (conditional) -->
|
|
12328
12317
|
@if (shouldShowHeader()) {
|
|
12329
12318
|
<div class="modal-header">
|
|
@@ -12332,7 +12321,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12332
12321
|
<div class="header-leading">
|
|
12333
12322
|
<ng-content select="[header-leading]"></ng-content>
|
|
12334
12323
|
</div>
|
|
12335
|
-
|
|
12324
|
+
|
|
12336
12325
|
<!-- Main (title + meta or custom) -->
|
|
12337
12326
|
<div class="header-main">
|
|
12338
12327
|
@if (headerTitle()) {
|
|
@@ -12343,30 +12332,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12343
12332
|
}
|
|
12344
12333
|
<ng-content select="[header-main]"></ng-content>
|
|
12345
12334
|
</div>
|
|
12346
|
-
|
|
12335
|
+
|
|
12347
12336
|
<!-- Close button (in header) -->
|
|
12348
|
-
<ds-icon-button
|
|
12349
|
-
icon="remixCloseLine"
|
|
12350
|
-
variant="secondary"
|
|
12351
|
-
size="lg"
|
|
12352
|
-
(clicked)="close()"
|
|
12353
|
-
class="close-button"
|
|
12354
|
-
[attr.aria-label]="closeButtonLabel()"
|
|
12355
|
-
/>
|
|
12337
|
+
<ds-icon-button icon="remixCloseLine" variant="secondary" size="lg" (clicked)="close()" class="close-button" [attr.aria-label]="closeButtonLabel()" />
|
|
12356
12338
|
</div>
|
|
12357
12339
|
</div>
|
|
12358
12340
|
}
|
|
12359
|
-
|
|
12341
|
+
|
|
12360
12342
|
<!-- Absolute close button (when header is hidden) -->
|
|
12361
12343
|
@if (!shouldShowHeader()) {
|
|
12362
|
-
<ds-icon-button
|
|
12363
|
-
icon="remixCloseLine"
|
|
12364
|
-
variant="secondary"
|
|
12365
|
-
size="lg"
|
|
12366
|
-
(clicked)="close()"
|
|
12367
|
-
class="close-button-absolute"
|
|
12368
|
-
[attr.aria-label]="closeButtonLabel()"
|
|
12369
|
-
/>
|
|
12344
|
+
<ds-icon-button icon="remixCloseLine" variant="secondary" size="lg" (clicked)="close()" class="close-button-absolute" [attr.aria-label]="closeButtonLabel()" />
|
|
12370
12345
|
}
|
|
12371
12346
|
|
|
12372
12347
|
<!-- Content Container -->
|
|
@@ -12375,7 +12350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12375
12350
|
<div class="custom-loading-slot" [class.state-hidden]="!(loading() && hasCustomLoadingState)">
|
|
12376
12351
|
<ng-content select="[loading-state]"></ng-content>
|
|
12377
12352
|
</div>
|
|
12378
|
-
|
|
12353
|
+
|
|
12379
12354
|
<!-- Default Loading State -->
|
|
12380
12355
|
@if (loading() && !hasCustomLoadingState) {
|
|
12381
12356
|
<div class="modal-loading-state">
|
|
@@ -12383,12 +12358,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12383
12358
|
<p class="loading-text">Loading...</p>
|
|
12384
12359
|
</div>
|
|
12385
12360
|
}
|
|
12386
|
-
|
|
12361
|
+
|
|
12387
12362
|
<!-- Custom Error State Slot - always present -->
|
|
12388
12363
|
<div class="custom-error-slot" [class.state-hidden]="!(error() && !loading() && hasCustomErrorState)">
|
|
12389
12364
|
<ng-content select="[error-state]"></ng-content>
|
|
12390
12365
|
</div>
|
|
12391
|
-
|
|
12366
|
+
|
|
12392
12367
|
<!-- Default Error State -->
|
|
12393
12368
|
@if (error() && !loading() && !hasCustomErrorState) {
|
|
12394
12369
|
<div class="modal-error-state">
|
|
@@ -12397,7 +12372,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12397
12372
|
<p class="error-state-description">{{ error() }}</p>
|
|
12398
12373
|
</div>
|
|
12399
12374
|
}
|
|
12400
|
-
|
|
12375
|
+
|
|
12401
12376
|
<!-- Main content - always rendered but hidden when loading/error -->
|
|
12402
12377
|
<div class="modal-main-content" [class.content-hidden]="loading() || !!error()">
|
|
12403
12378
|
<ng-content></ng-content>
|
|
@@ -12407,11 +12382,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12407
12382
|
</ion-content>
|
|
12408
12383
|
|
|
12409
12384
|
<!-- Fixed Bottom Component / Footer (slides with keyboard) -->
|
|
12410
|
-
<div class="modal-fixed-bottom" [class.bottom-hidden]="!hasFixedBottom() || loading() || error()">
|
|
12385
|
+
<div class="modal-fixed-bottom" [class.bottom-hidden]="!hasFixedBottom() || loading() || error()" [class.is-auto-height]="isAutoHeight()">
|
|
12411
12386
|
<ng-content select="[fixed-bottom]"></ng-content>
|
|
12412
12387
|
<ng-content select="[footer]"></ng-content>
|
|
12413
12388
|
</div>
|
|
12414
|
-
`, styles: [":host{display:block;position:relative;height:100%;width:100%}.modal-base-content{--background: var(--color-background-neutral-primary, #ffffff)}.modal-wrapper{display:flex;flex-direction:column;width:100%;background:var(--color-background-neutral-primary, #ffffff)}.modal-header{position:sticky;top:0;z-index:10;background:var(--color-background-neutral-primary, #ffffff);border-bottom:1px solid var(--border-color-default);padding:16px}.header-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-leading{flex-shrink:0;display:flex;align-items:center}.header-leading:empty{display:none}.header-content:has(.header-leading:empty){gap:16px}.header-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.modal-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.close-button{flex-shrink:0;border-radius:50%}.close-button::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.close-button-absolute{position:absolute;top:16px;right:16px;z-index:100;flex-shrink:0;border-radius:50%}.close-button-absolute::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-content-container{display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;flex:1;position:relative;padding-bottom:var(--fixed-bottom-height, 0px);transition:padding-bottom .3s ease-out}.modal-wrapper.headerless .modal-content-container{padding-top:0}.modal-main-content{display:flex;flex-direction:column;width:100%;padding-top:0;padding-left:var(--modal-content-padding, 20px);padding-right:var(--modal-content-padding, 20px);padding-bottom:var(--modal-content-padding, 20px)}.modal-main-content.content-hidden,.state-hidden{display:none}.custom-loading-slot,.custom-error-slot{width:100%}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-background-neutral-secondary, #f0f0f0);border-top-color:var(--color-primary-base, #2563eb);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin-top:16px}.modal-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:16px}.error-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--color-text-primary, #1a1a1a);margin:0}.error-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin:0}.modal-fixed-bottom{position:fixed;bottom:0;left:0;right:0;z-index:1000;pointer-events:none;background:var(--color-background-neutral-primary, #ffffff);box-shadow:0 300px 0 300px var(--color-background-neutral-primary, #ffffff);transform:translateY(calc(-1 * var(--keyboard-height, 0px)));transition:transform .3s cubic-bezier(.215,.61,.355,1);max-width:100vw;padding-bottom:
|
|
12389
|
+
`, styles: [":host{display:block;position:relative;height:100%;width:100%}:host(.is-auto-height){height:auto}.modal-base-content{--background: var(--color-background-neutral-primary, #ffffff)}.modal-base-content.is-auto-height{--height: auto;height:auto!important;flex:0 0 auto;display:block;contain:none!important}.modal-base-content.is-auto-height::part(scroll){position:relative!important;display:block!important;height:auto!important;overflow:visible!important}.modal-wrapper{display:flex;flex-direction:column;width:100%;background:var(--color-background-neutral-primary, #ffffff)}.modal-wrapper.is-auto-height{flex:0 0 auto}.modal-header{position:sticky;top:0;z-index:10;background:var(--color-background-neutral-primary, #ffffff);border-bottom:1px solid var(--border-color-default);padding:16px}.header-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-leading{flex-shrink:0;display:flex;align-items:center}.header-leading:empty{display:none}.header-content:has(.header-leading:empty){gap:16px}.header-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.modal-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.close-button{flex-shrink:0;border-radius:50%}.close-button::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.close-button-absolute{position:absolute;top:16px;right:16px;z-index:100;flex-shrink:0;border-radius:50%}.close-button-absolute::ng-deep button{border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-content-container{display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;flex:1;position:relative;padding-bottom:var(--fixed-bottom-height, 0px);transition:padding-bottom .3s ease-out}:host-context(ion-modal.auto-height) .modal-content-container,.modal-wrapper.is-auto-height .modal-content-container{flex:0 0 auto}.modal-wrapper.headerless .modal-content-container{padding-top:0}.modal-main-content{display:flex;flex-direction:column;width:100%;padding-top:0;padding-left:var(--modal-content-padding, 20px);padding-right:var(--modal-content-padding, 20px);padding-bottom:var(--modal-content-padding, 20px)}.modal-main-content.content-hidden,.state-hidden{display:none}.custom-loading-slot,.custom-error-slot{width:100%}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-background-neutral-secondary, #f0f0f0);border-top-color:var(--color-primary-base, #2563eb);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin-top:16px}.modal-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:16px}.error-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--color-text-primary, #1a1a1a);margin:0}.error-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--color-text-secondary, #737373);margin:0}.modal-fixed-bottom{position:fixed;bottom:0;left:0;right:0;z-index:1000;pointer-events:none;background:var(--color-background-neutral-primary, #ffffff);box-shadow:0 300px 0 300px var(--color-background-neutral-primary, #ffffff);transform:translateY(calc(-1 * var(--keyboard-height, 0px)));transition:transform .3s cubic-bezier(.215,.61,.355,1);max-width:100vw;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}.modal-fixed-bottom.is-auto-height{position:relative;bottom:auto;left:auto;right:auto;transform:none!important;box-shadow:none;z-index:1;background:var(--color-background-neutral-primary, #ffffff)}.modal-fixed-bottom>*{pointer-events:auto}.modal-fixed-bottom.bottom-hidden{display:none}@supports (padding: env(safe-area-inset-bottom)){.modal-content-container{padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion: reduce){.modal-fixed-bottom{transition:none}.loading-spinner{animation:none}}\n"] }]
|
|
12415
12390
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { ionContent: [{
|
|
12416
12391
|
type: ViewChild,
|
|
12417
12392
|
args: [IonContent, { read: IonContent }]
|
|
@@ -14907,6 +14882,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
14907
14882
|
* ```
|
|
14908
14883
|
*/
|
|
14909
14884
|
class DsMobileNewInquiryModalComponent {
|
|
14885
|
+
modalController = inject(ModalController);
|
|
14910
14886
|
titleInputRef;
|
|
14911
14887
|
titleInput;
|
|
14912
14888
|
fileInput;
|
|
@@ -15004,9 +14980,9 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15004
14980
|
id: `photo-${Date.now()}`,
|
|
15005
14981
|
src: image.webPath,
|
|
15006
14982
|
type: 'image',
|
|
15007
|
-
name: `Photo ${this.attachments().length + 1}
|
|
14983
|
+
name: `Photo ${this.attachments().length + 1}`,
|
|
15008
14984
|
};
|
|
15009
|
-
this.attachments.update(attachments => [...attachments, newAttachment]);
|
|
14985
|
+
this.attachments.update((attachments) => [...attachments, newAttachment]);
|
|
15010
14986
|
}
|
|
15011
14987
|
}
|
|
15012
14988
|
catch (error) {
|
|
@@ -15018,7 +14994,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15018
14994
|
* Remove an attachment
|
|
15019
14995
|
*/
|
|
15020
14996
|
removeAttachment(attachmentId) {
|
|
15021
|
-
this.attachments.update(attachments => attachments.filter(a => a.id !== attachmentId));
|
|
14997
|
+
this.attachments.update((attachments) => attachments.filter((a) => a.id !== attachmentId));
|
|
15022
14998
|
}
|
|
15023
14999
|
/**
|
|
15024
15000
|
* Handle attachment button click
|
|
@@ -15069,7 +15045,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15069
15045
|
const k = 1024;
|
|
15070
15046
|
const sizes = ['B', 'KB', 'MB', 'GB'];
|
|
15071
15047
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
15072
|
-
return Math.round(bytes / Math.pow(k, i) * 100) / 100 + ' ' + sizes[i];
|
|
15048
|
+
return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
|
|
15073
15049
|
}
|
|
15074
15050
|
/**
|
|
15075
15051
|
* Handle file selection from file input
|
|
@@ -15083,7 +15059,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15083
15059
|
// Process each selected file (up to the limit)
|
|
15084
15060
|
const remainingSlots = 6 - this.attachments().length;
|
|
15085
15061
|
const filesToProcess = Array.from(files).slice(0, remainingSlots);
|
|
15086
|
-
filesToProcess.forEach(file => {
|
|
15062
|
+
filesToProcess.forEach((file) => {
|
|
15087
15063
|
const fileType = this.detectFileType(file);
|
|
15088
15064
|
// Create a data URL for preview
|
|
15089
15065
|
const reader = new FileReader();
|
|
@@ -15095,9 +15071,9 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15095
15071
|
src: result,
|
|
15096
15072
|
type: fileType,
|
|
15097
15073
|
name: file.name,
|
|
15098
|
-
size: this.formatFileSize(file.size)
|
|
15074
|
+
size: this.formatFileSize(file.size),
|
|
15099
15075
|
};
|
|
15100
|
-
this.attachments.update(attachments => [...attachments, newAttachment]);
|
|
15076
|
+
this.attachments.update((attachments) => [...attachments, newAttachment]);
|
|
15101
15077
|
}
|
|
15102
15078
|
};
|
|
15103
15079
|
reader.readAsDataURL(file);
|
|
@@ -15117,13 +15093,14 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15117
15093
|
const inquiryData = {
|
|
15118
15094
|
title: this.title.trim(),
|
|
15119
15095
|
description: this.description.trim(),
|
|
15120
|
-
attachments: this.attachments()
|
|
15096
|
+
attachments: this.attachments(),
|
|
15121
15097
|
};
|
|
15122
15098
|
console.log('[NewInquiryModal] Submitting inquiry:', inquiryData);
|
|
15123
15099
|
if (this.onSubmit) {
|
|
15124
15100
|
await this.onSubmit(inquiryData);
|
|
15125
15101
|
}
|
|
15126
|
-
// Success -
|
|
15102
|
+
// Success - close the modal
|
|
15103
|
+
this.modalController.dismiss();
|
|
15127
15104
|
}
|
|
15128
15105
|
catch (error) {
|
|
15129
15106
|
console.error('[NewInquiryModal] Error submitting inquiry:', error);
|
|
@@ -15141,8 +15118,9 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15141
15118
|
[showHeader]="false"
|
|
15142
15119
|
[hasFixedBottom]="true"
|
|
15143
15120
|
[enableKeyboardHandling]="true"
|
|
15144
|
-
|
|
15145
|
-
|
|
15121
|
+
[isAutoHeight]="true"
|
|
15122
|
+
closeButtonLabel="Close"
|
|
15123
|
+
>
|
|
15146
15124
|
<!-- Form Content -->
|
|
15147
15125
|
<ds-mobile-section>
|
|
15148
15126
|
<!-- Title Field (Large Ghost Textarea) -->
|
|
@@ -15175,10 +15153,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15175
15153
|
<div class="attachment-previews-section">
|
|
15176
15154
|
<div class="image-previews">
|
|
15177
15155
|
@for (attachment of attachments(); track attachment.id) {
|
|
15178
|
-
<ds-mobile-attachment-preview
|
|
15179
|
-
[attachment]="attachment"
|
|
15180
|
-
(remove)="removeAttachment($event)"
|
|
15181
|
-
/>
|
|
15156
|
+
<ds-mobile-attachment-preview [attachment]="attachment" (remove)="removeAttachment($event)" />
|
|
15182
15157
|
}
|
|
15183
15158
|
</div>
|
|
15184
15159
|
</div>
|
|
@@ -15189,13 +15164,7 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15189
15164
|
<div class="submit-content">
|
|
15190
15165
|
<!-- Upload Actions (Left) -->
|
|
15191
15166
|
<div class="upload-actions">
|
|
15192
|
-
<ds-icon-button
|
|
15193
|
-
icon="remixImageLine"
|
|
15194
|
-
variant="secondary"
|
|
15195
|
-
size="md"
|
|
15196
|
-
(clicked)="addPhoto()"
|
|
15197
|
-
[disabled]="attachments().length >= 6"
|
|
15198
|
-
aria-label="Add photo">
|
|
15167
|
+
<ds-icon-button icon="remixImageLine" variant="secondary" size="md" (clicked)="addPhoto()" [disabled]="attachments().length >= 6" aria-label="Add photo">
|
|
15199
15168
|
</ds-icon-button>
|
|
15200
15169
|
<ds-icon-button
|
|
15201
15170
|
icon="remixAttachmentLine"
|
|
@@ -15203,34 +15172,21 @@ class DsMobileNewInquiryModalComponent {
|
|
|
15203
15172
|
size="md"
|
|
15204
15173
|
(clicked)="handleAddAttachment()"
|
|
15205
15174
|
[disabled]="attachments().length >= 6"
|
|
15206
|
-
aria-label="Add attachment"
|
|
15175
|
+
aria-label="Add attachment"
|
|
15176
|
+
>
|
|
15207
15177
|
</ds-icon-button>
|
|
15208
|
-
|
|
15178
|
+
|
|
15209
15179
|
<!-- Hidden file input for file selection -->
|
|
15210
|
-
<input
|
|
15211
|
-
#fileInput
|
|
15212
|
-
type="file"
|
|
15213
|
-
accept="*/*"
|
|
15214
|
-
multiple
|
|
15215
|
-
(change)="handleFileSelect($event)"
|
|
15216
|
-
style="display: none;"
|
|
15217
|
-
aria-hidden="true"
|
|
15218
|
-
/>
|
|
15180
|
+
<input #fileInput type="file" accept="*/*" multiple (change)="handleFileSelect($event)" style="display: none;" aria-hidden="true" />
|
|
15219
15181
|
</div>
|
|
15220
15182
|
|
|
15221
15183
|
<!-- Submit Button (Right) -->
|
|
15222
|
-
<ds-button
|
|
15223
|
-
variant="primary"
|
|
15224
|
-
size="lg"
|
|
15225
|
-
[disabled]="!isFormValid() || isSubmitting()"
|
|
15226
|
-
(clicked)="handleSubmit()">
|
|
15227
|
-
Submit
|
|
15228
|
-
</ds-button>
|
|
15184
|
+
<ds-button variant="primary" size="lg" [disabled]="!isFormValid() || isSubmitting()" (clicked)="handleSubmit()"> Submit </ds-button>
|
|
15229
15185
|
</div>
|
|
15230
15186
|
</div>
|
|
15231
15187
|
</div>
|
|
15232
15188
|
</ds-mobile-modal-base>
|
|
15233
|
-
`, isInline: true, styles: [".author-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.author-name{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.author-meta .separator{color:var(--color-text-tertiary, #a0a0a0)}.lightbox-context .author-name,.overlay-context .author-name{color:#fffffff2}.lightbox-context .author-meta,.overlay-context .author-meta{color:#ffffffb3}.lightbox-context .author-meta .separator,.overlay-context .author-meta .separator{color:#ffffff80}.section-headline{font-size:var(--font-size-base);font-weight:600;color:var(--text-color-default-primary);padding:16px 0;margin:0;letter-spacing:-.2px;display:flex;align-items:center;gap:6px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--text-color-default-primary, #202227);margin:0 0 8px}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--text-color-default-secondary, #545B66);margin:0}.ghost-input-clean ::ng-deep .ds-input,.ghost-input-clean ::ng-deep .ds-textarea,.ghost-input-clean ::ng-deep .textarea-container{outline:none!important;border:none!important}.ghost-input-clean ::ng-deep .ds-input:hover,.ghost-input-clean ::ng-deep .ds-textarea:hover,.ghost-input-clean ::ng-deep .textarea-container:hover,.ghost-input-clean ::ng-deep .ds-input:focus,.ghost-input-clean ::ng-deep .ds-textarea:focus,.ghost-input-clean ::ng-deep .textarea-container:focus,.ghost-input-clean ::ng-deep .ds-input:focus-within,.ghost-input-clean ::ng-deep .ds-textarea:focus-within,.ghost-input-clean ::ng-deep .textarea-container:focus-within{outline:none!important;border:none!important;box-shadow:none!important}.ghost-input-clean ::ng-deep textarea{outline:none!important;border:none!important;box-shadow:none!important;resize:none!important}.ghost-input-clean ::ng-deep textarea:hover,.ghost-input-clean ::ng-deep textarea:focus{outline:none!important;border:none!important;box-shadow:none!important}\n", ".inquiry-title-input{flex:0 0 auto}.inquiry-title-input ::ng-deep textarea{font-size:var(--font-size-2xl);font-weight:400;line-height:1.2;max-height:200px;overflow-y:auto;resize:none;box-sizing:border-box;padding-right:52px}.fixed-bottom-container{background:var(--color-background-neutral-primary);border-top:1px solid var(--border-color-default)}.attachment-previews-section{padding:16px 20px;border-bottom:1px solid var(--border-color-default)}.image-previews{display:flex;
|
|
15189
|
+
`, isInline: true, styles: [".author-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.author-name{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.author-meta .separator{color:var(--color-text-tertiary, #a0a0a0)}.lightbox-context .author-name,.overlay-context .author-name{color:#fffffff2}.lightbox-context .author-meta,.overlay-context .author-meta{color:#ffffffb3}.lightbox-context .author-meta .separator,.overlay-context .author-meta .separator{color:#ffffff80}.section-headline{font-size:var(--font-size-base);font-weight:600;color:var(--text-color-default-primary);padding:16px 0;margin:0;letter-spacing:-.2px;display:flex;align-items:center;gap:6px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--text-color-default-primary, #202227);margin:0 0 8px}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--text-color-default-secondary, #545B66);margin:0}.ghost-input-clean ::ng-deep .ds-input,.ghost-input-clean ::ng-deep .ds-textarea,.ghost-input-clean ::ng-deep .textarea-container{outline:none!important;border:none!important}.ghost-input-clean ::ng-deep .ds-input:hover,.ghost-input-clean ::ng-deep .ds-textarea:hover,.ghost-input-clean ::ng-deep .textarea-container:hover,.ghost-input-clean ::ng-deep .ds-input:focus,.ghost-input-clean ::ng-deep .ds-textarea:focus,.ghost-input-clean ::ng-deep .textarea-container:focus,.ghost-input-clean ::ng-deep .ds-input:focus-within,.ghost-input-clean ::ng-deep .ds-textarea:focus-within,.ghost-input-clean ::ng-deep .textarea-container:focus-within{outline:none!important;border:none!important;box-shadow:none!important}.ghost-input-clean ::ng-deep textarea{outline:none!important;border:none!important;box-shadow:none!important;resize:none!important}.ghost-input-clean ::ng-deep textarea:hover,.ghost-input-clean ::ng-deep textarea:focus{outline:none!important;border:none!important;box-shadow:none!important}\n", ".inquiry-title-input{flex:0 0 auto}.inquiry-title-input ::ng-deep textarea{font-size:var(--font-size-2xl);font-weight:400;line-height:1.2;max-height:200px;overflow-y:auto;resize:none;box-sizing:border-box;padding-right:52px}.fixed-bottom-container{background:var(--color-background-neutral-primary);border-top:1px solid var(--border-color-default)}.attachment-previews-section{padding:16px 20px;border-bottom:1px solid var(--border-color-default)}.image-previews{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.image-previews::-webkit-scrollbar{display:none}.submit-container{padding:16px 20px}.submit-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.upload-actions{display:flex;align-items:center;gap:8px}.upload-actions ds-icon-button::ng-deep button{width:44px;height:44px;border-radius:50%}.submit-content ds-button::ng-deep button{border-radius:100px}.inquiry-description-input{display:flex;flex:1;min-height:0}.inquiry-description-input ::ng-deep .textarea-container{display:flex;flex:1;min-height:0}.inquiry-description-input ::ng-deep textarea{flex:1;min-height:80px;resize:none}@media (min-width: 768px){.submit-container{padding:20px 32px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: DsTextareaComponent, selector: "ds-textarea", inputs: ["variant", "placeholder", "disabled", "readonly", "required", "ghost", "rows", "cols", "maxlength", "minlength", "ariaLabel", "ariaDescribedBy", "ariaLabelledBy"], outputs: ["valueChange", "focused", "blurred"] }, { kind: "component", type: DsIconButtonComponent, selector: "ds-icon-button", inputs: ["variant", "size", "icon", "disabled", "loading", "pressed", "expanded", "ariaLabel", "tooltip", "tooltipDisabled", "tooltipPlacement"], outputs: ["clicked", "focused", "blurred"] }, { kind: "component", type: DsMobileModalBaseComponent, selector: "ds-mobile-modal-base", inputs: ["showHeader"] }, { kind: "component", type: DsMobileAttachmentPreviewComponent, selector: "ds-mobile-attachment-preview", inputs: ["attachment"], outputs: ["remove"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }] });
|
|
15234
15190
|
}
|
|
15235
15191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileNewInquiryModalComponent, decorators: [{
|
|
15236
15192
|
type: Component,
|
|
@@ -15242,7 +15198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15242
15198
|
DsIconButtonComponent,
|
|
15243
15199
|
DsMobileModalBaseComponent,
|
|
15244
15200
|
DsMobileAttachmentPreviewComponent,
|
|
15245
|
-
DsMobileSectionComponent
|
|
15201
|
+
DsMobileSectionComponent,
|
|
15246
15202
|
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: `
|
|
15247
15203
|
<ds-mobile-modal-base
|
|
15248
15204
|
[loading]="loading"
|
|
@@ -15250,8 +15206,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15250
15206
|
[showHeader]="false"
|
|
15251
15207
|
[hasFixedBottom]="true"
|
|
15252
15208
|
[enableKeyboardHandling]="true"
|
|
15253
|
-
|
|
15254
|
-
|
|
15209
|
+
[isAutoHeight]="true"
|
|
15210
|
+
closeButtonLabel="Close"
|
|
15211
|
+
>
|
|
15255
15212
|
<!-- Form Content -->
|
|
15256
15213
|
<ds-mobile-section>
|
|
15257
15214
|
<!-- Title Field (Large Ghost Textarea) -->
|
|
@@ -15284,10 +15241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15284
15241
|
<div class="attachment-previews-section">
|
|
15285
15242
|
<div class="image-previews">
|
|
15286
15243
|
@for (attachment of attachments(); track attachment.id) {
|
|
15287
|
-
<ds-mobile-attachment-preview
|
|
15288
|
-
[attachment]="attachment"
|
|
15289
|
-
(remove)="removeAttachment($event)"
|
|
15290
|
-
/>
|
|
15244
|
+
<ds-mobile-attachment-preview [attachment]="attachment" (remove)="removeAttachment($event)" />
|
|
15291
15245
|
}
|
|
15292
15246
|
</div>
|
|
15293
15247
|
</div>
|
|
@@ -15298,13 +15252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15298
15252
|
<div class="submit-content">
|
|
15299
15253
|
<!-- Upload Actions (Left) -->
|
|
15300
15254
|
<div class="upload-actions">
|
|
15301
|
-
<ds-icon-button
|
|
15302
|
-
icon="remixImageLine"
|
|
15303
|
-
variant="secondary"
|
|
15304
|
-
size="md"
|
|
15305
|
-
(clicked)="addPhoto()"
|
|
15306
|
-
[disabled]="attachments().length >= 6"
|
|
15307
|
-
aria-label="Add photo">
|
|
15255
|
+
<ds-icon-button icon="remixImageLine" variant="secondary" size="md" (clicked)="addPhoto()" [disabled]="attachments().length >= 6" aria-label="Add photo">
|
|
15308
15256
|
</ds-icon-button>
|
|
15309
15257
|
<ds-icon-button
|
|
15310
15258
|
icon="remixAttachmentLine"
|
|
@@ -15312,34 +15260,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15312
15260
|
size="md"
|
|
15313
15261
|
(clicked)="handleAddAttachment()"
|
|
15314
15262
|
[disabled]="attachments().length >= 6"
|
|
15315
|
-
aria-label="Add attachment"
|
|
15263
|
+
aria-label="Add attachment"
|
|
15264
|
+
>
|
|
15316
15265
|
</ds-icon-button>
|
|
15317
|
-
|
|
15266
|
+
|
|
15318
15267
|
<!-- Hidden file input for file selection -->
|
|
15319
|
-
<input
|
|
15320
|
-
#fileInput
|
|
15321
|
-
type="file"
|
|
15322
|
-
accept="*/*"
|
|
15323
|
-
multiple
|
|
15324
|
-
(change)="handleFileSelect($event)"
|
|
15325
|
-
style="display: none;"
|
|
15326
|
-
aria-hidden="true"
|
|
15327
|
-
/>
|
|
15268
|
+
<input #fileInput type="file" accept="*/*" multiple (change)="handleFileSelect($event)" style="display: none;" aria-hidden="true" />
|
|
15328
15269
|
</div>
|
|
15329
15270
|
|
|
15330
15271
|
<!-- Submit Button (Right) -->
|
|
15331
|
-
<ds-button
|
|
15332
|
-
variant="primary"
|
|
15333
|
-
size="lg"
|
|
15334
|
-
[disabled]="!isFormValid() || isSubmitting()"
|
|
15335
|
-
(clicked)="handleSubmit()">
|
|
15336
|
-
Submit
|
|
15337
|
-
</ds-button>
|
|
15272
|
+
<ds-button variant="primary" size="lg" [disabled]="!isFormValid() || isSubmitting()" (clicked)="handleSubmit()"> Submit </ds-button>
|
|
15338
15273
|
</div>
|
|
15339
15274
|
</div>
|
|
15340
15275
|
</div>
|
|
15341
15276
|
</ds-mobile-modal-base>
|
|
15342
|
-
`, styles: [".author-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.author-name{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.author-meta .separator{color:var(--color-text-tertiary, #a0a0a0)}.lightbox-context .author-name,.overlay-context .author-name{color:#fffffff2}.lightbox-context .author-meta,.overlay-context .author-meta{color:#ffffffb3}.lightbox-context .author-meta .separator,.overlay-context .author-meta .separator{color:#ffffff80}.section-headline{font-size:var(--font-size-base);font-weight:600;color:var(--text-color-default-primary);padding:16px 0;margin:0;letter-spacing:-.2px;display:flex;align-items:center;gap:6px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--text-color-default-primary, #202227);margin:0 0 8px}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--text-color-default-secondary, #545B66);margin:0}.ghost-input-clean ::ng-deep .ds-input,.ghost-input-clean ::ng-deep .ds-textarea,.ghost-input-clean ::ng-deep .textarea-container{outline:none!important;border:none!important}.ghost-input-clean ::ng-deep .ds-input:hover,.ghost-input-clean ::ng-deep .ds-textarea:hover,.ghost-input-clean ::ng-deep .textarea-container:hover,.ghost-input-clean ::ng-deep .ds-input:focus,.ghost-input-clean ::ng-deep .ds-textarea:focus,.ghost-input-clean ::ng-deep .textarea-container:focus,.ghost-input-clean ::ng-deep .ds-input:focus-within,.ghost-input-clean ::ng-deep .ds-textarea:focus-within,.ghost-input-clean ::ng-deep .textarea-container:focus-within{outline:none!important;border:none!important;box-shadow:none!important}.ghost-input-clean ::ng-deep textarea{outline:none!important;border:none!important;box-shadow:none!important;resize:none!important}.ghost-input-clean ::ng-deep textarea:hover,.ghost-input-clean ::ng-deep textarea:focus{outline:none!important;border:none!important;box-shadow:none!important}\n", ".inquiry-title-input{flex:0 0 auto}.inquiry-title-input ::ng-deep textarea{font-size:var(--font-size-2xl);font-weight:400;line-height:1.2;max-height:200px;overflow-y:auto;resize:none;box-sizing:border-box;padding-right:52px}.fixed-bottom-container{background:var(--color-background-neutral-primary);border-top:1px solid var(--border-color-default)}.attachment-previews-section{padding:16px 20px;border-bottom:1px solid var(--border-color-default)}.image-previews{display:flex;
|
|
15277
|
+
`, styles: [".author-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.author-name{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:600;line-height:20px;letter-spacing:-.3px;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-meta{font-family:Brockmann,sans-serif;font-size:var(--font-size-xs);font-weight:400;line-height:1.2;letter-spacing:-.26px;color:var(--color-text-tertiary, #737373);display:flex;align-items:center;gap:6px}.author-meta .separator{color:var(--color-text-tertiary, #a0a0a0)}.lightbox-context .author-name,.overlay-context .author-name{color:#fffffff2}.lightbox-context .author-meta,.overlay-context .author-meta{color:#ffffffb3}.lightbox-context .author-meta .separator,.overlay-context .author-meta .separator{color:#ffffff80}.section-headline{font-size:var(--font-size-base);font-weight:600;color:var(--text-color-default-primary);padding:16px 0;margin:0;letter-spacing:-.2px;display:flex;align-items:center;gap:6px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;line-height:1.3;color:var(--text-color-default-primary, #202227);margin:0 0 8px}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;color:var(--text-color-default-secondary, #545B66);margin:0}.ghost-input-clean ::ng-deep .ds-input,.ghost-input-clean ::ng-deep .ds-textarea,.ghost-input-clean ::ng-deep .textarea-container{outline:none!important;border:none!important}.ghost-input-clean ::ng-deep .ds-input:hover,.ghost-input-clean ::ng-deep .ds-textarea:hover,.ghost-input-clean ::ng-deep .textarea-container:hover,.ghost-input-clean ::ng-deep .ds-input:focus,.ghost-input-clean ::ng-deep .ds-textarea:focus,.ghost-input-clean ::ng-deep .textarea-container:focus,.ghost-input-clean ::ng-deep .ds-input:focus-within,.ghost-input-clean ::ng-deep .ds-textarea:focus-within,.ghost-input-clean ::ng-deep .textarea-container:focus-within{outline:none!important;border:none!important;box-shadow:none!important}.ghost-input-clean ::ng-deep textarea{outline:none!important;border:none!important;box-shadow:none!important;resize:none!important}.ghost-input-clean ::ng-deep textarea:hover,.ghost-input-clean ::ng-deep textarea:focus{outline:none!important;border:none!important;box-shadow:none!important}\n", ".inquiry-title-input{flex:0 0 auto}.inquiry-title-input ::ng-deep textarea{font-size:var(--font-size-2xl);font-weight:400;line-height:1.2;max-height:200px;overflow-y:auto;resize:none;box-sizing:border-box;padding-right:52px}.fixed-bottom-container{background:var(--color-background-neutral-primary);border-top:1px solid var(--border-color-default)}.attachment-previews-section{padding:16px 20px;border-bottom:1px solid var(--border-color-default)}.image-previews{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.image-previews::-webkit-scrollbar{display:none}.submit-container{padding:16px 20px}.submit-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.upload-actions{display:flex;align-items:center;gap:8px}.upload-actions ds-icon-button::ng-deep button{width:44px;height:44px;border-radius:50%}.submit-content ds-button::ng-deep button{border-radius:100px}.inquiry-description-input{display:flex;flex:1;min-height:0}.inquiry-description-input ::ng-deep .textarea-container{display:flex;flex:1;min-height:0}.inquiry-description-input ::ng-deep textarea{flex:1;min-height:80px;resize:none}@media (min-width: 768px){.submit-container{padding:20px 32px}}\n"] }]
|
|
15343
15278
|
}], propDecorators: { titleInputRef: [{
|
|
15344
15279
|
type: ViewChild,
|
|
15345
15280
|
args: ['titleInput', { read: ElementRef }]
|
|
@@ -15373,16 +15308,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15373
15308
|
*
|
|
15374
15309
|
* @example
|
|
15375
15310
|
* ```typescript
|
|
15376
|
-
* constructor(private
|
|
15311
|
+
* constructor(private newInquiryModal: DsMobileNewInquiryModalService) {}
|
|
15377
15312
|
*
|
|
15378
|
-
* async createNewInquiry() {
|
|
15379
|
-
*
|
|
15313
|
+
* async createNewInquiry(): Promise<void> {
|
|
15314
|
+
* console.log('[InquiriesPage] FAB clicked, opening modal...');
|
|
15315
|
+
*
|
|
15316
|
+
* await this.newInquiryModal.open({
|
|
15380
15317
|
* onSubmit: async (data) => {
|
|
15381
15318
|
* console.log('Creating inquiry:', data);
|
|
15382
15319
|
* // Call your API to create the inquiry
|
|
15383
15320
|
* await this.apiService.createInquiry(data);
|
|
15384
15321
|
* // Close the modal
|
|
15385
|
-
* await this.
|
|
15322
|
+
* await this.newInquiryModal.close();
|
|
15386
15323
|
* }
|
|
15387
15324
|
* });
|
|
15388
15325
|
* }
|
|
@@ -15406,10 +15343,14 @@ class DsMobileNewInquiryModalService extends BaseModalService {
|
|
|
15406
15343
|
error: options?.error,
|
|
15407
15344
|
}, {
|
|
15408
15345
|
keyboardClose: false, // Don't close on keyboard hide for this modal
|
|
15346
|
+
cssClass: ['ds-modal-base', 'auto-height'],
|
|
15347
|
+
breakpoints: [0, 1],
|
|
15348
|
+
initialBreakpoint: 1,
|
|
15349
|
+
handle: false,
|
|
15409
15350
|
});
|
|
15410
|
-
|
|
15351
|
+
console.log('[NewInquiryModal] Modal created, presenting...');
|
|
15411
15352
|
await modal.present();
|
|
15412
|
-
|
|
15353
|
+
console.log('[NewInquiryModal] Modal presented');
|
|
15413
15354
|
}
|
|
15414
15355
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileNewInquiryModalService, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15415
15356
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileNewInquiryModalService, providedIn: 'root' });
|
|
@@ -16524,7 +16465,7 @@ class DsMobileFabComponent {
|
|
|
16524
16465
|
/**
|
|
16525
16466
|
* Emitted when the FAB is clicked
|
|
16526
16467
|
*/
|
|
16527
|
-
|
|
16468
|
+
clicked = output();
|
|
16528
16469
|
ngAfterViewInit() {
|
|
16529
16470
|
// Only calculate position on mobile (not desktop)
|
|
16530
16471
|
if (!this.platform.is('desktop')) {
|
|
@@ -16564,14 +16505,14 @@ class DsMobileFabComponent {
|
|
|
16564
16505
|
*/
|
|
16565
16506
|
handleClick() {
|
|
16566
16507
|
if (!this.disabled()) {
|
|
16567
|
-
this.
|
|
16508
|
+
this.clicked.emit();
|
|
16568
16509
|
}
|
|
16569
16510
|
}
|
|
16570
16511
|
ngOnDestroy() {
|
|
16571
16512
|
this.resizeObserver?.disconnect();
|
|
16572
16513
|
}
|
|
16573
16514
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileFabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16574
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: DsMobileFabComponent, isStandalone: true, selector: "ds-mobile-fab", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: {
|
|
16515
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: DsMobileFabComponent, isStandalone: true, selector: "ds-mobile-fab", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked" }, host: { properties: { "class.fab-bottom-right": "position() === \"bottom-right\"", "class.fab-bottom-left": "position() === \"bottom-left\"", "class.fab-bottom-center": "position() === \"bottom-center\"" } }, ngImport: i0, template: `
|
|
16575
16516
|
<div class="fab-container">
|
|
16576
16517
|
<ds-icon-button
|
|
16577
16518
|
[icon]="icon()"
|
|
@@ -16579,7 +16520,7 @@ class DsMobileFabComponent {
|
|
|
16579
16520
|
[size]="size()"
|
|
16580
16521
|
[ariaLabel]="ariaLabel()"
|
|
16581
16522
|
[disabled]="disabled()"
|
|
16582
|
-
(
|
|
16523
|
+
(clicked)="handleClick()"
|
|
16583
16524
|
class="fab-button">
|
|
16584
16525
|
</ds-icon-button>
|
|
16585
16526
|
</div>
|
|
@@ -16599,12 +16540,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
16599
16540
|
[size]="size()"
|
|
16600
16541
|
[ariaLabel]="ariaLabel()"
|
|
16601
16542
|
[disabled]="disabled()"
|
|
16602
|
-
(
|
|
16543
|
+
(clicked)="handleClick()"
|
|
16603
16544
|
class="fab-button">
|
|
16604
16545
|
</ds-icon-button>
|
|
16605
16546
|
</div>
|
|
16606
16547
|
`, styles: [":host{display:block;position:fixed;z-index:1000;pointer-events:none}.fab-container{position:relative;pointer-events:none;animation:fabEnter .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes fabEnter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}:host(.fab-bottom-right){bottom:var(--fab-calculated-bottom, 84px);right:20px}:host(.fab-bottom-left){bottom:var(--fab-calculated-bottom, 84px);left:20px}:host(.fab-bottom-center){bottom:var(--fab-calculated-bottom, 84px);left:50%;transform:translate(-50%)}@supports (padding-right: env(safe-area-inset-right)){:host(.fab-bottom-right){right:calc(20px + env(safe-area-inset-right))}}@supports (padding-left: env(safe-area-inset-left)){:host(.fab-bottom-left){left:calc(20px + env(safe-area-inset-left))}}@media (min-width: 768px){:host-context(.plt-desktop).fab-bottom-right{bottom:40px;right:40px}:host-context(.plt-desktop).fab-bottom-left{bottom:40px;left:40px}:host-context(.plt-desktop).fab-bottom-center{bottom:40px}@supports (padding-right: env(safe-area-inset-right)){:host-context(.plt-desktop).fab-bottom-right{right:calc(40px + env(safe-area-inset-right))}}@supports (padding-left: env(safe-area-inset-left)){:host-context(.plt-desktop).fab-bottom-left{left:calc(40px + env(safe-area-inset-left))}}}.fab-button{pointer-events:auto;display:block}.fab-button::ng-deep button{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;border-radius:50%!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--color-accent)!important;color:var(--color-on-accent)!important;border:none!important;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;transition:all .2s cubic-bezier(.4,0,.2,1)}.fab-button::ng-deep button:hover:not(:disabled){background:var(--color-accent-hover)!important;box-shadow:0 5px 7px -2px #0003,0 8px 14px #00000024,0 2px 22px #0000001f;transform:scale(1.05)}.fab-button::ng-deep button:active:not(:disabled){background:var(--color-accent-active)!important;box-shadow:0 2px 4px -1px #0003,0 4px 8px #00000024,0 1px 14px #0000001f;transform:scale(.95)}.fab-button::ng-deep button:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 2px 4px -1px #0000001a,0 4px 8px #00000014,0 1px 14px #0000000f}.fab-button::ng-deep button .btn__icon,.fab-button::ng-deep button .btn__icon svg{color:var(--color-on-accent)!important;fill:var(--color-on-accent)!important}.fab-button::ng-deep button .btn__icon{display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}.fab-button::ng-deep button .btn__icon svg{width:24px!important;height:24px!important}\n"] }]
|
|
16607
|
-
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }],
|
|
16548
|
+
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], clicked: [{ type: i0.Output, args: ["clicked"] }] } });
|
|
16608
16549
|
|
|
16609
16550
|
/**
|
|
16610
16551
|
* DsMobileOfflineBannerComponent
|
|
@@ -18993,7 +18934,7 @@ class MobileInquiriesPageComponent {
|
|
|
18993
18934
|
}, 1000);
|
|
18994
18935
|
}
|
|
18995
18936
|
async createNewInquiry() {
|
|
18996
|
-
console.log('
|
|
18937
|
+
console.log('[InquiriesPage] FAB clicked, opening modal...');
|
|
18997
18938
|
await this.newInquiryModal.open({
|
|
18998
18939
|
onSubmit: async (data) => {
|
|
18999
18940
|
console.log('New inquiry submitted:', data);
|
|
@@ -19082,9 +19023,9 @@ class MobileInquiriesPageComponent {
|
|
|
19082
19023
|
icon="remixAddLine"
|
|
19083
19024
|
position="bottom-right"
|
|
19084
19025
|
ariaLabel="Create new inquiry"
|
|
19085
|
-
(
|
|
19026
|
+
(clicked)="createNewInquiry()">
|
|
19086
19027
|
</ds-mobile-fab>
|
|
19087
|
-
`, 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: ["
|
|
19028
|
+
`, 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"] }] });
|
|
19088
19029
|
}
|
|
19089
19030
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileInquiriesPageComponent, decorators: [{
|
|
19090
19031
|
type: Component,
|
|
@@ -19165,7 +19106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
19165
19106
|
icon="remixAddLine"
|
|
19166
19107
|
position="bottom-right"
|
|
19167
19108
|
ariaLabel="Create new inquiry"
|
|
19168
|
-
(
|
|
19109
|
+
(clicked)="createNewInquiry()">
|
|
19169
19110
|
</ds-mobile-fab>
|
|
19170
19111
|
`, 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"] }]
|
|
19171
19112
|
}], ctorParameters: () => [{ type: UserService }, { type: i1.NavController }, { type: DsMobileNewInquiryModalService }], propDecorators: { pageComponent: [{
|