Skip to content

Commit f202e40

Browse files
committed
3.3.2 release
1 parent 03a565e commit f202e40

File tree

231 files changed

+2023
-1494
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

231 files changed

+2023
-1494
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
# Change Log
44

5+
# [v3.3.2](https://github.com/framework7io/framework7/compare/v3.3.1...v3.3.2) - September 20, 2018
6+
* Core
7+
* Support for new iPhone XR / XS / XS Max
8+
* View
9+
* Now it emits `view:init` DOM event and `viewInit` app event
10+
* Router
11+
* Now it is possible to pass React/Vue component `props` in route `options` or when navigating like `router.navigate('/somepage/', { props: { foo: 'bar' } })`
12+
* Phenome
13+
* View Component - added support `viewInit` event
14+
* Improved TypeScript declaration for React components events
15+
* Minor fixes
16+
517
# [v3.3.1](https://github.com/framework7io/framework7/compare/v3.3.0...v3.3.1) - September 14, 2018
618
* Core
719
* Router

packages/core/components/grid/grid-ios.less

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
.row {
55
.-(@i: length(@cols)) when (@i > 0) {
66
@divider: e(extract(@cols, @i));
7-
@className: `Math.floor(@{divider})`;
8-
@n: `100/parseFloat(@{divider})`;
7+
@className: framework7_floor(@divider);
8+
@n: framework7_calculateN(@divider);
99
@n-1: @n - 1;
1010
.col-@{className} {
1111
width: ~"@{divider}%";
@@ -42,8 +42,8 @@
4242
.row {
4343
.-(@i: length(@cols)) when (@i > 0) {
4444
@divider: e(extract(@cols, @i));
45-
@className: `Math.floor(@{divider})`;
46-
@n: `100/parseFloat(@{divider})`;
45+
@className: framework7_floor(@divider);
46+
@n: framework7_calculateN(@divider);
4747
@n-1: @n - 1;
4848
.tablet-@{className} {
4949
width: ~"@{divider}%";
@@ -79,8 +79,8 @@
7979
.row {
8080
.-(@i: length(@cols)) when (@i > 0) {
8181
@divider: e(extract(@cols, @i));
82-
@className: `Math.floor(@{divider})`;
83-
@n: `100/parseFloat(@{divider})`;
82+
@className: framework7_floor(@divider);
83+
@n: framework7_calculateN(@divider);
8484
@n-1: @n - 1;
8585
.desktop-@{className} {
8686
width: ~"@{divider}%";

packages/core/components/grid/grid-md.less

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
.row {
55
.-(@i: length(@cols)) when (@i > 0) {
66
@divider: e(extract(@cols, @i));
7-
@className: `Math.floor(@{divider})`;
8-
@n: `100/parseFloat(@{divider})`;
7+
@className: framework7_floor(@divider);
8+
@n: framework7_calculateN(@divider);
99
@n-1: @n - 1;
1010
.col-@{className} {
1111
width: ~"@{divider}%";
@@ -42,8 +42,8 @@
4242
.row {
4343
.-(@i: length(@cols)) when (@i > 0) {
4444
@divider: e(extract(@cols, @i));
45-
@className: `Math.floor(@{divider})`;
46-
@n: `100/parseFloat(@{divider})`;
45+
@className: framework7_floor(@divider);
46+
@n: framework7_calculateN(@divider);
4747
@n-1: @n - 1;
4848
.tablet-@{className} {
4949
width: ~"@{divider}%";
@@ -80,8 +80,8 @@
8080
.row {
8181
.-(@i: length(@cols)) when (@i > 0) {
8282
@divider: e(extract(@cols, @i));
83-
@className: `Math.floor(@{divider})`;
84-
@n: `100/parseFloat(@{divider})`;
83+
@className: framework7_floor(@divider);
84+
@n: framework7_calculateN(@divider);
8585
@n-1: @n - 1;
8686
.desktop-@{className} {
8787
width: ~"@{divider}%";

packages/core/components/searchbar/searchbar-class.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,9 @@ class Searchbar extends FrameworkClass {
291291
sb.backdropShow();
292292
}
293293
sb.$el.addClass('searchbar-enabled');
294+
if (!sb.$disableButtonEl || (sb.$disableButtonEl && sb.$disableButtonEl.length === 0)) {
295+
sb.$el.addClass('searchbar-enabled-no-disable-button');
296+
}
294297
if (!sb.expandable && sb.$disableButtonEl && sb.$disableButtonEl.length > 0 && app.theme === 'ios') {
295298
if (!sb.disableButtonHasMargin) {
296299
sb.setDisableButtonMargin();
@@ -337,8 +340,7 @@ class Searchbar extends FrameworkClass {
337340
if (!sb.enabled) return sb;
338341
const app = sb.app;
339342
sb.$inputEl.val('').trigger('change');
340-
sb.$el.removeClass('searchbar-enabled');
341-
sb.$el.removeClass('searchbar-focused');
343+
sb.$el.removeClass('searchbar-enabled searchbar-focused searchbar-enabled-no-disable-button');
342344
if (!sb.expandable && sb.$disableButtonEl && sb.$disableButtonEl.length > 0 && app.theme === 'ios') {
343345
sb.$disableButtonEl.css(`margin-${app.rtl ? 'left' : 'right'}`, `${-sb.disableButtonEl.offsetWidth}px`);
344346
}
@@ -391,6 +393,7 @@ class Searchbar extends FrameworkClass {
391393
sb.enable();
392394
}
393395
sb.$inputEl.val(query);
396+
sb.$inputEl.trigger('input');
394397
}
395398
sb.query = query;
396399
sb.value = query;

packages/core/components/searchbar/searchbar-md.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
.svg-background("<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z' fill='#737373'/></svg>");
6464
});
6565
}
66-
.searchbar-enabled {
66+
.searchbar-enabled:not(.searchbar-enabled-no-disable-button) {
6767
.searchbar-disable-button {
6868
transform: rotate(0deg) scale(1);
6969
pointer-events: auto;

packages/core/components/smart-select/smart-select-class.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,9 +342,9 @@ class SmartSelect extends Framework7Class {
342342
const $itemTitleEl = ss.$el.find('.item-title');
343343
pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';
344344
}
345-
const cssClass = ss.params.cssClass;
345+
const cssClass = ss.params.cssClass || '';
346346
const popupHtml = `
347-
<div class="popup smart-select-popup ${cssClass}" data-select-name="${ss.selectName}">
347+
<div class="popup smart-select-popup ${cssClass} ${ss.params.popupTabletFullscreen ? 'popup-tablet-fullscreen' : ''}" data-select-name="${ss.selectName}">
348348
<div class="view">
349349
<div class="page smart-select-page ${ss.params.searchbar ? 'page-with-subnavbar' : ''}" data-name="smart-select-page">
350350
<div class="navbar ${ss.params.navbarColorTheme ? `color-theme-${ss.params.navbarColorTheme}` : ''}">

packages/core/components/smart-select/smart-select.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ export namespace SmartSelect {
3131
pageBackLinkText?: string
3232
/** Smart select Popup close link text (default 'Close') */
3333
popupCloseLinkText?: string
34+
/** Smart select Popup will be opened as full screen popup on tablet */
35+
popupTabletFullscreen?: boolean
3436
/** Smart select Sheet close link text (default 'Done') */
3537
sheetCloseLinkText?: string
3638
/** Enables Searchbar on smart select page. If passed as object then it should be valid Searchbar parameters (default false) */

packages/core/components/smart-select/smart-select.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export default {
1313
pageTitle: undefined,
1414
pageBackLinkText: 'Back',
1515
popupCloseLinkText: 'Close',
16+
popupTabletFullscreen: false,
1617
sheetCloseLinkText: 'Done',
1718
searchbar: false,
1819
searchbarPlaceholder: 'Search',

packages/core/components/tabs/tabs.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Utils from '../../utils/utils';
44
const Tab = {
55
show(...args) {
66
const app = this;
7+
78
let tabEl;
89
let tabLinkEl;
910
let animate;
@@ -78,8 +79,9 @@ const Tab = {
7879
}
7980

8081
// Swipeable tabs
82+
let swiper;
8183
if ($tabsEl.parent().hasClass('tabs-swipeable-wrap') && app.swiper) {
82-
const swiper = $tabsEl.parent()[0].swiper;
84+
swiper = $tabsEl.parent()[0].swiper;
8385
if (swiper && swiper.activeIndex !== $newTabEl.index()) {
8486
animated = true;
8587
swiper
@@ -98,16 +100,18 @@ const Tab = {
98100

99101
// Remove active class from old tabs
100102
const $oldTabEl = $tabsEl.children('.tab-active');
101-
$oldTabEl
102-
.removeClass('tab-active')
103-
.trigger('tab:hide');
104-
app.emit('tabHide', $oldTabEl[0]);
103+
$oldTabEl.removeClass('tab-active');
104+
if (!swiper || (swiper && !swiper.animating)) {
105+
$oldTabEl.trigger('tab:hide');
106+
app.emit('tabHide', $oldTabEl[0]);
107+
}
105108

106109
// Trigger 'show' event on new tab
107-
$newTabEl
108-
.addClass('tab-active')
109-
.trigger('tab:show');
110-
app.emit('tabShow', $newTabEl[0]);
110+
$newTabEl.addClass('tab-active');
111+
if (!swiper || (swiper && !swiper.animating)) {
112+
$newTabEl.trigger('tab:show');
113+
app.emit('tabShow', $newTabEl[0]);
114+
}
111115

112116
// Find related link for new tab
113117
if (!$tabLinkEl) {

packages/core/components/timeline/timeline.less

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@
138138
@cols: 5, 10, 15, 20, 25, 30, 100/3, 35, 40, 45, 50, 55, 60, 65, 100*(2/3), 70, 75, 80, 85, 90, 95, 100;
139139
.-(@i: length(@cols)) when (@i > 0) {
140140
@divider: e(extract(@cols, @i));
141-
@className: `Math.floor(@{divider})`;
141+
@className: framework7_floor(@divider);
142142
&.col-@{className} .timeline-item {
143143
width: ~"@{divider}vw";
144144
}
@@ -148,7 +148,7 @@
148148
@media (min-width:768px) {
149149
.-(@i: length(@cols)) when (@i > 0) {
150150
@divider: e(extract(@cols, @i));
151-
@className: `Math.floor(@{divider})`;
151+
@className: framework7_floor(@divider);
152152
&.tablet-@{className} .timeline-item {
153153
width: ~"@{divider}vw";
154154
}

0 commit comments

Comments
 (0)