@xenknight/framework7 0.0.3 → 0.0.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.
Files changed (92) hide show
  1. package/components/actions/actions-ios.less +22 -15
  2. package/components/actions/actions-rtl.css +1 -1
  3. package/components/actions/actions-vars.less +4 -7
  4. package/components/actions/actions.css +1 -1
  5. package/components/actions/actions.less +0 -3
  6. package/components/app/app-class.d.ts +2 -0
  7. package/components/app/app-class.js +10 -2
  8. package/components/app/app-vars.less +36 -0
  9. package/components/block/block-vars.less +6 -6
  10. package/components/button/button-vars.less +11 -10
  11. package/components/card/card-rtl.css +1 -1
  12. package/components/card/card-vars.less +5 -5
  13. package/components/card/card.css +1 -1
  14. package/components/dialog/dialog-class.js +6 -3
  15. package/components/dialog/dialog-ios.less +10 -34
  16. package/components/dialog/dialog-md.less +2 -22
  17. package/components/dialog/dialog-rtl.css +1 -1
  18. package/components/dialog/dialog-vars.less +8 -10
  19. package/components/dialog/dialog.css +1 -1
  20. package/components/dialog/dialog.js +3 -3
  21. package/components/dialog/dialog.less +6 -25
  22. package/components/list/list-vars.less +7 -5
  23. package/components/list/list.less +1 -1
  24. package/components/notification/notification-class.js +6 -6
  25. package/components/notification/notification-ios.less +3 -8
  26. package/components/notification/notification-md.less +1 -20
  27. package/components/notification/notification-rtl.css +1 -1
  28. package/components/notification/notification-vars.less +13 -16
  29. package/components/notification/notification.css +1 -1
  30. package/components/notification/notification.less +13 -1
  31. package/components/page/page-ios.less +4 -4
  32. package/components/page/page-md.less +2 -2
  33. package/components/popover/popover-class.js +21 -58
  34. package/components/popover/popover-ios.less +66 -2
  35. package/components/popover/popover-md.less +2 -27
  36. package/components/popover/popover-rtl.css +1 -1
  37. package/components/popover/popover-vars.less +2 -3
  38. package/components/popover/popover.css +1 -1
  39. package/components/popover/popover.d.ts +0 -2
  40. package/components/popover/popover.js +0 -1
  41. package/components/popover/popover.less +28 -50
  42. package/components/range/range-class.js +34 -27
  43. package/components/range/range-ios.less +60 -0
  44. package/components/range/range-md.less +67 -4
  45. package/components/range/range-rtl.css +1 -1
  46. package/components/range/range-vars.less +18 -13
  47. package/components/range/range.css +1 -1
  48. package/components/range/range.d.ts +3 -1
  49. package/components/range/range.less +11 -24
  50. package/components/swipeout/swipeout-ios.less +37 -0
  51. package/components/swipeout/swipeout-md.less +56 -0
  52. package/components/swipeout/swipeout-rtl.css +1 -1
  53. package/components/swipeout/swipeout-vars.less +13 -2
  54. package/components/swipeout/swipeout.css +1 -1
  55. package/components/swipeout/swipeout.js +99 -23
  56. package/components/swipeout/swipeout.less +20 -44
  57. package/components/toast/toast-class.js +2 -2
  58. package/components/toast/toast-ios.less +2 -0
  59. package/components/toast/toast-rtl.css +1 -1
  60. package/components/toast/toast-vars.less +2 -4
  61. package/components/toast/toast.css +1 -1
  62. package/components/toast/toast.less +1 -1
  63. package/components/toggle/toggle-class.js +4 -8
  64. package/components/toggle/toggle-ios.less +68 -50
  65. package/components/toggle/toggle-rtl.css +1 -1
  66. package/components/toggle/toggle-vars.less +2 -2
  67. package/components/toggle/toggle.css +1 -1
  68. package/framework7-bundle-rtl.css +551 -452
  69. package/framework7-bundle-rtl.min.css +5 -5
  70. package/framework7-bundle.css +551 -452
  71. package/framework7-bundle.esm.js +2 -2
  72. package/framework7-bundle.js +2460 -858
  73. package/framework7-bundle.js.map +1 -1
  74. package/framework7-bundle.less +2 -2
  75. package/framework7-bundle.min.css +5 -5
  76. package/framework7-bundle.min.js +3 -3
  77. package/framework7-bundle.min.js.map +1 -1
  78. package/framework7-lite-bundle.esm.js +2 -2
  79. package/framework7-lite.esm.js +2 -2
  80. package/framework7-rtl.css +63 -29
  81. package/framework7-rtl.min.css +4 -4
  82. package/framework7.css +63 -29
  83. package/framework7.esm.js +2 -2
  84. package/framework7.less +2 -2
  85. package/framework7.min.css +4 -4
  86. package/less/mixins.less +8 -0
  87. package/package.json +1 -1
  88. package/shared/get-support.d.ts +0 -6
  89. package/shared/get-support.js +1 -20
  90. package/shared/material-color-utils.js +2153 -679
  91. package/shared/material-colors.js +97 -17
  92. package/shared/utils.js +18 -6
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 0.0.2
2
+ * Framework7 0.0.5
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: July 26, 2025
10
+ * Released on: December 19, 2025
11
11
  */
12
12
 
13
13
  /*====================
@@ -86,6 +86,21 @@
86
86
  /*
87
87
  --f7-bars-link-color: var(--f7-theme-color);
88
88
  */
89
+ --f7-glass-bg-color: rgba(255, 255, 255, 0.75);
90
+ --f7-glass-shadow: inset -1px -1px 0px -0.5px #ffffff,
91
+ inset 1px 1px 0px -0.5px rgba(255, 255, 255, 1),
92
+ inset 3px 3px 10px -3px #ddd,
93
+ inset -3px -3px 10px -3px #ddd,
94
+ inset 0 0 5px 1px #fff,
95
+ inset 0 0 0 0.5px rgba(0, 0, 0, 0.25),
96
+ inset 0 0 24px 0 rgba(0, 0, 0, 0.1),
97
+ 0 0 25px 0 rgba(0, 0, 0, 0.2);
98
+ --f7-glass-shadow-thumb: inset -3px -3px 0px -3.5px #ffffff,
99
+ inset 3px 3px 0px -3.5px rgba(255, 255, 255, 1),
100
+ inset 0px 0px 0px 0.5px rgba(255, 255, 255, 0.5),
101
+ inset 3px 3px 10px -2px #eee,
102
+ inset -3px -3px 10px -2px #eee,
103
+ inset 0 0 5px 1px #fff;
89
104
  --f7-bars-text-color: #000;
90
105
  --f7-text-color: #000;
91
106
  --f7-bars-bg-color: #f7f7f8;
@@ -94,6 +109,23 @@
94
109
  }
95
110
  .ios .dark,
