@xenknight/framework7 0.0.7 → 0.0.9

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 +259 -8
  24. package/framework7-bundle-rtl.min.css +4 -4
  25. package/framework7-bundle.css +259 -8
  26. package/framework7-bundle.esm.js +4 -2
  27. package/framework7-bundle.js +83 -31
  28. package/framework7-bundle.js.map +1 -1
  29. package/framework7-bundle.less +2 -1
  30. package/framework7-bundle.min.css +4 -4
  31. package/framework7-bundle.min.js +2 -2
  32. package/framework7-bundle.min.js.map +1 -1
  33. package/framework7-lite-bundle.esm.js +4 -2
  34. package/framework7-lite.esm.js +4 -2
  35. package/framework7-lite.js +3 -1
  36. package/framework7-rtl.css +259 -8
  37. package/framework7-rtl.min.css +4 -4
  38. package/framework7-types.d.ts +5 -1
  39. package/framework7.css +259 -8
  40. package/framework7.d.ts +4 -0
  41. package/framework7.esm.js +4 -2
  42. package/framework7.js +3 -1
  43. package/framework7.less +2 -1
  44. package/framework7.min.css +4 -4
  45. package/package.json +1 -1
@@ -71,6 +71,7 @@ import { Sortable } from './components/sortable/sortable.js';
71
71
  import { Statusbar } from './components/statusbar/statusbar.js';
72
72
  import { Stepper } from './components/stepper/stepper.js';
73
73
  import { Subnavbar } from './components/subnavbar/subnavbar.js';
74
+ import { SubnavbarNew } from './components/subnavbar-new/subnavbar-new.js';
74
75
  import { Swipeout } from './components/swipeout/swipeout.js';
75
76
  import { Swiper } from './components/swiper/swiper.js';
76
77
  import { Tabs } from './components/tabs/tabs.js';
