framework7 8.0.0-beta.8 → 8.0.0

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 (75) hide show
  1. package/components/actions/actions-md.less +1 -0
  2. package/components/actions/actions-rtl.css +1 -1
  3. package/components/actions/actions.css +1 -1
  4. package/components/actions/actions.less +4 -1
  5. package/components/button/button-ios.less +3 -0
  6. package/components/button/button-md.less +1 -4
  7. package/components/button/button-vars.less +10 -5
  8. package/components/button/button.less +0 -1
  9. package/components/data-table/data-table-md.less +0 -1
  10. package/components/data-table/data-table-rtl.css +1 -1
  11. package/components/data-table/data-table.css +1 -1
  12. package/components/dialog/dialog-rtl.css +1 -1
  13. package/components/dialog/dialog-vars.less +2 -2
  14. package/components/dialog/dialog.css +1 -1
  15. package/components/fab/fab-ios.less +1 -0
  16. package/components/fab/fab-md.less +9 -0
  17. package/components/fab/fab-rtl.css +1 -1
  18. package/components/fab/fab-vars.less +5 -1
  19. package/components/fab/fab.css +1 -1
  20. package/components/fab/fab.less +0 -3
  21. package/components/list/list-md.less +5 -0
  22. package/components/list/list-vars.less +7 -7
  23. package/components/list/list.less +4 -1
  24. package/components/navbar/navbar-md.less +0 -1
  25. package/components/navbar/navbar.less +3 -1
  26. package/components/notification/notification-rtl.css +1 -1
  27. package/components/notification/notification.css +1 -1
  28. package/components/notification/notification.less +0 -2
  29. package/components/panel/panel-rtl.css +3 -1
  30. package/components/panel/panel.css +3 -1
  31. package/components/panel/panel.less +3 -1
  32. package/components/photo-browser/photo-browser-rtl.css +1 -1
  33. package/components/photo-browser/photo-browser.css +1 -1
  34. package/components/photo-browser/photo-browser.less +2 -2
  35. package/components/searchbar/searchbar-md.less +0 -3
  36. package/components/searchbar/searchbar-rtl.css +1 -1
  37. package/components/searchbar/searchbar.css +1 -1
  38. package/components/searchbar/searchbar.less +5 -1
  39. package/components/stepper/stepper-md.less +2 -2
  40. package/components/stepper/stepper-rtl.css +1 -1
  41. package/components/stepper/stepper-vars.less +2 -1
  42. package/components/stepper/stepper.css +1 -1
  43. package/components/subnavbar/subnavbar-md.less +0 -1
  44. package/components/text-editor/text-editor-md.less +0 -1
  45. package/components/text-editor/text-editor-rtl.css +1 -1
  46. package/components/text-editor/text-editor.css +1 -1
  47. package/components/toast/toast-rtl.css +1 -1
  48. package/components/toast/toast.css +1 -1
  49. package/components/toast/toast.less +0 -1
  50. package/components/toolbar/toolbar-md.less +0 -1
  51. package/components/touch-ripple/touch-ripple-class.js +2 -2
  52. package/components/touch-ripple/touch-ripple-vars.less +1 -1
  53. package/components/touch-ripple/touch-ripple.less +41 -4
  54. package/framework7-bundle-rtl.css +101 -267
  55. package/framework7-bundle-rtl.min.css +9 -3
  56. package/framework7-bundle.css +101 -267
  57. package/framework7-bundle.esm.js +2 -2
  58. package/framework7-bundle.js +244 -200
  59. package/framework7-bundle.js.map +1 -1
  60. package/framework7-bundle.less +2 -2
  61. package/framework7-bundle.min.css +9 -3
  62. package/framework7-bundle.min.js +3 -3
  63. package/framework7-bundle.min.js.map +1 -1
  64. package/framework7-lite-bundle.esm.js +2 -2
  65. package/framework7-lite.esm.js +2 -2
  66. package/framework7-rtl.css +69 -117
  67. package/framework7-rtl.min.css +7 -3
  68. package/framework7.css +69 -117
  69. package/framework7.esm.js +2 -2
  70. package/framework7.less +2 -2
  71. package/framework7.min.css +7 -3
  72. package/modules/component/component-class.js +51 -70
  73. package/modules/touch/touch.js +2 -2
  74. package/package.json +3 -3
  75. package/shared/utils.js +2 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.0-beta.8
