@domql/router 2.25.3 → 2.27.8
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/dist/cjs/index.js +16 -6
- package/dist/esm/index.js +11 -5
- package/index.js +35 -17
- package/package.json +8 -8
package/dist/cjs/index.js
CHANGED
|
@@ -52,7 +52,11 @@ const router = async (path, el, state = {}, options = {}) => {
|
|
|
52
52
|
const element = el || void 0;
|
|
53
53
|
const win = element.context.window || import_utils.window;
|
|
54
54
|
const doc = element.context.document || import_utils.document;
|
|
55
|
-
const opts = {
|
|
55
|
+
const opts = {
|
|
56
|
+
...defaultOptions,
|
|
57
|
+
...element.context.routerOptions,
|
|
58
|
+
...options
|
|
59
|
+
};
|
|
56
60
|
lastLevel = opts.lastLevel;
|
|
57
61
|
const ref = element.__ref;
|
|
58
62
|
if (opts.contentElementKey !== "content" && opts.contentElementKey !== ref.contentElementKey || !ref.contentElementKey) {
|
|
@@ -77,15 +81,21 @@ const router = async (path, el, state = {}, options = {}) => {
|
|
|
77
81
|
}
|
|
78
82
|
if (pathChanged || !hashChanged) {
|
|
79
83
|
if (opts.updateState) {
|
|
80
|
-
await element.state.update(
|
|
84
|
+
await element.state.update(
|
|
85
|
+
{ route, hash, debugging: false },
|
|
86
|
+
{ preventContentUpdate: true }
|
|
87
|
+
);
|
|
81
88
|
}
|
|
82
89
|
if (contentElementKey && opts.removeOldElement) {
|
|
83
90
|
element[contentElementKey].remove();
|
|
84
91
|
}
|
|
85
|
-
await element.set(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
await element.set(
|
|
93
|
+
{
|
|
94
|
+
tag: opts.useFragment && "fragment",
|
|
95
|
+
extend: content
|
|
96
|
+
},
|
|
97
|
+
{ contentElementKey }
|
|
98
|
+
);
|
|
89
99
|
}
|
|
90
100
|
if (opts.scrollToTop) {
|
|
91
101
|
scrollNode.scrollTo({
|
package/dist/esm/index.js
CHANGED
|
@@ -69,15 +69,21 @@ const router = async (path, el, state = {}, options = {}) => {
|
|
|
69
69
|
}
|
|
70
70
|
if (pathChanged || !hashChanged) {
|
|
71
71
|
if (opts.updateState) {
|
|
72
|
-
await element.state.update(
|
|
72
|
+
await element.state.update(
|
|
73
|
+
{ route, hash, debugging: false },
|
|
74
|
+
{ preventContentUpdate: true }
|
|
75
|
+
);
|
|
73
76
|
}
|
|
74
77
|
if (contentElementKey && opts.removeOldElement) {
|
|
75
78
|
element[contentElementKey].remove();
|
|
76
79
|
}
|
|
77
|
-
await element.set(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
await element.set(
|
|
81
|
+
{
|
|
82
|
+
tag: opts.useFragment && "fragment",
|
|
83
|
+
extend: content
|
|
84
|
+
},
|
|
85
|
+
{ contentElementKey }
|
|
86
|
+
);
|
|
81
87
|
}
|
|
82
88
|
if (opts.scrollToTop) {
|
|
83
89
|
scrollNode.scrollTo(__spreadProps(__spreadValues({}, opts.scrollToOptions || {}), {
|
package/index.js
CHANGED
|
@@ -27,20 +27,23 @@ const defaultOptions = {
|
|
|
27
27
|
scrollToOptions: { behavior: 'smooth' }
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export const router = async (
|
|
31
|
-
path,
|
|
32
|
-
el,
|
|
33
|
-
state = {},
|
|
34
|
-
options = {}
|
|
35
|
-
) => {
|
|
30
|
+
export const router = async (path, el, state = {}, options = {}) => {
|
|
36
31
|
const element = el || this
|
|
37
32
|
const win = element.context.window || window
|
|
38
33
|
const doc = element.context.document || document
|
|
39
|
-
const opts = {
|
|
34
|
+
const opts = {
|
|
35
|
+
...defaultOptions,
|
|
36
|
+
...element.context.routerOptions,
|
|
37
|
+
...options
|
|
38
|
+
}
|
|
40
39
|
lastLevel = opts.lastLevel
|
|
41
40
|
const ref = element.__ref
|
|
42
41
|
|
|
43
|
-
if (
|
|
42
|
+
if (
|
|
43
|
+
(opts.contentElementKey !== 'content' &&
|
|
44
|
+
opts.contentElementKey !== ref.contentElementKey) ||
|
|
45
|
+
!ref.contentElementKey
|
|
46
|
+
) {
|
|
44
47
|
ref.contentElementKey = opts.contentElementKey || 'content'
|
|
45
48
|
}
|
|
46
49
|
|
|
@@ -68,36 +71,51 @@ export const router = async (
|
|
|
68
71
|
|
|
69
72
|
if (pathChanged || !hashChanged) {
|
|
70
73
|
if (opts.updateState) {
|
|
71
|
-
await element.state.update(
|
|
74
|
+
await element.state.update(
|
|
75
|
+
{ route, hash, debugging: false },
|
|
76
|
+
{ preventContentUpdate: true }
|
|
77
|
+
)
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
if (contentElementKey && opts.removeOldElement) {
|
|
75
81
|
element[contentElementKey].remove()
|
|
76
82
|
}
|
|
77
83
|
|
|
78
|
-
await element.set(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
await element.set(
|
|
85
|
+
{
|
|
86
|
+
tag: opts.useFragment && 'fragment',
|
|
87
|
+
extend: content
|
|
88
|
+
},
|
|
89
|
+
{ contentElementKey }
|
|
90
|
+
)
|
|
82
91
|
}
|
|
83
92
|
|
|
84
93
|
if (opts.scrollToTop) {
|
|
85
94
|
scrollNode.scrollTo({
|
|
86
|
-
...(opts.scrollToOptions || {}),
|
|
95
|
+
...(opts.scrollToOptions || {}),
|
|
96
|
+
top: 0,
|
|
97
|
+
left: 0
|
|
87
98
|
})
|
|
88
99
|
}
|
|
89
100
|
if (opts.scrollToNode) {
|
|
90
101
|
content[contentElementKey].node.scrollTo({
|
|
91
|
-
...(opts.scrollToOptions || {}),
|
|
102
|
+
...(opts.scrollToOptions || {}),
|
|
103
|
+
top: 0,
|
|
104
|
+
left: 0
|
|
92
105
|
})
|
|
93
106
|
}
|
|
94
107
|
|
|
95
108
|
if (hash) {
|
|
96
109
|
const activeNode = doc.getElementById(hash)
|
|
97
110
|
if (activeNode) {
|
|
98
|
-
const top =
|
|
111
|
+
const top =
|
|
112
|
+
activeNode.getBoundingClientRect().top +
|
|
113
|
+
rootNode.scrollTop -
|
|
114
|
+
opts.scrollToOffset || 0
|
|
99
115
|
scrollNode.scrollTo({
|
|
100
|
-
...(opts.scrollToOptions || {}),
|
|
116
|
+
...(opts.scrollToOptions || {}),
|
|
117
|
+
top,
|
|
118
|
+
left: 0
|
|
101
119
|
})
|
|
102
120
|
}
|
|
103
121
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/router",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.27.8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -15,18 +15,18 @@
|
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
17
|
"copy:package:cjs": "cp ../../build/package-cjs.json dist/cjs/package.json",
|
|
18
|
-
"build:esm": "npx esbuild *.js --target=es2017 --format=esm --outdir=dist/esm",
|
|
19
|
-
"build:cjs": "npx esbuild *.js --target=node16 --format=cjs --outdir=dist/cjs",
|
|
20
|
-
"build:iife": "npx esbuild *.js --target=node16 --format=iife --outdir=dist/iife",
|
|
18
|
+
"build:esm": "cross-env NODE_ENV=$NODE_ENV npx esbuild *.js --target=es2017 --format=esm --outdir=dist/esm",
|
|
19
|
+
"build:cjs": "cross-env NODE_ENV=$NODE_ENV npx esbuild *.js --target=node16 --format=cjs --outdir=dist/cjs",
|
|
20
|
+
"build:iife": "cross-env NODE_ENV=$NODE_ENV npx esbuild *.js --target=node16 --format=iife --outdir=dist/iife",
|
|
21
21
|
"build": "npx rimraf -I dist; npm run build:cjs; npm run build:esm",
|
|
22
22
|
"prepublish": "npx rimraf -I dist && npm run build && npm run copy:package:cjs"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@domql/event": "^2.
|
|
26
|
-
"@domql/utils": "^2.
|
|
25
|
+
"@domql/event": "^2.27.8",
|
|
26
|
+
"@domql/utils": "^2.27.8"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "e783fd54228d5c7aaab9d4b5624199a17a6c4713",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@babel/core": "^7.
|
|
30
|
+
"@babel/core": "^7.26.0"
|
|
31
31
|
}
|
|
32
32
|
}
|