@domql/router 2.5.200 → 3.0.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/dist/cjs/index.js CHANGED
@@ -27,6 +27,7 @@ __export(index_exports, {
27
27
  module.exports = __toCommonJS(index_exports);
28
28
  var import_event = require("@domql/event");
29
29
  var import_utils = require("@domql/utils");
30
+ var import_set = require("@domql/element/set");
30
31
  const getActiveRoute = (level = 0, route = import_utils.window.location.pathname) => {
31
32
  const routeArray = route.split("/");
32
33
  const activeRoute = routeArray[level + 1];
@@ -48,17 +49,21 @@ const defaultOptions = {
48
49
  contentElementKey: "content",
49
50
  scrollToOptions: { behavior: "smooth" }
50
51
  };
51
- const router = (path, el, state = {}, options = {}) => {
52
+ const router = async (path, el, state = {}, options = {}) => {
52
53
  const element = el || void 0;
53
54
  const win = element.context.window || import_utils.window;
54
55
  const doc = element.context.document || import_utils.document;
55
- const opts = { ...defaultOptions, ...element.context.routerOptions, ...options };
56
+ const opts = {
57
+ ...defaultOptions,
58
+ ...element.context.routerOptions,
59
+ ...options
60
+ };
56
61
  lastLevel = opts.lastLevel;
57
62
  const ref = element.__ref;
58
63
  if (opts.contentElementKey !== "content" && opts.contentElementKey !== ref.contentElementKey || !ref.contentElementKey) {
59
64
  ref.contentElementKey = opts.contentElementKey || "content";
60
65
  }
61
- const contentElementKey = (0, import_utils.setContentKey)(element, opts);
66
+ const contentElementKey = (0, import_set.setContentKey)(element, opts);
62
67
  const urlObj = new win.URL(win.location.origin + path);
63
68
  const { pathname, search, hash } = urlObj;
64
69
  const rootNode = element.node;
@@ -77,15 +82,21 @@ const router = (path, el, state = {}, options = {}) => {
77
82
  }
78
83
  if (pathChanged || !hashChanged) {
79
84
  if (opts.updateState) {
80
- element.state.update({ route, hash, debugging: false }, { preventContentUpdate: true });
85
+ await element.state.update(
86
+ { route, hash, debugging: false },
87
+ { preventContentUpdate: true }
88
+ );
81
89
  }
82
90
  if (contentElementKey && opts.removeOldElement) {
83
91
  element[contentElementKey].remove();
84
92
  }
85
- element.set({
86
- tag: opts.useFragment && "fragment",
87
- extend: content
88
- }, { contentElementKey });
93
+ await element.set(
94
+ {
95
+ tag: opts.useFragment && "fragment",
96
+ extends: content
97
+ },
98
+ { contentElementKey }
99
+ );
89
100
  }
90
101
  if (opts.scrollToTop) {
91
102
  scrollNode.scrollTo({
@@ -112,6 +123,6 @@ const router = (path, el, state = {}, options = {}) => {
112
123
  });
113
124
  }
114
125
  }
115
- (0, import_event.triggerEventOn)("routeChanged", element, opts);
126
+ await (0, import_event.triggerEventOn)("routeChanged", element, opts);
116
127
  };
117
128
  var index_default = router;
package/dist/esm/index.js CHANGED
@@ -18,7 +18,8 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import { triggerEventOn } from "@domql/event";
21
- import { setContentKey, document, window } from "@domql/utils";
21
+ import { document, window } from "@domql/utils";
22
+ import { setContentKey } from "@domql/element/set";
22
23
  const getActiveRoute = (level = 0, route = window.location.pathname) => {
23
24
  const routeArray = route.split("/");
24
25
  const activeRoute = routeArray[level + 1];
@@ -40,7 +41,7 @@ const defaultOptions = {
40
41
  contentElementKey: "content",
41
42
  scrollToOptions: { behavior: "smooth" }
42
43
  };
43
- const router = (path, el, state = {}, options = {}) => {
44
+ const router = async (path, el, state = {}, options = {}) => {
44
45
  const element = el || void 0;
45
46
  const win = element.context.window || window;
46
47
  const doc = element.context.document || document;
@@ -69,15 +70,21 @@ const router = (path, el, state = {}, options = {}) => {
69
70
  }
70
71
  if (pathChanged || !hashChanged) {
71
72
  if (opts.updateState) {
72
- element.state.update({ route, hash, debugging: false }, { preventContentUpdate: true });
73
+ await element.state.update(
74
+ { route, hash, debugging: false },
75
+ { preventContentUpdate: true }
76
+ );
73
77
  }
74
78
  if (contentElementKey && opts.removeOldElement) {
75
79
  element[contentElementKey].remove();
76
80
  }
77
- element.set({
78
- tag: opts.useFragment && "fragment",
79
- extend: content
80
- }, { contentElementKey });
81
+ await element.set(
82
+ {
83
+ tag: opts.useFragment && "fragment",
84
+ extends: content
85
+ },
86
+ { contentElementKey }
87
+ );
81
88
  }
82
89
  if (opts.scrollToTop) {
83
90
  scrollNode.scrollTo(__spreadProps(__spreadValues({}, opts.scrollToOptions || {}), {
@@ -101,7 +108,7 @@ const router = (path, el, state = {}, options = {}) => {
101
108
  }));
102
109
  }
103
110
  }
104
- triggerEventOn("routeChanged", element, opts);
111
+ await triggerEventOn("routeChanged", element, opts);
105
112
  };
106
113
  var index_default = router;
107
114
  export {
package/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  'use strict'
2
2
 
3
3
  import { triggerEventOn } from '@domql/event'
4
- import { setContentKey, document, window } from '@domql/utils'
4
+ import { document, window } from '@domql/utils'
5
+ import { setContentKey } from '@domql/element/set'
5
6
 
6
7
  export const getActiveRoute = (level = 0, route = window.location.pathname) => {
7
8
  const routeArray = route.split('/')
@@ -27,20 +28,23 @@ const defaultOptions = {
27
28
  scrollToOptions: { behavior: 'smooth' }
28
29
  }
29
30
 
30
- export const router = (
31
- path,
32
- el,
33
- state = {},
34
- options = {}
35
- ) => {
31
+ export const router = async (path, el, state = {}, options = {}) => {
36
32
  const element = el || this
37
33
  const win = element.context.window || window
38
34
  const doc = element.context.document || document
39
- const opts = { ...defaultOptions, ...element.context.routerOptions, ...options }
35
+ const opts = {
36
+ ...defaultOptions,
37
+ ...element.context.routerOptions,
38
+ ...options
39
+ }
40
40
  lastLevel = opts.lastLevel
41
41
  const ref = element.__ref
42
42
 
43
- if ((opts.contentElementKey !== 'content' && opts.contentElementKey !== ref.contentElementKey) || !ref.contentElementKey) {
43
+ if (
44
+ (opts.contentElementKey !== 'content' &&
45
+ opts.contentElementKey !== ref.contentElementKey) ||
46
+ !ref.contentElementKey
47
+ ) {
44
48
  ref.contentElementKey = opts.contentElementKey || 'content'
45
49
  }
46
50
 
@@ -68,42 +72,57 @@ export const router = (
68
72
 
69
73
  if (pathChanged || !hashChanged) {
70
74
  if (opts.updateState) {
71
- element.state.update({ route, hash, debugging: false }, { preventContentUpdate: true })
75
+ await element.state.update(
76
+ { route, hash, debugging: false },
77
+ { preventContentUpdate: true }
78
+ )
72
79
  }
73
80
 
74
81
  if (contentElementKey && opts.removeOldElement) {
75
82
  element[contentElementKey].remove()
76
83
  }
77
84
 
78
- element.set({
79
- tag: opts.useFragment && 'fragment',
80
- extend: content
81
- }, { contentElementKey })
85
+ await element.set(
86
+ {
87
+ tag: opts.useFragment && 'fragment',
88
+ extends: content
89
+ },
90
+ { contentElementKey }
91
+ )
82
92
  }
83
93
 
84
94
  if (opts.scrollToTop) {
85
95
  scrollNode.scrollTo({
86
- ...(opts.scrollToOptions || {}), top: 0, left: 0
96
+ ...(opts.scrollToOptions || {}),
97
+ top: 0,
98
+ left: 0
87
99
  })
88
100
  }
89
101
  if (opts.scrollToNode) {
90
102
  content[contentElementKey].node.scrollTo({
91
- ...(opts.scrollToOptions || {}), top: 0, left: 0
103
+ ...(opts.scrollToOptions || {}),
104
+ top: 0,
105
+ left: 0
92
106
  })
93
107
  }
94
108
 
95
109
  if (hash) {
96
110
  const activeNode = doc.getElementById(hash)
97
111
  if (activeNode) {
98
- const top = activeNode.getBoundingClientRect().top + rootNode.scrollTop - opts.scrollToOffset || 0
112
+ const top =
113
+ activeNode.getBoundingClientRect().top +
114
+ rootNode.scrollTop -
115
+ opts.scrollToOffset || 0
99
116
  scrollNode.scrollTo({
100
- ...(opts.scrollToOptions || {}), top, left: 0
117
+ ...(opts.scrollToOptions || {}),
118
+ top,
119
+ left: 0
101
120
  })
102
121
  }
103
122
  }
104
123
 
105
124
  // trigger `on.routeChanged`
106
- triggerEventOn('routeChanged', element, opts)
125
+ await triggerEventOn('routeChanged', element, opts)
107
126
  }
108
127
 
109
128
  export default router
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/router",
3
- "version": "2.5.200",
3
+ "version": "3.0.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "dist/esm/index.js",
@@ -22,10 +22,10 @@
22
22
  "prepublish": "rimraf -I dist && npm run build && npm run copy:package:cjs"
23
23
  },
24
24
  "dependencies": {
25
- "@domql/event": "^2.5.200",
26
- "@domql/utils": "^2.5.200"
25
+ "@domql/event": "^3.0.1",
26
+ "@domql/utils": "^3.0.1"
27
27
  },
28
- "gitHead": "0afb63ec375f0526f47ff300885de393138b01e8",
28
+ "gitHead": "bdadc70a00c5ddde21ca889746bf28db0c3d7c2f",
29
29
  "devDependencies": {
30
30
  "@babel/core": "^7.12.0"
31
31
  }