dothtml 6.0.0-beta.44 → 6.0.0-beta.46
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/build_module/css/css-props.js +38 -1
- package/build_module/css/css-props.js.map +1 -1
- package/build_module/css/format-css-type.d.ts +4 -3
- package/build_module/css/format-css-type.js +7 -0
- package/build_module/css/format-css-type.js.map +1 -1
- package/build_module/decoration/component.d.ts +4 -14
- package/build_module/decoration/component.js +29 -29
- package/build_module/decoration/component.js.map +1 -1
- package/build_module/dot.js +130 -68
- package/build_module/dot.js.map +1 -1
- package/build_module/events/event-manager.d.ts +14 -0
- package/build_module/events/event-manager.js +98 -0
- package/build_module/events/event-manager.js.map +1 -0
- package/build_module/events/synthetic-event.d.ts +17 -0
- package/build_module/events/synthetic-event.js +33 -0
- package/build_module/events/synthetic-event.js.map +1 -0
- package/build_module/helpers/render-stylesheet.js +18 -9
- package/build_module/helpers/render-stylesheet.js.map +1 -1
- package/build_module/index.d.ts +3 -1
- package/build_module/index.js +14 -1
- package/build_module/index.js.map +1 -1
- package/build_module/reactivity/binding.d.ts +3 -1
- package/build_module/reactivity/binding.js +8 -2
- package/build_module/reactivity/binding.js.map +1 -1
- package/build_module/reactivity/computed.d.ts +18 -0
- package/build_module/reactivity/computed.js +106 -0
- package/build_module/reactivity/computed.js.map +1 -0
- package/build_module/reactivity/priority.d.ts +6 -0
- package/build_module/reactivity/priority.js +8 -0
- package/build_module/reactivity/priority.js.map +1 -0
- package/build_module/reactivity/ref-collection.d.ts +8 -0
- package/build_module/reactivity/ref-collection.js +32 -0
- package/build_module/reactivity/ref-collection.js.map +1 -0
- package/build_module/reactivity/ref.d.ts +5 -3
- package/build_module/reactivity/ref.js +31 -2
- package/build_module/reactivity/ref.js.map +1 -1
- package/build_module/reactivity/scheduler.d.ts +22 -0
- package/build_module/reactivity/scheduler.js +124 -0
- package/build_module/reactivity/scheduler.js.map +1 -0
- package/build_module/reactivity/store.d.ts +14 -0
- package/build_module/reactivity/store.js +91 -0
- package/build_module/reactivity/store.js.map +1 -0
- package/build_module/reactivity/subscription.d.ts +2 -1
- package/build_module/reactivity/subscription.js +4 -5
- package/build_module/reactivity/subscription.js.map +1 -1
- package/build_module/reactivity/watcher.d.ts +6 -3
- package/build_module/reactivity/watcher.js +31 -10
- package/build_module/reactivity/watcher.js.map +1 -1
- package/build_module/routing/helpers.d.ts +2 -0
- package/build_module/routing/helpers.js +21 -0
- package/build_module/routing/helpers.js.map +1 -0
- package/build_module/routing/index.d.ts +5 -0
- package/build_module/routing/index.js +6 -0
- package/build_module/routing/index.js.map +1 -0
- package/build_module/routing/link.d.ts +2 -0
- package/build_module/routing/link.js +45 -0
- package/build_module/routing/link.js.map +1 -0
- package/build_module/routing/router.d.ts +23 -0
- package/build_module/routing/router.js +209 -0
- package/build_module/routing/router.js.map +1 -0
- package/build_module/routing/scroll-manager.d.ts +1 -0
- package/build_module/routing/scroll-manager.js +33 -0
- package/build_module/routing/scroll-manager.js.map +1 -0
- package/build_module/routing/state.d.ts +7 -0
- package/build_module/routing/state.js +45 -0
- package/build_module/routing/state.js.map +1 -0
- package/build_module/v-meta-nodes/style-v-node.d.ts +17 -7
- package/build_module/v-meta-nodes/style-v-node.js +181 -85
- package/build_module/v-meta-nodes/style-v-node.js.map +1 -1
- package/build_module/v-style-nodes/base-v-style.d.ts +10 -11
- package/build_module/v-style-nodes/base-v-style.js +23 -95
- package/build_module/v-style-nodes/base-v-style.js.map +1 -1
- package/build_module/v-style-nodes/css-function-builder-v-style.d.ts +0 -3
- package/build_module/v-style-nodes/css-function-builder-v-style.js +10 -5
- package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -1
- package/build_module/v-style-nodes/style-sheet-builder.d.ts +9 -0
- package/build_module/v-style-nodes/style-sheet-builder.js +51 -0
- package/build_module/v-style-nodes/style-sheet-builder.js.map +1 -0
- package/build_module/v-style-nodes/transform-v-style.js.map +1 -1
- package/build_module/vdom-nodes/collection-vdom.d.ts +3 -1
- package/build_module/vdom-nodes/collection-vdom.js +114 -97
- package/build_module/vdom-nodes/collection-vdom.js.map +1 -1
- package/build_module/vdom-nodes/component-context.d.ts +5 -0
- package/build_module/vdom-nodes/component-context.js +5 -0
- package/build_module/vdom-nodes/component-context.js.map +1 -0
- package/build_module/vdom-nodes/component-vdom.d.ts +22 -0
- package/build_module/vdom-nodes/component-vdom.js +250 -12
- package/build_module/vdom-nodes/component-vdom.js.map +1 -1
- package/build_module/vdom-nodes/conditional-vdom.d.ts +1 -0
- package/build_module/vdom-nodes/conditional-vdom.js +14 -0
- package/build_module/vdom-nodes/conditional-vdom.js.map +1 -1
- package/build_module/vdom-nodes/container-vdom.d.ts +6 -2
- package/build_module/vdom-nodes/container-vdom.js +54 -1
- package/build_module/vdom-nodes/container-vdom.js.map +1 -1
- package/build_module/vdom-nodes/element-vdom.d.ts +2 -1
- package/build_module/vdom-nodes/element-vdom.js +72 -18
- package/build_module/vdom-nodes/element-vdom.js.map +1 -1
- package/build_module/vdom-nodes/html-vdom.d.ts +1 -0
- package/build_module/vdom-nodes/html-vdom.js +12 -0
- package/build_module/vdom-nodes/html-vdom.js.map +1 -1
- package/build_module/vdom-nodes/text-vdom.d.ts +1 -0
- package/build_module/vdom-nodes/text-vdom.js +3 -0
- package/build_module/vdom-nodes/text-vdom.js.map +1 -1
- package/build_module/vdom-nodes/vdom.d.ts +2 -0
- package/build_module/vdom-nodes/vdom.js +17 -0
- package/build_module/vdom-nodes/vdom.js.map +1 -1
- package/package.json +58 -57
- package/readme.md +32 -26
- package/build_module/css/css.d.ts +0 -0
- package/build_module/css/css.js +0 -1
- package/build_module/css/css.js.map +0 -1
- package/build_module/decoration/use-styles.d.ts +0 -14
- package/build_module/decoration/use-styles.js +0 -19
- package/build_module/decoration/use-styles.js.map +0 -1
- package/build_module/helpers/render-css.d.ts +0 -2
- package/build_module/helpers/render-css.js +0 -20
- package/build_module/helpers/render-css.js.map +0 -1
- package/build_module/helpers.d.ts +0 -3
- package/build_module/helpers.js +0 -50
- package/build_module/helpers.js.map +0 -1
- package/build_module/reactive.d.ts +0 -46
- package/build_module/reactive.js +0 -150
- package/build_module/reactive.js.map +0 -1
- package/build_module/reactivity/bound-reactive.d.ts +0 -13
- package/build_module/reactivity/bound-reactive.js +0 -20
- package/build_module/reactivity/bound-reactive.js.map +0 -1
- package/build_module/reactivity/reactive.d.ts +0 -22
- package/build_module/reactivity/reactive.js +0 -54
- package/build_module/reactivity/reactive.js.map +0 -1
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import dot from "../dot";
|
|
2
|
+
import { currentPath, previousPath, navigate } from "./state";
|
|
3
|
+
import { Vdom } from "../vdom-nodes/vdom";
|
|
4
|
+
const beforeHooks = [];
|
|
5
|
+
const afterHooks = [];
|
|
6
|
+
const globalRoutes = dot.watch([]);
|
|
7
|
+
export function setGlobalRoutes(routes) {
|
|
8
|
+
globalRoutes.value = routes;
|
|
9
|
+
}
|
|
10
|
+
export function getGlobalRoutes() {
|
|
11
|
+
return globalRoutes.value;
|
|
12
|
+
}
|
|
13
|
+
export function matchRoute(routes, path, basePath = "") {
|
|
14
|
+
const relativePath = path.startsWith(basePath) ? path.slice(basePath.length) : path;
|
|
15
|
+
const pathSegments = relativePath.split("/").filter(s => s !== "");
|
|
16
|
+
for (const route of routes) {
|
|
17
|
+
const routeSegments = route.path.split("/").filter(s => s !== "");
|
|
18
|
+
const params = {};
|
|
19
|
+
let match = true;
|
|
20
|
+
const hasMultiWildcard = routeSegments.indexOf("*") !== -1;
|
|
21
|
+
const isPrefixMatchAllowed = !!(route.children && route.children.length > 0);
|
|
22
|
+
if (!hasMultiWildcard && !isPrefixMatchAllowed && routeSegments.length !== pathSegments.length) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (routeSegments.length > pathSegments.length) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
for (let i = 0; i < routeSegments.length; i++) {
|
|
29
|
+
const rSeg = routeSegments[i];
|
|
30
|
+
const pSeg = pathSegments[i];
|
|
31
|
+
if (rSeg === "*") {
|
|
32
|
+
match = true;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (pSeg === undefined) {
|
|
36
|
+
match = false;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
if (rSeg === "+") {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (rSeg.startsWith("{") && rSeg.endsWith("}")) {
|
|
43
|
+
const paramName = rSeg.slice(1, -1);
|
|
44
|
+
params[paramName] = pSeg;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (rSeg.startsWith(":")) {
|
|
48
|
+
const paramName = rSeg.slice(1);
|
|
49
|
+
params[paramName] = pSeg;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (rSeg !== pSeg) {
|
|
53
|
+
match = false;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (match) {
|
|
58
|
+
const matchedSegments = pathSegments.slice(0, routeSegments.length);
|
|
59
|
+
const matchedPath = (basePath.endsWith("/") ? basePath.slice(0, -1) : basePath) + "/" + matchedSegments.join("/");
|
|
60
|
+
return { route, params, matchedPath };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
export const Router = dot.component(class {
|
|
66
|
+
constructor() {
|
|
67
|
+
this.resolvedComponent = dot.watch(null);
|
|
68
|
+
this.currentMatch = null;
|
|
69
|
+
this.lastPath = "";
|
|
70
|
+
this.subId = -1;
|
|
71
|
+
this.loaderCache = new Map();
|
|
72
|
+
}
|
|
73
|
+
static { this.props = {
|
|
74
|
+
routes: { type: Array, required: true },
|
|
75
|
+
notFound: { type: Object, default: null },
|
|
76
|
+
loading: { type: Object, default: null },
|
|
77
|
+
basePath: { type: String, default: "" }
|
|
78
|
+
}; }
|
|
79
|
+
mounting() {
|
|
80
|
+
this.subId = currentPath.subscribe(() => {
|
|
81
|
+
this._?.cvdom.requestUpdate();
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
unmounting() {
|
|
85
|
+
currentPath._detachBinding(this.subId);
|
|
86
|
+
}
|
|
87
|
+
build(dot) {
|
|
88
|
+
setGlobalRoutes(this.props.routes);
|
|
89
|
+
const path = currentPath.value;
|
|
90
|
+
const match = matchRoute(this.props.routes, path, this.props.basePath);
|
|
91
|
+
this.currentMatch = match;
|
|
92
|
+
const proceed = (comp) => {
|
|
93
|
+
if (!match)
|
|
94
|
+
return;
|
|
95
|
+
let title = match.route.title;
|
|
96
|
+
if (typeof title === "function") {
|
|
97
|
+
title = title(match.params);
|
|
98
|
+
}
|
|
99
|
+
if (title) {
|
|
100
|
+
document.title = title;
|
|
101
|
+
}
|
|
102
|
+
if (typeof comp === "function" && !comp.prototype?.build) {
|
|
103
|
+
if (this.loaderCache.has(comp)) {
|
|
104
|
+
this.resolvedComponent.value = this.loaderCache.get(comp);
|
|
105
|
+
afterHooks.forEach(h => h(path, previousPath.value));
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const result = comp();
|
|
109
|
+
if (result instanceof Promise) {
|
|
110
|
+
result.then(m => {
|
|
111
|
+
const resolved = m.default || m;
|
|
112
|
+
this.loaderCache.set(comp, resolved);
|
|
113
|
+
this.resolvedComponent.value = resolved;
|
|
114
|
+
this._?.cvdom.requestUpdate();
|
|
115
|
+
afterHooks.forEach(h => h(path, previousPath.value));
|
|
116
|
+
});
|
|
117
|
+
this.resolvedComponent.value = this.props.loading || dot.div("Loading...");
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
this.resolvedComponent.value = comp;
|
|
122
|
+
afterHooks.forEach(h => h(path, previousPath.value));
|
|
123
|
+
};
|
|
124
|
+
if (!match) {
|
|
125
|
+
this.resolvedComponent.value = this.props.notFound || dot.div("404 - Not Found");
|
|
126
|
+
}
|
|
127
|
+
else if (match.route.redirect) {
|
|
128
|
+
const target = typeof match.route.redirect === "function"
|
|
129
|
+
? match.route.redirect(match.params)
|
|
130
|
+
: match.route.redirect;
|
|
131
|
+
navigate(target, true);
|
|
132
|
+
return dot.div();
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const guards = [...beforeHooks];
|
|
136
|
+
if (match.route.beforeEnter) {
|
|
137
|
+
guards.push(match.route.beforeEnter);
|
|
138
|
+
}
|
|
139
|
+
const runGuards = async (index) => {
|
|
140
|
+
if (index >= guards.length) {
|
|
141
|
+
proceed(match.route.component);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const guard = guards[index];
|
|
145
|
+
let nextCalled = false;
|
|
146
|
+
const handleNext = (nextVal) => {
|
|
147
|
+
if (nextCalled)
|
|
148
|
+
return;
|
|
149
|
+
nextCalled = true;
|
|
150
|
+
if (nextVal === false) {
|
|
151
|
+
navigate(previousPath.value, true);
|
|
152
|
+
}
|
|
153
|
+
else if (typeof nextVal === "string") {
|
|
154
|
+
navigate(nextVal, true);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
runGuards(index + 1);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const result = guard(path, previousPath.value, handleNext);
|
|
161
|
+
if (result instanceof Promise) {
|
|
162
|
+
const asyncResult = await result;
|
|
163
|
+
if (!nextCalled) {
|
|
164
|
+
if (asyncResult === false || typeof asyncResult === "string") {
|
|
165
|
+
handleNext(asyncResult);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
handleNext();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else if (result !== undefined && !nextCalled) {
|
|
173
|
+
handleNext(result);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
runGuards(0);
|
|
177
|
+
}
|
|
178
|
+
const C = this.resolvedComponent.value;
|
|
179
|
+
if (!C)
|
|
180
|
+
return dot.div();
|
|
181
|
+
const currentMatch = this.currentMatch;
|
|
182
|
+
if (typeof C === "function" && C.prototype?.build) {
|
|
183
|
+
return dot.mount(new C(), {
|
|
184
|
+
routeParams: currentMatch?.params,
|
|
185
|
+
basePath: currentMatch?.matchedPath
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
if (typeof C === "object" && C.build) {
|
|
189
|
+
return dot.mount(C, {
|
|
190
|
+
routeParams: currentMatch?.params,
|
|
191
|
+
basePath: currentMatch?.matchedPath
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
if (C instanceof Vdom)
|
|
195
|
+
return C;
|
|
196
|
+
return dot.div(C);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
Router.beforeEach = (guard) => {
|
|
200
|
+
beforeHooks.push(guard);
|
|
201
|
+
};
|
|
202
|
+
Router.afterEach = (hook) => {
|
|
203
|
+
afterHooks.push(hook);
|
|
204
|
+
};
|
|
205
|
+
Router.clearHooks = () => {
|
|
206
|
+
beforeHooks.length = 0;
|
|
207
|
+
afterHooks.length = 0;
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routing/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function initScrollManager(): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { currentPath, currentHash } from "./state";
|
|
2
|
+
const scrollPositions = new Map();
|
|
3
|
+
export function initScrollManager() {
|
|
4
|
+
if (typeof window === "undefined")
|
|
5
|
+
return;
|
|
6
|
+
window.addEventListener("scroll", () => {
|
|
7
|
+
scrollPositions.set(window.location.pathname, {
|
|
8
|
+
x: window.pageXOffset,
|
|
9
|
+
y: window.pageYOffset
|
|
10
|
+
});
|
|
11
|
+
}, { passive: true });
|
|
12
|
+
currentPath.subscribe((newPath) => {
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
const hash = currentHash.value;
|
|
15
|
+
if (hash && hash.startsWith("#")) {
|
|
16
|
+
const id = hash.substring(1);
|
|
17
|
+
const element = document.getElementById(id);
|
|
18
|
+
if (element) {
|
|
19
|
+
element.scrollIntoView();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const savedPosition = scrollPositions.get(newPath);
|
|
24
|
+
if (savedPosition) {
|
|
25
|
+
window.scrollTo(savedPosition.x, savedPosition.y);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
window.scrollTo(0, 0);
|
|
29
|
+
}
|
|
30
|
+
}, 0);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=scroll-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-manager.js","sourceRoot":"","sources":["../../src/routing/scroll-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoC,CAAC;AAMpE,MAAM,UAAU,iBAAiB;IAChC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAM1C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC7C,CAAC,EAAE,MAAM,CAAC,WAAW;YACrB,CAAC,EAAE,MAAM,CAAC,WAAW;SACrB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtB,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QAEjC,UAAU,CAAC,GAAG,EAAE;YACf,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;YAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACjC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,cAAc,EAAE,CAAC;oBACzB,OAAO;iBACP;aACD;YAED,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,aAAa,EAAE;gBAClB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;aAClD;iBAAM;gBACN,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;QACF,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const currentPath: import("dothtml-interfaces").IWatcher<string>;
|
|
2
|
+
export declare const previousPath: import("dothtml-interfaces").IWatcher<string>;
|
|
3
|
+
export declare const currentSearch: import("dothtml-interfaces").IWatcher<string>;
|
|
4
|
+
export declare const currentHash: import("dothtml-interfaces").IWatcher<string>;
|
|
5
|
+
export declare function navigate(path: string, replace?: boolean): void;
|
|
6
|
+
export declare function useQueryParams(): import("dothtml-interfaces").IWatcher<Record<string, string>>;
|
|
7
|
+
export declare function useHash(): import("dothtml-interfaces").IWatcher<string>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import dot from "../dot";
|
|
2
|
+
export const currentPath = dot.watch(typeof window !== "undefined" ? window.location.pathname : "/");
|
|
3
|
+
export const previousPath = dot.watch(typeof window !== "undefined" ? window.location.pathname : "/");
|
|
4
|
+
export const currentSearch = dot.watch(typeof window !== "undefined" ? window.location.search : "");
|
|
5
|
+
export const currentHash = dot.watch(typeof window !== "undefined" ? window.location.hash : "");
|
|
6
|
+
export function navigate(path, replace = false) {
|
|
7
|
+
if (typeof window === "undefined")
|
|
8
|
+
return;
|
|
9
|
+
previousPath.value = window.location.pathname;
|
|
10
|
+
if (replace) {
|
|
11
|
+
window.history.replaceState({}, "", path);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
window.history.pushState({}, "", path);
|
|
15
|
+
}
|
|
16
|
+
currentPath.value = window.location.pathname;
|
|
17
|
+
currentSearch.value = window.location.search;
|
|
18
|
+
currentHash.value = window.location.hash;
|
|
19
|
+
}
|
|
20
|
+
export function useQueryParams() {
|
|
21
|
+
return dot.computed(() => {
|
|
22
|
+
const search = currentSearch.value;
|
|
23
|
+
const params = new URLSearchParams(search);
|
|
24
|
+
const result = {};
|
|
25
|
+
params.forEach((value, key) => {
|
|
26
|
+
result[key] = value;
|
|
27
|
+
});
|
|
28
|
+
return result;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function useHash() {
|
|
32
|
+
return dot.computed(() => {
|
|
33
|
+
const hash = currentHash.value;
|
|
34
|
+
return hash.startsWith("#") ? hash.substring(1) : hash;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (typeof window !== "undefined") {
|
|
38
|
+
window.addEventListener("popstate", () => {
|
|
39
|
+
previousPath.value = currentPath.value;
|
|
40
|
+
currentPath.value = window.location.pathname;
|
|
41
|
+
currentSearch.value = window.location.search;
|
|
42
|
+
currentHash.value = window.location.hash;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/routing/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
import { IDotCss } from "dothtml-interfaces";
|
|
2
2
|
import VMetaNode from "./v-meta-node";
|
|
3
|
-
import
|
|
3
|
+
import BaseVStyle from "../v-style-nodes/base-v-style";
|
|
4
4
|
export default class StyleVNode extends VMetaNode {
|
|
5
|
-
target:
|
|
5
|
+
target: HTMLElement | string;
|
|
6
6
|
document: Document;
|
|
7
7
|
shadowRoot: ShadowRoot;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
styleSource: IDotCss | BaseVStyle;
|
|
9
|
+
private styleElement;
|
|
10
|
+
private observables;
|
|
11
|
+
private observableIds;
|
|
12
|
+
private isQueued;
|
|
13
|
+
private updateSubscription;
|
|
14
|
+
constructor(styleSource: IDotCss | BaseVStyle);
|
|
15
|
+
private extractObservables;
|
|
16
|
+
private processValue;
|
|
17
|
+
private tryExtractObservable;
|
|
12
18
|
render(target: HTMLElement | string, document?: Document, shadowRoot?: ShadowRoot): void;
|
|
13
19
|
update(): void;
|
|
20
|
+
private applyStyles;
|
|
21
|
+
private applySingleStyle;
|
|
22
|
+
private getStyleString;
|
|
23
|
+
private formatSingleStyle;
|
|
14
24
|
unrender(): void;
|
|
15
|
-
toString():
|
|
25
|
+
toString(): string;
|
|
16
26
|
}
|