2
+ * Framework7 8.0.0
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: March 27, 2023
10
+ * Released on: April 3, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.0-beta.8
2
+ * Framework7 8.0.0
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: March 27, 2023
10
+ * Released on: April 3, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.0-beta.8
2
+ * Framework7 8.0.0
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: March 27, 2023
10
+ * Released on: April 3, 2023
11
11
  */
12
12
 
13
13
  /*====================
@@ -1421,8 +1421,12 @@ html.device-full-viewport body {
1421
1421
  .navbars > .navbar {
1422
1422
  position: absolute;
1423
1423
  }
1424
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(.with-searchbar-expandable-enabled) .navbar-bg,
1425
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(.with-searchbar-expandable-enabled) .title {
1424
+ .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1425
+ .with-searchbar-expandable-enabled
1426
+ ) .navbar-bg,
1427
+ .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1428
+ .with-searchbar-expandable-enabled
1429
+ ) .title {
1426
1430
  opacity: 0;
1427
1431
  }
1428
1432
  .navbar-large .navbar-bg {
@@ -2095,37 +2099,6 @@ html.device-full-viewport body {
2095
2099
  padding: 0 12px;
2096
2100
  min-width: 48px;
2097
2101
  }
2098
- .md .navbar a.link:before {
2099
- content: '';
2100
- width: 152%;
2101
- height: 152%;
2102
- left: -26%;
2103
- top: -26%;
2104
- position: absolute;
2105
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 66%, rgba(255, 255, 255, 0) 66%);
2106
- background-repeat: no-repeat;
2107
- background-position: center;
2108
- background-size: 100% 100%;
2109
- opacity: 0;
2110
- pointer-events: none;
2111
- transition-duration: 300ms;
2112
- transition-property: opacity;
2113
- }
2114
- .md .navbar a.link.icon-only:before,
2115
- .md .navbar a.link.ripple-inset:before,
2116
- .md .navbar a.link.searchbar-disable-button:before,
2117
- .md .navbar a.link.input-clear-button:before,
2118
- .md .navbar a.link.notification-close-button:before {
2119
- width: 100%;
2120
- height: 100%;
2121
- left: 0;
2122
- top: 0;
2123
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 71%, rgba(255, 255, 255, 0) 71%);
2124
- }
2125
- .md .navbar a.link.active-state:before {
2126
- opacity: 1;
2127
- transition-duration: 150ms;
2128
- }
2129
2102
  .md .navbar a.icon-only {
2130
2103
  min-width: 0;
2131
2104
  flex-shrink: 0;
@@ -2629,37 +2602,6 @@ html.device-full-viewport body {
2629
2602
  padding: 0 12px;
2630
2603
  min-width: 48px;
2631
2604
  }
2632
- .md .toolbar .link:before {
2633
- content: '';
2634
- width: 152%;
2635
- height: 152%;
2636
- left: -26%;
2637
- top: -26%;
2638
- position: absolute;
2639
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 66%, rgba(255, 255, 255, 0) 66%);
2640
- background-repeat: no-repeat;
2641
- background-position: center;
2642
- background-size: 100% 100%;
2643
- opacity: 0;
2644
- pointer-events: none;
2645
- transition-duration: 300ms;
2646
- transition-property: opacity;
2647
- }
2648
- .md .toolbar .link.icon-only:before,
2649
- .md .toolbar .link.ripple-inset:before,
2650
- .md .toolbar .link.searchbar-disable-button:before,
2651
- .md .toolbar .link.input-clear-button:before,
2652
- .md .toolbar .link.notification-close-button:before {
2653
- width: 100%;
2654
- height: 100%;
2655
- left: 0;
2656
- top: 0;
2657
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 71%, rgba(255, 255, 255, 0) 71%);
2658
- }
2659
- .md .toolbar .link.active-state:before {
2660
- opacity: 1;
2661
- transition-duration: 150ms;
2662
- }
2663
2605
  .md .toolbar a.icon-only {
2664
2606
  min-width: 0;
2665
2607
  flex-shrink: 0;
@@ -2925,37 +2867,6 @@ html.device-full-viewport body {
2925
2867
  justify-content: center;
2926
2868
  padding: 0 12px;
2927
2869
  }
2928
- .md .subnavbar a.link:before {
2929
- content: '';
2930
- width: 152%;
2931
- height: 152%;
2932
- left: -26%;
2933
- top: -26%;
2934
- position: absolute;
2935
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 66%, rgba(255, 255, 255, 0) 66%);
2936
- background-repeat: no-repeat;
2937
- background-position: center;
2938
- background-size: 100% 100%;
2939
- opacity: 0;
2940
- pointer-events: none;
2941
- transition-duration: 300ms;
2942
- transition-property: opacity;
2943
- }
2944
- .md .subnavbar a.link.icon-only:before,
2945
- .md .subnavbar a.link.ripple-inset:before,
2946
- .md .subnavbar a.link.searchbar-disable-button:before,
2947
- .md .subnavbar a.link.input-clear-button:before,
2948
- .md .subnavbar a.link.notification-close-button:before {
2949
- width: 100%;
2950
- height: 100%;
2951
- left: 0;
2952
- top: 0;
2953
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 71%, rgba(255, 255, 255, 0) 71%);
2954
- }
2955
- .md .subnavbar a.link.active-state:before {
2956
- opacity: 1;
2957
- transition-duration: 150ms;
2958
- }
2959
2870
  .md .subnavbar a.icon-only {
2960
2871
  flex-shrink: 0;
2961
2872
  padding: 0 12px;
@@ -3438,7 +3349,6 @@ html.device-full-viewport body {
3438
3349
  --f7-list-item-footer-line-height: 1.2;
3439
3350
  /*
3440
3351
  --f7-list-button-text-color: var(--f7-theme-color);
3441
- --f7-list-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
3442
3352
  */
