@propbinder/mobile-design 0.2.33 → 0.2.35

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
@@ -616,7 +616,7 @@ declare class DsMobileProfileActionsSheetComponent implements OnInit, OnChanges
616
616
  /**
617
617
  * Current view state
618
618
  */
619
- currentView: _angular_core.WritableSignal<"language" | "main">;
619
+ currentView: _angular_core.WritableSignal<"main" | "language">;
620
620
  /**
621
621
  * Reference to the view container for height calculations
622
622
  */
@@ -1158,7 +1158,7 @@ declare class DsMobileContentComponent {
1158
1158
  */
1159
1159
  declare class SectionHeaderComponent {
1160
1160
  /** Width of the header placeholder */
1161
- width: _angular_core.InputSignal<"full" | "half" | "third">;
1161
+ width: _angular_core.InputSignal<"half" | "third" | "full">;
1162
1162
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionHeaderComponent, never>;
1163
1163
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionHeaderComponent, "section-header", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1164
1164
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.33",
3
+ "version": "0.2.35",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"
package/styles/ionic.css CHANGED
@@ -328,15 +328,9 @@ ion-toast {
328
328
  --box-shadow: 0px -2px 24px rgba(0, 0, 0, 0.12);
329
329
  --backdrop-opacity: 0.4;
330
330
  transition: --backdrop-opacity 0.3s ease;
331
-
332
- /* Position the modal container to fill screen */
333
- top: 0 !important;
334
- height: 100% !important;
335
-
336
- /* Align the actual sheet at the bottom */
337
- display: flex;
338
- flex-direction: column;
339
- justify-content: flex-end;
331
+ /* Modal at top:0 so backdrop covers full screen including status bar */
332
+ top: 0;
333
+ height: 100%;
340
334
  }
341
335
 
342
336
  /* Backdrop styling */
@@ -354,21 +348,18 @@ ion-toast {
354
348
  margin-bottom: 8px;
355
349
  }
356
350
 
357
- /* Content area styling - Support auto-height by default for sheets */
351
+ /* Content area styling */
358
352
  .ds-bottom-sheet::part(content) {
359
353
  /* Offset content below status bar (backdrop still covers full screen) */
360
354
  margin-top: var(--app-sheet-top-offset);
361
355
  border-radius: var(--border-radius) var(--border-radius) 0 0;
362
356
  background: var(--color-background-neutral-primary, #ffffff);
363
357
  box-shadow: var(--box-shadow);
364
-
365
- /* Auto-height logic: Only as tall as content */
366
- height: auto !important;
367
- max-height: calc(100dvh - var(--app-sheet-top-offset)) !important;
368
-
369
- /* Sit at the bottom of the flex container */
370
- position: relative !important;
371
- margin-top: auto !important;
358
+ position: absolute !important;
359
+ top: 0 !important;
360
+ bottom: 0 !important;
361
+ height: 100% !important;
362
+ max-height: 100% !important;
372
363
  }
373
364
 
374
365
  /* Remove border radius when fully expanded */
@@ -405,8 +396,23 @@ ion-toast {
405
396
  Make action sheets auto-size to their content
406
397
  ============================================ */
407
398
 
408
- /* Auto-height behavior is now part of .ds-bottom-sheet base */
399
+ /* Auto-height modal - override base bottom sheet styles */
400
+ .ds-bottom-sheet.auto-height {
401
+ top: 0 !important;
402
+ height: 100% !important;
403
+ display: flex;
404
+ flex-direction: column;
405
+ justify-content: flex-end;
406
+ }
409
407
 
408
+ .ds-bottom-sheet.auto-height::part(content) {
409
+ position: relative !important;
410
+ height: auto !important;
411
+ max-height: 80vh !important;
412
+ top: auto !important;
413
+ bottom: auto !important;
414
+ margin-top: auto !important;
415
+ }
410
416
  /* Ensure action sheet component sizes naturally */
411
417
  .ds-bottom-sheet ds-mobile-actions-bottom-sheet {
412
418
  display: block;
@@ -620,12 +626,9 @@ ion-modal.ds-modal-base {
620
626
  --background: var(--color-background-neutral-primary, #ffffff);
621
627
  --width: 100%;
622
628
  --max-width: 640px;
623
- /* Subtract top offset from total height to avoid bottom clipping */
624
- --height: calc(100dvh - var(--app-sheet-top-offset, 24px)) !important;
625
- --max-height: calc(100dvh - var(--app-sheet-top-offset, 24px)) !important;
629
+ --height: 100dvh;
630
+ /* Full viewport height - content top offset creates gap */
626
631
  --border-radius: 16px 16px 0 0;
627
- display: flex !important;
628
- align-items: flex-end !important;
629
632
  }
630
633
 
631
634
  ion-modal.ds-modal-base::part(content) {
@@ -634,11 +637,10 @@ ion-modal.ds-modal-base::part(content) {
634
637
  background: var(--color-background-neutral-primary, #ffffff);
635
638
  max-width: 640px;
636
639
  margin: 0 auto;
637
- /* Reset Ionic's default top offset and stick to bottom */
638
- top: auto !important;
639
- bottom: 0 !important;
640
- height: 100% !important;
641
- position: relative !important;
640
+ /* Use top positioning instead of margin-top to work with fixed positioning */
641
+ top: var(--app-sheet-top-offset) !important;
642
+ height: calc(100% - var(--app-sheet-top-offset)) !important;
643
+ max-height: calc(100dvh - var(--app-sheet-top-offset)) !important;
642
644
  }
643
645
 
644
646
  /* Auto-height support for base modals */