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
package/framework7.css CHANGED
@@ -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
  /*====================
@@ -1416,8 +1416,12 @@ html.device-full-viewport body {
1416
1416
  .navbars > .navbar {
1417
1417
  position: absolute;
1418
1418
  }
1419
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(.with-searchbar-expandable-enabled) .navbar-bg,
1420
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(.with-searchbar-expandable-enabled) .title {
1419
+ .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1420
+ .with-searchbar-expandable-enabled
1421
+ ) .navbar-bg,
1422
+ .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1423
+ .with-searchbar-expandable-enabled
1424
+ ) .title {
1421
1425
  opacity: 0;
1422
1426
  }
1423
1427
  .navbar-large .navbar-bg {
@@ -2090,37 +2094,6 @@ html.device-full-viewport body {
2090
2094
  padding: 0 12px;
2091
2095
  min-width: 48px;
2092
2096
  }
2093
- .md .navbar a.link:before {
2094
- content: '';
2095
- width: 152%;
2096
- height: 152%;
2097
- left: -26%;
2098
- top: -26%;
2099
- position: absolute;
2100
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 66%, rgba(255, 255, 255, 0) 66%);
2101
- background-repeat: no-repeat;
2102
- background-position: center;
2103
- background-size: 100% 100%;
2104
- opacity: 0;
2105
- pointer-events: none;
2106
- transition-duration: 300ms;
2107
- transition-property: opacity;
2108
- }
2109
- .md .navbar a.link.icon-only:before,
2110
- .md .navbar a.link.ripple-inset:before,
2111
- .md .navbar a.link.searchbar-disable-button:before,
2112
- .md .navbar a.link.input-clear-button:before,
2113
- .md .navbar a.link.notification-close-button:before {
2114
- width: 100%;
2115
- height: 100%;
2116
- left: 0;
2117
- top: 0;
2118
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 71%, rgba(255, 255, 255, 0) 71%);
2119
- }
2120
- .md .navbar a.link.active-state:before {
2121
- opacity: 1;
2122
- transition-duration: 150ms;
2123
- }
2124
2097
  .md .navbar a.icon-only {
2125
2098
  min-width: 0;
2126
2099
  flex-shrink: 0;
@@ -2623,37 +2596,6 @@ html.device-full-viewport body {
2623
2596
  padding: 0 12px;
2624
2597
  min-width: 48px;
2625
2598
  }
2626
- .md .toolbar .link:before {
2627
- content: '';
2628
- width: 152%;
2629
- height: 152%;
2630
- left: -26%;
2631
- top: -26%;
2632
- position: absolute;
2633
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 66%, rgba(255, 255, 255, 0) 66%);
2634
- background-repeat: no-repeat;
2635
- background-position: center;
2636
- background-size: 100% 100%;
2637
- opacity: 0;
2638
- pointer-events: none;
2639
- transition-duration: 300ms;
2640
- transition-property: opacity;
2641
- }
2642
- .md .toolbar .link.icon-only:before,
2643
- .md .toolbar .link.ripple-inset:before,
2644
- .md .toolbar .link.searchbar-disable-button:before,
2645
- .md .toolbar .link.input-clear-button:before,
2646
- .md .toolbar .link.notification-close-button:before {
2647
- width: 100%;
2648
- height: 100%;
2649
- left: 0;
2650
- top: 0;
2651
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 71%, rgba(255, 255, 255, 0) 71%);
2652
- }
2653
- .md .toolbar .link.active-state:before {
2654
- opacity: 1;
2655
- transition-duration: 150ms;
2656
- }
2657
2599
  .md .toolbar a.icon-only {
2658
2600
  min-width: 0;
2659
2601
  flex-shrink: 0;
@@ -2919,37 +2861,6 @@ html.device-full-viewport body {
2919
2861
  justify-content: center;
2920
2862
  padding: 0 12px;
2921
2863
  }
2922
- .md .subnavbar a.link:before {
2923
- content: '';
2924
- width: 152%;
2925
- height: 152%;
2926
- left: -26%;
2927
- top: -26%;
2928
- position: absolute;
2929
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 66%, rgba(255, 255, 255, 0) 66%);
2930
- background-repeat: no-repeat;
2931
- background-position: center;
2932
- background-size: 100% 100%;
2933
- opacity: 0;
2934
- pointer-events: none;
2935
- transition-duration: 300ms;
2936
- transition-property: opacity;
2937
- }
2938
- .md .subnavbar a.link.icon-only:before,
2939
- .md .subnavbar a.link.ripple-inset:before,
2940
- .md .subnavbar a.link.searchbar-disable-button:before,
2941
- .md .subnavbar a.link.input-clear-button:before,
2942
- .md .subnavbar a.link.notification-close-button:before {
2943
- width: 100%;
2944
- height: 100%;
2945
- left: 0;
2946
- top: 0;
2947
- background-image: radial-gradient(circle at center, var(--f7-link-highlight-color) 71%, rgba(255, 255, 255, 0) 71%);
2948
- }
2949
- .md .subnavbar a.link.active-state:before {
2950
- opacity: 1;
2951
- transition-duration: 150ms;
2952
- }
2953
2864
  .md .subnavbar a.icon-only {
2954
2865
  flex-shrink: 0;
2955
2866
  padding: 0 12px;
@@ -3432,7 +3343,6 @@ html.device-full-viewport body {
3432
3343
  --f7-list-item-footer-line-height: 1.2;
3433
3344
  /*
3434
3345
  --f7-list-button-text-color: var(--f7-theme-color);
3435
- --f7-list-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
3436
3346
  */