3443
3353
  --f7-list-button-font-size: inherit;
3444
3354
  --f7-list-button-font-weight: 400;
@@ -3479,6 +3389,9 @@ html.device-full-viewport body {
3479
3389
  --f7-list-media-item-padding-vertical: 10px;
3480
3390
  --f7-list-media-item-title-font-weight: 600;
3481
3391
  --f7-list-button-border-color: rgba(0, 0, 0, 0.22);
3392
+ /*
3393
+ --f7-list-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
3394
+ */
3482
3395
  --f7-list-group-title-border-color: rgba(0, 0, 0, 0.22);
3483
3396
  --f7-list-group-title-height: 31px;
3484
3397
  --f7-list-group-title-font-size: inherit;
@@ -3531,6 +3444,9 @@ html.device-full-viewport body {
3531
3444
  --f7-list-media-item-padding-vertical: 12px;
3532
3445
  --f7-list-media-item-title-font-weight: 500;
3533
3446
  --f7-list-button-border-color: transparent;
3447
+ /*
3448
+ --f7-list-button-pressed-bg-color: transparent;
3449
+ */
3534
3450
  --f7-list-group-title-border-color: transparent;
3535
3451
  --f7-list-group-title-height: 48px;
3536
3452
  --f7-list-group-title-font-size: 16px;
@@ -3538,11 +3454,7 @@ html.device-full-viewport body {
3538
3454
  --f7-menu-list-offset: 16px;
3539
3455
  --f7-menu-list-border-radius: 999px;
3540
3456
  --f7-menu-list-item-min-height: 56px;
3541
- --f7-list-link-pressed-bg-color: rgba(0, 0, 0, 0.1);
3542
- }
3543
- .md .dark,
3544
- .md.dark {
3545
- --f7-list-link-pressed-bg-color: rgba(255, 255, 255, 0.05);
3457
+ --f7-list-link-pressed-bg-color: transparent;
3546
3458
  }
3547
3459
  .md,
3548
3460
  .md .dark,
@@ -3815,9 +3727,12 @@ html.device-full-viewport body {
3815
3727
  font-weight: var(--f7-list-button-font-weight);
3816
3728
  text-align: var(--f7-list-button-text-align);
3817
3729
  }
3818
- .list-button.active-state {
3730
+ .ios .list-button.active-state {
3819
3731
  background-color: var(--f7-list-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
3820
3732
  }
3733
+ .md .list-button.active-state {
3734
+ background-color: var(--f7-list-button-pressed-bg-color, transparent);
3735
+ }
3821
3736
  .list-dividers .list-button:after,
3822
3737
  .ios .list-dividers-ios .list-button:after,
3823
3738
  .md .list-dividers-md .list-button:after {
@@ -4479,6 +4394,9 @@ li.list-group-title:after,
4479
4394
  .ios .list .list-button.active-state {
4480
4395
  transition-duration: 0ms;
4481
4396
  }
4397
+ .md .menu-list .item-link.active-state {
4398
+ background-color: var(--f7-menu-list-item-bg-color);
4399
+ }
4482
4400
  /* === Badge === */
4483
4401
  :root {
4484
4402
  --f7-badge-text-color: #fff;
@@ -4539,7 +4457,6 @@ li.list-group-title:after,
4539
4457
  --f7-button-border-width: 0px;
4540
4458
  /*
4541
4459
  --f7-button-text-color: var(--f7-theme-color);
4542
- --f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
4543
4460
  --f7-button-pressed-text-color: var(--f7-button-text-color, var(--f7-theme-color));
4544
4461
  --f7-button-border-color: var(--f7-theme-color);
4545
4462
  --f7-button-fill-bg-color: var(--f7-theme-color);
@@ -4554,14 +4471,12 @@ li.list-group-title:after,
4554
4471
  --f7-segmented-strong-button-font-weight: 500;
4555
4472
  --f7-segmented-strong-button-active-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
4556
4473
  --f7-segmented-strong-button-text-color: #000;
4557
- --f7-segmented-strong-button-pressed-bg-color: rgba(0, 0, 0, 0.07);
4558
4474
  --f7-segmented-strong-button-hover-bg-color: rgba(0, 0, 0, 0.04);
4559
4475
  --f7-segmented-strong-button-active-text-color: #000;
4560
4476
  --f7-segmented-strong-button-active-bg-color: #fff;
4561
4477
  }
4562
4478
  :root .dark,
4563
4479
  :root.dark {
4564
- --f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
4565
4480
  --f7-segmented-strong-button-hover-bg-color: rgba(255, 255, 255, 0.02);
4566
4481
  --f7-segmented-strong-button-active-bg-color: rgba(255, 255, 255, 0.14);
4567
4482
  --f7-segmented-strong-button-text-color: #fff;
@@ -4578,6 +4493,7 @@ li.list-group-title:after,
4578
4493
  --f7-button-outline-border-color: var(--f7-theme-color);
4579
4494
  --f7-button-outline-border-width: 2px;
4580
4495
  /*
4496
+ --f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
4581
4497
  --f7-button-fill-pressed-bg-color: var(--f7-theme-color-tint);
4582
4498
  */
4583
4499
  --f7-button-large-text-transform: uppercase;
@@ -4595,12 +4511,17 @@ li.list-group-title:after,
4595
4511
  --f7-button-tonal-pressed-bg-color: rgba(var(--f7-theme-color-rgb), 0.25);
4596
4512
  --f7-button-tonal-text-color: var(--f7-theme-color);
4597
4513
  --f7-segmented-strong-bg-color: rgba(0, 0, 0, 0.07);
4514
+ --f7-segmented-strong-button-pressed-bg-color: rgba(0, 0, 0, 0.07);
4598
4515
  }
4599
4516
  .ios .dark,
4600
4517
  .ios.dark {
4601
4518
  --f7-segmented-strong-bg-color: rgba(255, 255, 255, 0.1);
4519
+ --f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
4602
4520
  }
4603
4521
  .md {
4522
+ /*
4523
+ --f7-button-pressed-bg-color: transparent;
4524
+ */
4604
4525
  --f7-button-text-transform: none;
4605
4526
  --f7-button-height: 40px;
4606
4527
  --f7-button-padding-horizontal: 16px;
@@ -4619,16 +4540,17 @@ li.list-group-title:after,
4619
4540
  --f7-button-small-font-weight: 500;
4620
4541
  --f7-segmented-strong-button-text-transform: none;
4621
4542
  --f7-segmented-strong-button-active-font-weight: 500;
4543
+ --f7-segmented-strong-button-pressed-bg-color: transparent;
4622
4544
  }
4623
4545
  .md,
4624
4546
  .md .dark,
4625
4547
  .md [class*='color-'] {
4626
- --f7-button-fill-pressed-bg-color: var(--f7-theme-color-shade);
4548
+ --f7-button-fill-pressed-bg-color: transparent;
4627
4549
  --f7-button-fill-text-color: var(--f7-md-on-primary);
4628
4550
  --f7-button-outline-border-color: var(--f7-md-outline);
4629
4551
  --f7-segmented-strong-bg-color: var(--f7-md-surface-variant);
4630
4552
  --f7-button-tonal-bg-color: var(--f7-md-secondary-container);
4631
- --f7-button-tonal-pressed-bg-color: rgba(var(--f7-theme-color-rgb), 0.25);
4553
+ --f7-button-tonal-pressed-bg-color: transparent;
4632
4554
  --f7-button-tonal-text-color: var(--f7-md-on-secondary-container);
4633
4555
  }
4634
4556
  button {
@@ -4671,7 +4593,6 @@ button {
4671
4593
  box-shadow: var(--f7-button-box-shadow);
4672
4594
  }
4673
4595
  .button.active-state {
4674
- background-color: var(--f7-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
4675
4596
  color: var(--f7-button-pressed-text-color, var(--f7-button-text-color, var(--f7-theme-color)));
4676
4597
  }
4677
4598
  input[type='submit'].button,
@@ -5003,6 +4924,9 @@ input[type='reset'].button {
5003
4924
  .ios .button {
5004
4925
  transition-duration: 100ms;
5005
4926
  }
4927
+ .ios .button.active-state {
4928
+ background-color: var(--f7-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
4929
+ }
5006
4930
  .ios .button-fill,
5007
4931
  .ios .button-fill-ios {
5008
4932
  --f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, var(--f7-theme-color-tint));
@@ -5017,12 +4941,12 @@ input[type='reset'].button {
5017
4941
  }
5018
4942
  .md .button-fill,
5019
4943
  .md .button-fill-md {
5020
- --f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, var(--f7-theme-color-shade));
4944
+ --f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, transparent);
5021
4945
  }
5022
4946
  /* === Touch Ripple === */
5023
4947
  :root {
5024
4948
  --f7-touch-ripple-black: rgba(0, 0, 0, 0.1);
5025
- --f7-touch-ripple-white: rgba(255, 255, 255, 0.3);
4949
+ --f7-touch-ripple-white: rgba(255, 255, 255, 0.15);
5026
4950
  --f7-touch-ripple-color: var(--f7-touch-ripple-black);
5027
4951
  }
5028
4952
  .dark {
@@ -5057,13 +4981,33 @@ input[type='reset'].button {
5057
4981
  background-color: var(--f7-touch-ripple-color);
5058
4982
  animation: touch-ripple-in 200ms forwards;
5059
4983
  }
4984
+ .ripple-wave.ripple-wave-inset {
4985
+ background-image: none;
4986
+ background-color: var(--f7-touch-ripple-color);
4987
+ }
5060
4988
  .ripple-wave.ripple-wave-out {
5061
4989
  transform: var(--f7-ripple-transform);
5062
- animation: touch-ripple-out 300ms forwards;
5063
- }
5064
- .button-fill .ripple-wave,
5065
- .picker-calendar-day .ripple-wave {
5066
- z-index: 1;
4990
+ animation: touch-ripple-out 250ms forwards !important;
4991
+ }
4992
+ .item-link .ripple-wave,
4993
+ .list label.item-content .ripple-wave,
4994
+ .list-button .ripple-wave,
4995
+ .links-list a .ripple-wave,
4996
+ .button .ripple-wave,
4997
+ button .ripple-wave,
4998
+ .dialog-button .ripple-wave,
4999
+ .tab-link .ripple-wave,
5000
+ .item-radio .ripple-wave,
5001
+ .item-checkbox .ripple-wave,
5002
+ .actions-button .ripple-wave,
5003
+ .fab a .ripple-wave,
5004
+ .stepper-button .ripple-wave,
5005
+ .stepper-button-minus .ripple-wave,
5006
+ .stepper-button-plus .ripple-wave,
5007
+ .list.accordion-list .accordion-item-toggle .ripple-wave {
5008
+ animation: touch-ripple-in-blurred 250ms forwards;
5009
+ background-image: radial-gradient(closest-side circle at 50% 50%, var(--f7-touch-ripple-color) 50%, rgba(255, 255, 255, 0));
5010
+ background-color: transparent;
5067
5011
  }
5068
5012
  .checkbox .ripple-wave,
5069
5013
  .radio .ripple-wave,
@@ -5073,6 +5017,14 @@ input[type='reset'].button {
5073
5017
  [class*='ripple-color-'] {
5074
5018
  --f7-touch-ripple-color: var(--f7-theme-color-ripple-color);
5075
5019
  }
5020
+ @keyframes touch-ripple-in-blurred {
5021
+ from {
5022
+ transform: translate3d(0px, 0px, 0) scale(0.5);
5023
+ }
5024
+ to {
5025
+ transform: var(--f7-ripple-transform);
5026
+ }
5027
+ }
5076
5028
  @keyframes touch-ripple-in {
5077
5029
  from {
5078
5030
  transform: translate3d(0px, 0px, 0) scale(0);