framework7-svelte 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/actions-button.d.ts +1 -1
- package/components/actions-button.svelte +2 -2
- package/components/actions-label.svelte +2 -2
- package/components/block.d.ts +17 -4
- package/components/block.svelte +34 -8
- package/components/button.d.ts +3 -7
- package/components/button.svelte +6 -12
- package/components/card.d.ts +5 -2
- package/components/card.svelte +10 -4
- package/components/chip.d.ts +0 -1
- package/components/icon.d.ts +0 -1
- package/components/icon.svelte +0 -9
- package/components/link.d.ts +0 -1
- package/components/link.svelte +3 -3
- package/components/list-index.d.ts +0 -1
- package/components/list-index.svelte +0 -2
- package/components/list-input.d.ts +0 -1
- package/components/list-input.svelte +0 -2
- package/components/list-item.d.ts +0 -1
- package/components/list-item.svelte +1 -3
- package/components/list.d.ts +21 -9
- package/components/list.svelte +42 -19
- package/components/messagebar-sheet-image.svelte +4 -1
- package/components/navbar.d.ts +1 -2
- package/components/navbar.svelte +3 -7
- package/components/page.d.ts +0 -1
- package/components/page.svelte +1 -16
- package/components/panel.d.ts +1 -0
- package/components/panel.svelte +3 -1
- package/components/popover.d.ts +1 -0
- package/components/popover.svelte +2 -0
- package/components/popup.svelte +1 -1
- package/components/preloader.svelte +7 -3
- package/components/searchbar.d.ts +1 -2
- package/components/searchbar.svelte +3 -5
- package/components/segmented.d.ts +0 -3
- package/components/segmented.svelte +2 -8
- package/components/stepper.d.ts +0 -5
- package/components/stepper.svelte +0 -10
- package/components/swiper-slide.d.ts +16 -3
- package/components/swiper-slide.svelte +17 -0
- package/components/swiper.d.ts +51 -3
- package/components/swiper.svelte +52 -0
- package/components/toolbar.d.ts +2 -6
- package/components/toolbar.svelte +6 -16
- package/components/treeview-item.d.ts +0 -1
- package/components/view.d.ts +0 -6
- package/framework7-svelte.d.ts +2 -12
- package/framework7-svelte.js +5 -14
- package/package.json +1 -1
- package/shared/components-router.js +0 -32
- package/shared/f7.js +6 -23
- package/shared/get-router-initial-component.js +0 -4
- package/shared/list-context.js +2 -0
- package/shared/mixins.js +2 -8
- package/shared/plugin.js +2 -16
- package/shared/rest-props.js +0 -1
- package/shared/router-context.js +2 -0
- package/shared/router-open-in.js +6 -9
- package/shared/set-reactive-context.js +0 -4
- package/shared/use-icon.js +1 -6
- package/shared/use-route-props.js +0 -3
- package/shared/use-smart-select.js +0 -1
- package/shared/use-store.js +2 -6
- package/shared/use-tab.js +0 -4
- package/shared/use-theme.js +0 -2
- package/shared/use-tooltip.js +0 -7
- package/shared/utils.js +0 -12
- package/components/appbar.d.ts +0 -30
- package/components/appbar.svelte +0 -38
- package/components/col.d.ts +0 -38
- package/components/col.svelte +0 -73
- package/components/list-item-cell.d.ts +0 -25
- package/components/list-item-cell.svelte +0 -14
- package/components/list-item-row.d.ts +0 -25
- package/components/list-item-row.svelte +0 -14
- package/components/menu-dropdown-item.d.ts +0 -70
- package/components/menu-dropdown-item.svelte +0 -73
- package/components/menu-dropdown.d.ts +0 -30
- package/components/menu-dropdown.svelte +0 -35
- package/components/menu-item.d.ts +0 -83
- package/components/menu-item.svelte +0 -138
- package/components/menu.d.ts +0 -25
- package/components/menu.svelte +0 -16
- package/components/row.d.ts +0 -33
- package/components/row.svelte +0 -63
- package/components/swiper-slide.js +0 -3
- package/components/swiper.js +0 -3
- package/shared/tabbar-context.js +0 -5
package/framework7-svelte.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ import ActionsGroup from './components/actions-group.js';
|
|
|
10
10
|
import ActionsLabel from './components/actions-label.js';
|
|
11
11
|
import Actions from './components/actions.js';
|
|
12
12
|
import App from './components/app.js';
|
|
13
|
-
import Appbar from './components/appbar.js';
|
|
14
13
|
import AreaChart from './components/area-chart.js';
|
|
15
14
|
import Badge from './components/badge.js';
|
|
16
15
|
import BlockFooter from './components/block-footer.js';
|
|
@@ -28,7 +27,6 @@ import CardHeader from './components/card-header.js';
|
|
|
28
27
|
import Card from './components/card.js';
|
|
29
28
|
import Checkbox from './components/checkbox.js';
|
|
30
29
|
import Chip from './components/chip.js';
|
|
31
|
-
import Col from './components/col.js';
|
|
32
30
|
import FabBackdrop from './components/fab-backdrop.js';
|
|
33
31
|
import FabButton from './components/fab-button.js';
|
|
34
32
|
import FabButtons from './components/fab-buttons.js';
|
|
@@ -41,16 +39,10 @@ import ListButton from './components/list-button.js';
|
|
|
41
39
|
import ListGroup from './components/list-group.js';
|
|
42
40
|
import ListIndex from './components/list-index.js';
|
|
43
41
|
import ListInput from './components/list-input.js';
|
|
44
|
-
import ListItemCell from './components/list-item-cell.js';
|
|
45
|
-
import ListItemRow from './components/list-item-row.js';
|
|
46
42
|
import ListItem from './components/list-item.js';
|
|
47
43
|
import List from './components/list.js';
|
|
48
44
|
import LoginScreenTitle from './components/login-screen-title.js';
|
|
49
45
|
import LoginScreen from './components/login-screen.js';
|
|
50
|
-
import MenuDropdownItem from './components/menu-dropdown-item.js';
|
|
51
|
-
import MenuDropdown from './components/menu-dropdown.js';
|
|
52
|
-
import MenuItem from './components/menu-item.js';
|
|
53
|
-
import Menu from './components/menu.js';
|
|
54
46
|
import Message from './components/message.js';
|
|
55
47
|
import MessagebarAttachment from './components/messagebar-attachment.js';
|
|
56
48
|
import MessagebarAttachments from './components/messagebar-attachments.js';
|
|
@@ -78,7 +70,6 @@ import Radio from './components/radio.js';
|
|
|
78
70
|
import Range from './components/range.js';
|
|
79
71
|
import RoutableModals from './components/routable-modals.js';
|
|
80
72
|
import RouterContextProvider from './components/router-context-provider.js';
|
|
81
|
-
import Row from './components/row.js';
|
|
82
73
|
import Searchbar from './components/searchbar.js';
|
|
83
74
|
import Segmented from './components/segmented.js';
|
|
84
75
|
import Sheet from './components/sheet.js';
|
|
@@ -106,10 +97,9 @@ import Views from './components/views.js';
|
|
|
106
97
|
export interface Framework7Theme {
|
|
107
98
|
ios: boolean;
|
|
108
99
|
md: boolean;
|
|
109
|
-
aurora: boolean;
|
|
110
100
|
}
|
|
111
101
|
|
|
112
|
-
/** Object with boolean properties with information about currently used theme (
|
|
102
|
+
/** Object with boolean properties with information about currently used theme (`ios` or `md`) */
|
|
113
103
|
declare const theme: Framework7Theme;
|
|
114
104
|
|
|
115
105
|
/** Main Framework7's initialized instance. It allows you to use any of Framework7 APIs */
|
|
@@ -134,6 +124,6 @@ interface app {
|
|
|
134
124
|
|
|
135
125
|
declare const app: app;
|
|
136
126
|
|
|
137
|
-
export { AccordionContent, AccordionItem, AccordionToggle, Accordion, ActionsButton, ActionsGroup, ActionsLabel, Actions, App,
|
|
127
|
+
export { AccordionContent, AccordionItem, AccordionToggle, Accordion, ActionsButton, ActionsGroup, ActionsLabel, Actions, App, AreaChart, Badge, BlockFooter, BlockHeader, BlockTitle, Block, BreadcrumbsCollapsed, BreadcrumbsItem, BreadcrumbsSeparator, Breadcrumbs, Button, CardContent, CardFooter, CardHeader, Card, Checkbox, Chip, FabBackdrop, FabButton, FabButtons, Fab, Gauge, Icon, Input, Link, ListButton, ListGroup, ListIndex, ListInput, ListItem, List, LoginScreenTitle, LoginScreen, Message, MessagebarAttachment, MessagebarAttachments, MessagebarSheetImage, MessagebarSheetItem, MessagebarSheet, Messagebar, MessagesTitle, Messages, NavLeft, NavRight, NavTitleLarge, NavTitle, Navbar, PageContent, Page, Panel, PhotoBrowser, PieChart, Popover, Popup, Preloader, Progressbar, Radio, Range, RoutableModals, RouterContextProvider, Searchbar, Segmented, Sheet, SkeletonAvatar, SkeletonBlock, SkeletonImage, SkeletonText, Stepper, Subnavbar, SwipeoutActions, SwipeoutButton, SwiperSlide, Swiper, Tab, Tabs, TextEditor, Toggle, Toolbar, TreeviewItem, Treeview, UseIcon, View, Views }
|
|
138
128
|
export { f7, f7ready, theme, useStore, app };
|
|
139
129
|
export default Framework7Svelte;
|
package/framework7-svelte.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Framework7 Svelte
|
|
2
|
+
* Framework7 Svelte 8.0.0-beta.1
|
|
3
3
|
* Build full featured iOS & Android apps using Framework7 & Svelte
|
|
4
4
|
* https://framework7.io/svelte/
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Released under the MIT License
|
|
9
9
|
*
|
|
10
|
-
* Released on:
|
|
10
|
+
* Released on: December 16, 2022
|
|
11
11
|
*/
|
|
12
12
|
import Framework7Svelte from './shared/plugin.js';
|
|
13
13
|
import { f7, f7ready, theme, app } from './shared/f7.js';
|
|
@@ -22,7 +22,6 @@ import ActionsGroup from './components/actions-group.svelte';
|
|
|
22
22
|
import ActionsLabel from './components/actions-label.svelte';
|
|
23
23
|
import Actions from './components/actions.svelte';
|
|
24
24
|
import App from './components/app.svelte';
|
|
25
|
-
import Appbar from './components/appbar.svelte';
|
|
26
25
|
import AreaChart from './components/area-chart.svelte';
|
|
27
26
|
import Badge from './components/badge.svelte';
|
|
28
27
|
import BlockFooter from './components/block-footer.svelte';
|
|
@@ -40,7 +39,6 @@ import CardHeader from './components/card-header.svelte';
|
|
|
40
39
|
import Card from './components/card.svelte';
|
|
41
40
|
import Checkbox from './components/checkbox.svelte';
|
|
42
41
|
import Chip from './components/chip.svelte';
|
|
43
|
-
import Col from './components/col.svelte';
|
|
44
42
|
import FabBackdrop from './components/fab-backdrop.svelte';
|
|
45
43
|
import FabButton from './components/fab-button.svelte';
|
|
46
44
|
import FabButtons from './components/fab-buttons.svelte';
|
|
@@ -53,16 +51,10 @@ import ListButton from './components/list-button.svelte';
|
|
|
53
51
|
import ListGroup from './components/list-group.svelte';
|
|
54
52
|
import ListIndex from './components/list-index.svelte';
|
|
55
53
|
import ListInput from './components/list-input.svelte';
|
|
56
|
-
import ListItemCell from './components/list-item-cell.svelte';
|
|
57
|
-
import ListItemRow from './components/list-item-row.svelte';
|
|
58
54
|
import ListItem from './components/list-item.svelte';
|
|
59
55
|
import List from './components/list.svelte';
|
|
60
56
|
import LoginScreenTitle from './components/login-screen-title.svelte';
|
|
61
57
|
import LoginScreen from './components/login-screen.svelte';
|
|
62
|
-
import MenuDropdownItem from './components/menu-dropdown-item.svelte';
|
|
63
|
-
import MenuDropdown from './components/menu-dropdown.svelte';
|
|
64
|
-
import MenuItem from './components/menu-item.svelte';
|
|
65
|
-
import Menu from './components/menu.svelte';
|
|
66
58
|
import Message from './components/message.svelte';
|
|
67
59
|
import MessagebarAttachment from './components/messagebar-attachment.svelte';
|
|
68
60
|
import MessagebarAttachments from './components/messagebar-attachments.svelte';
|
|
@@ -90,7 +82,6 @@ import Radio from './components/radio.svelte';
|
|
|
90
82
|
import Range from './components/range.svelte';
|
|
91
83
|
import RoutableModals from './components/routable-modals.svelte';
|
|
92
84
|
import RouterContextProvider from './components/router-context-provider.svelte';
|
|
93
|
-
import Row from './components/row.svelte';
|
|
94
85
|
import Searchbar from './components/searchbar.svelte';
|
|
95
86
|
import Segmented from './components/segmented.svelte';
|
|
96
87
|
import Sheet from './components/sheet.svelte';
|
|
@@ -102,8 +93,8 @@ import Stepper from './components/stepper.svelte';
|
|
|
102
93
|
import Subnavbar from './components/subnavbar.svelte';
|
|
103
94
|
import SwipeoutActions from './components/swipeout-actions.svelte';
|
|
104
95
|
import SwipeoutButton from './components/swipeout-button.svelte';
|
|
105
|
-
import SwiperSlide from './components/swiper-slide.
|
|
106
|
-
import Swiper from './components/swiper.
|
|
96
|
+
import SwiperSlide from './components/swiper-slide.svelte';
|
|
97
|
+
import Swiper from './components/swiper.svelte';
|
|
107
98
|
import Tab from './components/tab.svelte';
|
|
108
99
|
import Tabs from './components/tabs.svelte';
|
|
109
100
|
import TextEditor from './components/text-editor.svelte';
|
|
@@ -115,6 +106,6 @@ import UseIcon from './components/use-icon.svelte';
|
|
|
115
106
|
import View from './components/view.svelte';
|
|
116
107
|
import Views from './components/views.svelte';
|
|
117
108
|
|
|
118
|
-
export { AccordionContent, AccordionItem, AccordionToggle, Accordion, ActionsButton, ActionsGroup, ActionsLabel, Actions, App,
|
|
109
|
+
export { AccordionContent, AccordionItem, AccordionToggle, Accordion, ActionsButton, ActionsGroup, ActionsLabel, Actions, App, AreaChart, Badge, BlockFooter, BlockHeader, BlockTitle, Block, BreadcrumbsCollapsed, BreadcrumbsItem, BreadcrumbsSeparator, Breadcrumbs, Button, CardContent, CardFooter, CardHeader, Card, Checkbox, Chip, FabBackdrop, FabButton, FabButtons, Fab, Gauge, Icon, Input, Link, ListButton, ListGroup, ListIndex, ListInput, ListItem, List, LoginScreenTitle, LoginScreen, Message, MessagebarAttachment, MessagebarAttachments, MessagebarSheetImage, MessagebarSheetItem, MessagebarSheet, Messagebar, MessagesTitle, Messages, NavLeft, NavRight, NavTitleLarge, NavTitle, Navbar, PageContent, Page, Panel, PhotoBrowser, PieChart, Popover, Popup, Preloader, Progressbar, Radio, Range, RoutableModals, RouterContextProvider, Searchbar, Segmented, Sheet, SkeletonAvatar, SkeletonBlock, SkeletonImage, SkeletonText, Stepper, Subnavbar, SwipeoutActions, SwipeoutButton, SwiperSlide, Swiper, Tab, Tabs, TextEditor, Toggle, Toolbar, TreeviewItem, Treeview, UseIcon, View, Views }
|
|
119
110
|
export { f7, f7ready, theme, useStore, app };
|
|
120
111
|
export default Framework7Svelte;
|
package/package.json
CHANGED
|
@@ -2,30 +2,24 @@
|
|
|
2
2
|
import { app } 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
|
app.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
|
app.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
|
app.f7events.off('tabRouterDidUpdate', onDidUpdate);
|
|
@@ -158,11 +138,9 @@ export default {
|
|
|
158
138
|
resolve(tabContentEl);
|
|
159
139
|
resolved = true;
|
|
160
140
|
}
|
|
161
|
-
|
|
162
141
|
app.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 = app.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
|
app.f7events.off('modalsRouterDidUpdate', onDidUpdate);
|
|
@@ -214,12 +185,10 @@ export default {
|
|
|
214
185
|
resolve(modalEl);
|
|
215
186
|
resolved = true;
|
|
216
187
|
}
|
|
217
|
-
|
|
218
188
|
app.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 = app.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
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { extend, unsetRouterIds } from './utils.js';
|
|
4
4
|
let f7;
|
|
5
5
|
const theme = {};
|
|
6
|
-
/* eslint-disable no-restricted-globals */
|
|
7
6
|
|
|
7
|
+
/* eslint-disable no-restricted-globals */
|
|
8
8
|
const app = typeof window !== 'undefined' && window.Framework7ComponentsApp ? window.Framework7ComponentsApp : {
|
|
9
9
|
Framework7: undefined,
|
|
10
10
|
f7: undefined,
|
|
@@ -16,79 +16,64 @@ const app = typeof window !== 'undefined' && window.Framework7ComponentsApp ? wi
|
|
|
16
16
|
modals: null
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
|
|
20
19
|
if (typeof window !== 'undefined') {
|
|
21
20
|
window.Framework7ComponentsApp = app;
|
|
22
21
|
}
|
|
23
22
|
/* eslint-enable no-restricted-globals */
|
|
24
23
|
|
|
25
|
-
|
|
26
24
|
app.setInstance = instance => {
|
|
27
25
|
f7 = instance;
|
|
28
26
|
};
|
|
29
|
-
|
|
30
27
|
const setTheme = () => {
|
|
31
28
|
if (!app.f7) return;
|
|
32
29
|
app.theme.ios = app.f7.theme === 'ios';
|
|
33
30
|
theme.ios = app.f7.theme === 'ios';
|
|
34
31
|
app.theme.md = app.f7.theme === 'md';
|
|
35
32
|
theme.md = app.f7.theme === 'md';
|
|
36
|
-
app.theme.aurora = app.f7.theme === 'aurora';
|
|
37
|
-
theme.aurora = app.f7.theme === 'aurora';
|
|
38
33
|
};
|
|
39
|
-
|
|
40
34
|
const cleanup = () => {
|
|
41
35
|
unsetRouterIds();
|
|
42
36
|
delete app.theme.ios;
|
|
43
37
|
delete theme.ios;
|
|
44
38
|
delete app.theme.md;
|
|
45
39
|
delete theme.md;
|
|
46
|
-
delete app.theme.aurora;
|
|
47
|
-
delete theme.aurora;
|
|
48
40
|
app.f7routers.views = [];
|
|
49
41
|
app.f7routers.tabs = [];
|
|
50
42
|
app.f7routers.modals = null;
|
|
51
43
|
};
|
|
52
|
-
|
|
53
44
|
const f7initEvents = () => {
|
|
54
45
|
app.f7events = new app.Framework7.Events();
|
|
55
46
|
};
|
|
56
|
-
|
|
57
47
|
const f7init = function (rootEl, params, init) {
|
|
58
48
|
if (params === void 0) {
|
|
59
49
|
params = {};
|
|
60
50
|
}
|
|
61
|
-
|
|
62
51
|
if (init === void 0) {
|
|
63
52
|
init = true;
|
|
64
53
|
}
|
|
65
|
-
|
|
66
54
|
const f7Params = extend({}, params, {
|
|
67
55
|
el: rootEl,
|
|
68
56
|
init
|
|
69
57
|
});
|
|
70
58
|
if (typeof params.store !== 'undefined') f7Params.store = params.store;
|
|
71
59
|
if (!f7Params.routes) f7Params.routes = [];
|
|
72
|
-
|
|
73
60
|
if (f7Params.userAgent && (f7Params.theme === 'auto' || !f7Params.theme)) {
|
|
74
61
|
const device = app.Framework7.getDevice({
|
|
75
62
|
userAgent: f7Params.userAgent
|
|
76
63
|
}, true);
|
|
77
64
|
app.theme.ios = !!device.ios;
|
|
78
|
-
app.theme.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
if (app.f7 && typeof window !== 'undefined') return; // eslint-disable-next-line
|
|
65
|
+
app.theme.md = !app.theme.ios;
|
|
66
|
+
}
|
|
67
|
+
// eslint-disable-next-line
|
|
68
|
+
if (app.f7 && typeof window !== 'undefined') return;
|
|
84
69
|
|
|
70
|
+
// eslint-disable-next-line
|
|
85
71
|
if (typeof window === 'undefined') cleanup();
|
|
86
72
|
const instance = new app.Framework7(f7Params);
|
|
87
73
|
app.f7 = instance;
|
|
88
74
|
f7 = instance;
|
|
89
75
|
app.setInstance(instance);
|
|
90
76
|
setTheme();
|
|
91
|
-
|
|
92
77
|
if (instance.initialized) {
|
|
93
78
|
app.f7 = instance;
|
|
94
79
|
f7 = instance;
|
|
@@ -103,12 +88,10 @@ const f7init = function (rootEl, params, init) {
|
|
|
103
88
|
});
|
|
104
89
|
}
|
|
105
90
|
};
|
|
106
|
-
|
|
107
91
|
const f7ready = callback => {
|
|
108
92
|
if (!callback) return;
|
|
109
93
|
if (app.f7 && app.f7.initialized) callback(app.f7);else {
|
|
110
94
|
app.f7events.once('ready', callback);
|
|
111
95
|
}
|
|
112
96
|
};
|
|
113
|
-
|
|
114
97
|
export { f7, theme, app, f7ready, f7init, 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/list-context.js
CHANGED
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 { f7ready, theme, app, f7initEvents, setTheme } from './f7.js';
|
|
|
4
4
|
const Framework7Svelte = {
|
|
5
5
|
name: 'sveltePlugin',
|
|
6
6
|
installed: false,
|
|
7
|
-
|
|
8
7
|
install(params) {
|
|
9
8
|
if (params === void 0) {
|
|
10
9
|
params = {};
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
const Framework7 = this;
|
|
14
12
|
app.Framework7 = Framework7;
|
|
15
13
|
if (Framework7Svelte.installed) return;
|
|
@@ -19,42 +17,30 @@ const Framework7Svelte = {
|
|
|
19
17
|
theme: paramsTheme,
|
|
20
18
|
userAgent
|
|
21
19
|
} = params;
|
|
22
|
-
|
|
23
20
|
if (paramsTheme === 'md') {
|
|
24
21
|
app.theme.md = true;
|
|
25
22
|
theme.md = true;
|
|
26
23
|
}
|
|
27
|
-
|
|
28
24
|
if (paramsTheme === 'ios') {
|
|
29
25
|
app.theme.md = true;
|
|
30
26
|
theme.ios = true;
|
|
31
27
|
}
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
app.theme.md = true;
|
|
35
|
-
theme.aurora = true;
|
|
36
|
-
} // eslint-disable-next-line
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
// eslint-disable-next-line
|
|
39
30
|
const needThemeCalc = typeof window === 'undefined' ? !!userAgent : true;
|
|
40
|
-
|
|
41
31
|
if (needThemeCalc && (!paramsTheme || paramsTheme === 'auto')) {
|
|
42
32
|
const device = Framework7.getDevice({
|
|
43
33
|
userAgent
|
|
44
34
|
}, true);
|
|
45
35
|
app.theme.ios = !!device.ios;
|
|
46
36
|
theme.ios = app.theme.ios;
|
|
47
|
-
app.theme.
|
|
48
|
-
theme.aurora = app.theme.aurora;
|
|
49
|
-
app.theme.md = !app.theme.ios && !app.theme.aurora;
|
|
37
|
+
app.theme.md = !app.theme.ios;
|
|
50
38
|
theme.md = app.theme.md;
|
|
51
39
|
}
|
|
52
|
-
|
|
53
40
|
f7ready(() => {
|
|
54
41
|
setTheme();
|
|
55
42
|
});
|
|
56
43
|
Framework7.Router.use(componentsRouter);
|
|
57
44
|
}
|
|
58
|
-
|
|
59
45
|
};
|
|
60
46
|
export default Framework7Svelte;
|
package/shared/rest-props.js
CHANGED
package/shared/router-context.js
CHANGED
package/shared/router-open-in.js
CHANGED
|
@@ -4,9 +4,11 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
4
4
|
url,
|
|
5
5
|
route: {
|
|
6
6
|
path: url,
|
|
7
|
-
options: {
|
|
7
|
+
options: {
|
|
8
|
+
...options,
|
|
8
9
|
openIn: undefined,
|
|
9
|
-
props: {
|
|
10
|
+
props: {
|
|
11
|
+
...(options.props || {}),
|
|
10
12
|
url,
|
|
11
13
|
openIn: options.openIn,
|
|
12
14
|
viewSelector: router.view.selector
|
|
@@ -14,34 +16,29 @@ export const routerOpenIn = (router, url, options) => {
|
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
18
|
};
|
|
17
|
-
const params = {
|
|
19
|
+
const params = {
|
|
20
|
+
...options
|
|
18
21
|
};
|
|
19
22
|
params.component = RouterOpenInComponent;
|
|
20
|
-
|
|
21
23
|
if (options.openIn === 'popup') {
|
|
22
24
|
navigateOptions.route.popup = params;
|
|
23
25
|
}
|
|
24
|
-
|
|
25
26
|
if (options.openIn === 'loginScreen') {
|
|
26
27
|
navigateOptions.route.loginScreen = params;
|
|
27
28
|
}
|
|
28
|
-
|
|
29
29
|
if (options.openIn === 'sheet') {
|
|
30
30
|
navigateOptions.route.sheet = params;
|
|
31
31
|
}
|
|
32
|
-
|
|
33
32
|
if (options.openIn === 'popover') {
|
|
34
33
|
params.targetEl = options.clickedEl || options.targetEl;
|
|
35
34
|
navigateOptions.route.popover = params;
|
|
36
35
|
navigateOptions.route.options.props.targetEl = params.targetEl;
|
|
37
36
|
}
|
|
38
|
-
|
|
39
37
|
if (options.openIn.indexOf('panel') >= 0) {
|
|
40
38
|
const parts = options.openIn.split(':');
|
|
41
39
|
navigateOptions.route.options.props.side = parts[1] || 'left';
|
|
42
40
|
navigateOptions.route.options.props.effect = parts[2] || 'cover';
|
|
43
41
|
navigateOptions.route.panel = params;
|
|
44
42
|
}
|
|
45
|
-
|
|
46
43
|
return router.navigate(navigateOptions);
|
|
47
44
|
};
|
|
@@ -2,23 +2,19 @@
|
|
|
2
2
|
import { setContext, beforeUpdate } from 'svelte';
|
|
3
3
|
export const setReactiveContext = (name, getValue) => {
|
|
4
4
|
const contextCallbacks = [];
|
|
5
|
-
|
|
6
5
|
const contextSubscribe = callback => {
|
|
7
6
|
contextCallbacks.push(callback);
|
|
8
7
|
};
|
|
9
|
-
|
|
10
8
|
const contextUnsubscribe = callback => {
|
|
11
9
|
if (contextCallbacks.indexOf(callback) >= 0) {
|
|
12
10
|
contextCallbacks.splice(contextCallbacks.indexOf, callback);
|
|
13
11
|
}
|
|
14
12
|
};
|
|
15
|
-
|
|
16
13
|
const contextRunCallbacks = () => {
|
|
17
14
|
contextCallbacks.forEach(callback => {
|
|
18
15
|
callback(getValue());
|
|
19
16
|
});
|
|
20
17
|
};
|
|
21
|
-
|
|
22
18
|
setContext(name, {
|
|
23
19
|
value: getValue(),
|
|
24
20
|
subscribe: contextSubscribe,
|