framework7-svelte 9.0.5 → 9.1.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 Svelte 9.0.5
2
+ * Framework7 Svelte 9.1.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: May 27, 2026
10
+ * Released on: July 7, 2026
11
11
  */
12
12
  import Framework7Svelte from './shared/plugin.js';
13
13
  import { f7, f7ready, theme, app } from './shared/f7.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framework7-svelte",
3
- "version": "9.0.5",
3
+ "version": "9.1.1",
4
4
  "description": "Build full featured iOS & Android apps using Framework7 & Svelte",
5
5
  "type": "module",
6
6
  "svelte": "./framework7-svelte.js",
@@ -50,5 +50,5 @@
50
50
  "type": "patreon",
51
51
  "url": "https://www.patreon.com/framework7"
52
52
  },
53
- "releaseDate": "May 27, 2026"
53
+ "releaseDate": "July 7, 2026"
54
54
  }
@@ -56,7 +56,7 @@ export default {
56
56
  const childrenAfter = getChildrenArray(el);
57
57
  if (hasSameChildren(childrenBefore, childrenAfter)) return;
58
58
  app.f7events.off('viewRouterDidUpdate', onDidUpdate);
59
- const pageEl = el.children[direction === 'backward' ? 0 : el.children.length - 1];
59
+ const pageEl = childrenAfter.find(child => child.classList.contains('page') && !childrenBefore.includes(child)) || el.children[direction === 'backward' ? 0 : el.children.length - 1];
60
60
  pageData.el = pageEl;
61
61
  resolve(pageEl);
62
62
  viewRouter.setPages(viewRouter.pages);
@@ -16,9 +16,15 @@ export const routerOpenIn = (router, url, options) => {
16
16
  }
17
17
  }
18
18
  };
19
+
20
+ // Allow passing modal-specific params via a `<type>Options` object
21
+ // (e.g. sheetOptions, popupOptions, popoverOptions, panelOptions, loginScreenOptions)
22
+ const openInType = options.openIn.split(':')[0];
19
23
  const params = {
20
- ...options
24
+ ...options,
25
+ ...(options[`${openInType}Options`] || {})
21
26
  };
27
+ delete params[`${openInType}Options`];
22
28
  params.component = RouterOpenInComponent;
23
29
  if (options.openIn === 'popup') {
24
30
  navigateOptions.route.popup = params;
package/shared/utils.js CHANGED
@@ -33,6 +33,7 @@ export function extend(...args) {
33
33
  const keysArray = Object.keys(Object(nextSource));
34
34
  for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
35
35
  const nextKey = keysArray[nextIndex];
36
+ if (nextKey === '__proto__' || nextKey === 'constructor' || nextKey === 'prototype') continue; // eslint-disable-line
36
37
  const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
37
38
  if (desc !== undefined && desc.enumerable) {
38
39
  if (!deep) {