@propbinder/mobile-design 0.2.80 → 0.2.82

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/index.d.ts CHANGED
@@ -1183,6 +1183,7 @@ declare class DsMobilePageDetailsComponent extends MobilePageBase implements Aft
1183
1183
  whitelabelService: WhitelabelService;
1184
1184
  isNativePlatform: _angular_core.Signal<boolean>;
1185
1185
  title: _angular_core.InputSignal<string>;
1186
+ editableTitle: _angular_core.InputSignal<boolean>;
1186
1187
  backRoute: _angular_core.InputSignal<string>;
1187
1188
  /**
1188
1189
  * Content wrapper padding
@@ -1229,7 +1230,7 @@ declare class DsMobilePageDetailsComponent extends MobilePageBase implements Aft
1229
1230
  */
1230
1231
  handleRefresh(event: any): Promise<void>;
1231
1232
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobilePageDetailsComponent, never>;
1232
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePageDetailsComponent, "ds-mobile-page-details", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "backRoute": { "alias": "backRoute"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "tabs": { "alias": "tabs"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; "showRefresh": { "alias": "showRefresh"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "headerFadeDistance": { "alias": "headerFadeDistance"; "required": false; "isSignal": true; }; }, { "back": "back"; "tabChange": "tabChange"; "refresh": "refresh"; "scroll": "scroll"; "titleClick": "titleClick"; }, never, ["[offline-indicator]", "*"], true, never>;
1233
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePageDetailsComponent, "ds-mobile-page-details", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "editableTitle": { "alias": "editableTitle"; "required": false; "isSignal": true; }; "backRoute": { "alias": "backRoute"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "tabs": { "alias": "tabs"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; "showRefresh": { "alias": "showRefresh"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "headerFadeDistance": { "alias": "headerFadeDistance"; "required": false; "isSignal": true; }; }, { "back": "back"; "tabChange": "tabChange"; "refresh": "refresh"; "scroll": "scroll"; "titleClick": "titleClick"; }, never, ["[offline-indicator]", "*"], true, never>;
1233
1234
  }
1234
1235
 
1235
1236
  /**
@@ -3414,6 +3415,10 @@ interface LightboxImageOptions {
3414
3415
  showInfo?: boolean;
3415
3416
  /** Show like & comment action buttons */
3416
3417
  showActions?: boolean;
3418
+ /** Show download action button in header (overrides share if both are present or if share is removed) */
3419
+ showDownload?: boolean;
3420
+ /** Callback when download is clicked */
3421
+ onDownload?: (image: LightboxImage) => void;
3417
3422
  /** Animation type for opening */
3418
3423
  animation?: 'fade' | 'zoom' | 'slide';
3419
3424
  }
@@ -3555,6 +3560,8 @@ declare class DsMobileLightboxImageComponent implements OnInit, AfterViewInit, O
3555
3560
  enableSwipe: boolean;
3556
3561
  showInfo: boolean;
3557
3562
  showActions: boolean;
3563
+ showDownload: boolean;
3564
+ onDownload?: (image: LightboxImage) => void;
3558
3565
  animation: 'fade' | 'zoom' | 'slide';
3559
3566
  onCloseRequested?: () => void;
3560
3567
  swiperContainer: ElementRef<HTMLDivElement>;
@@ -3601,6 +3608,10 @@ declare class DsMobileLightboxImageComponent implements OnInit, AfterViewInit, O
3601
3608
  * Handle share button click
3602
3609
  */
3603
3610
  onShare(): Promise<void>;
3611
+ /**
3612
+ * Handle download action
3613
+ */
3614
+ onDownloadAction(): void;
3604
3615
  /**
3605
3616
  * Handle like button toggle
3606
3617
  */
@@ -3732,8 +3743,16 @@ declare class DsMobileLightboxHeaderComponent {
3732
3743
  * Emitted when share button is clicked
3733
3744
  */
3734
3745
  shareClick: _angular_core.OutputEmitterRef<void>;
3746
+ /**
3747
+ * Whether to show download button instead of share button
3748
+ */
3749
+ showDownload: _angular_core.InputSignal<boolean>;
3750
+ /**
3751
+ * Emitted when download button is clicked
3752
+ */
3753
+ downloadClick: _angular_core.OutputEmitterRef<void>;
3735
3754
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileLightboxHeaderComponent, never>;
3736
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileLightboxHeaderComponent, "ds-mobile-lightbox-header", never, { "author": { "alias": "author"; "required": false; "isSignal": true; }; }, { "closeClick": "closeClick"; "shareClick": "shareClick"; }, never, never, true, never>;
3755
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileLightboxHeaderComponent, "ds-mobile-lightbox-header", never, { "author": { "alias": "author"; "required": false; "isSignal": true; }; "showDownload": { "alias": "showDownload"; "required": false; "isSignal": true; }; }, { "closeClick": "closeClick"; "shareClick": "shareClick"; "downloadClick": "downloadClick"; }, never, never, true, never>;
3737
3756
  }
3738
3757
 
3739
3758
  /**
@@ -6609,7 +6628,7 @@ declare class DsMobileCardInlineComponent {
6609
6628
  * - 'default' - Column layout with standard padding (gap: 12px, padding: 10px 12px)
6610
6629
  * - 'compact' - Row layout with reduced padding (gap: 8px, padding: 10px)
6611
6630
  */
6612
- variant: _angular_core.InputSignal<"compact" | "default">;
6631
+ variant: _angular_core.InputSignal<"default" | "compact">;
6613
6632
  /**
6614
6633
  * Whether the card is disabled
6615
6634
  * Disables all interactions and reduces opacity
@@ -6672,7 +6691,7 @@ declare class DsMobileCardInlineBannerComponent {
6672
6691
  * - 'default' - Standard padding and column layout
6673
6692
  * - 'compact' - Reduced padding and row layout
6674
6693
  */
6675
- layout: _angular_core.InputSignal<"compact" | "default">;
6694
+ layout: _angular_core.InputSignal<"default" | "compact">;
6676
6695
  /**
6677
6696
  * Emits when the banner is clicked
6678
6697
  */
@@ -6727,7 +6746,7 @@ declare class DsMobileCardInlineContactComponent {
6727
6746
  * - 'default' - Standard padding and column layout
6728
6747
  * - 'compact' - Reduced padding and row layout
6729
6748
  */
6730
- layout: _angular_core.InputSignal<"compact" | "default">;
6749
+ layout: _angular_core.InputSignal<"default" | "compact">;
6731
6750
  /**
6732
6751
  * Whether the contact item is clickable
6733
6752
  */
@@ -6792,7 +6811,7 @@ declare class DsMobileCardInlineFileComponent {
6792
6811
  * - 'default' - Standard padding and column layout
6793
6812
  * - 'compact' - Reduced padding and row layout
6794
6813
  */
6795
- layout: _angular_core.InputSignal<"compact" | "default">;
6814
+ layout: _angular_core.InputSignal<"default" | "compact">;
6796
6815
  /**
6797
6816
  * Optional URL to open when clicked
6798
6817
  * If provided, clicking the card will open this URL in a new tab
@@ -7774,7 +7793,7 @@ declare class DsMobileFacilityDetailModalComponent implements OnInit, AfterViewI
7774
7793
  get facilityData(): FacilityDetailDisplayData;
7775
7794
  facilityEdit?: FacilityDetailEditContext;
7776
7795
  initialView?: 'detail' | 'edit';
7777
- currentView: _angular_core.WritableSignal<"detail" | "edit">;
7796
+ currentView: _angular_core.WritableSignal<"edit" | "detail">;
7778
7797
  isAnimating: _angular_core.WritableSignal<boolean>;
7779
7798
  viewContainer?: ElementRef<HTMLDivElement>;
7780
7799
  editTitle: string;
@@ -8303,7 +8322,7 @@ declare class DsMobileHandbookFolderMiniComponent {
8303
8322
  * ```
8304
8323
  */
8305
8324
  declare class DsTextInputComponent implements ControlValueAccessor {
8306
- type: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "password">;
8325
+ type: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "password" | "url">;
8307
8326
  label: _angular_core.InputSignal<string>;
8308
8327
  placeholder: _angular_core.InputSignal<string>;
8309
8328
  disabled: _angular_core.InputSignal<boolean>;
@@ -8312,7 +8331,7 @@ declare class DsTextInputComponent implements ControlValueAccessor {
8312
8331
  hasError: _angular_core.InputSignal<boolean>;
8313
8332
  errorMessage: _angular_core.InputSignal<string>;
8314
8333
  autocomplete: _angular_core.InputSignal<string>;
8315
- inputmode: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "numeric" | undefined>;
8334
+ inputmode: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "url" | "numeric" | undefined>;
8316
8335
  autoClearError: _angular_core.InputSignal<boolean>;
8317
8336
  validator: _angular_core.InputSignal<((value: string) => boolean) | null>;
8318
8337
  valueChange: _angular_core.OutputEmitterRef<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.80",
3
+ "version": "0.2.82",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"