3437
3347
  --f7-list-button-font-size: inherit;
3438
3348
  --f7-list-button-font-weight: 400;
@@ -3473,6 +3383,9 @@ html.device-full-viewport body {
3473
3383
  --f7-list-media-item-padding-vertical: 10px;
3474
3384
  --f7-list-media-item-title-font-weight: 600;
3475
3385
  --f7-list-button-border-color: rgba(0, 0, 0, 0.22);
3386
+ /*
3387
+ --f7-list-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
3388
+ */
3476
3389
  --f7-list-group-title-border-color: rgba(0, 0, 0, 0.22);
3477
3390
  --f7-list-group-title-height: 31px;
3478
3391
  --f7-list-group-title-font-size: inherit;
@@ -3525,6 +3438,9 @@ html.device-full-viewport body {
3525
3438
  --f7-list-media-item-padding-vertical: 12px;
3526
3439
  --f7-list-media-item-title-font-weight: 500;
3527
3440
  --f7-list-button-border-color: transparent;
3441
+ /*
3442
+ --f7-list-button-pressed-bg-color: transparent;
3443
+ */
3528
3444
  --f7-list-group-title-border-color: transparent;
3529
3445
  --f7-list-group-title-height: 48px;
3530
3446
  --f7-list-group-title-font-size: 16px;
@@ -3532,11 +3448,7 @@ html.device-full-viewport body {
3532
3448
  --f7-menu-list-offset: 16px;
3533
3449
  --f7-menu-list-border-radius: 999px;
3534
3450
  --f7-menu-list-item-min-height: 56px;
3535
- --f7-list-link-pressed-bg-color: rgba(0, 0, 0, 0.1);
3536
- }
3537
- .md .dark,
3538
- .md.dark {
3539
- --f7-list-link-pressed-bg-color: rgba(255, 255, 255, 0.05);
3451
+ --f7-list-link-pressed-bg-color: transparent;
3540
3452
  }
3541
3453
  .md,
3542
3454
  .md .dark,
@@ -3809,9 +3721,12 @@ html.device-full-viewport body {
3809
3721
  font-weight: var(--f7-list-button-font-weight);
3810
3722
  text-align: var(--f7-list-button-text-align);
3811
3723
  }
3812
- .list-button.active-state {
3724
+ .ios .list-button.active-state {
3813
3725
  background-color: var(--f7-list-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
3814
3726
  }
3727
+ .md .list-button.active-state {
3728
+ background-color: var(--f7-list-button-pressed-bg-color, transparent);
3729
+ }
3815
3730
  .list-dividers .list-button:after,
3816
3731
  .ios .list-dividers-ios .list-button:after,
3817
3732
  .md .list-dividers-md .list-button:after {
@@ -4472,6 +4387,9 @@ li.list-group-title:after,
4472
4387
  .ios .list .list-button.active-state {
4473
4388
  transition-duration: 0ms;
4474
4389
  }
4390
+ .md .menu-list .item-link.active-state {
4391
+ background-color: var(--f7-menu-list-item-bg-color);
4392
+ }
4475
4393
  /* === Badge === */
4476
4394
  :root {
4477
4395
  --f7-badge-text-color: #fff;
@@ -4532,7 +4450,6 @@ li.list-group-title:after,
4532
4450
  --f7-button-border-width: 0px;
4533
4451
  /*
4534
4452
  --f7-button-text-color: var(--f7-theme-color);
4535
- --f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
4536
4453
  --f7-button-pressed-text-color: var(--f7-button-text-color, var(--f7-theme-color));
4537
4454
  --f7-button-border-color: var(--f7-theme-color);
4538
4455
  --f7-button-fill-bg-color: var(--f7-theme-color);
@@ -4547,14 +4464,12 @@ li.list-group-title:after,
4547
4464
  --f7-segmented-strong-button-font-weight: 500;
4548
4465
  --f7-segmented-strong-button-active-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
4549
4466
  --f7-segmented-strong-button-text-color: #000;
4550
- --f7-segmented-strong-button-pressed-bg-color: rgba(0, 0, 0, 0.07);
4551
4467
  --f7-segmented-strong-button-hover-bg-color: rgba(0, 0, 0, 0.04);
4552
4468
  --f7-segmented-strong-button-active-text-color: #000;
4553
4469
  --f7-segmented-strong-button-active-bg-color: #fff;
4554
4470
  }
4555
4471
  :root .dark,
4556
4472
  :root.dark {
4557
- --f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
4558
4473
  --f7-segmented-strong-button-hover-bg-color: rgba(255, 255, 255, 0.02);
4559
4474
  --f7-segmented-strong-button-active-bg-color: rgba(255, 255, 255, 0.14);
4560
4475
  --f7-segmented-strong-button-text-color: #fff;
@@ -4571,6 +4486,7 @@ li.list-group-title:after,
4571
4486
  --f7-button-outline-border-color: var(--f7-theme-color);
4572
4487
  --f7-button-outline-border-width: 2px;
4573
4488
  /*
4489
+ --f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
4574
4490
  --f7-button-fill-pressed-bg-color: var(--f7-theme-color-tint);
4575
4491
  */
4576
4492
  --f7-button-large-text-transform: uppercase;
@@ -4588,12 +4504,17 @@ li.list-group-title:after,
4588
4504
  --f7-button-tonal-pressed-bg-color: rgba(var(--f7-theme-color-rgb), 0.25);
4589
4505
  --f7-button-tonal-text-color: var(--f7-theme-color);
4590
4506
  --f7-segmented-strong-bg-color: rgba(0, 0, 0, 0.07);
4507
+ --f7-segmented-strong-button-pressed-bg-color: rgba(0, 0, 0, 0.07);
4591
4508
  }
4592
4509
  .ios .dark,
4593
4510
  .ios.dark {
4594
4511
  --f7-segmented-strong-bg-color: rgba(255, 255, 255, 0.1);
4512
+ --f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
4595
4513
  }
4596
4514
  .md {
4515
+ /*
4516
+ --f7-button-pressed-bg-color: transparent;
4517
+ */
4597
4518
  --f7-button-text-transform: none;
4598
4519
  --f7-button-height: 40px;
4599
4520
  --f7-button-padding-horizontal: 16px;
@@ -4612,16 +4533,17 @@ li.list-group-title:after,
4612
4533
  --f7-button-small-font-weight: 500;
4613
4534
  --f7-segmented-strong-button-text-transform: none;
4614
4535
  --f7-segmented-strong-button-active-font-weight: 500;
4536
+ --f7-segmented-strong-button-pressed-bg-color: transparent;
4615
4537
  }
4616
4538
  .md,
4617
4539
  .md .dark,
4618
4540
  .md [class*='color-'] {
4619
- --f7-button-fill-pressed-bg-color: var(--f7-theme-color-shade);
4541
+ --f7-button-fill-pressed-bg-color: transparent;
4620
4542
  --f7-button-fill-text-color: var(--f7-md-on-primary);
4621
4543
  --f7-button-outline-border-color: var(--f7-md-outline);
4622
4544
  --f7-segmented-strong-bg-color: var(--f7-md-surface-variant);
4623
4545
  --f7-button-tonal-bg-color: var(--f7-md-secondary-container);
4624
- --f7-button-tonal-pressed-bg-color: rgba(var(--f7-theme-color-rgb), 0.25);
4546
+ --f7-button-tonal-pressed-bg-color: transparent;
4625
4547
  --f7-button-tonal-text-color: var(--f7-md-on-secondary-container);
4626
4548
  }
4627
4549
  button {
@@ -4664,7 +4586,6 @@ button {
4664
4586
  box-shadow: var(--f7-button-box-shadow);
4665
4587
  }
4666
4588
  .button.active-state {
4667
- background-color: var(--f7-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
4668
4589
  color: var(--f7-button-pressed-text-color, var(--f7-button-text-color, var(--f7-theme-color)));
4669
4590
  }
4670
4591
  input[type='submit'].button,
@@ -4996,6 +4917,9 @@ input[type='reset'].button {
4996
4917
  .ios .button {
4997
4918
  transition-duration: 100ms;
4998
4919
  }
4920
+ .ios .button.active-state {
4921
+ background-color: var(--f7-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
4922
+ }
4999
4923
  .ios .button-fill,
5000
4924
  .ios .button-fill-ios {
5001
4925
  --f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, var(--f7-theme-color-tint));
@@ -5010,12 +4934,12 @@ input[type='reset'].button {
5010
4934
  }
5011
4935
  .md .button-fill,
5012
4936
  .md .button-fill-md {
5013
- --f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, var(--f7-theme-color-shade));
4937
+ --f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, transparent);
5014
4938
  }
5015
4939
  /* === Touch Ripple === */
5016
4940
  :root {
5017
4941
  --f7-touch-ripple-black: rgba(0, 0, 0, 0.1);
5018
- --f7-touch-ripple-white: rgba(255, 255, 255, 0.3);
4942
+ --f7-touch-ripple-white: rgba(255, 255, 255, 0.15);
5019
4943
  --f7-touch-ripple-color: var(--f7-touch-ripple-black);
5020
4944
  }
5021
4945
  .dark {
@@ -5050,13 +4974,33 @@ input[type='reset'].button {
5050
4974
  background-color: var(--f7-touch-ripple-color);
5051
4975
  animation: touch-ripple-in 200ms forwards;
5052
4976
  }
4977
+ .ripple-wave.ripple-wave-inset {
4978
+ background-image: none;
4979
+ background-color: var(--f7-touch-ripple-color);
4980
+ }
5053
4981
  .ripple-wave.ripple-wave-out {
5054
4982
  transform: var(--f7-ripple-transform);
5055
- animation: touch-ripple-out 300ms forwards;
5056
- }
5057
- .button-fill .ripple-wave,
5058
- .picker-calendar-day .ripple-wave {
5059
- z-index: 1;
4983
+ animation: touch-ripple-out 250ms forwards !important;
4984
+ }
4985
+ .item-link .ripple-wave,
4986
+ .list label.item-content .ripple-wave,
4987
+ .list-button .ripple-wave,
4988
+ .links-list a .ripple-wave,
4989
+ .button .ripple-wave,
4990
+ button .ripple-wave,
4991
+ .dialog-button .ripple-wave,
4992
+ .tab-link .ripple-wave,
4993
+ .item-radio .ripple-wave,
4994
+ .item-checkbox .ripple-wave,
4995
+ .actions-button .ripple-wave,
4996
+ .fab a .ripple-wave,
4997
+ .stepper-button .ripple-wave,
4998
+ .stepper-button-minus .ripple-wave,
4999
+ .stepper-button-plus .ripple-wave,
5000
+ .list.accordion-list .accordion-item-toggle .ripple-wave {
5001
+ animation: touch-ripple-in-blurred 250ms forwards;
5002
+ background-image: radial-gradient(closest-side circle at 50% 50%, var(--f7-touch-ripple-color) 50%, rgba(255, 255, 255, 0));
5003
+ background-color: transparent;
5060
5004
  }
5061
5005
  .checkbox .ripple-wave,
5062
5006
  .radio .ripple-wave,
@@ -5066,6 +5010,14 @@ input[type='reset'].button {
5066
5010
  [class*='ripple-color-'] {
5067
5011
  --f7-touch-ripple-color: var(--f7-theme-color-ripple-color);
5068
5012
  }
5013
+ @keyframes touch-ripple-in-blurred {
5014
+ from {
5015
+ transform: translate3d(0px, 0px, 0) scale(0.5);
5016
+ }
5017
+ to {
5018
+ transform: var(--f7-ripple-transform);
5019
+ }
5020
+ }
5069
5021
  @keyframes touch-ripple-in {
5070
5022
  from {
5071
5023
  transform: translate3d(0px, 0px, 0) scale(0);
package/framework7.esm.js CHANGED
@@ -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';
package/framework7.less CHANGED
@@ -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 (reference) './less/mixins.less';