@xenknight/framework7 0.0.8 → 0.0.10

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 (45) hide show
  1. package/components/navbar-new/navbar-ios.less +135 -135
  2. package/components/navbar-new/navbar-md.less +105 -105
  3. package/components/navbar-new/navbar-vars.less +78 -78
  4. package/components/navbar-new/navbar.d.ts +77 -77
  5. package/components/navbar-new/navbar.less +268 -268
  6. package/components/page/page.less +4 -2
  7. package/components/searchbar-new/searchbar-ios.less +131 -131
  8. package/components/searchbar-new/searchbar-md.less +154 -153
  9. package/components/searchbar-new/searchbar-new-class.js +32 -20
  10. package/components/searchbar-new/searchbar-vars.less +75 -75
  11. package/components/searchbar-new/searchbar.less +336 -331
  12. package/components/subnavbar-new/subnavbar-new-ios.less +67 -0
  13. package/components/subnavbar-new/subnavbar-new-md.less +48 -0
  14. package/components/subnavbar-new/subnavbar-new-vars.less +42 -0
  15. package/components/subnavbar-new/subnavbar-new.d.ts +12 -0
  16. package/components/subnavbar-new/subnavbar-new.js +20 -0
  17. package/components/subnavbar-new/subnavbar-new.less +151 -0
  18. package/components/toolbar-new/tabbar-highlight.js +29 -9
  19. package/components/toolbar-new/toolbar-ios.less +193 -193
  20. package/components/toolbar-new/toolbar-md.less +152 -152
  21. package/components/toolbar-new/toolbar-vars.less +77 -77
  22. package/components/toolbar-new/toolbar.less +261 -261
  23. package/framework7-bundle-rtl.css +260 -9
  24. package/framework7-bundle-rtl.min.css +5 -5
  25. package/framework7-bundle.css +260 -9
  26. package/framework7-bundle.esm.js +5 -3
  27. package/framework7-bundle.js +84 -32
  28. package/framework7-bundle.js.map +1 -1
  29. package/framework7-bundle.less +3 -2
  30. package/framework7-bundle.min.css +5 -5
  31. package/framework7-bundle.min.js +3 -3
  32. package/framework7-bundle.min.js.map +1 -1
  33. package/framework7-lite-bundle.esm.js +5 -3
  34. package/framework7-lite.esm.js +5 -3
  35. package/framework7-lite.js +3 -1
  36. package/framework7-rtl.css +260 -9
  37. package/framework7-rtl.min.css +5 -5
  38. package/framework7-types.d.ts +5 -1
  39. package/framework7.css +260 -9
  40. package/framework7.d.ts +4 -0
  41. package/framework7.esm.js +5 -3
  42. package/framework7.js +3 -1
  43. package/framework7.less +3 -2
  44. package/framework7.min.css +5 -5
  45. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 0.0.7
2
+ * Framework7 0.0.9
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: January 1, 2026
10
+ * Released on: January 4, 2026
11
11
  */
12
12
 
