@propbinder/mobile-design 0.2.5 → 0.2.6

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
@@ -2244,6 +2244,256 @@ declare class DsMobileTabsComponent implements OnInit {
2244
2244
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileTabsComponent, "ds-mobile-tabs", never, { "tabs": { "alias": "tabs"; "required": false; }; "avatarType": { "alias": "avatarType"; "required": false; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; }; "avatarIconName": { "alias": "avatarIconName"; "required": false; }; }, { "avatarClick": "avatarClick"; }, never, never, true, never>;
2245
2245
  }
2246
2246
 
2247
+ /**
2248
+ * DsMobileCardInlineComponent
2249
+ *
2250
+ * A versatile, always-interactive inline card component for standalone or small-group usage.
2251
+ * Designed for tappable card-like elements such as file attachments, contact cards, etc.
2252
+ * Not intended for long scrolling lists - use ds-mobile-list-item for that purpose.
2253
+ *
2254
+ * Features:
2255
+ * - Always interactive/tappable (unless disabled)
2256
+ * - Two layout variants: default (column) and compact (row)
2257
+ * - Flexible content projection with leading/main/trailing slots
2258
+ * - Consistent styling with rounded corners and neutral background
2259
+ * - Built-in hover and active states
2260
+ * - Accessibility features (role, tabindex, aria attributes)
2261
+ *
2262
+ * @example
2263
+ * ```html
2264
+ * <!-- Default variant (column layout) -->
2265
+ * <ds-mobile-card-inline
2266
+ * [variant]="'default'"
2267
+ * (cardClick)="handleClick()">
2268
+ *
2269
+ * <div content-leading>
2270
+ * <ds-avatar initials="JD" />
2271
+ * </div>
2272
+ *
2273
+ * <div content-main>
2274
+ * <div class="title">Document Title</div>
2275
+ * <div class="subtitle">PDF · 1.2 MB</div>
2276
+ * </div>
2277
+ *
2278
+ * <ds-icon content-trailing name="remixArrowRightSLine" />
2279
+ * </ds-mobile-card-inline>
2280
+ *
2281
+ * <!-- Compact variant (row layout) -->
2282
+ * <ds-mobile-card-inline
2283
+ * [variant]="'compact'"
2284
+ * (cardClick)="handleClick()">
2285
+ *
2286
+ * <ds-avatar content-leading size="sm" />
2287
+ *
2288
+ * <div content-main>
2289
+ * <span class="name">File.pdf</span>
2290
+ * <span class="size">245 KB</span>
2291
+ * </div>
2292
+ *
2293
+ * <ds-icon content-trailing name="remixArrowRightSLine" />
2294
+ * </ds-mobile-card-inline>
2295
+ *
2296
+ * <!-- Disabled state -->
2297
+ * <ds-mobile-card-inline [disabled]="true">
2298
+ * <div content-main>Disabled card</div>
2299
+ * </ds-mobile-card-inline>
2300
+ * ```
2301
+ */
2302
+ declare class DsMobileCardInlineComponent {
2303
+ /**
2304
+ * Display variant
2305
+ * - 'default' - Column layout with standard padding (gap: 12px, padding: 10px 12px)
2306
+ * - 'compact' - Row layout with reduced padding (gap: 8px, padding: 10px)
2307
+ */
2308
+ variant: _angular_core.InputSignal<"default" | "compact">;
2309
+ /**
2310
+ * Whether the card is disabled
2311
+ * Disables all interactions and reduces opacity
2312
+ */
2313
+ disabled: _angular_core.InputSignal<boolean>;
2314
+ /**
2315
+ * Emits when the card is clicked (if not disabled)
2316
+ */
2317
+ cardClick: _angular_core.OutputEmitterRef<void>;
2318
+ /**
2319
+ * Handle click events
2320
+ */
2321
+ handleClick(event: Event): void;
2322
+ /**
2323
+ * Handle keyboard events (Enter/Space)
2324
+ */
2325
+ handleKeyDown(event: KeyboardEvent): void;
2326
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCardInlineComponent, never>;
2327
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCardInlineComponent, "ds-mobile-card-inline", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "cardClick": "cardClick"; }, never, ["[content-leading]", "[content-main]", "*", "[content-trailing]"], true, never>;
2328
+ }
2329
+
2330
+ /**
2331
+ * DsMobileCardInlineBannerComponent
2332
+ *
2333
+ * Specialized interactive component for displaying notification banners.
2334
+ * Used to show unread message notifications above inquiry details.
2335
+ *
2336
+ * Features:
2337
+ * - Neutral background matching file/contact cards
2338
+ * - Avatar icon with message symbol
2339
+ * - Title and timestamp
2340
+ * - Unread count badge
2341
+ * - Chevron for navigation indication
2342
+ *
2343
+ * @example
2344
+ * ```html
2345
+ * <ds-mobile-card-inline-banner
2346
+ * [title]="'New messages'"
2347
+ * [timestamp]="'2 min ago'"
2348
+ * [unreadCount]="3"
2349
+ * (bannerClick)="navigateToMessages()">
2350
+ * </ds-mobile-card-inline-banner>
2351
+ * ```
2352
+ */
2353
+ declare class DsMobileCardInlineBannerComponent {
2354
+ /**
2355
+ * Banner title (e.g., "New messages", "Unread messages")
2356
+ */
2357
+ title: _angular_core.InputSignal<string>;
2358
+ /**
2359
+ * Timestamp text (e.g., "2 min ago", "Just now")
2360
+ */
2361
+ timestamp: _angular_core.InputSignal<string>;
2362
+ /**
2363
+ * Number of unread items (optional, shows badge if > 0)
2364
+ */
2365
+ unreadCount: _angular_core.InputSignal<number>;
2366
+ /**
2367
+ * Layout variant
2368
+ * - 'default' - Standard padding and column layout
2369
+ * - 'compact' - Reduced padding and row layout
2370
+ */
2371
+ layout: _angular_core.InputSignal<"default" | "compact">;
2372
+ /**
2373
+ * Emits when the banner is clicked
2374
+ */
2375
+ bannerClick: _angular_core.OutputEmitterRef<void>;
2376
+ handleBannerClick(): void;
2377
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCardInlineBannerComponent, never>;
2378
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCardInlineBannerComponent, "ds-mobile-card-inline-banner", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "timestamp": { "alias": "timestamp"; "required": false; "isSignal": true; }; "unreadCount": { "alias": "unreadCount"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, { "bannerClick": "bannerClick"; }, never, never, true, never>;
2379
+ }
2380
+
2381
+ /**
2382
+ * DsMobileCardInlineContactComponent
2383
+ *
2384
+ * Specialized interactive component for displaying contacts.
2385
+ * Displays contact name with avatar initials and metadata (person name + phone number).
2386
+ * Similar styling to file attachments with rounded corners and hover states.
2387
+ *
2388
+ * @example
2389
+ * ```html
2390
+ * <ds-mobile-card-inline-contact
2391
+ * [name]="'Mortensen & Søn ApS'"
2392
+ * [initials]="'M'"
2393
+ * [contactPerson]="'John Mortensen'"
2394
+ * [phoneNumber]="'+45 12 34 56 78'"
2395
+ * [clickable]="true"
2396
+ * (contactClick)="openContact()">
2397
+ * </ds-mobile-card-inline-contact>
2398
+ * ```
2399
+ */
2400
+ declare class DsMobileCardInlineContactComponent {
2401
+ /**
2402
+ * Contact/company name
2403
+ */
2404
+ name: _angular_core.InputSignal<string>;
2405
+ /**
2406
+ * Avatar initials (usually 1-2 letters)
2407
+ */
2408
+ initials: _angular_core.InputSignal<string>;
2409
+ /**
2410
+ * Contact person name (optional)
2411
+ */
2412
+ contactPerson: _angular_core.InputSignal<string>;
2413
+ /**
2414
+ * Phone number (optional)
2415
+ */
2416
+ phoneNumber: _angular_core.InputSignal<string>;
2417
+ /**
2418
+ * Layout variant
2419
+ * - 'default' - Standard padding and column layout
2420
+ * - 'compact' - Reduced padding and row layout
2421
+ */
2422
+ layout: _angular_core.InputSignal<"default" | "compact">;
2423
+ /**
2424
+ * Whether the contact item is clickable
2425
+ */
2426
+ clickable: _angular_core.InputSignal<boolean>;
2427
+ /**
2428
+ * Whether to show chevron icon
2429
+ */
2430
+ showChevron: _angular_core.InputSignal<boolean>;
2431
+ /**
2432
+ * Emits when the contact item is clicked (if clickable)
2433
+ */
2434
+ contactClick: _angular_core.OutputEmitterRef<void>;
2435
+ handleContactClick(): void;
2436
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCardInlineContactComponent, never>;
2437
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCardInlineContactComponent, "ds-mobile-card-inline-contact", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "initials": { "alias": "initials"; "required": true; "isSignal": true; }; "contactPerson": { "alias": "contactPerson"; "required": false; "isSignal": true; }; "phoneNumber": { "alias": "phoneNumber"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "showChevron": { "alias": "showChevron"; "required": false; "isSignal": true; }; }, { "contactClick": "contactClick"; }, never, never, true, never>;
2438
+ }
2439
+
2440
+ /**
2441
+ * DsMobileCardInlineFileComponent
2442
+ *
2443
+ * File attachment display for various document types.
2444
+ * Shows file info card with icon, filename, and file size.
2445
+ * Supports PDF and generic document formats.
2446
+ * Emits click event to open file in viewer.
2447
+ *
2448
+ * @example
2449
+ * ```html
2450
+ * <ds-mobile-card-inline-file
2451
+ * [fileName]="'Document.pdf'"
2452
+ * [fileSize]="'1.2 MB'"
2453
+ * [variant]="'pdf'"
2454
+ * [layout]="'compact'"
2455
+ * (fileClick)="openFile()">
2456
+ * </ds-mobile-card-inline-file>
2457
+ * ```
2458
+ */
2459
+ declare class DsMobileCardInlineFileComponent {
2460
+ /**
2461
+ * File name
2462
+ */
2463
+ fileName: _angular_core.InputSignal<string>;
2464
+ /**
2465
+ * File size display (e.g., "1.2 MB")
2466
+ */
2467
+ fileSize: _angular_core.InputSignal<string>;
2468
+ /**
2469
+ * File type variant
2470
+ * - 'pdf' - PDF document (red icon)
2471
+ * - 'doc' - Generic document (blue icon)
2472
+ */
2473
+ variant: _angular_core.InputSignal<"pdf" | "doc">;
2474
+ /**
2475
+ * Layout variant
2476
+ * - 'default' - Standard padding and column layout
2477
+ * - 'compact' - Reduced padding and row layout
2478
+ */
2479
+ layout: _angular_core.InputSignal<"default" | "compact">;
2480
+ /**
2481
+ * Emits when the file attachment is clicked
2482
+ */
2483
+ fileClick: _angular_core.OutputEmitterRef<void>;
2484
+ /**
2485
+ * Get the appropriate icon name based on variant
2486
+ */
2487
+ getIconName(): string;
2488
+ /**
2489
+ * Get the file type label based on variant
2490
+ */
2491
+ getFileTypeLabel(): string;
2492
+ handleClick(): void;
2493
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCardInlineFileComponent, never>;
2494
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCardInlineFileComponent, "ds-mobile-card-inline-file", never, { "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "fileSize": { "alias": "fileSize"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, { "fileClick": "fileClick"; }, never, never, true, never>;
2495
+ }
2496
+
2247
2497
  /**
2248
2498
  * Media file types supported by the lightbox
2249
2499
  */
@@ -5069,5 +5319,5 @@ declare const customPageTransition: (_: HTMLElement, opts: any) => Animation;
5069
5319
  */
5070
5320
  declare const customBackTransition: (_: HTMLElement, opts: any) => Animation;
5071
5321
 
5072
- export { ActionCommentComponent, ActionLikeComponent, ContentRowComponent, DsAvatarWithBadgeComponent, DsMobileActionsBottomSheetComponent, DsMobileAttachmentPreviewComponent, DsMobileBottomSheetService, DsMobileChatModalComponent, DsMobileChatModalService, DsMobileActionsBottomSheetComponent as DsMobileCommentActionsBottomSheetComponent, DsMobileCommentComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileContentSectionComponent, DsMobileFabComponent, DsMobileHandbookDetailModalComponent, DsMobileHandbookDetailModalService, DsMobileHandbookFolderComponent, DsMobileHandbookFolderMiniComponent, DsMobileHeaderContentComponent, DsMobileHeaderContentTileComponent, DsMobileInlinePhotoComponent, DsMobileInlineTabsComponent, DsMobileInteractiveListItemInquiryComponent, DsMobileInteractiveListItemMessageComponent, DsMobileInteractiveListItemPostComponent, DsMobileLightboxImageComponent as DsMobileLightboxComponent, DsMobileLightboxFooterComponent, DsMobileLightboxHeaderComponent, DsMobileLightboxImageComponent, DsMobileLightboxPdfComponent, DsMobileLightboxService, DsMobileListItemComponent, DsMobileListItemStaticComponent, DsMobileLongPressDirective, DsMobileMessageBubbleComponent, DsMobileMessageComposerComponent, DsMobileModalBaseComponent, DsMobileModalService, DsMobileNewInquiryModalComponent, DsMobileNewInquiryModalService, DsMobilePageDetailsComponent, DsMobilePageMainComponent, DsMobileActionsBottomSheetComponent as DsMobilePostActionsBottomSheetComponent, DsMobilePostComposerComponent, DsMobilePostCreateBottomSheetComponent, DsMobilePostDetailModalComponent, DsMobilePostDetailModalService, DsMobileTabBarComponent, DsMobileTabsComponent, DsTextInputComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, SectionHeaderComponent, SignInPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, UserService, WhitelabelDemoPage, WhitelabelService, customBackTransition, customPageTransition };
5322
+ export { ActionCommentComponent, ActionLikeComponent, ContentRowComponent, DsAvatarWithBadgeComponent, DsMobileActionsBottomSheetComponent, DsMobileAttachmentPreviewComponent, DsMobileBottomSheetService, DsMobileCardInlineBannerComponent, DsMobileCardInlineComponent, DsMobileCardInlineContactComponent, DsMobileCardInlineFileComponent, DsMobileChatModalComponent, DsMobileChatModalService, DsMobileActionsBottomSheetComponent as DsMobileCommentActionsBottomSheetComponent, DsMobileCommentComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileContentSectionComponent, DsMobileFabComponent, DsMobileHandbookDetailModalComponent, DsMobileHandbookDetailModalService, DsMobileHandbookFolderComponent, DsMobileHandbookFolderMiniComponent, DsMobileHeaderContentComponent, DsMobileHeaderContentTileComponent, DsMobileInlinePhotoComponent, DsMobileInlineTabsComponent, DsMobileInteractiveListItemInquiryComponent, DsMobileInteractiveListItemMessageComponent, DsMobileInteractiveListItemPostComponent, DsMobileLightboxImageComponent as DsMobileLightboxComponent, DsMobileLightboxFooterComponent, DsMobileLightboxHeaderComponent, DsMobileLightboxImageComponent, DsMobileLightboxPdfComponent, DsMobileLightboxService, DsMobileListItemComponent, DsMobileListItemStaticComponent, DsMobileLongPressDirective, DsMobileMessageBubbleComponent, DsMobileMessageComposerComponent, DsMobileModalBaseComponent, DsMobileModalService, DsMobileNewInquiryModalComponent, DsMobileNewInquiryModalService, DsMobilePageDetailsComponent, DsMobilePageMainComponent, DsMobileActionsBottomSheetComponent as DsMobilePostActionsBottomSheetComponent, DsMobilePostComposerComponent, DsMobilePostCreateBottomSheetComponent, DsMobilePostDetailModalComponent, DsMobilePostDetailModalService, DsMobileTabBarComponent, DsMobileTabsComponent, DsTextInputComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, SectionHeaderComponent, SignInPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, UserService, WhitelabelDemoPage, WhitelabelService, customBackTransition, customPageTransition };
5073
5323
  export type { ActionGroup, ActionItem, ActionResult, AttachmentData, AttachmentFileType, AttachmentItem, AvatarSize, AvatarType, BadgePosition, BottomSheetOptions, ChatAttachment, ChatMessage, ChatModalData, ChatParticipant, Comment, ActionResult as CommentActionResult, CommentData, ContactItem, ContentWidth, HandbookDetailData, HandbookItem, InlineTabItem, InquiryPhoto, LightboxAuthor, LightboxImage, LightboxImageOptions, LightboxMediaFile, LightboxMediaType, LightboxOptions, LightboxPdf, LightboxPdfOptions, ModalOptions, NewInquiryData, NewInquiryModalOptions, Post, ActionResult as PostActionResult, PostDetailData, TabConfig, WhitelabelConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.05",
3
+ "version": "0.2.06",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"