@propbinder/mobile-design 0.2.21 → 0.2.22
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/package.json
CHANGED
package/styles/ionic.css
CHANGED
|
@@ -276,7 +276,7 @@ ion-spinner {
|
|
|
276
276
|
color: var(--color-accent) !important;
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
-
ion-modal {
|
|
279
|
+
ion-modal:not(.ds-bottom-sheet) {
|
|
280
280
|
--background: var(--color-background-neutral-primary);
|
|
281
281
|
--border-radius: 16px;
|
|
282
282
|
--box-shadow: var(--box-shadow-lg);
|
|
@@ -286,7 +286,7 @@ ion-modal {
|
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
/* Prevent modal container from resizing when keyboard appears */
|
|
289
|
-
ion-modal::part(content) {
|
|
289
|
+
ion-modal:not(.ds-bottom-sheet)::part(content) {
|
|
290
290
|
position: fixed !important;
|
|
291
291
|
height: 100% !important;
|
|
292
292
|
max-height: 100vh !important;
|
|
@@ -329,9 +329,15 @@ ion-toast {
|
|
|
329
329
|
--box-shadow: 0px -2px 24px rgba(0, 0, 0, 0.12);
|
|
330
330
|
--backdrop-opacity: 0.4;
|
|
331
331
|
transition: --backdrop-opacity 0.3s ease;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
332
|
+
|
|
333
|
+
/* Position the modal container to fill screen */
|
|
334
|
+
top: 0 !important;
|
|
335
|
+
height: 100% !important;
|
|
336
|
+
|
|
337
|
+
/* Align the actual sheet at the bottom */
|
|
338
|
+
display: flex;
|
|
339
|
+
flex-direction: column;
|
|
340
|
+
justify-content: flex-end;
|
|
335
341
|
}
|
|
336
342
|
|
|
337
343
|
/* Backdrop styling */
|
|
@@ -349,18 +355,21 @@ ion-toast {
|
|
|
349
355
|
margin-bottom: 8px;
|
|
350
356
|
}
|
|
351
357
|
|
|
352
|
-
/* Content area styling */
|
|
358
|
+
/* Content area styling - Support auto-height by default for sheets */
|
|
353
359
|
.ds-bottom-sheet::part(content) {
|
|
354
360
|
/* Offset content below status bar (backdrop still covers full screen) */
|
|
355
361
|
margin-top: var(--app-sheet-top-offset);
|
|
356
362
|
border-radius: var(--border-radius) var(--border-radius) 0 0;
|
|
357
363
|
background: var(--color-background-neutral-primary, #ffffff);
|
|
358
364
|
box-shadow: var(--box-shadow);
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
height:
|
|
363
|
-
|
|
365
|
+
|
|
366
|
+
/* Auto-height logic: Only as tall as content */
|
|
367
|
+
height: auto !important;
|
|
368
|
+
max-height: calc(100dvh - var(--app-sheet-top-offset)) !important;
|
|
369
|
+
|
|
370
|
+
/* Sit at the bottom of the flex container */
|
|
371
|
+
position: relative !important;
|
|
372
|
+
margin-top: auto !important;
|
|
364
373
|
}
|
|
365
374
|
|
|
366
375
|
/* Remove border radius when fully expanded */
|
|
@@ -397,48 +406,27 @@ ion-toast {
|
|
|
397
406
|
Make action sheets auto-size to their content
|
|
398
407
|
============================================ */
|
|
399
408
|
|
|
400
|
-
/* Auto-height
|
|
401
|
-
.ds-bottom-sheet.auto-height {
|
|
402
|
-
top: 0 !important;
|
|
403
|
-
height: 100% !important;
|
|
404
|
-
--height: fit-content;
|
|
405
|
-
--max-height: 80vh;
|
|
406
|
-
display: flex;
|
|
407
|
-
align-items: flex-end;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
.ds-bottom-sheet.auto-height .modal-wrapper {
|
|
411
|
-
position: relative !important;
|
|
412
|
-
bottom: auto !important;
|
|
413
|
-
left: auto !important;
|
|
414
|
-
right: auto !important;
|
|
415
|
-
height: auto !important;
|
|
416
|
-
max-height: 80vh !important;
|
|
417
|
-
top: auto !important;
|
|
418
|
-
width: 100%;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
.ds-bottom-sheet.auto-height::part(content) {
|
|
422
|
-
position: relative !important;
|
|
423
|
-
height: auto !important;
|
|
424
|
-
max-height: 80vh !important;
|
|
425
|
-
top: auto !important;
|
|
426
|
-
bottom: auto !important;
|
|
427
|
-
}
|
|
409
|
+
/* Auto-height behavior is now part of .ds-bottom-sheet base */
|
|
428
410
|
|
|
429
411
|
/* Ensure action sheet component sizes naturally */
|
|
430
|
-
.ds-bottom-sheet
|
|
412
|
+
.ds-bottom-sheet ds-mobile-actions-bottom-sheet {
|
|
431
413
|
display: block;
|
|
432
414
|
height: auto;
|
|
433
415
|
}
|
|
434
416
|
|
|
435
417
|
/* Ensure action list scrolls if needed */
|
|
436
|
-
.ds-bottom-sheet
|
|
437
|
-
max-height: calc(
|
|
418
|
+
.ds-bottom-sheet .actions-list {
|
|
419
|
+
max-height: calc(85dvh - 80px); /* Account for handle, padding, and safe area */
|
|
438
420
|
overflow-y: auto;
|
|
439
421
|
-webkit-overflow-scrolling: touch;
|
|
440
422
|
}
|
|
441
423
|
|
|
424
|
+
/* Ensure ion-content doesn't force 100% height in sheets */
|
|
425
|
+
.ds-bottom-sheet ion-content {
|
|
426
|
+
height: auto !important;
|
|
427
|
+
--height: auto;
|
|
428
|
+
}
|
|
429
|
+
|
|
442
430
|
/* ============================================
|
|
443
431
|
Mobile Modal Styles (Generic Modal Service)
|
|
444
432
|
============================================ */
|