@@ -273,6 +274,9 @@ declare module './components/app/app-class.js' {
273
274
  interface Framework7Class<Events> extends Subnavbar.AppMethods{}
274
275
  interface Framework7Parameters extends Subnavbar.AppParams{}
275
276
  interface Framework7Events extends Subnavbar.AppEvents{}
277
+ interface Framework7Class<Events> extends SubnavbarNew.AppMethods{}
278
+ interface Framework7Parameters extends SubnavbarNew.AppParams{}
279
+ interface Framework7Events extends SubnavbarNew.AppEvents{}
276
280
  interface Framework7Class<Events> extends Swipeout.AppMethods{}
277
281
  interface Framework7Parameters extends Swipeout.AppParams{}
278
282
  interface Framework7Events extends Swipeout.AppEvents{}
@@ -332,5 +336,5 @@ export {
332
336
  StoreParameters,
333
337
  createStore,
334
338
  };
335
- export { Accordion, Actions, AreaChart, Autocomplete, Badge, Block, Breadcrumbs, Button, Calendar, Card, Checkbox, Chip, ColorPicker, ContactsList, DataTable, Dialog, Fab, Form, Gauge, Grid, Icon, InfiniteScroll, Input, Link, List, ListIndex, LoginScreen, Messagebar, Messages, Modal, Navbar, Notification, Page, Panel, PhotoBrowser, Picker, PieChart, Popover, Popup, Preloader, Progressbar, PullToRefresh, Radio, Range, Searchbar, Sheet, Skeleton, SmartSelect, Sortable, Statusbar, Stepper, Subnavbar, Swipeout, Swiper, Tabs, TextEditor, Timeline, Toast, Toggle, Toolbar, Tooltip, TouchRipple, Treeview, Typography, View, VirtualList }
339
+ export { Accordion, Actions, AreaChart, Autocomplete, Badge, Block, Breadcrumbs, Button, Calendar, Card, Checkbox, Chip, ColorPicker, ContactsList, DataTable, Dialog, Fab, Form, Gauge, Grid, Icon, InfiniteScroll, Input, Link, List, ListIndex, LoginScreen, Messagebar, Messages, Modal, Navbar, Notification, Page, Panel, PhotoBrowser, Picker, PieChart, Popover, Popup, Preloader, Progressbar, PullToRefresh, Radio, Range, Searchbar, Sheet, Skeleton, SmartSelect, Sortable, Statusbar, Stepper, Subnavbar, SubnavbarNew, Swipeout, Swiper, Tabs, TextEditor, Timeline, Toast, Toggle, Toolbar, Tooltip, TouchRipple, Treeview, Typography, View, VirtualList }
336
340
  export default Framework7;
package/framework7.css CHANGED
@@ -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
  /*====================
@@ -414,7 +414,7 @@ html.device-full-viewport body {
414
414
  height: 100%;
415
415
  position: relative;
416
416
  z-index: 1;
417
- 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));
417
+ 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));
418
418
  padding-bottom: calc(var(--f7-page-toolbar-bottom-offset, 0px) + var(--f7-safe-area-bottom) + var(--f7-page-content-extra-padding-bottom, 0px));
419
419
  }
420
420
  .page-transitioning,
@@ -2498,18 +2498,18 @@ html.device-full-viewport body {
2498
2498
  }
2499
2499
  .navbar-new ~ *,
2500
2500
  .navbars-new ~ * {
2501
- --f7-page-navbar-offset: calc(var(--f7-navbar-new-height) + var(--f7-safe-area-top));
2501
+ --f7-page-navbar-new-offset: calc(var(--f7-navbar-new-height) + var(--f7-safe-area-top));
2502
2502
  }
2503
2503
  .navbar-new ~ * .page-with-navbar-new-large,
2504
2504
  .navbar-new ~ .page-with-navbar-new-large,
2505
2505
  .navbars-new ~ * .page-with-navbar-new-large,
2506
2506
  .navbars-new ~ .page-with-navbar-new-large,
2507
2507
  .page-with-navbar-new-large .navbar-new ~ * {
2508
- --f7-page-navbar-offset: calc(var(--f7-navbar-new-height) + var(--f7-navbar-new-large-title-height) + var(--f7-safe-area-top));
2508
+ --f7-page-navbar-new-offset: calc(var(--f7-navbar-new-height) + var(--f7-navbar-new-large-title-height) + var(--f7-safe-area-top));
2509
2509
  }
2510
2510
  .page.no-navbar,
2511
2511
  .page.no-navbar .navbar-new ~ * {
2512
- --f7-page-navbar-offset: var(--f7-safe-area-top);
2512
+ --f7-page-navbar-new-offset: var(--f7-safe-area-top);
2513
2513
  }
2514
2514
  .ios {
2515
2515
  --f7-navbarLeftTextOffset: calc(4px + 12px + var(--f7-navbar-new-inner-padding-left));
@@ -2784,12 +2784,14 @@ html.device-full-viewport body {
2784
2784
  .searchbar-new input[type='search']::-webkit-search-decoration {
2785
2785
  display: none;
2786
2786
  }
2787
- .ios .subnavbar .searchbar-new {
2787
+ .ios .subnavbar .searchbar-new,
2788
+ .ios .subnavbar-new .searchbar-new {
2788
2789
  background-color: transparent;
2789
2790
  -webkit-backdrop-filter: none;
2790
2791
  backdrop-filter: none;
2791
2792
  }
2792
- .ios .subnavbar .searchbar-new:after {
2793
+ .ios .subnavbar .searchbar-new:after,
2794
+ .ios .subnavbar-new .searchbar-new:after {
2793
2795
  display: none !important;
2794
2796
  }
2795
2797
  .searchbar-new.no-outline:after {
@@ -2894,9 +2896,13 @@ html.device-full-viewport body {
2894
2896
  .toolbar .searchbar-new.searchbar-new-expandable {
2895
2897
  --f7-searchbar-new-expandable-size: var(--f7-toolbar-height);
2896
2898
  }
2897
- .subnavbar .searchbar-new.searchbar-new-expandable {
2899
+ .subnavbar .searchbar-new.searchbar-new-expandable,
2900
+ .subnavbar-new .searchbar-new.searchbar-new-expandable {
2898
2901
  --f7-searchbar-new-expandable-size: var(--f7-subnavbar-height);
2899
2902
  }
2903
+ .subnavbar-new .searchbar-new.searchbar-new-expandable {
2904
+ --f7-searchbar-new-expandable-size: var(--f7-subnavbar-new-height);
2905
+ }
2900
2906
  .tabbar-icons .searchbar-new.searchbar-new-expandable {
2901
2907
  --f7-searchbar-new-expandable-size: var(--f7-tabbar-icons-height);
2902
2908
  }
@@ -3277,16 +3283,19 @@ html.device-full-viewport body {
3277
3283
  }
3278
3284
  .md .page > .searchbar-new,
3279
3285
  .md .subnavbar .searchbar-new,
3286
+ .md .subnavbar-new .searchbar-new,
3280
3287
  .md .searchbar-new-expandable {
3281
3288
  --f7-searchbar-new-input-extra-padding-left: 34px;
3282
3289
  }
3283
3290
  .md .page > .searchbar-new .searchbar-new-disable-button,
3284
3291
  .md .subnavbar .searchbar-new .searchbar-new-disable-button,
3292
+ .md .subnavbar-new .searchbar-new .searchbar-new-disable-button,
3285
3293
  .md .searchbar-new-expandable .searchbar-new-disable-button {
3286
3294
  left: calc(var(--f7-searchbar-new-inner-padding-left) + var(--f7-safe-area-left));
3287
3295
  }
3288
3296
  .md .page > .searchbar-new .searchbar-new-icon,
3289
3297
  .md .subnavbar .searchbar-new .searchbar-new-icon,
3298
+ .md .subnavbar-new .searchbar-new .searchbar-new-icon,
3290
3299
  .md .searchbar-new-expandable .searchbar-new-icon {
3291
3300
  left: var(--f7-safe-area-left);
3292
3301
  }
@@ -4765,6 +4774,248 @@ html.device-full-viewport body {
4765
4774
  .md .subnavbar-inner > a.link:last-child {
4766
4775
  margin-right: calc(-1 * var(--f7-subnavbar-inner-padding-right));
4767
4776
  }
4777
+ /* === Subnavbar New === */
4778
+ :root {
4779
+ /*
4780
+ --f7-subnavbar-new-bg-color: var(--f7-bars-bg-color);
4781
+ --f7-subnavbar-new-bg-color-rgb: var(--f7-bars-bg-color-rgb);
4782
+ --f7-subnavbar-new-border-color: var(--f7-bars-border-color);
4783
+ --f7-subnavbar-new-link-color: var(--f7-bars-link-color);
4784
+ --f7-subnavbar-new-text-color: var(--f7-bars-text-color);
4785
+ */
4786
+ --f7-subnavbar-new-title-line-height: 1.2;
4787
+ }
4788
+ .ios {
4789
+ --f7-subnavbar-new-height: 44px;
4790
+ --f7-subnavbar-new-offset-left: calc(16px + var(--f7-safe-area-left));
4791
+ --f7-subnavbar-new-offset-right: calc(16px + var(--f7-safe-area-right));
4792
+ --f7-subnavbar-new-inner-padding-left: 5px;
4793
+ --f7-subnavbar-new-inner-padding-right: 5px;
4794
+ --f7-subnavbar-new-title-font-size: 24px;
4795
+ --f7-subnavbar-new-title-font-weight: 700;
4796
+ --f7-subnavbar-new-title-letter-spacing: -0.03em;
4797
+ --f7-subnavbar-new-title-margin-left: 8px;
4798
+ --f7-subnavbar-new-bg-color: var(--f7-glass-bg-color);
4799
+ /*
4800
+ --f7-subnavbar-new-link-height: var(--f7-subnavbar-new-height);
4801
+ --f7-subnavbar-new-link-line-height: var(--f7-subnavbar-new-height);
4802
+ */
4803
+ }
4804
+ .md {
4805
+ --f7-subnavbar-new-height: 64px;
4806
+ --f7-subnavbar-new-offset-left: 0;
4807
+ --f7-subnavbar-new-offset-right: 0;
4808
+ --f7-subnavbar-new-inner-padding-left: calc(16px + var(--f7-safe-area-left));
4809
+ --f7-subnavbar-new-inner-padding-right: calc(16px + var(--f7-safe-area-right));
4810
+ --f7-subnavbar-new-title-font-size: 22px;
4811
+ --f7-subnavbar-new-title-font-weight: 400;
4812
+ --f7-subnavbar-new-title-letter-spacing: 0;
4813
+ --f7-subnavbar-new-title-margin-left: 0px;
4814
+ /*
4815
+ --f7-subnavbar-new-link-height: var(--f7-subnavbar-new-height);
4816
+ --f7-subnavbar-new-link-line-height: var(--f7-subnavbar-new-height);
4817
+ */
4818
+ }
4819
+ .subnavbar-new {
4820
+ position: absolute;
4821
+ left: var(--f7-subnavbar-new-offset-left);
4822
+ right: var(--f7-subnavbar-new-offset-right);
4823
+ top: 0;
4824
+ z-index: 600;
4825
+ box-sizing: border-box;
4826
+ display: flex;
4827
+ justify-content: space-between;
4828
+ align-items: center;
4829
+ background-color: var(--f7-subnavbar-new-bg-color, var(--f7-bars-bg-color));
4830
+ color: var(--f7-subnavbar-new-text-color, var(--f7-bars-text-color));
4831
+ }
4832
+ @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
4833
+ .ios-translucent-bars .subnavbar-new {
4834
+ background-color: rgba(var(--f7-subnavbar-new-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
4835
+ -webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
4836
+ backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
4837
+ }
4838
+ }
4839
+ .subnavbar-new .subnavbar-new-title {
4840
+ position: relative;
4841
+ overflow: hidden;
4842
+ text-overflow: ellpsis;
4843
+ white-space: nowrap;
4844
+ font-size: var(--f7-subnavbar-new-title-font-size);
4845
+ font-weight: var(--f7-subnavbar-new-title-font-weight);
4846
+ text-align: left;
4847
+ display: inline-block;
4848
+ line-height: var(--f7-subnavbar-new-title-line-height);
4849
+ letter-spacing: var(--f7-subnavbar-new-title-letter-spacing);
4850
+ margin-left: var(--f7-subnavbar-new-title-margin-left);
4851
+ }
4852
+ .subnavbar-new .left,
4853
+ .subnavbar-new .right {
4854
+ flex-shrink: 0;
4855
+ display: flex;
4856
+ justify-content: flex-start;
4857
+ align-items: center;
4858
+ }
4859
+ .subnavbar-new .right:first-child {
4860
+ position: absolute;
4861
+ height: 100%;
4862
+ }
4863
+ .subnavbar-new a {
4864
+ color: var(--f7-subnavbar-new-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
4865
+ }
4866
+ .subnavbar-new a.link {
4867
+ line-height: var(--f7-subnavbar-new-link-line-height, var(--f7-subnavbar-new-height));
4868
+ height: var(--f7-subnavbar-new-link-height, var(--f7-subnavbar-new-height));
4869
+ }
4870
+ .subnavbar-new a.icon-only {
4871
+ min-width: var(--f7-subnavbar-new-height);
4872
+ }
4873
+ .subnavbar-new.no-outline:after {
4874
+ display: none !important;
4875
+ }
4876
+ .subnavbar-new.navbar-hidden:before {
4877
+ display: none !important;
4878
+ }
4879
+ .subnavbar-new:after,
4880
+ .subnavbar-new:before {
4881
+ -webkit-backface-visibility: hidden;
4882
+ backface-visibility: hidden;
4883
+ }
4884
+ .subnavbar-new:after {
4885
+ content: '';
4886
+ position: absolute;
4887
+ background-color: var(--f7-subnavbar-new-border-color, transparent);
4888
+ display: block;
4889
+ z-index: 15;
4890
+ top: auto;
4891
+ right: auto;
4892
+ bottom: 0;
4893
+ left: 0;
4894
+ height: 1px;
4895
+ width: 100%;
4896
+ transform-origin: 50% 100%;
4897
+ transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
4898
+ }
4899
+ .subnavbar-new-inner {
4900
+ width: 100%;
4901
+ height: 100%;
4902
+ display: flex;
4903
+ align-items: center;
4904
+ box-sizing: border-box;
4905
+ justify-content: space-between;
4906
+ overflow: hidden;
4907
+ padding: 0 var(--f7-subnavbar-new-inner-padding-left) 0 var(--f7-subnavbar-new-inner-padding-right);
4908
+ }
4909
+ .navbar .subnavbar-new,
4910
+ .navbar-new .subnavbar-new {
4911
+ top: 100%;
4912
+ }
4913
+ .views > .subnavbar-new,
4914
+ .view > .subnavbar-new,
4915
+ .page > .subnavbar-new {
4916
+ position: absolute;
4917
+ }
4918
+ .navbar-new ~ * .subnavbar-new,
4919
+ .navbars-new ~ * .subnavbar-new,
4920
+ .page-with-subnavbar-new .navbar-new ~ .subnavbar-new,
4921
+ .page-with-subnavbar-new .navbar-new ~ * .subnavbar-new,
4922
+ .navbar-new ~ .page-with-subnavbar-new:not(.no-navbar) .subnavbar-new,
4923
+ .navbar-new ~ .subnavbar-new,
4924
+ .navbars-new ~ .page-with-subnavbar-new:not(.no-navbar) .subnavbar-new,
4925
+ .navbars-new ~ .subnavbar-new {
4926
+ top: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
4927
+ }
4928
+ .navbar ~ .page-with-navbar-large:not(.no-navbar) .subnavbar-new,
4929
+ .navbars ~ .page-with-navbar-large:not(.no-navbar) .subnavbar-new,
4930
+ .navbar-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4931
+ .navbars-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4932
+ .page-with-subnavbar-new.page-with-navbar-large .navbar ~ .subnavbar-new,
4933
+ .page-with-subnavbar-new.page-with-navbar-large .navbar ~ * .subnavbar-new,
4934
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ .subnavbar-new,
4935
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ * .subnavbar-new,
4936
+ .navbar .title-large ~ .subnavbar-new,
4937
+ .navbar-new .title-large ~ .subnavbar-new {
4938
+ top: calc(var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top));
4939
+ transform: translate3d(0, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
4940
+ }
4941
+ .navbar-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4942
+ .navbars-new ~ .page-with-navbar-new-large:not(.no-navbar) .subnavbar-new,
4943
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ .subnavbar-new,
4944
+ .page-with-subnavbar-new.page-with-navbar-new-large .navbar-new ~ * .subnavbar-new,
4945
+ .navbar-new .title-large ~ .subnavbar-new {
4946
+ top: calc(var(--f7-navbar-new-height) + var(--f7-navbar-new-large-title-height) + var(--f7-safe-area-top));
4947
+ transform: translate3d(0, calc(-1 * var(--f7-navbar-new-large-collapse-progress) * var(--f7-navbar-new-large-title-height)), 0);
4948
+ }
4949
+ .page-with-subnavbar-new,
4950
+ .subnavbar-new ~ * {
4951
+ --f7-page-subnavbar-new-offset: var(--f7-subnavbar-new-height);
4952
+ }
4953
+ .ios .subnavbar-new {
4954
+ height: calc(var(--f7-subnavbar-new-height) + 1px);
4955
+ margin-top: -1px;
4956
+ padding-top: 1px;
4957
+ border-radius: var(--f7-subnavbar-new-height);
4958
+ box-shadow: var(--f7-glass-shadow);
4959
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
4960
+ backdrop-filter: saturate(180%) blur(16px);
4961
+ --f7-segmented-strong-bg-color: transparent;
4962
+ }
4963
+ .ios .subnavbar-new:has(> .searchbar-new) {
4964
+ background: transparent;
4965
+ -webkit-backdrop-filter: none;
4966
+ backdrop-filter: none;
4967
+ box-shadow: none;
4968
+ }
4969
+ .ios .subnavbar-new .subnavbar-new-inner {
4970
+ border-radius: inherit;
4971
+ }
4972
+ .ios .subnavbar-new .title {
4973
+ align-self: flex-start;
4974
+ flex-shrink: 10;
4975
+ }
4976
+ .ios .subnavbar-new .left a + a,
4977
+ .ios .subnavbar-new .right a + a {
4978
+ margin-left: 16px;
4979
+ }
4980
+ .ios .subnavbar-new .left {
4981
+ margin-right: 10px;
4982
+ }
4983
+ .ios .subnavbar-new .right {
4984
+ margin-left: 10px;
4985
+ }
4986
+ .ios .subnavbar-new .right:first-child {
4987
+ right: 8px;
4988
+ }
4989
+ .ios .subnavbar-new a.link {
4990
+ justify-content: flex-start;
4991
+ }
4992
+ .ios .subnavbar-new a.icon-only {
4993
+ justify-content: center;
4994
+ margin: 0;
4995
+ }
4996
+ .md .subnavbar-new {
4997
+ height: var(--f7-subnavbar-new-height);
4998
+ }
4999
+ .md .subnavbar-new .right {
5000
+ margin-left: auto;
5001
+ }
5002
+ .md .subnavbar-new .right:first-child {
5003
+ right: 16px;
5004
+ }
5005
+ .md .subnavbar-new a.link {
5006
+ justify-content: center;
5007
+ padding: 0 12px;
5008
+ }
5009
+ .md .subnavbar-new a.icon-only {
5010
+ flex-shrink: 0;
5011
+ padding: 0 12px;
5012
+ }
5013
+ .md .subnavbar-new-inner > a.link:first-child {
5014
+ margin-left: calc(-1 * var(--f7-subnavbar-new-inner-padding-left));
5015
+ }
5016
+ .md .subnavbar-new-inner > a.link:last-child {
5017
+ margin-right: calc(-1 * var(--f7-subnavbar-new-inner-padding-right));
5018
+ }
4768
5019
  /* === Content Block === */
4769
5020
  :root {
4770
5021
  --f7-block-padding-horizontal: 16px;
package/framework7.d.ts CHANGED
@@ -70,6 +70,7 @@ import { Sortable } from './components/sortable/sortable.js';
70
70
  import { Statusbar } from './components/statusbar/statusbar.js';
71
71
  import { Stepper } from './components/stepper/stepper.js';
72
72
  import { Subnavbar } from './components/subnavbar/subnavbar.js';
73
+ import { SubnavbarNew } from './components/subnavbar-new/subnavbar-new.js';
73
74
  import { Swipeout } from './components/swipeout/swipeout.js';
74
75
  import { Swiper } from './components/swiper/swiper.js';
75
76
  import { Tabs } from './components/tabs/tabs.js';
@@ -272,6 +273,9 @@ declare module './components/app/app-class.js' {
272
273
  interface Framework7Class<Events> extends Subnavbar.AppMethods{}
273
274
  interface Framework7Parameters extends Subnavbar.AppParams{}
274
275
  interface Framework7Events extends Subnavbar.AppEvents{}
276
+ interface Framework7Class<Events> extends SubnavbarNew.AppMethods{}
277
+ interface Framework7Parameters extends SubnavbarNew.AppParams{}
278
+ interface Framework7Events extends SubnavbarNew.AppEvents{}
275
279
  interface Framework7Class<Events> extends Swipeout.AppMethods{}
276
280
  interface Framework7Parameters extends Swipeout.AppParams{}
277
281
  interface Framework7Events extends Swipeout.AppEvents{}
package/framework7.esm.js CHANGED
@@ -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
  import $ from './shared/dom7.js';
@@ -42,7 +42,9 @@ import NavbarNew from './components/navbar-new/navbar.js';
42
42
  import SearchbarNew from './components/searchbar-new/searchbar.js';
43
43
  // New Toolbar
44
44
  import ToolbarNew from './components/toolbar-new/toolbar.js';
45
+ // New Subnavbar
46
+ import SubnavbarNew from './components/subnavbar-new/subnavbar-new.js';
45
47
  Router.use([RouterComponentLoaderModule]);
46
- Framework7.use([DeviceModule, SupportModule, UtilsModule, ResizeModule, TouchModule, ClicksModule, RouterModule, HistoryModule, ComponentModule, ServiceWorkerModule, StoreModule, Statusbar, View, Navbar, NavbarNew, SearchbarNew, Toolbar, ToolbarNew, Subnavbar, TouchRipple, Modal]);
48
+ Framework7.use([DeviceModule, SupportModule, UtilsModule, ResizeModule, TouchModule, ClicksModule, RouterModule, HistoryModule, ComponentModule, ServiceWorkerModule, StoreModule, Statusbar, View, Navbar, NavbarNew, SearchbarNew, Toolbar, ToolbarNew, Subnavbar, SubnavbarNew, TouchRipple, Modal]);
47
49
  export { Component, $jsx, $ as Dom7, utils, getDevice, getSupport, createStore };
48
50
  export default Framework7;
package/framework7.js CHANGED
@@ -30,6 +30,8 @@ import NavbarNew from './components/navbar-new/navbar.js';
30
30
  import SearchbarNew from './components/searchbar-new/searchbar.js';
31
31
  // New Toolbar
32
32
  import ToolbarNew from './components/toolbar-new/toolbar.js';
33
+ // New Subnavbar
34
+ import SubnavbarNew from './components/subnavbar-new/subnavbar-new.js';
33
35
 
34
36
  //IMPORT_COMPONENTS
35
37
 
@@ -41,7 +43,7 @@ if (typeof window !== 'undefined') {
41
43
  // UMD_ONLY_END
42
44
 
43
45
  Router.use([RouterComponentLoaderModule]);
44
- Framework7.use([DeviceModule, SupportModule, UtilsModule, ResizeModule, TouchModule, ClicksModule, RouterModule, HistoryModule, ComponentModule, ServiceWorkerModule, StoreModule, Statusbar, View, Navbar, NavbarNew, SearchbarNew, Toolbar, ToolbarNew, Subnavbar, TouchRipple, Modal
46
+ Framework7.use([DeviceModule, SupportModule, UtilsModule, ResizeModule, TouchModule, ClicksModule, RouterModule, HistoryModule, ComponentModule, ServiceWorkerModule, StoreModule, Statusbar, View, Navbar, NavbarNew, SearchbarNew, Toolbar, ToolbarNew, Subnavbar, SubnavbarNew, TouchRipple, Modal
45
47
  //INSTALL_COMPONENTS
46
48
  ]);
47
49
 
package/framework7.less CHANGED
@@ -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
  @import (reference) './less/mixins.less';
@@ -33,6 +33,7 @@
33
33
  @import './components/toolbar/toolbar.less';
34
34
  @import './components/toolbar-new/toolbar.less';
35
35
  @import './components/subnavbar/subnavbar.less';
36
+ @import './components/subnavbar-new/subnavbar-new.less';
36
37
  @import './components/block/block.less';
37
38
  @import './components/list/list.less';
38
39
  @import './components/badge/badge.less';