13
13
  /*====================
@@ -417,7 +417,7 @@ html.device-full-viewport body {
417
417
  height: 100%;
418
418
  position: relative;
419
419
  z-index: 1;
420
- padding-top: calc(var(--f7-page-navbar-offset, 0px) + var(--f7-page-toolbar-top-offset, 0px) + var(--f7-page-subnavbar-offset, 0px) + var(--f7-page-searchbar-offset, 0px) + var(--f7-page-content-extra-padding-top, 0px));
420
+ padding-top: calc(var(--f7-page-navbar-offset, 0px) + var(--f7-page-navbar-new-offset, 0px) + var(--f7-page-toolbar-top-offset, 0px) + var(--f7-page-toolbar-new-top-offset, 0px) + var(--f7-page-subnavbar-offset, 0px) + var(--f7-page-subnavbar-new-offset, 0px) + var(--f7-page-searchbar-offset, 0px) + var(--f7-page-searchbar-new-offset, 0px) + var(--f7-page-content-extra-padding-top, 0px));
421
421
  padding-bottom: calc(var(--f7-page-toolbar-bottom-offset, 0px) + var(--f7-safe-area-bottom) + var(--f7-page-content-extra-padding-bottom, 0px));
422
422
  }
423
423
  .page-transitioning,
@@ -2503,18 +2503,18 @@ html.device-full-viewport body {
2503
2503
  }
2504
2504
  .navbar-new ~ *,
2505
2505
  .navbars-new ~ * {
2506
- --f7-page-navbar-offset: calc(var(--f7-navbar-new-height) + var(--f7-safe-area-top));
2506
+ --f7-page-navbar-new-offset: calc(var(--f7-navbar-new-height) + var(--f7-safe-area-top));
2507
2507
  }
2508
2508
  .navbar-new ~ * .page-with-navbar-new-large,
2509
2509
  .navbar-new ~ .page-with-navbar-new-large,
2510
2510
  .navbars-new ~ * .page-with-navbar-new-large,
2511
2511
  .navbars-new ~ .page-with-navbar-new-large,
2512
2512
  .page-with-navbar-new-large .navbar-new ~ * {
2513
- --f7-page-navbar-offset: calc(var(--f7-navbar-new-height) + var(--f7-navbar-new-large-title-height) + var(--f7-safe-area-top));
2513
+ --f7-page-navbar-new-offset: calc(var(--f7-navbar-new-height) + var(--f7-navbar-new-large-title-height) + var(--f7-safe-area-top));
2514
2514
  }
2515
2515
  .page.no-navbar,
2516
2516
  .page.no-navbar .navbar-new ~ * {
2517
- --f7-page-navbar-offset: var(--f7-safe-area-top);
2517
+ --f7-page-navbar-new-offset: var(--f7-safe-area-top);
2518
2518
  }
2519
2519
  .ios {
2520
2520
  --f7-navbarLeftTextOffset: calc(4px + 12px + var(--f7-navbar-new-inner-padding-left));
@@ -2789,12 +2789,14 @@ html.device-full-viewport body {
2789
2789
  .searchbar-new input[type='search']::-webkit-search-decoration {
2790
2790
  display: none;
2791
2791
  }
2792
- .ios .subnavbar .searchbar-new {
2792
+ .ios .subnavbar .searchbar-new,
2793
+ .ios .subnavbar-new .searchbar-new {
2793
2794
  background-color: transparent;
2794
2795
  -webkit-backdrop-filter: none;
2795
2796
  backdrop-filter: none;
2796
2797
  }
2797
- .ios .subnavbar .searchbar-new:after {
2798
+ .ios .subnavbar .searchbar-new:after,
2799
+ .ios .subnavbar-new .searchbar-new:after {
2798
2800
  display: none !important;
2799
2801
  }
2800
2802
  .searchbar-new.no-outline:after {
@@ -2899,9 +2901,13 @@ html.device-full-viewport body {
2899
2901
  .toolbar .searchbar-new.searchbar-new-expandable {
2900
2902
  --f7-searchbar-new-expandable-size: var(--f7-toolbar-height);
2901
2903
  }
2902
- .subnavbar .searchbar-new.searchbar-new-expandable {
2904
+ .subnavbar .searchbar-new.searchbar-new-expandable,
2905
+ .subnavbar-new .searchbar-new.searchbar-new-expandable {
2903
2906
  --f7-searchbar-new-expandable-size: var(--f7-subnavbar-height);
2904
2907
  }
2908
+ .subnavbar-new .searchbar-new.searchbar-new-expandable {
2909
+ --f7-searchbar-new-expandable-size: var(--f7-subnavbar-new-height);
2910
+ }
2905
2911
  .tabbar-icons .searchbar-new.searchbar-new-expandable {
2906
2912
  --f7-searchbar-new-expandable-size: var(--f7-tabbar-icons-height);
2907
2913
  }
@@ -3282,16 +3288,19 @@ html.device-full-viewport body {
3282
3288
  }
3283
3289
  .md .page > .searchbar-new,
3284
3290
  .md .subnavbar .searchbar-new,
3291
+ .md .subnavbar-new .searchbar-new,
3285
3292
  .md .searchbar-new-expandable {
3286
3293
  --f7-searchbar-new-input-extra-padding-left: 34px;
3287
3294
  }
3288
3295
  .md .page > .searchbar-new .searchbar-new-disable-button,
3289
3296
  .md .subnavbar .searchbar-new .searchbar-new-disable-button,
3297
+ .md .subnavbar-new .searchbar-new .searchbar-new-disable-button,
3290
3298
  .md .searchbar-new-expandable .searchbar-new-disable-button {
3291
3299
  right: calc(var(--f7-searchbar-new-inner-padding-right) + var(--f7-safe-area-right));
3292
3300
  }
3293
3301
  .md .page > .searchbar-new .searchbar-new-icon,
3294
3302
  .md .subnavbar .searchbar-new .searchbar-new-icon,
3303
+ .md .subnavbar-new .searchbar-new .searchbar-new-icon,
3295
3304
  .md .searchbar-new-expandable .searchbar-new-icon {
3296
3305
  right: var(--f7-safe-area-right);
3297
3306
  }
@@ -4771,6 +4780,248 @@ html.device-full-viewport body {
4771
4780
  .md .subnavbar-inner > a.link:last-child {
4772
4781
  margin-left: calc(-1 * var(--f7-subnavbar-inner-padding-left));
4773
4782
  }
4783
+ /* === Subnavbar New === */
4784
+ :root {
4785
+ /*
4786
+ --f7-subnavbar-new-bg-color: var(--f7-bars-bg-color);
4787
+ --f7-subnavbar-new-bg-color-rgb: var(--f7-bars-bg-color-rgb);
4788
+ --f7-subnavbar-new-border-color: var(--f7-bars-border-color);
4789
+ --f7-subnavbar-new-link-color: var(--f7-bars-link-color);
4790
+ --f7-subnavbar-new-text-color: var(--f7-bars-text-color);
4791
+ */
4792
+ --f7-subnavbar-new-title-line-height: 1.2;
4793
+ }
4794
+ .ios {
4795
+ --f7-subnavbar-new-height: 44px;
4796
+ --f7-subnavbar-new-offset-left: calc(16px + var(--f7-safe-area-left));
4797
+ --f7-subnavbar-new-offset-right: calc(16px + var(--f7-safe-area-right));
4798
+ --f7-subnavbar-new-inner-padding-left: 5px;
4799
+ --f7-subnavbar-new-inner-padding-right: 5px;
4800
+ --f7-subnavbar-new-title-font-size: 24px;
4801
+ --f7-subnavbar-new-title-font-weight: 700;
4802
+ --f7-subnavbar-new-title-letter-spacing: -0.03em;
4803
+ --f7-subnavbar-new-title-margin-left: 8px;
4804
+ --f7-subnavbar-new-bg-color: var(--f7-glass-bg-color);
4805
+ /*
4806
+ --f7-subnavbar-new-link-height: var(--f7-subnavbar-new-height);
4807
+ --f7-subnavbar-new-link-line-height: var(--f7-subnavbar-new-height);
4808
+ */
4809
+ }
4810
+ .md {
4811
+ --f7-subnavbar-new-height: 64px;
4812
+ --f7-subnavbar-new-offset-left: 0;
4813
+ --f7-subnavbar-new-offset-right: 0;
4814
+ --f7-subnavbar-new-inner-padding-left: calc(16px + var(--f7-safe-area-left));
4815
+ --f7-subnavbar-new-inner-padding-right: calc(16px + var(--f7-safe-area-right));
4816
+ --f7-subnavbar-new-title-font-size: 22px;
4817
+ --f7-subnavbar-new-title-font-weight: 400;
4818
+ --f7-subnavbar-new-title-letter-spacing: 0;
4819
+ --f7-subnavbar-new-title-margin-left: 0px;
4820
+ /*
4821
+ --f7-subnavbar-new-link-height: var(--f7-subnavbar-new-height);
4822
+ --f7-subnavbar-new-link-line-height: var(--f7-subnavbar-new-height);
4823
+ */
4824
+ }
4825
+ .subnavbar-new {
4826
+ position: absolute;
4827
+ left: var(--f7-subnavbar-new-offset-left);
4828
+ right: var(--f7-subnavbar-new-offset-right);
4829
+ top: 0;
4830
+ z-index: 600;
4831
+ box-sizing: border-box;
4832
+ display: flex;
4833
+ justify-content: space-between;
4834
+ align-items: center;
4835
+ background-color: var(--f7-subnavbar-new-bg-color, var(--f7-bars-bg-color));
4836
+ color: var(--f7-subnavbar-new-text-color, var(--f7-bars-text-color));
4837
+ }
4838
+ @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
4839
+ .ios-translucent-bars .subnavbar-new {
4840
+ background-color: rgba(var(--f7-subnavbar-new-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
4841
+ -webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
4842
+ backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
4843
+ }
4844
+ }
4845
+ .subnavbar-new .subnavbar-new-title {
4846
+ position: relative;
4847
+ overflow: hidden;
4848
+ text-overflow: ellpsis;
4849
+ white-space: nowrap;
4850
+ font-size: var(--f7-subnavbar-new-title-font-size);
4851
+ font-weight: var(--f7-subnavbar-new-title-font-weight);
4852
+ text-align: left;
4853
+ display: inline-block;
4854
+ line-height: var(--f7-subnavbar-new-title-line-height);
4855
+ letter-spacing: var(--f7-subnavbar-new-title-letter-spacing);
4856
+ margin-right: var(--f7-subnavbar-new-title-margin-left);
4857
+ }
4858
+ .subnavbar-new .left,
4859
+ .subnavbar-new .right {
4860
+ flex-shrink: 0;
4861
+ display: flex;
4862
+ justify-content: flex-start;
4863
+ align-items: center;
4864
+ }
4865
+ .subnavbar-new .right:first-child {
4866
+ position: absolute;
4867
+ height: 100%;
4868
+ }
4869
+ .subnavbar-new a {
4870
+ color: var(--f7-subnavbar-new-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
4871
+ }
4872
+ .subnavbar-new a.link {
4873
+ line-height: var(--f7-subnavbar-new-link-line-height, var(--f7-subnavbar-new-height));
4874
+ height: var(--f7-subnavbar-new-link-height, var(--f7-subnavbar-new-height));
4875
+ }
4876
+ .subnavbar-new a.icon-only {
4877
+ min-width: var(--f7-subnavbar-new-height);
4878
+ }
4879
+ .subnavbar-new.no-outline:after {
4880
+ display: none !important;
4881
+ }
4882
+ .subnavbar-new.navbar-hidden:before {
4883
+ display: none !important;
4884
+ }
4885
+ .subnavbar-new:after,
4886
+ .subnavbar-new:before {
4887
+ -webkit-backface-visibility: hidden;
4888
+ backface-visibility: hidden;
4889
+ }
4890
+ .subnavbar-new:after {
4891
+ content: '';
4892
+ position: absolute;
4893
+ background-color: var(--f7-subnavbar-new-border-color, transparent);
4894
+ display: block;
4895
+ z-index: 15;
4896
+ top: auto;
4897
+ right: auto;
4898
+ bottom: 0;
4899
+ left: 0;
4900
+ height: 1px;
4901
+ width: 100%;
4902
+ transform-origin: 50% 100%;
4903
+ transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
4904
+ }
4905
+ .subnavbar-new-inner {
4906
+ width: 100%;
4907
+ height: 100%;
4908
+ display: flex;
4909
+ align-items: center;
4910
+ box-sizing: border-box;
4911
+ justify-content: space-between;
4912
+ overflow: hidden;
4913
+ padding: 0 var(--f7-subnavbar-new-inner-padding-left) 0 var(--f7-subnavbar-new-inner-padding-right);
4914
+ }
4915
+ .navbar .subnavbar-new,
4916
+ .navbar-new .subnavbar-new {
4917
+ top: 100%;
4918
+ }
4919
+ .views > .subnavbar-new,
4920
+ .view > .subnavbar-new,
4921
+ .page > .subnavbar-new {
4922
+ position: absolute;
4923
+ }
4924
+ .navbar-new ~ * .subnavbar-new,
4925
+ .navbars-new ~ * .subnavbar-new,
4926
+ .page-with-subnavbar-new .navbar-new ~ .subnavbar-new,
4927
+ .page-with-subnavbar-new .navbar-new ~ * .subnavbar-new,
4928
+ .navbar-new ~ .page-with-subnavbar-new:not(.no-navbar) .subnavbar-new,
4929
+ .navbar-new ~ .subnavbar-new,
4930
+ .navbars-new ~ .page-with-subnavbar-new:not(.no-navbar) .subnavbar-new,
4931
+ .navbars-new ~ .subnavbar-new {
4932
+ top: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
4933
+ }
4934
+ .navbar ~ .page-with-navbar-large:not(.no-navbar) .subnavbar-new,
4935
+ .navbars ~ .page-with-navbar-large:not(.no-navbar) .subnavbar-new,
4936
+ .navbar-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4937
+ .navbars-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4938
+ .page-with-subnavbar-new.page-with-navbar-large .navbar ~ .subnavbar-new,
4939
+ .page-with-subnavbar-new.page-with-navbar-large .navbar ~ * .subnavbar-new,
4940
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ .subnavbar-new,
4941
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ * .subnavbar-new,
4942
+ .navbar .title-large ~ .subnavbar-new,
4943
+ .navbar-new .title-large ~ .subnavbar-new {
4944
+ top: calc(var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top));
4945
+ transform: translate3d(0, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
4946
+ }
4947
+ .navbar-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4948
+ .navbars-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4949
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ .subnavbar-new,
4950
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ * .subnavbar-new,
4951
+ .navbar-new .title-large ~ .subnavbar-new {
4952
+ top: calc(var(--f7-navbar-new-height) + var(--f7-navbar-new-large-title-height) + var(--f7-safe-area-top));
4953
+ transform: translate3d(0, calc(-1 * var(--f7-navbar-new-large-collapse-progress) * var(--f7-navbar-new-large-title-height)), 0);
4954
+ }
4955
+ .page-with-subnavbar-new,
4956
+ .subnavbar-new ~ * {
4957
+ --f7-page-subnavbar-new-offset: var(--f7-subnavbar-new-height);
4958
+ }
4959
+ .ios .subnavbar-new {
4960
+ height: calc(var(--f7-subnavbar-new-height) + 1px);
4961
+ margin-top: -1px;
4962
+ padding-top: 1px;
4963
+ border-radius: var(--f7-subnavbar-new-height);
4964
+ box-shadow: var(--f7-glass-shadow);
4965
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
4966
+ backdrop-filter: saturate(180%) blur(16px);
4967
+ --f7-segmented-strong-bg-color: transparent;
4968
+ }
4969
+ .ios .subnavbar-new:has(> .searchbar-new) {
4970
+ background: transparent;
4971
+ -webkit-backdrop-filter: none;
4972
+ backdrop-filter: none;
4973
+ box-shadow: none;
4974
+ }
4975
+ .ios .subnavbar-new .subnavbar-new-inner {
4976
+ border-radius: inherit;
4977
+ }
4978
+ .ios .subnavbar-new .title {
4979
+ align-self: flex-start;
4980
+ flex-shrink: 10;
4981
+ }
4982
+ .ios .subnavbar-new .left a + a,
4983
+ .ios .subnavbar-new .right a + a {
4984
+ margin-right: 16px;
4985
+ }
4986
+ .ios .subnavbar-new .left {
4987
+ margin-left: 10px;
4988
+ }
4989
+ .ios .subnavbar-new .right {
4990
+ margin-right: 10px;
4991
+ }
4992
+ .ios .subnavbar-new .right:first-child {
4993
+ left: 8px;
4994
+ }
4995
+ .ios .subnavbar-new a.link {
4996
+ justify-content: flex-start;
4997
+ }
4998
+ .ios .subnavbar-new a.icon-only {
4999
+ justify-content: center;
5000
+ margin: 0;
5001
+ }
5002
+ .md .subnavbar-new {
5003
+ height: var(--f7-subnavbar-new-height);
5004
+ }
5005
+ .md .subnavbar-new .right {
5006
+ margin-right: auto;
5007
+ }
5008
+ .md .subnavbar-new .right:first-child {
5009
+ left: 16px;
5010
+ }
5011
+ .md .subnavbar-new a.link {
5012
+ justify-content: center;
5013
+ padding: 0 12px;
5014
+ }
5015
+ .md .subnavbar-new a.icon-only {
5016
+ flex-shrink: 0;
5017
+ padding: 0 12px;
5018
+ }
5019
+ .md .subnavbar-new-inner > a.link:first-child {
5020
+ margin-right: calc(-1 * var(--f7-subnavbar-new-inner-padding-right));
5021
+ }
5022
+ .md .subnavbar-new-inner > a.link:last-child {
5023
+ margin-left: calc(-1 * var(--f7-subnavbar-new-inner-padding-left));
5024
+ }
4774
5025
  /* === Content Block === */
4775
5026
  :root {
4776
5027
  --f7-block-padding-horizontal: 16px;