96
111
  .ios.dark {
112
+ --f7-glass-bg-color: rgba(50, 50, 50, 0.5);
113
+ --f7-glass-shadow: inset -2px -2px 0.5px -2.5px rgba(255, 255, 255, 0.4),
114
+ inset 3px 3px 0.5px -3.5px rgba(255, 255, 255, 0.4),
115
+ inset 2px 2px 0.5px -2px #262626,
116
+ inset -2px -2px 0.5px -2px #262626,
117
+ inset 0 0 5px 1px #141414,
118
+ inset 0 0 0 1px rgba(255, 255, 255, 0.15),
119
+ inset 0 0 10px 0 rgba(255, 255, 255, 0.075),
120
+ inset 0 0 24px 0 rgba(255, 255, 255, 0.05),
121
+ 0 0 25px 0 rgba(0, 0, 0, 0.15);
122
+ --f7-glass-shadow-thumb: inset 3px 3px 0px -3.5px #ffffff,
123
+ inset -3px -3px 0px -3.5px rgba(255, 255, 255, 1),
124
+ inset -0.5px -0.5px 0px rgba(255, 255, 255, 0.5),
125
+ inset 0.5px 0.5px 0px rgba(255, 255, 255, 0.1),
126
+ inset -3px 3px 0px -3.5px rgba(255, 255, 255, 0.25),
127
+ inset 0px -5px 0px -3.5px rgba(255, 255, 255, 0.25),
128
+ inset 0px -5px 5px rgba(255, 255, 255, 0.25);
97
129
  --f7-bars-text-color: #fff;
98
130
  --f7-text-color: #fff;
99
131
  --f7-bars-bg-color: #121212;
@@ -427,10 +459,10 @@ html.device-full-viewport body {
427
459
  z-index: 10000;
428
460
  }
429
461
  .ios .page-previous {
430
- transform: translate3d(20%, 0, 0);
462
+ transform: translate3d(20%, 0, 0) scale(0.5);
431
463
  }
432
464
  .ios .page-next {
433
- transform: translate3d(-100%, 0, 0);
465
+ transform: translate3d(-100%, 0, 0) scale(1);
434
466
  }
435
467
  .ios .page-previous .page-opacity-effect {
436
468
  opacity: 1;
@@ -550,11 +582,11 @@ html.device-full-viewport body {
550
582
  }
551
583
  }
552
584
  .md .page-previous {
553
- transform: translate3d(0, -20px, 0);
585
+ transform: translate3d(0, -20px, 0) scale(0.5);
554
586
  }
555
587
  .md .page-next {
556
588
  pointer-events: none;
557
- transform: translate3d(0, 128px, 0);
589
+ transform: translate3d(0, 128px, 0) scale(0.5);
558
590
  opacity: 0;
559
591
  }
560
592
  .md .page-next.page-next-on-right {
@@ -2970,18 +3002,18 @@ html.device-full-viewport body {
2970
3002
  --f7-block-text-color: inherit;
2971
3003
  --f7-block-margin-vertical: 35px;
2972
3004
  --f7-block-outline-border-color: rgba(0, 0, 0, 0.22);
2973
- --f7-block-title-font-size: 16px;
3005
+ --f7-block-title-font-size: 17px;
2974
3006
  --f7-block-title-font-weight: 600;
2975
3007
  --f7-block-title-line-height: 20px;
2976
3008
  --f7-block-title-margin-bottom: 10px;
2977
- --f7-block-title-medium-font-size: 22px;
3009
+ --f7-block-title-medium-font-size: 20px;
2978
3010
  --f7-block-title-medium-font-weight: bold;
2979
3011
  --f7-block-title-medium-line-height: 1.4;
2980
- --f7-block-title-large-font-size: 30px;
3012
+ --f7-block-title-large-font-size: 22px;
2981
3013
  --f7-block-title-large-font-weight: bold;
2982
3014
  --f7-block-title-large-line-height: 1.3;
2983
- --f7-block-inset-border-radius: 8px;
2984
- --f7-block-title-text-color: #000;
3015
+ --f7-block-inset-border-radius: 24px;
3016
+ --f7-block-title-text-color: rgba(0, 0, 0, 0.6);
2985
3017
  --f7-block-strong-text-color: #000;
2986
3018
  --f7-block-header-text-color: rgba(0, 0, 0, 0.45);
2987
3019
  --f7-block-footer-text-color: rgba(0, 0, 0, 0.45);
@@ -2991,7 +3023,7 @@ html.device-full-viewport body {
2991
3023
  }
2992
3024
  .ios .dark,
2993
3025
  .ios.dark {
2994
- --f7-block-title-text-color: #fff;
3026
+ --f7-block-title-text-color: rgba(255, 255, 255, 0.6);
2995
3027
  --f7-block-header-text-color: rgba(255, 255, 255, 0.55);
2996
3028
  --f7-block-footer-text-color: rgba(255, 255, 255, 0.55);
2997
3029
  --f7-block-strong-text-color: #fff;
@@ -3397,7 +3429,6 @@ html.device-full-viewport body {
3397
3429
  :root {
3398
3430
  --f7-list-inset-side-margin: 16px;
3399
3431
  --f7-list-item-padding-horizontal: 16px;
3400
- --f7-list-item-padding-vertical: 8px;
3401
3432
  --f7-list-media-item-padding-horizontal: 16px;
3402
3433
  --f7-list-item-text-max-lines: 2;
3403
3434
  --f7-list-chevron-icon-font-size: 20px;
@@ -3441,8 +3472,9 @@ html.device-full-viewport body {
3441
3472
  --f7-list-chevron-icon-color: rgba(255, 255, 255, 0.3);
3442
3473
  }
3443
3474
  .ios {
3475
+ --f7-list-item-padding-vertical: 12px;
3444
3476
  --f7-list-in-list-padding-left: 30px;
3445
- --f7-list-inset-border-radius: 8px;
3477
+ --f7-list-inset-border-radius: 24px;
3446
3478
  --f7-list-margin-vertical: 35px;
3447
3479
  --f7-list-font-size: 17px;
3448
3480
  --f7-list-chevron-icon-area: 20px;
@@ -3454,7 +3486,7 @@ html.device-full-viewport body {
3454
3486
  --f7-list-item-text-line-height: 21px;
3455
3487
  --f7-list-item-after-font-size: inherit;
3456
3488
  --f7-list-item-after-padding: 5px;
3457
- --f7-list-item-min-height: 44px;
3489
+ --f7-list-item-min-height: 52px;
3458
3490
  --f7-list-item-media-icons-margin: 5px;
3459
3491
  --f7-list-media-item-padding-vertical: 10px;
3460
3492
  --f7-list-media-item-title-font-weight: 600;
@@ -3467,7 +3499,7 @@ html.device-full-viewport body {
3467
3499
  --f7-list-group-title-font-size: inherit;
3468
3500
  --f7-list-group-title-font-weight: 400;
3469
3501
  --f7-menu-list-offset: 8px;
3470
- --f7-menu-list-border-radius: 8px;
3502
+ --f7-menu-list-border-radius: 16px;
3471
3503
  --f7-menu-list-item-bg-color: transparent;
3472
3504
  --f7-menu-list-item-text-color: inherit;
3473
3505
  --f7-menu-list-item-min-height: 44px;
@@ -3486,7 +3518,7 @@ html.device-full-viewport body {
3486
3518
  .ios .dark,
3487
3519
  .ios.dark {
3488
3520
  --f7-list-item-border-color: rgba(255, 255, 255, 0.15);
3489
- --f7-list-outline-inset-color: rgba(255, 255, 255, 0.15);
3521
+ --f7-list-outline-inset-border-color: rgba(255, 255, 255, 0.15);
3490
3522
  --f7-list-strong-bg-color: #1c1c1d;
3491
3523
  --f7-list-item-after-text-color: rgba(255, 255, 255, 0.55);
3492
3524
  --f7-list-item-header-text-color: rgba(255, 255, 255, 0.55);
@@ -3499,6 +3531,7 @@ html.device-full-viewport body {
3499
3531
  --f7-menu-list-item-selected-bg-color: var(--f7-theme-color);
3500
3532
  }
3501
3533
  .md {
3534
+ --f7-list-item-padding-vertical: 8px;
3502
3535
  --f7-list-in-list-padding-left: 24px;
3503
3536
  --f7-list-inset-border-radius: 16px;
3504
3537
  --f7-list-margin-vertical: 32px;
@@ -3709,8 +3742,8 @@ html.device-full-viewport body {
3709
3742
  .list label.item-content {
3710
3743
  color: inherit;
3711
3744
  }
3712
- .list .item-link.active-state,
3713
- .list label.item-content.active-state {
3745
+ .list .item-link.active-state:not(:has(.toggle-active-state)),
3746
+ .list label.item-content.active-state:not(:has(.toggle-active-state)) {
3714
3747
  background-color: var(--f7-list-link-pressed-bg-color);
3715
3748
  }
3716
3749
  .list .item-link .item-inner {
@@ -4521,7 +4554,6 @@ li.list-group-title:after,
4521
4554
  --f7-badge-bg-color: var(--f7-theme-color);
4522
4555
  }
4523
4556
  :root {
4524
- --f7-button-font-size: 14px;
4525
4557
  --f7-button-min-width: 32px;
4526
4558
  --f7-button-bg-color: transparent;
4527
4559
  --f7-button-border-width: 0px;
@@ -4553,12 +4585,13 @@ li.list-group-title:after,
4553
4585
  --f7-segmented-strong-button-active-text-color: #fff;
4554
4586
  }
4555
4587
  .ios {
4588
+ --f7-button-font-size: 15px;
4556
4589
  --f7-button-fill-text-color: #fff;
4557
- --f7-button-text-transform: uppercase;
4558
- --f7-button-height: 28px;
4590
+ --f7-button-text-transform: none;
4591
+ --f7-button-height: 34px;
4559
4592
  --f7-button-padding-horizontal: 10px;
4560
4593
  --f7-button-border-radius: 4px;
4561
- --f7-button-font-weight: 600;
4594
+ --f7-button-font-weight: 500;
4562
4595
  --f7-button-letter-spacing: 0;
4563
4596
  /*
4564
4597
  --f7-button-outline-border-color: var(--f7-theme-color);
@@ -4568,15 +4601,15 @@ li.list-group-title:after,
4568
4601
  --f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
4569
4602
  --f7-button-fill-pressed-bg-color: var(--f7-theme-color-tint);
4570
4603
  */
4571
- --f7-button-large-text-transform: uppercase;
4572
- --f7-button-large-height: 44px;
4604
+ --f7-button-large-text-transform: none;
4605
+ --f7-button-large-height: 48px;
4573
4606
  --f7-button-large-font-size: 17px;
4574
4607
  --f7-button-large-font-weight: 500;
4575
4608
  --f7-button-small-outline-border-width: 2px;
4576
- --f7-button-small-text-transform: uppercase;
4577
- --f7-button-small-height: 26px;
4578
- --f7-button-small-font-size: 13px;
4579
- --f7-button-small-font-weight: 600;
4609
+ --f7-button-small-text-transform: none;
4610
+ --f7-button-small-height: 28px;
4611
+ --f7-button-small-font-size: 14px;
4612
+ --f7-button-small-font-weight: 500;
4580
4613
  --f7-segmented-strong-button-text-transform: none;
4581
4614
  --f7-segmented-strong-button-active-font-weight: 600;
4582
4615
  --f7-button-tonal-bg-color: rgba(var(--f7-theme-color-rgb), 0.15);
@@ -4591,6 +4624,7 @@ li.list-group-title:after,
4591
4624
  --f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
4592
4625
  }
4593
4626
  .md {
4627
+ --f7-button-font-size: 14px;
4594
4628
  /*
4595
4629
  --f7-button-pressed-bg-color: transparent;
4596
4630
  */
@@ -5254,15 +5288,16 @@ i.icon {
5254
5288
  :root {
5255
5289
  --f7-dialog-button-text-color: var(--f7-theme-color);
5256
5290
  --f7-dialog-button-text-align: center;
5291
+ --f7-dialog-text-line-height: 1.5;
5257
5292
  }
5258
5293
  .ios {
5259
5294
  --f7-dialog-width: 270px;
5260
- --f7-dialog-inner-padding: 16px;
5261
- --f7-dialog-border-radius: 13px;
5262
- --f7-dialog-text-align: center;
5295
+ --f7-dialog-inner-padding: 24px;
5296
+ --f7-dialog-border-radius: 32px;
5297
+ --f7-dialog-text-align: left;
5263
5298
  --f7-dialog-font-size: 14px;
5264
5299
  --f7-dialog-title-text-color: inherit;
5265
- --f7-dialog-title-font-size: 18px;
5300
+ --f7-dialog-title-font-size: 17px;
5266
5301
  --f7-dialog-title-font-weight: 600;
5267
5302
  --f7-dialog-title-line-height: inherit;
5268
5303
  --f7-dialog-button-font-size: 17px;
@@ -5273,29 +5308,26 @@ i.icon {
5273
5308
  --f7-dialog-button-strong-bg-color: transparent;
5274
5309
  --f7-dialog-button-strong-text-color: var(--f7-theme-color);
5275
5310
  --f7-dialog-button-strong-font-weight: 500;
5276
- --f7-dialog-input-border-radius: 4px;
5311
+ --f7-dialog-input-border-radius: 16px;
5277
5312
  --f7-dialog-input-font-size: 14px;
5278
- --f7-dialog-input-height: 32px;
5313
+ --f7-dialog-input-height: 40px;
5279
5314
  --f7-dialog-input-border-width: 1px;
5280
5315
  --f7-dialog-input-placeholder-color: #a9a9a9;
5281
5316
  --f7-dialog-preloader-size: 34px;
5317
+ --f7-dialog-bg-color: var(--f7-glass-bg-color);
5282
5318
  --f7-dialog-input-bg-color: #fff;
5283
- --f7-dialog-bg-color: rgba(255, 255, 255, 0.95);
5284
5319
  --f7-dialog-bg-color-rgb: 255, 255, 255;
5285
5320
  --f7-dialog-text-color: #000;
5286
5321
  --f7-dialog-button-pressed-bg-color: rgba(0, 0, 0, 0.1);
5287
5322
  --f7-dialog-button-strong-pressed-bg-color: rgba(0, 0, 0, 0.1);
5288
5323
  --f7-dialog-input-border-color: rgba(0, 0, 0, 0.3);
5289
- --f7-dialog-border-divider-color: rgba(0, 0, 0, 0.2);
5290
5324
  }
5291
5325
  .ios .dark,
5292
5326
  .ios.dark {
5293
5327
  --f7-dialog-text-color: #fff;
5294
- --f7-dialog-bg-color: rgba(45, 45, 45, 0.95);
5295
5328
  --f7-dialog-bg-color-rgb: 45, 45, 45;
5296
5329
  --f7-dialog-button-pressed-bg-color: rgba(0, 0, 0, 0.2);
5297
5330
  --f7-dialog-button-strong-pressed-bg-color: rgba(0, 0, 0, 0.2);
5298
- --f7-dialog-border-divider-color: rgba(255, 255, 255, 0.15);
5299
5331
  --f7-dialog-input-border-color: rgba(255, 255, 255, 0.15);
5300
5332
  --f7-dialog-input-bg-color: rgba(0, 0, 0, 0.5);
5301
5333
  }
@@ -5355,13 +5387,6 @@ i.icon {
5355
5387
  background: var(--f7-dialog-bg-color);
5356
5388
  will-change: transform, opacity;
5357
5389
  }
5358
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
5359
- .ios-translucent-modals .dialog {
5360
- background-color: rgba(var(--f7-dialog-bg-color-rgb), 0.8);
5361
- -webkit-backdrop-filter: saturate(180%) blur(20px);
5362
- backdrop-filter: saturate(180%) blur(20px);
5363
- }
5364
- }
5365
5390
  .dialog.modal-in {
5366
5391
  opacity: 1;
5367
5392
  transform: translate3d(0, -50%, 0) scale(1);
@@ -5383,42 +5408,23 @@ i.icon {
5383
5408
  font-weight: var(--f7-dialog-title-font-weight);
5384
5409
  line-height: var(--f7-dialog-title-line-height);
5385
5410
  }
5411
+ .dialog-text {
5412
+ line-height: var(--f7-dialog-text-line-height);
5413
+ }
5386
5414
  .dialog-buttons {
5387
5415
  position: relative;
5388
5416
  display: flex;
5389
5417
  flex-direction: row-reverse;
5390
5418
  }
5391
5419
  .dialog-buttons-vertical .dialog-buttons {
5392
- display: block;
5420
+ flex-direction: column;
5393
5421
  height: auto !important;
5394
5422
  }
5395
5423
  .dialog-button {
5396
- box-sizing: border-box;
5397
5424
  overflow: hidden;
5398
5425
  position: relative;
5399
5426
  white-space: nowrap;
5400
5427
  text-overflow: ellipsis;
5401
- color: var(--f7-dialog-button-text-color);
5402
- font-size: var(--f7-dialog-button-font-size);
5403
- height: var(--f7-dialog-button-height);
5404
- line-height: var(--f7-dialog-button-height);
5405
- letter-spacing: var(--f7-dialog-button-letter-spacing);
5406
- text-align: var(--f7-dialog-button-text-align);
5407
- font-weight: var(--f7-dialog-button-font-weight);
5408
- text-transform: var(--f7-dialog-button-text-transform);
5409
- display: block;
5410
- cursor: pointer;
5411
- }
5412
- .dialog-button.active-state {
5413
- background-color: var(--f7-dialog-button-pressed-bg-color);
5414
- }
5415
- .dialog-button-strong {
5416
- background-color: var(--f7-dialog-button-strong-bg-color);
5417
- color: var(--f7-dialog-button-strong-text-color);
5418
- font-weight: var(--f7-dialog-button-strong-font-weight);
5419
- }
5420
- .dialog-button-strong.active-state {
5421
- background-color: var(--f7-dialog-button-strong-pressed-bg-color);
5422
5428
  }
5423
5429
  .dialog-no-buttons .dialog-buttons {
5424
5430
  display: none;
@@ -5454,115 +5460,46 @@ input.dialog-input[type]::placeholder {
5454
5460
  .dialog-preloader .preloader {
5455
5461
  --f7-preloader-size: var(--f7-dialog-preloader-size);
5456
5462
  }
5457
- html.with-modal-dialog .page-content {
5463
+ html:has(.dialog.modal-in) .page-content {
5458
5464
  overflow: hidden;
5459
5465
  -webkit-overflow-scrolling: auto;
5460
5466
  }
5467
+ .ios .dialog {
5468
+ box-shadow: var(--f7-glass-shadow);
5469
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
5470
+ backdrop-filter: saturate(180%) blur(16px);
5471
+ border-radius: var(--f7-dialog-border-radius);
5472
+ }
5461
5473
  .ios .dialog.modal-out {
5462
5474
  transform: translate3d(0, -50%, 0) scale(1);
5463
5475
  }
5464
5476
  .ios .dialog-inner {
5465
5477
  border-radius: var(--f7-dialog-border-radius) var(--f7-dialog-border-radius) 0 0;
5466
5478
  }
5467
- .ios .dialog-inner:after {
5468
- content: '';
5469
- position: absolute;
5470
- background-color: var(--f7-dialog-border-divider-color);
5471
- display: block;
5472
- z-index: 15;
5473
- top: auto;
5474
- right: auto;
5475
- bottom: 0;
5476
- left: 0;
5477
- height: 1px;
5478
- width: 100%;
5479
- transform-origin: 50% 100%;
5480
- transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
5481
- }
5482
5479
  .ios .dialog-title + .dialog-text {
5483
- margin-top: 5px;
5480
+ margin-top: 12px;
5484
5481
  }
5485
5482
  .ios .dialog-buttons {
5486
- height: 44px;
5483
+ padding: 0 14px 14px 14px;
5487
5484
  justify-content: center;
5485
+ gap: 8px;
5488
5486
  }
5489
5487
  .ios .dialog-button {
5490
5488
  width: 100%;
5491
- padding: 0 5px;
5492
5489
  -webkit-box-flex: 1;
5493
5490
  -ms-flex: 1;
5494
5491
  }
5495
- .ios .dialog-button:after {
5496
- content: '';
5497
- position: absolute;
5498
- background-color: var(--f7-dialog-border-divider-color);
5499
- display: block;
5500
- z-index: 15;
5501
- top: 0;
5502
- right: 0;
5503
- bottom: auto;
5504
- left: auto;
5505
- width: 1px;
5506
- height: 100%;
5507
- transform-origin: 100% 50%;
5508
- transform: scaleX(calc(1 / var(--f7-device-pixel-ratio)));
5509
- }
5510
- .ios .dialog-button:first-child {
5511
- border-radius: 0 0 0 var(--f7-dialog-border-radius);
5512
- }
5513
- .ios .dialog-button:last-child {
5514
- border-radius: 0 0 var(--f7-dialog-border-radius) 0;
5515
- }
5516
- .ios .dialog-button:last-child:after {
5517
- display: none !important;
5518
- }
5519
- .ios .dialog-button:first-child:last-child {
5520
- border-radius: 0 0 var(--f7-dialog-border-radius) var(--f7-dialog-border-radius);
5521
- }
5522
- .ios .dialog-button[class*='color-'] {
5523
- --f7-dialog-button-text-color: var(--f7-theme-color);
5524
- }
5525
- .ios .dialog-buttons-vertical .dialog-buttons {
5526
- height: auto;
5527
- }
5528
- .ios .dialog-buttons-vertical .dialog-button {
5529
- border-radius: 0;
5530
- }
5531
- .ios .dialog-buttons-vertical .dialog-button:after {
5532
- content: '';
5533
- position: absolute;
5534
- background-color: var(--f7-dialog-border-divider-color);
5535
- display: block;
5536
- z-index: 15;
5537
- top: auto;
5538
- right: auto;
5539
- bottom: 0;
5540
- left: 0;
5541
- height: 1px;
5542
- width: 100%;
5543
- transform-origin: 50% 100%;
5544
- transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
5545
- }
5546
- .ios .dialog-buttons-vertical .dialog-button:last-child {
5547
- border-radius: 0 0 var(--f7-dialog-border-radius) var(--f7-dialog-border-radius);
5548
- }
5549
- .ios .dialog-buttons-vertical .dialog-button:last-child:after {
5550
- display: none !important;
5551
- }
5552
5492
  .ios .dialog-no-buttons .dialog-inner {
5553
5493
  border-radius: var(--f7-dialog-border-radius);
5554
5494
  }
5555
- .ios .dialog-no-buttons .dialog-inner:after {
5556
- display: none !important;
5557
- }
5558
5495
  .ios .dialog-input-field {
5559
5496
  margin-top: 15px;
5560
5497
  }
5561
5498
  .ios .dialog-input {
5562
- padding: 0 5px;
5499
+ padding: 0 12px;
5563
5500
  }
5564
5501
  .ios .dialog-input + .dialog-input {
5565
- margin-top: 5px;
5502
+ margin-top: 12px;
5566
5503
  }
5567
5504
  .ios .dialog-input-double + .dialog-input-double {
5568
5505
  margin-top: 0;
@@ -5571,6 +5508,9 @@ html.with-modal-dialog .page-content {
5571
5508
  border-top: 0;
5572
5509
  margin-top: 0;
5573
5510
  }
5511
+ .ios .dialog-preloader {
5512
+ text-align: center;
5513
+ }
5574
5514
  .ios .dialog-preloader .dialog-title ~ .preloader,
5575
5515
  .ios .dialog-preloader .dialog-text ~ .preloader {
5576
5516
  margin-top: 15px;
@@ -5591,39 +5531,20 @@ html.with-modal-dialog .page-content {
5591
5531
  line-height: 1.5;
5592
5532
  }
5593
5533
  .md .dialog-buttons {
5594
- height: 64px;
5595
5534
  padding: 0px 24px 24px;
5596
5535
  overflow: hidden;
5597
5536
  box-sizing: border-box;
5598
5537
  justify-content: flex-end;
5538
+ gap: 8px;
5599
5539
  }
5600
5540
  .md .dialog-button {
5601
- --f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
5602
- border-radius: 99px;
5603
- min-width: 64px;
5604
- padding: 0px 16px;
5605
- border: none;
5606
- transition-duration: 300ms;
5607
- transform: translate3d(0, 0, 0);
5608
- }
5609
- .md .dialog-button + .dialog-button {
5610
- margin-left: 8px;
5611
- }
5612
- .md .dialog-button-strong {
5613
- --f7-touch-ripple-color: var(--f7-touch-ripple-white);
5614
- }
5615
- .md .dialog-button[class*='color-'] {
5616
- --f7-dialog-button-text-color: var(--f7-theme-color);
5541
+ width: auto;
5617
5542
  }
5618
5543
  .md .dialog-buttons-vertical .dialog-buttons {
5619
5544
  display: flex;
5620
5545
  flex-direction: column;
5621
5546
  align-items: flex-end;
5622
5547
  }
5623
- .md .dialog-buttons-vertical .dialog-button + .dialog-button {
5624
- margin-top: 8px;
5625
- margin-left: 0;
5626
- }
5627
5548
  .md .dialog-input {
5628
5549
  padding: 0;
5629
5550
  transition-duration: 200ms;
@@ -5986,15 +5907,14 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
5986
5907
  --f7-popover-width: 260px;
5987
5908
  }
5988
5909
  .ios {
5989
- --f7-popover-border-radius: 13px;
5910
+ --f7-popover-border-radius: 32px;
5990
5911
  --f7-popover-actions-icon-size: 28px;
5991
5912
  --f7-popover-transition-timing-function: initial;
5992
- --f7-popover-bg-color: rgba(255, 255, 255, 0.95);
5913
+ --f7-popover-bg-color: transparent;
5993
5914
  --f7-popover-actions-label-text-color: rgba(0, 0, 0, 0.45);
5994
5915
  }
5995
5916
  .ios .dark,
5996
5917
  .ios.dark {
5997
- --f7-popover-bg-color: rgba(30, 30, 30, 0.95);
5998
5918
  --f7-popover-actions-label-text-color: rgba(255, 255, 255, 0.55);
5999
5919
  }
6000
5920
  .md {
@@ -6020,7 +5940,6 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6020
5940
  left: 0;
6021
5941
  position: absolute;
6022
5942
  display: none;
6023
- transition-duration: 300ms;
6024
5943
  background-color: var(--f7-popover-bg-color);
6025
5944
  border-radius: var(--f7-popover-border-radius);
6026
5945
  will-change: transform, opacity;
@@ -6122,98 +6041,112 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6122
6041
  .md .popover-from-actions-label {
6123
6042
  justify-content: center;
6124
6043
  }
6125
- .popover-arrow {
6126
- width: 26px;
6127
- height: 26px;
6128
- position: absolute;
6129
- left: -26px;
6130
- top: 0;
6131
- z-index: 100;
6132
- overflow: hidden;
6133
- }
6134
- .popover-arrow:after {
6135
- content: '';
6136
- background: var(--f7-popover-bg-color);
6137
- width: 26px;
6138
- height: 26px;
6139
- position: absolute;
6140
- left: 0;
6141
- top: 0;
6142
- border-radius: 3px;
6143
- transform: rotate(45deg);
6144
- }
6145
- .popover-arrow.on-left {
6146
- left: -26px;
6147
- }
6148
- .popover-arrow.on-left:after {
6149
- left: 19px;
6150
- top: 0;
6151
- }
6152
- .popover-arrow.on-right {
6153
- left: 100%;
6154
- }
6155
- .popover-arrow.on-right:after {
6156
- left: -19px;
6157
- top: 0;
6044
+ .popover-on-top {
6045
+ transform-origin: center bottom;
6158
6046
  }
6159
- .popover-arrow.on-top {
6160
- left: 0;
6161
- top: -26px;
6047
+ .popover-on-top.popover-on-right {
6048
+ transform-origin: left bottom;
6162
6049
  }
6163
- .popover-arrow.on-top:after {
6164
- left: 0;
6165
- top: 19px;
6050
+ .popover-on-top.popover-on-left {
6051
+ transform-origin: right bottom;
6166
6052
  }
6167
- .popover-arrow.on-bottom {
6168
- left: 0;
6169
- top: 100%;
6053
+ .popover-on-middle {
6054
+ transform-origin: center center;
6170
6055
  }
6171
- .popover-arrow.on-bottom:after {
6172
- left: 0;
6173
- top: -19px;
6056
+ .popover-on-middle.popover-on-right {
6057
+ transform-origin: left center;
6174
6058
  }
6175
- .ios .popover {
6176
- transform: none;
6177
- transition-property: opacity;
6059
+ .popover-on-middle.popover-on-left {
6060
+ transform-origin: right center;
6178
6061
  }
6179
- .md .popover {
6180
- transform: scale(0.85, 0.6);
6181
- transition-property: opacity, transform;
6062
+ .popover-on-bottom {
6063
+ transform-origin: center top;
6182
6064
  }
6183
- .md .popover.modal-in {
6184
- opacity: 1;
6185
- transform: scale(1);
6065
+ .popover-on-bottom.popover-on-right {
6066
+ transform-origin: left top;
6186
6067
  }
6187
- .md .popover.modal-out {
6188
- opacity: 0;
6189
- transform: scale(1);
6068
+ .popover-on-bottom.popover-on-left {
6069
+ transform-origin: right top;
6190
6070
  }
6191
- .md .popover-on-top {
6071
+ .ios .popover-on-top {
6192
6072
  transform-origin: center bottom;
6073
+ --f7-popover-inner-offset: translate3d(0%, 80px, 0);
6193
6074
  }
6194
- .md .popover-on-top.popover-on-right {
6075
+ .ios .popover-on-top.popover-on-right {
6195
6076
  transform-origin: left bottom;
6077
+ --f7-popover-inner-offset: translate3d(50%, 80px, 0);
6196
6078
  }
6197
- .md .popover-on-top.popover-on-left {
6079
+ .ios .popover-on-top.popover-on-left {
6198
6080
  transform-origin: right bottom;
6081
+ --f7-popover-inner-offset: translate3d(-50%, 80px, 0);
6199
6082
  }
6200
- .md .popover-on-middle {
6083
+ .ios .popover-on-middle {
6201
6084
  transform-origin: center center;
6202
6085
  }
6203
- .md .popover-on-middle.popover-on-right {
6086
+ .ios .popover-on-middle.popover-on-right {
6204
6087
  transform-origin: left center;
6088
+ --f7-popover-inner-offset: translate3d(50%, 0px, 0);
6205
6089
  }
6206
- .md .popover-on-middle.popover-on-left {
6090
+ .ios .popover-on-middle.popover-on-left {
6207
6091
  transform-origin: right center;
6092
+ --f7-popover-inner-offset: translate3d(-50%, 0px, 0);
6208
6093
  }
6209
- .md .popover-on-bottom {
6094
+ .ios .popover-on-bottom {
6210
6095
  transform-origin: center top;
6096
+ --f7-popover-inner-offset: translate3d(0%, -80px, 0);
6211
6097
  }
6212
- .md .popover-on-bottom.popover-on-right {
6098
+ .ios .popover-on-bottom.popover-on-right {
6213
6099
  transform-origin: left top;
6100
+ --f7-popover-inner-offset: translate3d(50%, -80px, 0);
6214
6101
  }
6215
- .md .popover-on-bottom.popover-on-left {
6102
+ .ios .popover-on-bottom.popover-on-left {
6216
6103
  transform-origin: right top;
6104
+ --f7-popover-inner-offset: translate3d(-50%, -80px, 0);
6105
+ }
6106
+ .ios .popover {
6107
+ transform: translate3d(0, 0, 0) scale(0);
6108
+ transition-property: opacity, transform;
6109
+ opacity: 1;
6110
+ will-change: auto;
6111
+ }
6112
+ .ios .popover.modal-in {
6113
+ transform: translate3d(0, 0, 0) scale(1);
6114
+ transition-timing-function: cubic-bezier(0, 1, 0.2, 1.05);
6115
+ transition-duration: 400ms;
6116
+ }
6117
+ .ios .popover.modal-in .popover-inner {
6118
+ transition-duration: 600ms;
6119
+ transition-timing-function: cubic-bezier(0, 1, 0.2, 1.05);
6120
+ transform: translate3d(0, 0, 0) scale(1);
6121
+ }
6122
+ .ios .popover.modal-out {
6123
+ opacity: 0;
6124
+ transform: translate3d(0, 0, 0) scale(0);
6125
+ transition-duration: 300ms;
6126
+ }
6127
+ .ios .popover.modal-out .popover-inner {
6128
+ transition-duration: 500ms;
6129
+ }
6130
+ .ios .popover-inner {
6131
+ background: var(--f7-glass-bg-color);
6132
+ box-shadow: var(--f7-glass-shadow);
6133
+ border-radius: var(--f7-popover-border-radius);
6134
+ transform: var(--f7-popover-inner-offset);
6135
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
6136
+ backdrop-filter: saturate(180%) blur(16px);
6137
+ }
6138
+ .md .popover {
6139
+ transform: scale(0.85, 0.6);
6140
+ transition-property: opacity, transform;
6141
+ transition-duration: 300ms;
6142
+ }
6143
+ .md .popover.modal-in {
6144
+ opacity: 1;
6145
+ transform: scale(1);
6146
+ }
6147
+ .md .popover.modal-out {
6148
+ opacity: 0;
6149
+ transform: scale(1);
6217
6150
  }
6218
6151
  /* === Actions === */
6219
6152
  :root {
@@ -6222,15 +6155,15 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6222
6155
  }
6223
6156
  .ios {
6224
6157
  --f7-actions-transition-timing-function: initial;
6225
- --f7-actions-border-radius: 13px;
6158
+ --f7-actions-border-radius: 32px;
6226
6159
  /*
6227
6160
  --f7-actions-button-text-color: var(--f7-theme-color);
6228
6161
  */
6229
6162
  --f7-actions-grid-button-text-color: #757575;
6230
6163
  --f7-actions-button-padding: 0px;
6231
6164
  --f7-actions-button-text-align: center;
6232
- --f7-actions-button-height: 57px;
6233
- --f7-actions-button-height-landscape: 44px;
6165
+ --f7-actions-button-height: 56px;
6166
+ --f7-actions-button-height-landscape: 56px;
6234
6167
  --f7-actions-button-font-size: 20px;
6235
6168
  --f7-actions-button-icon-size: 28px;
6236
6169
  --f7-actions-button-justify-content: center;
@@ -6240,8 +6173,7 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6240
6173
  --f7-actions-label-justify-content: center;
6241
6174
  --f7-actions-group-border-color: transparent;
6242
6175
  --f7-actions-group-margin: 8px;
6243
- --f7-actions-bg-color: rgba(255, 255, 255, 0.95);
6244
- --f7-actions-bg-color-rgb: 255, 255, 255;
6176
+ --f7-actions-bg-color: var(--f7-glass-bg-color);
6245
6177
  --f7-actions-button-border-color: rgba(0, 0, 0, 0.2);
6246
6178
  --f7-actions-button-pressed-bg-color: rgba(230, 230, 230, 0.9);
6247
6179
  --f7-actions-button-pressed-bg-color-rgb: 230, 230, 230;
@@ -6249,8 +6181,6 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6249
6181
  }
6250
6182
  .ios .dark,
6251
6183
  .ios.dark {
6252
- --f7-actions-bg-color: rgba(45, 45, 45, 0.95);
6253
- --f7-actions-bg-color-rgb: 45, 45, 45;
6254
6184
  --f7-actions-button-border-color: rgba(255, 255, 255, 0.15);
6255
6185
  --f7-actions-button-pressed-bg-color: rgba(50, 50, 50, 0.9);
6256
6186
  --f7-actions-button-pressed-bg-color-rgb: 50, 50, 50;
@@ -6411,13 +6341,6 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6411
6341
  .actions-button[class*='color-'] {
6412
6342
  color: var(--f7-theme-color);
6413
6343
  }
6414
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6415
- .ios-translucent-modals .actions-button.active-state {
6416
- background-color: rgba(var(--f7-actions-button-pressed-bg-color-rgb), 0.8);
6417
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6418
- backdrop-filter: saturate(180%) blur(20px);
6419
- }
6420
- }
6421
6344
  .actions-button-media {
6422
6345
  flex-shrink: 0;
6423
6346
  display: flex;
@@ -6497,20 +6420,15 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6497
6420
  height: 1.33em;
6498
6421
  font-size: var(--f7-actions-grid-button-font-size);
6499
6422
  }
6423
+ .ios .actions-modal {
6424
+ overflow: visible;
6425
+ }
6500
6426
  .ios .actions-group {
6501
6427
  border-radius: var(--f7-actions-border-radius);
6502
- }
6503
- .ios .actions-button,
6504
- .ios .actions-label {
6505
6428
  background: var(--f7-actions-bg-color);
6506
- }
6507
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6508
- .ios-translucent-modals .ios .actions-button,
6509
- .ios-translucent-modals .ios .actions-label {
6510
- background-color: rgba(var(--f7-actions-bg-color-rgb), 0.8);
6511
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6512
- backdrop-filter: saturate(180%) blur(20px);
6513
- }
6429
+ box-shadow: var(--f7-glass-shadow);
6430
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
6431
+ backdrop-filter: saturate(180%) blur(16px);
6514
6432
  }
6515
6433
  .ios .actions-button:first-child,
6516
6434
  .ios .actions-label:first-child {
@@ -6534,29 +6452,28 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6534
6452
  .ios .actions-label.actions-button-strong {
6535
6453
  font-weight: 600;
6536
6454
  }
6537
- .ios .actions-grid .actions-group {
6538
- border-radius: 0;
6455
+ .ios .actions-grid::before {
6456
+ content: '';
6457
+ position: absolute;
6458
+ left: var(--f7-actions-group-margin);
6459
+ right: var(--f7-actions-group-margin);
6460
+ bottom: var(--f7-actions-group-margin);
6539
6461
  background: var(--f7-actions-bg-color);
6540
- }
6541
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6542
- .ios-translucent-modals .ios .actions-grid .actions-group {
6543
- background-color: rgba(var(--f7-actions-bg-color-rgb), 0.8);
6544
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6545
- backdrop-filter: saturate(180%) blur(20px);
6546
- }
6547
- }
6548
- .ios .actions-grid .actions-group:first-child {
6549
- border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
6550
- }
6551
- .ios .actions-grid .actions-group:last-child {
6552
- border-radius: 0 0 var(--f7-actions-border-radius) var(--f7-actions-border-radius);
6553
- }
6554
- .ios .actions-grid .actions-group:first-child:last-child {
6462
+ top: 0;
6555
6463
  border-radius: var(--f7-actions-border-radius);
6464
+ box-shadow: var(--f7-glass-shadow);
6465
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
6466
+ backdrop-filter: saturate(180%) blur(16px);
6467
+ }
6468
+ .ios .actions-grid .actions-group {
6469
+ background: transparent;
6470
+ box-shadow: none;
6471
+ -webkit-backdrop-filter: none;
6472
+ backdrop-filter: none;
6556
6473
  }
6557
6474
  .ios .actions-grid .actions-button,
6558
6475
  .ios .actions-grid .actions-label {
6559
- border-radius: 0 !important;
6476
+ border-radius: var(--f7-actions-border-radius);
6560
6477
  }
6561
6478
  .ios .actions-button-media {
6562
6479
  margin-left: 16px;
@@ -6838,12 +6755,10 @@ html.with-modal-sheet-push-closing .framework7-root > .view.dark:after {
6838
6755
  --f7-toast-max-width: 568px;
6839
6756
  }
6840
6757
  .ios {
6841
- --f7-toast-text-color: #fff;
6842
- --f7-toast-bg-color: rgba(0, 0, 0, 0.75);
6843
- --f7-toast-bg-color-rgb: 0, 0, 0;
6758
+ --f7-toast-bg-color: var(--f7-glass-bg-color);
6844
6759
  --f7-toast-padding-horizontal: 16px;
6845
6760
  --f7-toast-padding-vertical: 12px;
6846
- --f7-toast-border-radius: 8px;
6761
+ --f7-toast-border-radius: 32px;
6847
6762
  --f7-toast-button-min-width: 64px;
6848
6763
  }
6849
6764
  .md {
@@ -6869,13 +6784,6 @@ html.with-modal-sheet-push-closing .framework7-root > .view.dark:after {
6869
6784
  background-color: var(--f7-toast-bg-color);
6870
6785
  opacity: 0;
6871
6786
  }
6872
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6873
- .ios-translucent-modals .toast {
6874
- background-color: rgba(var(--f7-toast-bg-color-rgb), 0.8);
6875
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6876
- backdrop-filter: saturate(180%) blur(20px);
6877
- }
6878
- }
6879
6787
  .toast.modal-in {
6880
6788
  opacity: 1;
6881
6789
  }
@@ -6896,6 +6804,7 @@ html.with-modal-sheet-push-closing .framework7-root > .view.dark:after {
6896
6804
  min-width: var(--f7-toast-button-min-width);
6897
6805
  margin-top: -8px;
6898
6806
  margin-bottom: -8px;
6807
+ width: auto;
6899
6808
  }
6900
6809
  .toast.toast-with-icon .toast-content {
6901
6810
  display: block;
@@ -6918,6 +6827,9 @@ html.with-modal-sheet-push-closing .framework7-root > .view.dark:after {
6918
6827
  transition-duration: 300ms;
6919
6828
  width: 100%;
6920
6829
  left: 0;
6830
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
6831
+ backdrop-filter: saturate(180%) blur(16px);
6832
+ box-shadow: var(--f7-glass-shadow);
6921
6833
  }
6922
6834
  .ios .toast.toast-top {
6923
6835
  top: 0;
@@ -7660,7 +7572,6 @@ body > .progressbar-infinite,
7660
7572
  :root {
7661
7573
  --f7-swipeout-delete-button-bg-color: #ff3b30;
7662
7574
  --f7-swipeout-button-text-color: #fff;
7663
- --f7-swipeout-button-padding-vertical: 0px;
7664
7575
  --f7-swipeout-button-bg-color: rgba(0, 0, 0, 0.22);
7665
7576
  }
7666
7577
  :root .dark,
@@ -7668,11 +7579,21 @@ body > .progressbar-infinite,
7668
7579
  --f7-swipeout-button-bg-color: rgba(255, 255, 255, 0.55);
7669
7580
  }
7670
7581
  .ios {
7671
- --f7-swipeout-button-padding-horizontal: 30px;
7582
+ --f7-swipeout-button-border-radius: 48px;
7583
+ --f7-swipeout-button-padding-vertical: 10px;
7584
+ --f7-swipeout-button-padding-horizontal: 16px;
7672
7585
  --f7-swipeout-button-font-size: inherit;
7673
7586
  --f7-swipeout-button-font-weight: inherit;
7587
+ --f7-swipeout-active-border-radius: 16px;
7588
+ --f7-swipeout-active-bg-color: #eee;
7589
+ }
7590
+ .ios .dark,
7591
+ .ios.dark {
7592
+ --f7-swipeout-active-bg-color: #2c2c2e;
7674
7593
  }
7675
7594
  .md {
7595
+ --f7-swipeout-button-border-radius: 0px;
7596
+ --f7-swipeout-button-padding-vertical: 0px;
7676
7597
  --f7-swipeout-button-padding-horizontal: 24px;
7677
7598
  --f7-swipeout-button-font-size: 14px;
7678
7599
  --f7-swipeout-button-font-weight: 500;
@@ -7692,11 +7613,22 @@ body > .progressbar-infinite,
7692
7613
  transform: translateX(-100%);
7693
7614
  }
7694
7615
  .swipeout-transitioning .swipeout-content,
7616
+ .swipeout-transitioning .swipeout-content .item-inner::after {
7617
+ transition-duration: 300ms;
7618
+ transition-property: transform, left, background-color, border-radius, opacity;
7619
+ }
7695
7620
  .swipeout-transitioning .swipeout-actions-right a,
7696
7621
  .swipeout-transitioning .swipeout-actions-left a,
7697
7622
  .swipeout-transitioning .swipeout-overswipe {
7698
7623
  transition-duration: 300ms;
7699
- transition-property: transform, left;
7624
+ transition-property: transform, left, width, margin-left, margin-right;
7625
+ }
7626
+ .swipeout-transitioning:not(.swipeout-opened) .swipeout-content {
7627
+ transition-delay: 0ms, 0ms, 300ms, 300ms, 0ms;
7628
+ }
7629
+ .list li:has( + li:is(.swipeout-opened, .swipeout-active)) .item-inner::after {
7630
+ opacity: 0;
7631
+ transition-duration: 300ms;
7700
7632
  }
7701
7633
  .swipeout-content {
7702
7634
  position: relative;
@@ -7704,7 +7636,6 @@ body > .progressbar-infinite,
7704
7636
  }
7705
7637
  .swipeout-overswipe {
7706
7638
  transition-duration: 200ms;
7707
- transition-property: left;
7708
7639
  }
7709
7640
  .swipeout-actions-left,
7710
7641
  .swipeout-actions-right {
@@ -7722,6 +7653,8 @@ body > .progressbar-infinite,
7722
7653
  .swipeout-actions-right > span,
7723
7654
  .swipeout-actions-left > div,
7724
7655
  .swipeout-actions-right > div {
7656
+ box-sizing: border-box;
7657
+ border-radius: var(--f7-swipeout-button-border-radius);
7725
7658
  color: var(--f7-swipeout-button-text-color);
7726
7659
  background: var(--f7-swipeout-button-bg-color);
7727
7660
  padding: var(--f7-swipeout-button-padding-vertical) var(--f7-swipeout-button-padding-horizontal);
@@ -7732,14 +7665,62 @@ body > .progressbar-infinite,
7732
7665
  font-size: var(--f7-swipeout-button-font-size);
7733
7666
  font-weight: var(--f7-swipeout-button-font-weight);
7734
7667
  }
7735
- .swipeout-actions-left > a:after,
7736
- .swipeout-actions-right > a:after,
7737
- .swipeout-actions-left > button:after,
7738
- .swipeout-actions-right > button:after,
7739
- .swipeout-actions-left > span:after,
7740
- .swipeout-actions-right > span:after,
7741
- .swipeout-actions-left > div:after,
7742
- .swipeout-actions-right > div:after {
7668
+ .swipeout-actions-left .swipeout-delete,
7669
+ .swipeout-actions-right .swipeout-delete {
7670
+ background: var(--f7-swipeout-delete-button-bg-color);
7671
+ }
7672
+ .swipeout-actions-left [class*='color-'],
7673
+ .swipeout-actions-right [class*='color-'] {
7674
+ --f7-swipeout-button-bg-color: var(--f7-theme-color);
7675
+ }
7676
+ .ios .swipeout-actions-right {
7677
+ right: 0%;
7678
+ }
7679
+ .ios .swipeout-actions-left {
7680
+ left: 0%;
7681
+ }
7682
+ .ios .swipeout-actions-left,
7683
+ .ios .swipeout-actions-right {
7684
+ padding: 0 10px;
7685
+ gap: 10px;
7686
+ align-items: center;
7687
+ }
7688
+ .ios .swipeout-actions-left > a,
7689
+ .ios .swipeout-actions-right > a,
7690
+ .ios .swipeout-actions-left > button,
7691
+ .ios .swipeout-actions-right > button,
7692
+ .ios .swipeout-actions-left > span,
7693
+ .ios .swipeout-actions-right > span,
7694
+ .ios .swipeout-actions-left > div,
7695
+ .ios .swipeout-actions-right > div {
7696
+ transform: scale(0);
7697
+ padding: var(--f7-swipeout-button-padding-vertical) var(--f7-swipeout-button-padding-horizontal);
7698
+ }
7699
+ .ios .swipeout-opened .swipeout-content,
7700
+ .ios .swipeout-active .swipeout-content {
7701
+ background-color: var(--f7-swipeout-active-bg-color);
7702
+ border-radius: var(--f7-swipeout-active-border-radius);
7703
+ }
7704
+ .ios .swipeout-opened .item-content,
7705
+ .ios .swipeout-active .item-content {
7706
+ border-radius: var(--f7-swipeout-active-border-radius);
7707
+ }
7708
+ .ios .swipeout-opened .swipeout-content .item-inner::after,
7709
+ .ios .swipeout-active .swipeout-content .item-inner::after {
7710
+ opacity: 0;
7711
+ }
7712
+ .ios .swipeout-overswipe {
7713
+ transition-duration: 200ms;
7714
+ transition-property: transform, left, width, margin-left, margin-right;
7715
+ }
7716
+ .md .swipeout-actions-left > a:after,
7717
+ .md .swipeout-actions-right > a:after,
7718
+ .md .swipeout-actions-left > button:after,
7719
+ .md .swipeout-actions-right > button:after,
7720
+ .md .swipeout-actions-left > span:after,
7721
+ .md .swipeout-actions-right > span:after,
7722
+ .md .swipeout-actions-left > div:after,
7723
+ .md .swipeout-actions-right > div:after {
7743
7724
  content: '';
7744
7725
  position: absolute;
7745
7726
  top: 0;
@@ -7750,45 +7731,40 @@ body > .progressbar-infinite,
7750
7731
  transform: translate3d(0, 0, 0);
7751
7732
  pointer-events: none;
7752
7733
  }
7753
- .swipeout-actions-left .swipeout-delete,
7754
- .swipeout-actions-right .swipeout-delete {
7755
- background: var(--f7-swipeout-delete-button-bg-color);
7756
- }
7757
- .swipeout-actions-right {
7734
+ .md .swipeout-actions-right {
7758
7735
  right: 0%;
7759
7736
  transform: translateX(calc(100% + 1px));
7760
7737
  }
7761
- .swipeout-actions-right > a:after,
7762
- .swipeout-actions-right > button:after,
7763
- .swipeout-actions-right > span:after,
7764
- .swipeout-actions-right > div:after {
7738
+ .md .swipeout-actions-right > a:after,
7739
+ .md .swipeout-actions-right > button:after,
7740
+ .md .swipeout-actions-right > span:after,
7741
+ .md .swipeout-actions-right > div:after {
7765
7742
  left: 100%;
7766
7743
  }
7767
- .swipeout-actions-right > a:last-child,
7768
- .swipeout-actions-right > button:last-child,
7769
- .swipeout-actions-right > span:last-child,
7770
- .swipeout-actions-right > div:last-child {
7744
+ .md .swipeout-actions-right > a:last-child,
7745
+ .md .swipeout-actions-right > button:last-child,
7746
+ .md .swipeout-actions-right > span:last-child,
7747
+ .md .swipeout-actions-right > div:last-child {
7771
7748
  padding-right: calc(var(--f7-swipeout-button-padding-horizontal) + var(--f7-safe-area-right));
7772
7749
  }
7773
- .swipeout-actions-left {
7750
+ .md .swipeout-actions-left {
7774
7751
  left: 0%;
7775
7752
  transform: translateX(calc(-100% - 1px));
7776
7753
  }
7777
- .swipeout-actions-left > a:after,
7778
- .swipeout-actions-left > button:after,
7779
- .swipeout-actions-left > span:after,
7780
- .swipeout-actions-left > div:after {
7754
+ .md .swipeout-actions-left > a:after,
7755
+ .md .swipeout-actions-left > button:after,
7756
+ .md .swipeout-actions-left > span:after,
7757
+ .md .swipeout-actions-left > div:after {
7781
7758
  right: 100%;
7782
7759
  }
7783
- .swipeout-actions-left > a:first-child,
7784
- .swipeout-actions-left > button:first-child,
7785
- .swipeout-actions-left > span:first-child,
7786
- .swipeout-actions-left > div:first-child {
7760
+ .md .swipeout-actions-left > a:first-child,
7761
+ .md .swipeout-actions-left > button:first-child,
7762
+ .md .swipeout-actions-left > span:first-child,
7763
+ .md .swipeout-actions-left > div:first-child {
7787
7764
  padding-left: calc(var(--f7-swipeout-button-padding-horizontal) + var(--f7-safe-area-left));
7788
7765
  }
7789
- .swipeout-actions-left [class*='color-'],
7790
- .swipeout-actions-right [class*='color-'] {
7791
- --f7-swipeout-button-bg-color: var(--f7-theme-color);
7766
+ .md .swipeout-overswipe {
7767
+ transition-property: left;
7792
7768
  }
7793
7769
  /* === Accordion === */
7794
7770
  :root {
@@ -9624,19 +9600,19 @@ html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-push.panel
9624
9600
  --f7-card-expandable-tablet-height: 670px;
9625
9601
  }
9626
9602
  .ios {
9627
- --f7-card-border-radius: 8px;
9603
+ --f7-card-border-radius: 24px;
9628
9604
  --f7-card-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
9629
9605
  --f7-card-header-font-size: 17px;
9630
9606
  --f7-card-header-padding-vertical: 10px;
9631
- --f7-card-header-min-height: 44px;
9607
+ --f7-card-header-min-height: 52px;
9632
9608
  --f7-card-footer-text-color: rgba(0, 0, 0, 0.45);
9633
9609
  --f7-card-footer-padding-vertical: 10px;
9634
- --f7-card-footer-min-height: 44px;
9610
+ --f7-card-footer-min-height: 52px;
9635
9611
  --f7-card-expandable-margin-horizontal: 20px;
9636
9612
  --f7-card-expandable-margin-vertical: 30px;
9637
9613
  --f7-card-expandable-box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.3);
9638
- --f7-card-expandable-border-radius: 16px;
9639
- --f7-card-expandable-tablet-border-radius: 16px;
9614
+ --f7-card-expandable-border-radius: 24px;
9615
+ --f7-card-expandable-tablet-border-radius: 24px;
9640
9616
  --f7-card-expandable-header-font-size: 27px;
9641
9617
  --f7-card-expandable-header-font-weight: bold;
9642
9618
  --f7-card-text-color: inherit;
@@ -11286,8 +11262,8 @@ label.item-radio.disabled,
11286
11262
  }
11287
11263
  /* === Toggle === */
11288
11264
  .ios {
11289
- --f7-toggle-width: 52px;
11290
- --f7-toggle-height: 32px;
11265
+ --f7-toggle-width: 64px;
11266
+ --f7-toggle-height: 28px;
11291
11267
  /*
11292
11268
  --f7-toggle-active-bg-color: var(--f7-theme-color);
11293
11269
  */
@@ -11360,52 +11336,86 @@ label.item-radio.disabled,
11360
11336
  transition-duration: 300ms;
11361
11337
  }
11362
11338
  .ios .toggle {
11339
+ --f7-toggle-knob-tx: 0px;
11340
+ }
11341
+ .ios .toggle::before {
11342
+ content: '';
11343
+ border-radius: inherit;
11344
+ inset: 0;
11345
+ position: absolute;
11363
11346
  background: var(--f7-toggle-inactive-border-color);
11347
+ transition-duration: 300ms;
11348
+ z-index: 0;
11349
+ }
11350
+ .ios .toggle::after {
11351
+ content: '';
11352
+ position: absolute;
11353
+ left: 0;
11354
+ transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height)));
11355
+ top: 0;
11356
+ width: var(--f7-toggle-height);
11357
+ height: var(--f7-toggle-height);
11358
+ border-radius: var(--f7-toggle-height);
11359
+ background: var(--f7-toggle-inactive-border-color);
11360
+ transition-duration: 300ms;
11361
+ z-index: 0;
11364
11362
  }
11365
- .ios .toggle input[type='checkbox']:checked + .toggle-icon {
11366
- background: var(--f7-toggle-active-color, var(--f7-theme-color));
11363
+ .ios .toggle:has(input[type='checkbox']:checked) {
11364
+ --f7-toggle-knob-tx: calc(var(--f7-toggle-width) - 38px - 4px);
11367
11365
  }
11368
- .ios .toggle input[type='checkbox']:checked + .toggle-icon:before {
11366
+ .ios .toggle:has(input[type='checkbox']:checked)::before {
11369
11367
  background: var(--f7-toggle-active-bg-color, var(--f7-theme-color));
11370
- transform: scale(0);
11371
11368
  }
11372
- .ios .toggle input[type='checkbox']:checked + .toggle-icon:after {
11373
- background: var(--f7-toggle-active-knob-bg-color);
11374
- transform: translateX(calc(-1 * (var(--f7-toggle-width) - var(--f7-toggle-height))));
11369
+ .ios .toggle:has(input[type='checkbox']:checked)::after {
11370
+ background: var(--f7-toggle-active-bg-color, var(--f7-theme-color));
11371
+ transform: translateX(0);
11375
11372
  }
11376
11373
  .ios .toggle-icon {
11377
- background: var(--f7-toggle-border-color);
11378
- }
11379
- .ios .toggle-icon:before {
11380
- position: absolute;
11381
- right: 2px;
11382
- top: 2px;
11383
- width: calc(var(--f7-toggle-width) - 4px);
11384
- height: calc(var(--f7-toggle-height) - 4px);
11385
- border-radius: var(--f7-toggle-height);
11386
- box-sizing: border-box;
11387
- background: var(--f7-toggle-inactive-bg-color);
11388
- z-index: 1;
11389
- transition-duration: 300ms;
11390
- transform: scale(1);
11391
- }
11392
- .ios .toggle-icon:after {
11393
11374
  background: var(--f7-toggle-inactive-knob-bg-color);
11394
11375
  height: calc(var(--f7-toggle-height) - 4px);
11395
- width: calc(var(--f7-toggle-height) - 4px);
11376
+ width: 38px;
11396
11377
  top: 2px;
11397
11378
  right: 2px;
11398
11379
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
11399
11380
  border-radius: calc(var(--f7-toggle-height) - 4px);
11381
+ transition-duration: 300ms;
11382
+ transform: translateX(var(--f7-toggle-knob-tx)) scale(1);
11383
+ position: relative;
11384
+ z-index: 1;
11385
+ transform-origin: center;
11400
11386
  }
11401
- .ios .toggle-active-state input[type='checkbox']:not(:checked) + .toggle-icon:before {
11402
- transform: scale(0);
11387
+ .ios .toggle-icon::before {
11388
+ content: '';
11389
+ position: absolute;
11390
+ left: 50%;
11391
+ top: 50%;
11392
+ width: 1px;
11393
+ height: 1px;
11394
+ opacity: 0;
11395
+ transition-duration: 300ms;
11396
+ box-shadow: 0px 0px 40px 15px rgba(var(--f7-theme-color-rgb), 0.75);
11403
11397
  }
11404
- .ios .toggle-active-state input[type='checkbox'] + .toggle-icon:after {
11405
- width: calc(var(--f7-toggle-height) + 4px);
11398
+ .ios .toggle-icon::after {
11399
+ content: '';
11400
+ position: absolute;
11401
+ inset: 0;
11402
+ border-radius: inherit;
11403
+ box-shadow: var(--f7-glass-shadow-thumb);
11404
+ transition-duration: 300ms;
11405
+ opacity: 0;
11406
+ }
11407
+ .ios .toggle-active-state::before {
11408
+ transform: scale(0.75);
11409
+ }
11410
+ .ios .toggle-active-state .toggle-icon {
11411
+ background: transparent;
11412
+ transform: translateX(var(--f7-toggle-knob-tx)) scale(1.4);
11413
+ }
11414
+ .ios .toggle-active-state .toggle-icon::before {
11415
+ opacity: 1;
11406
11416
  }
11407
- .ios .toggle-active-state input[type='checkbox']:checked + .toggle-icon:after {
11408
- transform: translateX(calc(-1 * (var(--f7-toggle-width) - var(--f7-toggle-height) - 8px)));
11417
+ .ios .toggle-active-state .toggle-icon::after {
11418
+ opacity: 1;
11409
11419
  }
11410
11420
  .md .toggle input[type='checkbox']:checked + .toggle-icon {
11411
11421
  background: var(--f7-toggle-active-bg-color);
@@ -11444,17 +11454,13 @@ label.item-radio.disabled,
11444
11454
  --f7-range-scale-step-height: 5px;
11445
11455
  --f7-range-scale-substep-width: 1px;
11446
11456
  --f7-range-scale-substep-height: 4px;
11447
- --f7-range-bar-bg-color: rgba(0, 0, 0, 0.2);
11448
- }
11449
- :root .dark,
11450
- :root.dark {
11451
- --f7-range-bar-bg-color: rgba(255, 255, 255, 0.2);
11452
11457
  }
11453
11458
  .ios {
11454
11459
  --f7-range-size: 28px;
11455
- --f7-range-bar-size: 4px;
11456
- --f7-range-bar-border-radius: 2px;
11457
- --f7-range-knob-size: 28px;
11460
+ --f7-range-bar-size: 6px;
11461
+ --f7-range-bar-border-radius: 6px;
11462
+ --f7-range-knob-width: 38px;
11463
+ --f7-range-knob-height: 24px;
11458
11464
  --f7-range-knob-color: #fff;
11459
11465
  --f7-range-knob-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
11460
11466
  --f7-range-label-size: 24px;
@@ -11463,18 +11469,24 @@ label.item-radio.disabled,
11463
11469
  --f7-range-label-font-size: 12px;
11464
11470
  --f7-range-label-font-weight: 500;
11465
11471
  --f7-range-label-border-radius: 5px;
11466
- --f7-range-label-padding: 0px 2px;
11472
+ --f7-range-label-padding: 0px 4px;
11467
11473
  --f7-range-scale-text-color: #666;
11468
11474
  --f7-range-scale-step-width: 1px;
11469
11475
  --f7-range-scale-font-size: 12px;
11470
11476
  --f7-range-scale-font-weight: 400;
11471
11477
  --f7-range-scale-label-offset: 4px;
11478
+ --f7-range-bar-bg-color: rgba(0, 0, 0, 0.2);
11479
+ }
11480
+ .ios .dark,
11481
+ .ios.dark {
11482
+ --f7-range-bar-bg-color: rgba(255, 255, 255, 0.2);
11472
11483
  }
11473
11484
  .md {
11474
11485
  --f7-range-size: 20px;
11475
- --f7-range-bar-size: 2px;
11476
- --f7-range-bar-border-radius: 0px;
11477
- --f7-range-knob-size: 12px;
11486
+ --f7-range-bar-size: 16px;
11487
+ --f7-range-bar-border-radius: 16px;
11488
+ --f7-range-knob-width: 16px;
11489
+ --f7-range-knob-height: 44px;
11478
11490
  --f7-range-knob-box-shadow: none;
11479
11491
  --f7-range-label-size: 26px;
11480
11492
  --f7-range-label-font-weight: normal;
@@ -11489,6 +11501,7 @@ label.item-radio.disabled,
11489
11501
  .md,
11490
11502
  .md .dark,
11491
11503
  .md [class*='color-'] {
11504
+ --f7-range-bar-bg-color: var(--f7-md-secondary-container);
11492
11505
  --f7-range-knob-color: var(--f7-theme-color);
11493
11506
  --f7-range-label-text-color: var(--f7-md-on-primary);
11494
11507
  --f7-range-label-bg-color: var(--f7-theme-color);
@@ -11556,49 +11569,35 @@ label.item-radio.disabled,
11556
11569
  .range-knob-wrap {
11557
11570
  z-index: 20;
11558
11571
  position: absolute;
11559
- height: var(--f7-range-knob-size);
11560
- width: var(--f7-range-knob-size);
11572
+ height: var(--f7-range-knob-height);
11573
+ width: var(--f7-range-knob-width);
11561
11574
  }
11562
11575
  .range-slider-horizontal .range-knob-wrap {
11563
11576
  top: 50%;
11564
- margin-top: calc(-1 * var(--f7-range-knob-size) / 2);
11565
- margin-right: calc(-1 * var(--f7-range-knob-size) / 2);
11577
+ margin-top: calc(-1 * var(--f7-range-knob-height) / 2);
11578
+ margin-right: calc(-1 * var(--f7-range-knob-width) / 2);
11566
11579
  right: 0;
11567
11580
  }
11568
11581
  .range-slider-vertical .range-knob-wrap {
11569
11582
  left: 50%;
11570
- margin-left: calc(-1 * var(--f7-range-knob-size) / 2);
11583
+ height: var(--f7-range-knob-width);
11584
+ width: var(--f7-range-knob-height);
11585
+ margin-left: calc(-1 * var(--f7-range-knob-height) / 2);
11571
11586
  bottom: 0;
11572
- margin-bottom: calc(-1 * var(--f7-range-knob-size) / 2);
11587
+ margin-bottom: calc(-1 * var(--f7-range-knob-width) / 2);
11573
11588
  }
11574
11589
  .range-slider-vertical-reversed .range-knob-wrap {
11575
11590
  bottom: auto;
11576
11591
  top: 0;
11577
11592
  margin-bottom: 0;
11578
- margin-top: calc(-1 * var(--f7-range-knob-size) / 2);
11593
+ margin-top: calc(-1 * var(--f7-range-knob-width) / 2);
11579
11594
  }
11580
11595
  .range-knob {
11581
11596
  box-sizing: border-box;
11582
- border-radius: 50%;
11583
- position: absolute;
11584
- left: 0;
11585
- top: 0;
11586
- width: 100%;
11587
- height: 100%;
11588
11597
  z-index: 1;
11589
11598
  background: var(--f7-range-knob-color, var(--f7-range-knob-bg-color, var(--f7-theme-color)));
11590
11599
  box-shadow: var(--f7-range-knob-box-shadow);
11591
11600
  }
11592
- .range-knob:after {
11593
- content: '';
11594
- position: absolute;
11595
- left: 50%;
11596
- top: 50%;
11597
- width: 44px;
11598
- height: 44px;
11599
- margin-left: -22px;
11600
- margin-top: -22px;
11601
- }
11602
11601
  .range-knob-label {
11603
11602
  position: absolute;
11604
11603
  left: 50%;
@@ -11698,19 +11697,94 @@ label.item-radio.disabled,
11698
11697
  --f7-range-scale-step-width: var(--f7-range-scale-substep-width);
11699
11698
  --f7-range-scale-step-height: var(--f7-range-scale-substep-height);
11700
11699
  }
11700
+ .ios .range-bar-active {
11701
+ border-radius: inherit;
11702
+ }
11703
+ .ios .range-knob {
11704
+ border-radius: var(--f7-range-knob-height);
11705
+ transition-duration: 300ms;
11706
+ position: absolute;
11707
+ left: 0;
11708
+ top: 0;
11709
+ width: 100%;
11710
+ height: 100%;
11711
+ }
11712
+ .ios .range-knob:after {
11713
+ content: '';
11714
+ position: absolute;
11715
+ left: 50%;
11716
+ top: 50%;
11717
+ width: 44px;
11718
+ height: 44px;
11719
+ }
11720
+ .ios .range-knob::before,
11721
+ .ios .range-knob::after {
11722
+ content: '';
11723
+ position: absolute;
11724
+ }
11725
+ .ios .range-knob::before {
11726
+ width: 1px;
11727
+ height: 1px;
11728
+ opacity: 0;
11729
+ transition-duration: 300ms;
11730
+ box-shadow: 0px 0px 40px 15px rgba(var(--f7-theme-color-rgb), 0.75);
11731
+ left: 50%;
11732
+ top: 50%;
11733
+ margin-left: -0.5px;
11734
+ margin-top: -0.5px;
11735
+ }
11736
+ .ios .range-knob::after {
11737
+ inset: 0;
11738
+ border-radius: inherit;
11739
+ box-shadow: var(--f7-glass-shadow-thumb);
11740
+ transition-duration: 300ms;
11741
+ opacity: 0;
11742
+ width: 100%;
11743
+ height: 100%;
11744
+ margin: 0;
11745
+ }
11701
11746
  .ios .range-knob-label {
11702
11747
  margin-bottom: 6px;
11703
11748
  transform: translateX(-50%) translateY(100%) scale(0);
11749
+ z-index: 2;
11704
11750
  }
11705
11751
  .ios .range-knob-active-state .range-knob-label {
11706
11752
  transform: translateX(-50%) translateY(0%) scale(1);
11707
11753
  }
11754
+ .ios .range-knob-active-state .range-knob {
11755
+ background: transparent;
11756
+ transform: scale(1.4);
11757
+ }
11758
+ .ios .range-knob-active-state .range-knob::before {
11759
+ opacity: 1;
11760
+ }
11761
+ .ios .range-knob-active-state .range-knob::after {
11762
+ opacity: 1;
11763
+ }
11764
+ .md .range-knob-wrap {
11765
+ display: flex;
11766
+ align-items: center;
11767
+ justify-content: center;
11768
+ }
11708
11769
  .md .range-knob {
11709
11770
  transition-duration: 200ms;
11710
11771
  transition-property: transform, background-color;
11772
+ width: 4px;
11773
+ height: var(--f7-range-knob-height);
11774
+ display: flex;
11775
+ align-items: center;
11776
+ justify-content: center;
11777
+ border-radius: 4px;
11711
11778
  }
11712
11779
  .md .range-knob-active-state .range-knob {
11713
- transform: scale(1.5);
11780
+ transform: scaleX(0.5);
11781
+ }
11782
+ .md .range-slider-vertical .range-knob {
11783
+ width: var(--f7-range-knob-height);
11784
+ height: 4px;
11785
+ }
11786
+ .md .range-slider-vertical .range-knob-active-state .range-knob {
11787
+ transform: scaleY(0.5);
11714
11788
  }
11715
11789
  .md .range-slider-min:not(.range-slider-dual) .range-knob {
11716
11790
  background: #fff !important;
@@ -11737,8 +11811,48 @@ label.item-radio.disabled,
11737
11811
  .md .range-knob-active-state .range-knob-label {
11738
11812
  transform: translateY(0%) scale(1);
11739
11813
  }
11740
- .md .range-slider-label .range-knob-active-state .range-knob {
11741
- transform: scale(0);
11814
+ .md .range-bar-active,
11815
+ .md .range-bar-inactive {
11816
+ border-radius: 4px;
11817
+ }
11818
+ .md .range-slider::before,
11819
+ .md .range-slider::after {
11820
+ content: '';
11821
+ position: absolute;
11822
+ width: 4px;
11823
+ height: 4px;
11824
+ border-radius: 50%;
11825
+ background: var(--f7-range-knob-color);
11826
+ top: calc(50% - 2px);
11827
+ z-index: 1;
11828
+ pointer-events: none;
11829
+ transition-duration: 200ms;
11830
+ }
11831
+ .md .range-slider::before {
11832
+ left: calc(var(--f7-range-knob-width) / 2 - 2px);
11833
+ }
11834
+ .md .range-slider::after {
11835
+ right: calc(var(--f7-range-knob-width) / 2 - 2px);
11836
+ }
11837
+ .md .range-slider:not(.range-slider-dual)::before {
11838
+ content: none;
11839
+ display: none;
11840
+ }
11841
+ .md .range-slider:has(.range-knob-active-state)::before,
11842
+ .md .range-slider:has(.range-knob-active-state)::after {
11843
+ transform: scale(0.5);
11844
+ }
11845
+ .md .range-slider.range-slider-vertical::before,
11846
+ .md .range-slider.range-slider-vertical::after {
11847
+ top: auto;
11848
+ left: calc(50% - 2px);
11849
+ right: auto;
11850
+ }
11851
+ .md .range-slider.range-slider-vertical::before {
11852
+ bottom: calc(var(--f7-range-knob-width) / 2 - 2px);
11853
+ }
11854
+ .md .range-slider.range-slider-vertical::after {
11855
+ top: calc(var(--f7-range-knob-width) / 2 - 2px);
11742
11856
  }
11743
11857
  /* === Stepper === */
11744
11858
  :root {
@@ -17578,23 +17692,22 @@ button.swiper-pagination-bullet {
17578
17692
  }
17579
17693
  .ios {
17580
17694
  --f7-notification-margin: 8px;
17581
- --f7-notification-padding-horizontal: 10px;
17582
- --f7-notification-padding-vertical: 10px;
17583
- --f7-notification-border-radius: 12px;
17584
- --f7-notification-box-shadow: 0px 5px 25px -10px rgba(0, 0, 0, 0.7);
17585
- --f7-notification-icon-size: 20px;
17586
- --f7-notification-title-font-size: 13px;
17587
- --f7-notification-title-text-transform: uppercase;
17695
+ --f7-notification-padding-horizontal: 16px;
17696
+ --f7-notification-padding-vertical: 16px;
17697
+ --f7-notification-border-radius: 24px;
17698
+ --f7-notification-box-shadow: var(--f7-glass-shadow);
17699
+ --f7-notification-icon-size: 28px;
17700
+ --f7-notification-title-font-size: 14px;
17701
+ --f7-notification-title-text-transform: none;
17588
17702
  --f7-notification-title-line-height: 1.4;
17589
- --f7-notification-title-font-weight: 400;
17703
+ --f7-notification-title-font-weight: bold;
17590
17704
  --f7-notification-title-letter-spacing: 0.02em;
17591
- --f7-notification-title-right-font-size: 13px;
17592
- --f7-notification-subtitle-font-size: 15px;
17705
+ --f7-notification-title-right-font-size: 14px;
17706
+ --f7-notification-subtitle-font-size: 14px;
17593
17707
  --f7-notification-subtitle-font-weight: 600;
17594
- --f7-notification-text-font-size: 15px;
17595
- --f7-notification-text-line-height: 1.2;
17596
- --f7-notification-bg-color: rgba(250, 250, 250, 0.95);
17597
- --f7-notification-bg-color-rgb: 255, 255, 255;
17708
+ --f7-notification-text-font-size: 14px;
17709
+ --f7-notification-text-line-height: 1.4;
17710
+ --f7-notification-bg-color: var(--f7-glass-bg-color);
17598
17711
  --f7-notification-title-color: #000;
17599
17712
  --f7-notification-title-right-color: rgba(0, 0, 0, 0.45);
17600
17713
  --f7-notification-subtitle-color: #000;
@@ -17602,8 +17715,6 @@ button.swiper-pagination-bullet {
17602
17715
  }
17603
17716
  .ios .dark,
17604
17717
  .ios.dark {
17605
- --f7-notification-bg-color: rgba(30, 30, 30, 0.95);
17606
- --f7-notification-bg-color-rgb: 30, 30, 30;
17607
17718
  --f7-notification-title-color: #fff;
17608
17719
  --f7-notification-text-color: #fff;
17609
17720
  --f7-notification-subtitle-color: #fff;
@@ -17654,14 +17765,22 @@ button.swiper-pagination-bullet {
17654
17765
  box-shadow: var(--f7-notification-box-shadow);
17655
17766
  background: var(--f7-notification-bg-color);
17656
17767
  margin-top: var(--f7-safe-area-top);
17768
+ display: flex;
17769
+ gap: 16px;
17770
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
17771
+ backdrop-filter: saturate(180%) blur(16px);
17657
17772
  }
17658
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
17659
- .ios-translucent-modals .notification {
17660
- background-color: rgba(var(--f7-notification-bg-color-rgb), 0.8);
17661
- -webkit-backdrop-filter: saturate(180%) blur(20px);
17662
- backdrop-filter: saturate(180%) blur(20px);
17773
+ @media (min-width: 568px) {
17774
+ .notification {
17775
+ left: 50%;
17776
+ width: var(--f7-notification-max-width);
17777
+ margin-left: calc(-1 * var(--f7-notification-max-width) / 2);
17663
17778
  }
17664
17779
  }
17780
+ .notification-content {
17781
+ width: 100%;
17782
+ flex-shrink: 10;
17783
+ }
17665
17784
  .notification-title {
17666
17785
  color: var(--f7-notification-title-color, var(--f7-theme-color));
17667
17786
  font-size: var(--f7-notification-title-font-size);
@@ -17691,6 +17810,7 @@ button.swiper-pagination-bullet {
17691
17810
  .notification-icon {
17692
17811
  font-size: 0;
17693
17812
  line-height: var(--f7-notification-icon-size);
17813
+ flex-shrink: 0;
17694
17814
  }
17695
17815
  .notification-icon i,
17696
17816
  .notification-icon {
@@ -17739,6 +17859,7 @@ button.swiper-pagination-bullet {
17739
17859
  .ios .notification {
17740
17860
  transition-duration: 450ms;
17741
17861
  transform: translate3d(0%, -200%, 0);
17862
+ align-items: center;
17742
17863
  }
17743
17864
  .ios .notification.modal-in {
17744
17865
  transform: translate3d(0%, 0%, 0);
@@ -17747,18 +17868,11 @@ button.swiper-pagination-bullet {
17747
17868
  .ios .notification.modal-out {
17748
17869
  transform: translate3d(0%, -200%, 0);
17749
17870
  }
17750
- .ios .notification-icon {
17751
- margin-right: 8px;
17752
- }
17753
- .ios .notification-header + .notification-content {
17754
- margin-top: 10px;
17755
- }
17756
17871
  .ios .notification-title-right-text {
17757
- margin-right: 6px;
17758
17872
  margin-left: auto;
17759
17873
  }
17760
17874
  .ios .notification-title-right-text + .notification-close-button {
17761
- margin-left: 10px;
17875
+ margin-left: 12px;
17762
17876
  }
17763
17877
  .ios .notification-close-button {
17764
17878
  font-size: 14px;
@@ -17802,22 +17916,7 @@ button.swiper-pagination-bullet {
17802
17916
  transition-timing-function: ease-in;
17803
17917
  transform: translate3d(0, -150%, 0);
17804
17918
  }
17805
- .md .notification-with-icon .notification-icon {
17806
- position: absolute;
17807
- left: var(--f7-notification-padding-horizontal);
17808
- top: var(--f7-notification-padding-vertical);
17809
- }
17810
- .md .notification-with-icon .notification-content,
17811
- .md .notification-with-icon .notification-header {
17812
- margin-left: calc(var(--f7-notification-icon-size) + 16px);
17813
- }
17814
- .md .notification-icon {
17815
- margin-right: 8px;
17816
- }
17817
- .md .notification-subtitle + .notification-text {
17818
- margin-top: 4px;
17819
- }
17820
- .md .notification-header + .notification-content {
17919
+ .md .notification-header + :is(.notification-subtitle, .notification-text) {
17821
17920
  margin-top: 8px;
17822
17921
  }
17823
17922
  .md .notification-title-right-text {