framework7-react 7.0.8 → 8.0.0-beta.1
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.
- package/components/accordion-content.js +2 -2
- package/components/accordion-item.js +2 -11
- package/components/accordion-toggle.js +2 -2
- package/components/accordion.js +2 -2
- package/components/actions-button.d.ts +1 -1
- package/components/actions-button.js +4 -8
- package/components/actions-group.js +2 -2
- package/components/actions-label.js +4 -6
- package/components/actions.js +4 -14
- package/components/app.js +4 -8
- package/components/area-chart.js +6 -45
- package/components/badge.js +2 -2
- package/components/block-footer.js +2 -2
- package/components/block-header.js +2 -2
- package/components/block-title.js +2 -2
- package/components/block.d.ts +17 -4
- package/components/block.js +37 -11
- package/components/breadcrumbs-collapsed.js +2 -4
- package/components/breadcrumbs-item.js +2 -4
- package/components/breadcrumbs-separator.js +2 -2
- package/components/breadcrumbs.js +2 -2
- package/components/button.d.ts +3 -7
- package/components/button.js +8 -24
- package/components/card-content.js +2 -2
- package/components/card-footer.js +2 -2
- package/components/card-header.js +2 -2
- package/components/card.d.ts +5 -2
- package/components/card.js +14 -23
- package/components/checkbox.js +2 -4
- package/components/chip.d.ts +0 -1
- package/components/chip.js +2 -9
- package/components/fab-backdrop.js +2 -2
- package/components/fab-button.js +2 -6
- package/components/fab-buttons.js +2 -2
- package/components/fab.js +2 -10
- package/components/gauge.js +2 -2
- package/components/icon.d.ts +0 -1
- package/components/icon.js +3 -17
- package/components/input.js +1 -57
- package/components/link.d.ts +0 -1
- package/components/link.js +5 -12
- package/components/list-button.js +2 -4
- package/components/list-group.js +2 -2
- package/components/list-index.d.ts +0 -1
- package/components/list-index.js +3 -13
- package/components/list-input.d.ts +0 -1
- package/components/list-input.js +1 -55
- package/components/list-item-content.js +6 -20
- package/components/list-item.d.ts +0 -1
- package/components/list-item.js +5 -35
- package/components/list.d.ts +21 -9
- package/components/list.js +43 -37
- package/components/login-screen-title.js +2 -2
- package/components/login-screen.js +3 -15
- package/components/message.js +2 -10
- package/components/messagebar-attachment.js +2 -5
- package/components/messagebar-attachments.js +2 -2
- package/components/messagebar-sheet-image.js +4 -5
- package/components/messagebar-sheet-item.js +2 -2
- package/components/messagebar-sheet.js +2 -2
- package/components/messagebar.js +1 -19
- package/components/messages-title.js +2 -2
- package/components/messages.js +2 -15
- package/components/nav-left.js +2 -6
- package/components/nav-right.js +2 -2
- package/components/nav-title-large.js +2 -2
- package/components/nav-title.js +2 -4
- package/components/navbar.d.ts +1 -2
- package/components/navbar.js +5 -31
- package/components/page-content.js +2 -16
- package/components/page.d.ts +0 -1
- package/components/page.js +4 -62
- package/components/panel.d.ts +1 -0
- package/components/panel.js +6 -26
- package/components/photo-browser.js +1 -17
- package/components/pie-chart.js +6 -18
- package/components/popover.d.ts +1 -0
- package/components/popover.js +4 -14
- package/components/popup.js +3 -19
- package/components/preloader.js +5 -14
- package/components/progressbar.js +2 -4
- package/components/radio.js +2 -4
- package/components/range.js +2 -9
- package/components/routable-modals.js +2 -7
- package/components/searchbar.d.ts +1 -2
- package/components/searchbar.js +5 -30
- package/components/segmented.d.ts +0 -3
- package/components/segmented.js +4 -10
- package/components/sheet.js +2 -22
- package/components/stepper.d.ts +0 -5
- package/components/stepper.js +3 -33
- package/components/subnavbar.js +2 -2
- package/components/swipeout-actions.js +2 -4
- package/components/swipeout-button.js +2 -4
- package/components/swiper-slide.d.ts +1 -0
- package/components/swiper-slide.js +1 -0
- package/components/swiper.d.ts +1 -0
- package/components/swiper.js +1 -0
- package/components/tab.js +4 -15
- package/components/tabs.js +1 -4
- package/components/text-editor.js +1 -18
- package/components/toggle.js +1 -13
- package/components/toolbar.d.ts +2 -6
- package/components/toolbar.js +9 -20
- package/components/treeview-item.d.ts +0 -1
- package/components/treeview-item.js +2 -11
- package/components/treeview.js +2 -2
- package/components/view.d.ts +0 -6
- package/components/view.js +3 -30
- package/components/views.js +2 -2
- package/framework7-react.d.ts +2 -12
- package/framework7-react.js +3 -12
- package/package.json +1 -1
- package/shared/components-router.js +0 -32
- package/shared/f7.js +5 -19
- package/shared/get-router-initial-component.js +0 -4
- package/shared/mixins.js +2 -8
- package/shared/plugin.js +2 -8
- package/shared/router-open-in.js +4 -15
- package/shared/tabbar-context.js +1 -1
- package/shared/use-icon.js +1 -6
- package/shared/use-isomorphic-layout-effect.js +0 -2
- package/shared/use-route-props.js +0 -1
- package/shared/use-smart-select.js +0 -3
- package/shared/use-store.js +4 -8
- package/shared/use-tab.js +0 -4
- package/shared/use-theme.js +0 -2
- package/shared/use-tooltip.js +0 -5
- package/shared/utils.js +0 -18
- package/shared/watch-prop.js +0 -1
- package/components/appbar.d.ts +0 -28
- package/components/appbar.js +0 -45
- package/components/col.d.ts +0 -36
- package/components/col.js +0 -75
- package/components/list-item-cell.d.ts +0 -23
- package/components/list-item-cell.js +0 -28
- package/components/list-item-row.d.ts +0 -23
- package/components/list-item-row.js +0 -28
- package/components/menu-dropdown-item.d.ts +0 -68
- package/components/menu-dropdown-item.js +0 -59
- package/components/menu-dropdown.d.ts +0 -28
- package/components/menu-dropdown.js +0 -42
- package/components/menu-item.d.ts +0 -81
- package/components/menu-item.js +0 -101
- package/components/menu.d.ts +0 -23
- package/components/menu.js +0 -30
- package/components/row.d.ts +0 -31
- package/components/row.js +0 -64
|
@@ -2,30 +2,24 @@
|
|
|
2
2
|
import { f7events, f7routers } from './f7.js';
|
|
3
3
|
import { extend, getComponentId } from './utils.js';
|
|
4
4
|
import { routerOpenIn } from './router-open-in.js';
|
|
5
|
-
|
|
6
5
|
const getChildrenArray = el => {
|
|
7
6
|
const arr = [];
|
|
8
|
-
|
|
9
7
|
for (let i = 0; i < el.children.length; i += 1) {
|
|
10
8
|
arr.push(el.children[i]);
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
return arr;
|
|
14
11
|
};
|
|
15
|
-
|
|
16
12
|
const hasSameChildren = (childrenBefore, childrenAfter) => {
|
|
17
13
|
if (childrenBefore.length !== childrenAfter.length) return false;
|
|
18
14
|
const set = new Set([...childrenBefore, ...childrenAfter]);
|
|
19
15
|
if (set.size === childrenBefore.length) return true;
|
|
20
16
|
return false;
|
|
21
17
|
};
|
|
22
|
-
|
|
23
18
|
export default {
|
|
24
19
|
proto: {
|
|
25
20
|
openIn(router, navigateUrl, options) {
|
|
26
21
|
return routerOpenIn(router, navigateUrl, options);
|
|
27
22
|
},
|
|
28
|
-
|
|
29
23
|
pageComponentLoader(_ref) {
|
|
30
24
|
let {
|
|
31
25
|
routerEl,
|
|
@@ -43,12 +37,10 @@ export default {
|
|
|
43
37
|
viewRouter = data;
|
|
44
38
|
}
|
|
45
39
|
});
|
|
46
|
-
|
|
47
40
|
if (!viewRouter) {
|
|
48
41
|
reject();
|
|
49
42
|
return;
|
|
50
43
|
}
|
|
51
|
-
|
|
52
44
|
const pageData = {
|
|
53
45
|
component,
|
|
54
46
|
id: getComponentId(),
|
|
@@ -59,7 +51,6 @@ export default {
|
|
|
59
51
|
};
|
|
60
52
|
let resolved;
|
|
61
53
|
const childrenBefore = getChildrenArray(el);
|
|
62
|
-
|
|
63
54
|
function onDidUpdate(componentRouterData) {
|
|
64
55
|
if (componentRouterData !== viewRouter || resolved) return;
|
|
65
56
|
const childrenAfter = getChildrenArray(el);
|
|
@@ -70,23 +61,19 @@ export default {
|
|
|
70
61
|
resolve(pageEl);
|
|
71
62
|
resolved = true;
|
|
72
63
|
}
|
|
73
|
-
|
|
74
64
|
f7events.on('viewRouterDidUpdate', onDidUpdate);
|
|
75
65
|
viewRouter.pages.push(pageData);
|
|
76
66
|
viewRouter.setPages(viewRouter.pages);
|
|
77
67
|
},
|
|
78
|
-
|
|
79
68
|
removePage($pageEl) {
|
|
80
69
|
if (!$pageEl) return;
|
|
81
70
|
const router = this;
|
|
82
71
|
let f7Page;
|
|
83
72
|
if ('length' in $pageEl && $pageEl[0]) f7Page = $pageEl[0].f7Page;else f7Page = $pageEl.f7Page;
|
|
84
|
-
|
|
85
73
|
if (f7Page && f7Page.route && f7Page.route.route && f7Page.route.route.keepAlive) {
|
|
86
74
|
router.app.$($pageEl).remove();
|
|
87
75
|
return;
|
|
88
76
|
}
|
|
89
|
-
|
|
90
77
|
let viewRouter;
|
|
91
78
|
f7routers.views.forEach(data => {
|
|
92
79
|
if (data.el && data.el === router.el) {
|
|
@@ -94,7 +81,6 @@ export default {
|
|
|
94
81
|
}
|
|
95
82
|
});
|
|
96
83
|
let pageEl;
|
|
97
|
-
|
|
98
84
|
if ('length' in $pageEl) {
|
|
99
85
|
// Dom7
|
|
100
86
|
if ($pageEl.length === 0) return;
|
|
@@ -102,7 +88,6 @@ export default {
|
|
|
102
88
|
} else {
|
|
103
89
|
pageEl = $pageEl;
|
|
104
90
|
}
|
|
105
|
-
|
|
106
91
|
if (!pageEl) return;
|
|
107
92
|
let pageComponentFound;
|
|
108
93
|
viewRouter.pages.forEach((page, index) => {
|
|
@@ -112,12 +97,10 @@ export default {
|
|
|
112
97
|
viewRouter.setPages(viewRouter.pages);
|
|
113
98
|
}
|
|
114
99
|
});
|
|
115
|
-
|
|
116
100
|
if (!pageComponentFound) {
|
|
117
101
|
pageEl.parentNode.removeChild(pageEl);
|
|
118
102
|
}
|
|
119
103
|
},
|
|
120
|
-
|
|
121
104
|
tabComponentLoader(_temp) {
|
|
122
105
|
let {
|
|
123
106
|
tabEl,
|
|
@@ -134,12 +117,10 @@ export default {
|
|
|
134
117
|
tabRouter = tabData;
|
|
135
118
|
}
|
|
136
119
|
});
|
|
137
|
-
|
|
138
120
|
if (!tabRouter) {
|
|
139
121
|
reject();
|
|
140
122
|
return;
|
|
141
123
|
}
|
|
142
|
-
|
|
143
124
|
const id = getComponentId();
|
|
144
125
|
const tabContent = {
|
|
145
126
|
id,
|
|
@@ -150,7 +131,6 @@ export default {
|
|
|
150
131
|
}, options.route.route && options.route.route.tab && options.route.route.tab.options && options.route.route.tab.options.props || {}, options.route.params, options.props || {})
|
|
151
132
|
};
|
|
152
133
|
let resolved;
|
|
153
|
-
|
|
154
134
|
function onDidUpdate(componentRouterData) {
|
|
155
135
|
if (componentRouterData !== tabRouter || resolved) return;
|
|
156
136
|
f7events.off('tabRouterDidUpdate', onDidUpdate);
|
|
@@ -158,11 +138,9 @@ export default {
|
|
|
158
138
|
resolve(tabContentEl);
|
|
159
139
|
resolved = true;
|
|
160
140
|
}
|
|
161
|
-
|
|
162
141
|
f7events.on('tabRouterDidUpdate', onDidUpdate);
|
|
163
142
|
tabRouter.setTabContent(tabContent);
|
|
164
143
|
},
|
|
165
|
-
|
|
166
144
|
removeTabContent(tabEl) {
|
|
167
145
|
if (!tabEl) return;
|
|
168
146
|
let tabRouter;
|
|
@@ -171,16 +149,12 @@ export default {
|
|
|
171
149
|
tabRouter = tabData;
|
|
172
150
|
}
|
|
173
151
|
});
|
|
174
|
-
|
|
175
152
|
if (!tabRouter) {
|
|
176
153
|
tabEl.innerHTML = ''; // eslint-disable-line
|
|
177
|
-
|
|
178
154
|
return;
|
|
179
155
|
}
|
|
180
|
-
|
|
181
156
|
tabRouter.setTabContent(null);
|
|
182
157
|
},
|
|
183
|
-
|
|
184
158
|
modalComponentLoader(_temp2) {
|
|
185
159
|
let {
|
|
186
160
|
component,
|
|
@@ -190,12 +164,10 @@ export default {
|
|
|
190
164
|
} = _temp2 === void 0 ? {} : _temp2;
|
|
191
165
|
const router = this;
|
|
192
166
|
const modalsRouter = f7routers.modals;
|
|
193
|
-
|
|
194
167
|
if (!modalsRouter) {
|
|
195
168
|
reject();
|
|
196
169
|
return;
|
|
197
170
|
}
|
|
198
|
-
|
|
199
171
|
const modalData = {
|
|
200
172
|
component,
|
|
201
173
|
id: getComponentId(),
|
|
@@ -205,7 +177,6 @@ export default {
|
|
|
205
177
|
}, options.route.params, options.props || {})
|
|
206
178
|
};
|
|
207
179
|
let resolved;
|
|
208
|
-
|
|
209
180
|
function onDidUpdate() {
|
|
210
181
|
if (resolved) return;
|
|
211
182
|
f7events.off('modalsRouterDidUpdate', onDidUpdate);
|
|
@@ -214,12 +185,10 @@ export default {
|
|
|
214
185
|
resolve(modalEl);
|
|
215
186
|
resolved = true;
|
|
216
187
|
}
|
|
217
|
-
|
|
218
188
|
f7events.on('modalsRouterDidUpdate', onDidUpdate);
|
|
219
189
|
modalsRouter.modals.push(modalData);
|
|
220
190
|
modalsRouter.setModals(modalsRouter.modals);
|
|
221
191
|
},
|
|
222
|
-
|
|
223
192
|
removeModal(modalEl) {
|
|
224
193
|
const modalsRouter = f7routers.modals;
|
|
225
194
|
if (!modalsRouter) return;
|
|
@@ -230,6 +199,5 @@ export default {
|
|
|
230
199
|
modalsRouter.modals.splice(modalsRouter.modals.indexOf(modalDataToRemove), 1);
|
|
231
200
|
modalsRouter.setModals(modalsRouter.modals);
|
|
232
201
|
}
|
|
233
|
-
|
|
234
202
|
}
|
|
235
203
|
};
|
package/shared/f7.js
CHANGED
|
@@ -9,61 +9,49 @@ const f7routers = {
|
|
|
9
9
|
tabs: [],
|
|
10
10
|
modals: null
|
|
11
11
|
};
|
|
12
|
-
|
|
13
12
|
const setTheme = () => {
|
|
14
13
|
if (!f7) return;
|
|
15
14
|
theme.ios = f7.theme === 'ios';
|
|
16
15
|
theme.md = f7.theme === 'md';
|
|
17
|
-
theme.aurora = f7.theme === 'aurora';
|
|
18
16
|
};
|
|
19
|
-
|
|
20
17
|
const cleanup = () => {
|
|
21
18
|
unsetRouterIds();
|
|
22
19
|
delete theme.ios;
|
|
23
20
|
delete theme.md;
|
|
24
|
-
delete theme.aurora;
|
|
25
21
|
f7routers.views = [];
|
|
26
22
|
f7routers.tabs = [];
|
|
27
23
|
f7routers.modals = null;
|
|
28
24
|
};
|
|
29
|
-
|
|
30
25
|
const f7initEvents = () => {
|
|
31
26
|
f7events = new Framework7.Events();
|
|
32
27
|
};
|
|
33
|
-
|
|
34
28
|
const f7init = function (rootEl, params, init) {
|
|
35
29
|
if (params === void 0) {
|
|
36
30
|
params = {};
|
|
37
31
|
}
|
|
38
|
-
|
|
39
32
|
if (init === void 0) {
|
|
40
33
|
init = true;
|
|
41
34
|
}
|
|
42
|
-
|
|
43
35
|
const f7Params = extend({}, params, {
|
|
44
36
|
el: rootEl,
|
|
45
37
|
init
|
|
46
38
|
});
|
|
47
39
|
if (typeof params.store !== 'undefined') f7Params.store = params.store;
|
|
48
40
|
if (!f7Params.routes) f7Params.routes = [];
|
|
49
|
-
|
|
50
41
|
if (f7Params.userAgent && (f7Params.theme === 'auto' || !f7Params.theme)) {
|
|
51
42
|
const device = Framework7.getDevice({
|
|
52
43
|
userAgent: f7Params.userAgent
|
|
53
44
|
}, true);
|
|
54
45
|
theme.ios = !!device.ios;
|
|
55
|
-
theme.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (f7 && typeof window !== 'undefined') return; // eslint-disable-next-line
|
|
61
|
-
|
|
46
|
+
theme.md = !theme.ios;
|
|
47
|
+
}
|
|
48
|
+
// eslint-disable-next-line
|
|
49
|
+
if (f7 && typeof window !== 'undefined') return;
|
|
50
|
+
// eslint-disable-next-line
|
|
62
51
|
if (typeof window === 'undefined') cleanup();
|
|
63
52
|
const instance = new Framework7(f7Params);
|
|
64
53
|
f7 = instance;
|
|
65
54
|
setTheme();
|
|
66
|
-
|
|
67
55
|
if (instance.initialized) {
|
|
68
56
|
f7 = instance;
|
|
69
57
|
f7events.emit('ready', f7);
|
|
@@ -74,12 +62,10 @@ const f7init = function (rootEl, params, init) {
|
|
|
74
62
|
});
|
|
75
63
|
}
|
|
76
64
|
};
|
|
77
|
-
|
|
78
65
|
const f7ready = callback => {
|
|
79
66
|
if (!callback) return;
|
|
80
67
|
if (f7 && f7.initialized) callback(f7);else {
|
|
81
68
|
f7events.once('ready', callback);
|
|
82
69
|
}
|
|
83
70
|
};
|
|
84
|
-
|
|
85
71
|
export { f7, theme, f7ready, f7events, f7init, f7routers, f7initEvents, setTheme };
|
|
@@ -6,17 +6,14 @@ export const getRouterInitialComponent = (router, initialComponent) => {
|
|
|
6
6
|
} = router.getInitialUrl();
|
|
7
7
|
const initialRoute = router.findMatchingRoute(initialUrl);
|
|
8
8
|
let routeProps = {};
|
|
9
|
-
|
|
10
9
|
if (initialRoute && initialRoute.route && initialRoute.route.options) {
|
|
11
10
|
routeProps = initialRoute.route.options.props;
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
const isMasterRoute = route => {
|
|
15
13
|
if (route.master === true) return true;
|
|
16
14
|
if (typeof route.master === 'function') return route.master(router.app);
|
|
17
15
|
return false;
|
|
18
16
|
};
|
|
19
|
-
|
|
20
17
|
if (initialRoute && initialRoute.route && (initialRoute.route.component || initialRoute.route.asyncComponent) && !isMasterRoute(initialRoute.route)) {
|
|
21
18
|
initialComponentData = {
|
|
22
19
|
component: initialRoute.route.component || initialRoute.route.asyncComponent,
|
|
@@ -31,7 +28,6 @@ export const getRouterInitialComponent = (router, initialComponent) => {
|
|
|
31
28
|
}
|
|
32
29
|
};
|
|
33
30
|
}
|
|
34
|
-
|
|
35
31
|
return {
|
|
36
32
|
initialPage: initialComponentData,
|
|
37
33
|
initialRoute
|
package/shared/mixins.js
CHANGED
|
@@ -34,17 +34,13 @@ export function routerAttrs(props) {
|
|
|
34
34
|
openIn
|
|
35
35
|
} = props;
|
|
36
36
|
let dataAnimate;
|
|
37
|
-
|
|
38
37
|
if ('animate' in props && typeof animate !== 'undefined') {
|
|
39
38
|
dataAnimate = animate.toString();
|
|
40
39
|
}
|
|
41
|
-
|
|
42
40
|
let dataReloadDetail;
|
|
43
|
-
|
|
44
41
|
if ('reloadDetail' in props && typeof reloadDetail !== 'undefined') {
|
|
45
42
|
dataReloadDetail = reloadDetail.toString();
|
|
46
43
|
}
|
|
47
|
-
|
|
48
44
|
return {
|
|
49
45
|
'data-force': force || undefined,
|
|
50
46
|
'data-reload-current': reloadCurrent || undefined,
|
|
@@ -133,8 +129,7 @@ export function actionsClasses(props) {
|
|
|
133
129
|
sortableToggle,
|
|
134
130
|
cardOpen,
|
|
135
131
|
cardPreventOpen,
|
|
136
|
-
cardClose
|
|
137
|
-
menuClose
|
|
132
|
+
cardClose
|
|
138
133
|
} = props;
|
|
139
134
|
return {
|
|
140
135
|
'searchbar-enable': searchbarEnable || searchbarEnable === '',
|
|
@@ -159,7 +154,6 @@ export function actionsClasses(props) {
|
|
|
159
154
|
'sortable-toggle': sortableToggle || sortableToggle === '',
|
|
160
155
|
'card-close': cardClose || cardClose === '',
|
|
161
156
|
'card-open': cardOpen || cardOpen === '',
|
|
162
|
-
'card-prevent-open': cardPreventOpen || cardPreventOpen === ''
|
|
163
|
-
'menu-close': menuClose || menuClose === ''
|
|
157
|
+
'card-prevent-open': cardPreventOpen || cardPreventOpen === ''
|
|
164
158
|
};
|
|
165
159
|
}
|
package/shared/plugin.js
CHANGED
|
@@ -4,12 +4,10 @@ import { f7, f7ready, theme, f7initEvents, setTheme } from './f7.js';
|
|
|
4
4
|
const Framework7React = {
|
|
5
5
|
name: 'reactPlugin',
|
|
6
6
|
installed: false,
|
|
7
|
-
|
|
8
7
|
install(params) {
|
|
9
8
|
if (params === void 0) {
|
|
10
9
|
params = {};
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
if (Framework7React.installed) return;
|
|
14
12
|
Framework7React.installed = true;
|
|
15
13
|
f7initEvents();
|
|
@@ -19,25 +17,21 @@ const Framework7React = {
|
|
|
19
17
|
} = params;
|
|
20
18
|
if (paramsTheme === 'md') theme.md = true;
|
|
21
19
|
if (paramsTheme === 'ios') theme.ios = true;
|
|
22
|
-
if (paramsTheme === 'aurora') theme.aurora = true; // eslint-disable-next-line
|
|
23
20
|
|
|
21
|
+
// eslint-disable-next-line
|
|
24
22
|
const needThemeCalc = typeof window === 'undefined' ? !!userAgent : true;
|
|
25
|
-
|
|
26
23
|
if (needThemeCalc && (!paramsTheme || paramsTheme === 'auto')) {
|
|
27
24
|
const device = Framework7.getDevice({
|
|
28
25
|
userAgent
|
|
29
26
|
}, true);
|
|
30
27
|
theme.ios = !!device.ios;
|
|
31
|
-
theme.
|
|
32
|
-
theme.md = !theme.ios && !theme.aurora;
|
|
28
|
+
theme.md = !theme.ios;
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
f7ready(() => {
|
|
36
31
|
setTheme();
|
|
37
32
|
});
|
|
38
33
|
Framework7.Router.use(componentsRouter);
|
|
39
34
|
}
|
|
40
|
-
|
|
41
35
|
};
|
|
42
36
|
export { f7ready, f7, theme };
|
|
43
37
|
export default Framework7React;
|
package/shared/router-open-in.js
CHANGED
|
@@ -10,14 +10,15 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
10
10
|
url,
|
|
11
11
|
route: {
|
|
12
12
|
path: url,
|
|
13
|
-
options: {
|
|
13
|
+
options: {
|
|
14
|
+
...options,
|
|
14
15
|
openIn: undefined
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
};
|
|
18
|
-
const params = {
|
|
19
|
+
const params = {
|
|
20
|
+
...options
|
|
19
21
|
};
|
|
20
|
-
|
|
21
22
|
if (options.openIn === 'popup') {
|
|
22
23
|
params.component = function DynamicPopup() {
|
|
23
24
|
return /*#__PURE__*/React.createElement(Popup, {
|
|
@@ -29,10 +30,8 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
29
30
|
ignoreOpenIn: true
|
|
30
31
|
}));
|
|
31
32
|
};
|
|
32
|
-
|
|
33
33
|
navigateOptions.route.popup = params;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
35
|
if (options.openIn === 'loginScreen') {
|
|
37
36
|
params.component = function DynamicPopover() {
|
|
38
37
|
return /*#__PURE__*/React.createElement(LoginScreen, {
|
|
@@ -44,10 +43,8 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
44
43
|
ignoreOpenIn: true
|
|
45
44
|
}));
|
|
46
45
|
};
|
|
47
|
-
|
|
48
46
|
navigateOptions.route.loginScreen = params;
|
|
49
47
|
}
|
|
50
|
-
|
|
51
48
|
if (options.openIn === 'sheet') {
|
|
52
49
|
params.component = function DynamicSheet() {
|
|
53
50
|
return /*#__PURE__*/React.createElement(Sheet, {
|
|
@@ -59,13 +56,10 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
59
56
|
ignoreOpenIn: true
|
|
60
57
|
}));
|
|
61
58
|
};
|
|
62
|
-
|
|
63
59
|
navigateOptions.route.sheet = params;
|
|
64
60
|
}
|
|
65
|
-
|
|
66
61
|
if (options.openIn === 'popover') {
|
|
67
62
|
params.targetEl = options.clickedEl || options.targetEl;
|
|
68
|
-
|
|
69
63
|
params.component = function DynamicPopover() {
|
|
70
64
|
return /*#__PURE__*/React.createElement(Popover, {
|
|
71
65
|
className: "popover-router-open-in",
|
|
@@ -77,15 +71,12 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
77
71
|
ignoreOpenIn: true
|
|
78
72
|
}));
|
|
79
73
|
};
|
|
80
|
-
|
|
81
74
|
navigateOptions.route.popover = params;
|
|
82
75
|
}
|
|
83
|
-
|
|
84
76
|
if (options.openIn.indexOf('panel') >= 0) {
|
|
85
77
|
const parts = options.openIn.split(':');
|
|
86
78
|
const side = parts[1] || 'left';
|
|
87
79
|
const effect = parts[2] || 'cover';
|
|
88
|
-
|
|
89
80
|
params.component = function DynamicPanel() {
|
|
90
81
|
return /*#__PURE__*/React.createElement(Panel, {
|
|
91
82
|
side: side,
|
|
@@ -98,9 +89,7 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
98
89
|
ignoreOpenIn: true
|
|
99
90
|
}));
|
|
100
91
|
};
|
|
101
|
-
|
|
102
92
|
navigateOptions.route.panel = params;
|
|
103
93
|
}
|
|
104
|
-
|
|
105
94
|
return router.navigate(navigateOptions);
|
|
106
95
|
};
|
package/shared/tabbar-context.js
CHANGED
package/shared/use-icon.js
CHANGED
|
@@ -5,35 +5,30 @@ export const useIcon = function (props) {
|
|
|
5
5
|
if (props === void 0) {
|
|
6
6
|
props = {};
|
|
7
7
|
}
|
|
8
|
-
|
|
9
8
|
const {
|
|
10
9
|
icon,
|
|
11
10
|
iconMaterial,
|
|
12
11
|
iconF7,
|
|
13
12
|
iconMd,
|
|
14
13
|
iconIos,
|
|
15
|
-
iconAurora,
|
|
16
14
|
iconColor,
|
|
17
15
|
iconSize,
|
|
18
16
|
iconBadge,
|
|
19
17
|
badgeColor,
|
|
20
18
|
iconBadgeColor
|
|
21
19
|
} = props;
|
|
22
|
-
|
|
23
|
-
if (icon || iconMaterial || iconF7 || iconMd || iconIos || iconAurora) {
|
|
20
|
+
if (icon || iconMaterial || iconF7 || iconMd || iconIos) {
|
|
24
21
|
return /*#__PURE__*/React.createElement(Icon, {
|
|
25
22
|
material: iconMaterial,
|
|
26
23
|
f7: iconF7,
|
|
27
24
|
icon: icon,
|
|
28
25
|
md: iconMd,
|
|
29
26
|
ios: iconIos,
|
|
30
|
-
aurora: iconAurora,
|
|
31
27
|
color: iconColor,
|
|
32
28
|
size: iconSize
|
|
33
29
|
}, (iconBadge || iconBadge === 0) && /*#__PURE__*/React.createElement(Badge, {
|
|
34
30
|
color: badgeColor || iconBadgeColor
|
|
35
31
|
}, iconBadge));
|
|
36
32
|
}
|
|
37
|
-
|
|
38
33
|
return null;
|
|
39
34
|
};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { useEffect, useLayoutEffect } from 'react';
|
|
2
|
-
|
|
3
2
|
function useIsomorphicLayoutEffect(callback, deps) {
|
|
4
3
|
// eslint-disable-next-line
|
|
5
4
|
if (typeof window === 'undefined') return useEffect(callback, deps);
|
|
6
5
|
return useLayoutEffect(callback, deps);
|
|
7
6
|
}
|
|
8
|
-
|
|
9
7
|
export { useIsomorphicLayoutEffect };
|
|
@@ -12,15 +12,12 @@ export const useSmartSelect = (smartSelect, smartSelectParams, f7SmartSelect, ge
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
|
-
|
|
16
15
|
const onDestroy = () => {
|
|
17
16
|
if (f7SmartSelect.current && f7SmartSelect.current.destroy) {
|
|
18
17
|
f7SmartSelect.current.destroy();
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
f7SmartSelect.current = null;
|
|
22
20
|
};
|
|
23
|
-
|
|
24
21
|
useEffect(() => {
|
|
25
22
|
onMount();
|
|
26
23
|
return onDestroy;
|
package/shared/use-store.js
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
import { useState, useEffect, useRef } from 'react';
|
|
2
2
|
import { f7 } from './f7.js';
|
|
3
3
|
export const useStore = function () {
|
|
4
|
-
const assignedGetters = useRef({});
|
|
5
|
-
|
|
4
|
+
const assignedGetters = useRef({});
|
|
5
|
+
// (store, getter)
|
|
6
6
|
let store = arguments.length <= 0 ? undefined : arguments[0];
|
|
7
7
|
let getter = arguments.length <= 1 ? undefined : arguments[1];
|
|
8
|
-
|
|
9
8
|
if (arguments.length === 1) {
|
|
10
9
|
// (getter)
|
|
11
10
|
store = f7.store;
|
|
12
11
|
getter = arguments.length <= 0 ? undefined : arguments[0];
|
|
13
|
-
}
|
|
14
|
-
|
|
12
|
+
}
|
|
15
13
|
|
|
14
|
+
// eslint-disable-next-line
|
|
16
15
|
const obj = store._gettersPlain[getter];
|
|
17
16
|
const [value, setValue] = useState(obj.value);
|
|
18
|
-
|
|
19
17
|
function onUpdated(newValue) {
|
|
20
18
|
setValue(newValue);
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
if (!assignedGetters.current[getter]) {
|
|
24
21
|
obj.onUpdated(onUpdated);
|
|
25
22
|
assignedGetters.current[getter] = true;
|
|
26
23
|
}
|
|
27
|
-
|
|
28
24
|
useEffect(() => {
|
|
29
25
|
return () => {
|
|
30
26
|
// eslint-disable-next-line
|
package/shared/use-tab.js
CHANGED
|
@@ -6,12 +6,10 @@ export const useTab = (elRef, props) => {
|
|
|
6
6
|
if (elRef.current !== el) return;
|
|
7
7
|
emit(props, 'tabShow', el);
|
|
8
8
|
};
|
|
9
|
-
|
|
10
9
|
const onTabHide = el => {
|
|
11
10
|
if (elRef.current !== el) return;
|
|
12
11
|
emit(props, 'tabHide', el);
|
|
13
12
|
};
|
|
14
|
-
|
|
15
13
|
const attachEvents = () => {
|
|
16
14
|
if (!elRef.current) return;
|
|
17
15
|
f7ready(() => {
|
|
@@ -19,13 +17,11 @@ export const useTab = (elRef, props) => {
|
|
|
19
17
|
f7.on('tabHide', onTabHide);
|
|
20
18
|
});
|
|
21
19
|
};
|
|
22
|
-
|
|
23
20
|
const detachEvents = () => {
|
|
24
21
|
if (!f7) return;
|
|
25
22
|
f7.off('tabShow', onTabShow);
|
|
26
23
|
f7.off('tabHide', onTabHide);
|
|
27
24
|
};
|
|
28
|
-
|
|
29
25
|
useIsomorphicLayoutEffect(() => {
|
|
30
26
|
attachEvents();
|
|
31
27
|
return detachEvents;
|
package/shared/use-theme.js
CHANGED
package/shared/use-tooltip.js
CHANGED
|
@@ -7,7 +7,6 @@ export const useTooltip = (elRef, props) => {
|
|
|
7
7
|
tooltip,
|
|
8
8
|
tooltipTrigger
|
|
9
9
|
} = props;
|
|
10
|
-
|
|
11
10
|
const onMount = () => {
|
|
12
11
|
if (!elRef.current) return;
|
|
13
12
|
if (!tooltip) return;
|
|
@@ -19,14 +18,12 @@ export const useTooltip = (elRef, props) => {
|
|
|
19
18
|
});
|
|
20
19
|
});
|
|
21
20
|
};
|
|
22
|
-
|
|
23
21
|
const onDestroy = () => {
|
|
24
22
|
if (f7Tooltip.current && f7Tooltip.current.destroy) {
|
|
25
23
|
f7Tooltip.current.destroy();
|
|
26
24
|
f7Tooltip.current = null;
|
|
27
25
|
}
|
|
28
26
|
};
|
|
29
|
-
|
|
30
27
|
useEffect(() => {
|
|
31
28
|
onMount();
|
|
32
29
|
return onDestroy;
|
|
@@ -37,7 +34,6 @@ export const useTooltip = (elRef, props) => {
|
|
|
37
34
|
f7Tooltip.current = null;
|
|
38
35
|
return;
|
|
39
36
|
}
|
|
40
|
-
|
|
41
37
|
if (value && !f7Tooltip.current && f7) {
|
|
42
38
|
f7Tooltip.current = f7.tooltip.create({
|
|
43
39
|
targetEl: elRef.current,
|
|
@@ -46,7 +42,6 @@ export const useTooltip = (elRef, props) => {
|
|
|
46
42
|
});
|
|
47
43
|
return;
|
|
48
44
|
}
|
|
49
|
-
|
|
50
45
|
if (!value || !f7Tooltip.current) return;
|
|
51
46
|
f7Tooltip.current.setText(value);
|
|
52
47
|
});
|