@domql/router 3.6.3 → 3.6.6
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/README.md +38 -0
- package/dist/cjs/index.js +12 -0
- package/dist/esm/index.js +12 -0
- package/dist/iife/index.js +325 -52
- package/index.js +15 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -115,6 +115,44 @@ router('/unknown', element, {}, {
|
|
|
115
115
|
|
|
116
116
|
You can also define a `/*` wildcard route as a catch-all fallback.
|
|
117
117
|
|
|
118
|
+
## Custom Router Element
|
|
119
|
+
|
|
120
|
+
Use `customRouterElement` in your `config.js` to route pages into a specific element within the component tree instead of the root. This is useful for persistent layouts where only the content area changes between routes.
|
|
121
|
+
|
|
122
|
+
```js
|
|
123
|
+
// symbols/config.js
|
|
124
|
+
export default {
|
|
125
|
+
router: {
|
|
126
|
+
customRouterElement: 'Folder.Content'
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
The value is a dot-separated path resolved from the root element. For example, `'Folder.Content'` means the router will find `root.Folder.Content` and render page content inside it.
|
|
132
|
+
|
|
133
|
+
This allows you to define a layout once in the `/` (main) page and have sub-pages render inside a specific container:
|
|
134
|
+
|
|
135
|
+
```js
|
|
136
|
+
// pages/main.js — defines the persistent layout
|
|
137
|
+
export const main = {
|
|
138
|
+
extends: 'Layout',
|
|
139
|
+
Folder: {
|
|
140
|
+
Content: {
|
|
141
|
+
// default content for '/' route
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// pages/team.js — only defines content (rendered inside Folder.Content)
|
|
147
|
+
export const team = {
|
|
148
|
+
state: 'team',
|
|
149
|
+
extends: 'Grid',
|
|
150
|
+
childExtends: 'TeamItem',
|
|
151
|
+
childrenAs: 'state',
|
|
152
|
+
children: (el, s) => s.data,
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
118
156
|
## Options
|
|
119
157
|
|
|
120
158
|
| Option | Type | Default | Description |
|
package/dist/cjs/index.js
CHANGED
|
@@ -218,8 +218,20 @@ const router = (path, el, state = {}, options = {}) => {
|
|
|
218
218
|
if (contentElementKey && opts.removeOldElement) {
|
|
219
219
|
element[contentElementKey].remove();
|
|
220
220
|
}
|
|
221
|
+
const originContent = element.__ref?.origin?.content;
|
|
222
|
+
const contentStyles = {};
|
|
223
|
+
if (originContent) {
|
|
224
|
+
for (const k in originContent) {
|
|
225
|
+
const v = originContent[k];
|
|
226
|
+
if (k === "__ref" || k === "props" || k === "node" || k === "parent" || k === "key") continue;
|
|
227
|
+
if (typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "object" && v !== null && !v.node && !v.__ref) {
|
|
228
|
+
contentStyles[k] = v;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
221
232
|
element.set(
|
|
222
233
|
{
|
|
234
|
+
...contentStyles,
|
|
223
235
|
tag: opts.useFragment && "fragment",
|
|
224
236
|
extends: content
|
|
225
237
|
},
|
package/dist/esm/index.js
CHANGED
|
@@ -187,8 +187,20 @@ const router = (path, el, state = {}, options = {}) => {
|
|
|
187
187
|
if (contentElementKey && opts.removeOldElement) {
|
|
188
188
|
element[contentElementKey].remove();
|
|
189
189
|
}
|
|
190
|
+
const originContent = element.__ref?.origin?.content;
|
|
191
|
+
const contentStyles = {};
|
|
192
|
+
if (originContent) {
|
|
193
|
+
for (const k in originContent) {
|
|
194
|
+
const v = originContent[k];
|
|
195
|
+
if (k === "__ref" || k === "props" || k === "node" || k === "parent" || k === "key") continue;
|
|
196
|
+
if (typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "object" && v !== null && !v.node && !v.__ref) {
|
|
197
|
+
contentStyles[k] = v;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
190
201
|
element.set(
|
|
191
202
|
{
|
|
203
|
+
...contentStyles,
|
|
192
204
|
tag: opts.useFragment && "fragment",
|
|
193
205
|
extends: content
|
|
194
206
|
},
|
package/dist/iife/index.js
CHANGED
|
@@ -4,6 +4,9 @@ var DomqlRouter = (() => {
|
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __esm = (fn, res) => function __init() {
|
|
8
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
9
|
+
};
|
|
7
10
|
var __export = (target, all) => {
|
|
8
11
|
for (var name in all)
|
|
9
12
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -18,6 +21,312 @@ var DomqlRouter = (() => {
|
|
|
18
21
|
};
|
|
19
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
23
|
|
|
24
|
+
// ../../packages/utils/dist/esm/globals.js
|
|
25
|
+
var window2, document2;
|
|
26
|
+
var init_globals = __esm({
|
|
27
|
+
"../../packages/utils/dist/esm/globals.js"() {
|
|
28
|
+
window2 = globalThis;
|
|
29
|
+
document2 = window2.document;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// ../../packages/utils/dist/esm/node.js
|
|
34
|
+
var init_node = __esm({
|
|
35
|
+
"../../packages/utils/dist/esm/node.js"() {
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// ../../packages/utils/dist/esm/types.js
|
|
40
|
+
var isFunction;
|
|
41
|
+
var init_types = __esm({
|
|
42
|
+
"../../packages/utils/dist/esm/types.js"() {
|
|
43
|
+
isFunction = (arg) => typeof arg === "function";
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// ../../packages/utils/dist/esm/array.js
|
|
48
|
+
var init_array = __esm({
|
|
49
|
+
"../../packages/utils/dist/esm/array.js"() {
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// ../../packages/utils/dist/esm/string.js
|
|
54
|
+
var init_string = __esm({
|
|
55
|
+
"../../packages/utils/dist/esm/string.js"() {
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// ../../packages/utils/dist/esm/keys.js
|
|
60
|
+
var STATE_METHODS, PROPS_METHODS, METHODS, METHODS_EXL;
|
|
61
|
+
var init_keys = __esm({
|
|
62
|
+
"../../packages/utils/dist/esm/keys.js"() {
|
|
63
|
+
STATE_METHODS = /* @__PURE__ */ new Set([
|
|
64
|
+
"update",
|
|
65
|
+
"parse",
|
|
66
|
+
"clean",
|
|
67
|
+
"create",
|
|
68
|
+
"destroy",
|
|
69
|
+
"add",
|
|
70
|
+
"toggle",
|
|
71
|
+
"remove",
|
|
72
|
+
"apply",
|
|
73
|
+
"set",
|
|
74
|
+
"reset",
|
|
75
|
+
"replace",
|
|
76
|
+
"quietReplace",
|
|
77
|
+
"quietUpdate",
|
|
78
|
+
"applyReplace",
|
|
79
|
+
"applyFunction",
|
|
80
|
+
"keys",
|
|
81
|
+
"values",
|
|
82
|
+
"ref",
|
|
83
|
+
"rootUpdate",
|
|
84
|
+
"parentUpdate",
|
|
85
|
+
"parent",
|
|
86
|
+
"__element",
|
|
87
|
+
"__depends",
|
|
88
|
+
"__ref",
|
|
89
|
+
"__children",
|
|
90
|
+
"root",
|
|
91
|
+
"setByPath",
|
|
92
|
+
"setPathCollection",
|
|
93
|
+
"removeByPath",
|
|
94
|
+
"removePathCollection",
|
|
95
|
+
"getByPath"
|
|
96
|
+
]);
|
|
97
|
+
PROPS_METHODS = /* @__PURE__ */ new Set(["update", "__element"]);
|
|
98
|
+
METHODS = /* @__PURE__ */ new Set([
|
|
99
|
+
"set",
|
|
100
|
+
"reset",
|
|
101
|
+
"update",
|
|
102
|
+
"remove",
|
|
103
|
+
"updateContent",
|
|
104
|
+
"removeContent",
|
|
105
|
+
"lookup",
|
|
106
|
+
"lookdown",
|
|
107
|
+
"lookdownAll",
|
|
108
|
+
"getRef",
|
|
109
|
+
"getPath",
|
|
110
|
+
"setNodeStyles",
|
|
111
|
+
"spotByPath",
|
|
112
|
+
"keys",
|
|
113
|
+
"parse",
|
|
114
|
+
"setProps",
|
|
115
|
+
"parseDeep",
|
|
116
|
+
"variables",
|
|
117
|
+
"if",
|
|
118
|
+
"log",
|
|
119
|
+
"verbose",
|
|
120
|
+
"warn",
|
|
121
|
+
"error",
|
|
122
|
+
"call",
|
|
123
|
+
"nextElement",
|
|
124
|
+
"previousElement",
|
|
125
|
+
"getRootState",
|
|
126
|
+
"getRoot",
|
|
127
|
+
"getRootData",
|
|
128
|
+
"getRootContext",
|
|
129
|
+
"getContext",
|
|
130
|
+
"getQuery",
|
|
131
|
+
"getDB",
|
|
132
|
+
"getChildren"
|
|
133
|
+
]);
|
|
134
|
+
METHODS_EXL = /* @__PURE__ */ new Set([
|
|
135
|
+
"node",
|
|
136
|
+
"context",
|
|
137
|
+
"extends",
|
|
138
|
+
"__element",
|
|
139
|
+
"__ref",
|
|
140
|
+
...METHODS,
|
|
141
|
+
...STATE_METHODS,
|
|
142
|
+
...PROPS_METHODS
|
|
143
|
+
]);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
// ../../packages/utils/dist/esm/object.js
|
|
148
|
+
var init_object = __esm({
|
|
149
|
+
"../../packages/utils/dist/esm/object.js"() {
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
// ../../packages/utils/dist/esm/key.js
|
|
154
|
+
var init_key = __esm({
|
|
155
|
+
"../../packages/utils/dist/esm/key.js"() {
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
// ../../packages/utils/dist/esm/env.js
|
|
160
|
+
var init_env = __esm({
|
|
161
|
+
"../../packages/utils/dist/esm/env.js"() {
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
// ../../packages/utils/dist/esm/function.js
|
|
166
|
+
var init_function = __esm({
|
|
167
|
+
"../../packages/utils/dist/esm/function.js"() {
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// ../../packages/utils/dist/esm/if.js
|
|
172
|
+
var init_if = __esm({
|
|
173
|
+
"../../packages/utils/dist/esm/if.js"() {
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
// ../../packages/utils/dist/esm/log.js
|
|
178
|
+
var init_log = __esm({
|
|
179
|
+
"../../packages/utils/dist/esm/log.js"() {
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// ../../packages/utils/dist/esm/cookie.js
|
|
184
|
+
var isMobile;
|
|
185
|
+
var init_cookie = __esm({
|
|
186
|
+
"../../packages/utils/dist/esm/cookie.js"() {
|
|
187
|
+
isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
// ../../packages/utils/dist/esm/tags.js
|
|
192
|
+
var init_tags = __esm({
|
|
193
|
+
"../../packages/utils/dist/esm/tags.js"() {
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
// ../../packages/utils/dist/esm/extends.js
|
|
198
|
+
var init_extends = __esm({
|
|
199
|
+
"../../packages/utils/dist/esm/extends.js"() {
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
// ../../packages/utils/dist/esm/component.js
|
|
204
|
+
var init_component = __esm({
|
|
205
|
+
"../../packages/utils/dist/esm/component.js"() {
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// ../../packages/utils/dist/esm/props.js
|
|
210
|
+
var init_props = __esm({
|
|
211
|
+
"../../packages/utils/dist/esm/props.js"() {
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
// ../../packages/utils/dist/esm/element.js
|
|
216
|
+
var init_element = __esm({
|
|
217
|
+
"../../packages/utils/dist/esm/element.js"() {
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
// ../../packages/utils/dist/esm/state.js
|
|
222
|
+
var init_state = __esm({
|
|
223
|
+
"../../packages/utils/dist/esm/state.js"() {
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
// ../../packages/utils/dist/esm/scope.js
|
|
228
|
+
var init_scope = __esm({
|
|
229
|
+
"../../packages/utils/dist/esm/scope.js"() {
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
// ../../packages/utils/dist/esm/triggerEvent.js
|
|
234
|
+
var getOnOrPropsEvent, applyEvent, triggerEventOn;
|
|
235
|
+
var init_triggerEvent = __esm({
|
|
236
|
+
"../../packages/utils/dist/esm/triggerEvent.js"() {
|
|
237
|
+
init_types();
|
|
238
|
+
getOnOrPropsEvent = (param, element) => {
|
|
239
|
+
const onEvent = element.on?.[param];
|
|
240
|
+
if (onEvent) return onEvent;
|
|
241
|
+
const props = element.props;
|
|
242
|
+
if (!props) return;
|
|
243
|
+
const propKey = "on" + param.charAt(0).toUpperCase() + param.slice(1);
|
|
244
|
+
return props[propKey];
|
|
245
|
+
};
|
|
246
|
+
applyEvent = (param, element, state, context, options) => {
|
|
247
|
+
if (!isFunction(param)) return;
|
|
248
|
+
try {
|
|
249
|
+
const result = param.call(
|
|
250
|
+
element,
|
|
251
|
+
element,
|
|
252
|
+
state || element.state,
|
|
253
|
+
context || element.context,
|
|
254
|
+
options
|
|
255
|
+
);
|
|
256
|
+
if (result && typeof result.then === "function") {
|
|
257
|
+
result.catch((err) => {
|
|
258
|
+
element.error = err;
|
|
259
|
+
console.error("[DomQL] Async event error:", err);
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
return result;
|
|
263
|
+
} catch (err) {
|
|
264
|
+
element.error = err;
|
|
265
|
+
console.error("[DomQL] Event handler error:", err);
|
|
266
|
+
if (element.context?.strictMode) throw err;
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
triggerEventOn = (param, element, options) => {
|
|
270
|
+
if (!element) {
|
|
271
|
+
throw new Error("Element is required");
|
|
272
|
+
}
|
|
273
|
+
const appliedFunction = getOnOrPropsEvent(param, element);
|
|
274
|
+
if (appliedFunction) {
|
|
275
|
+
const { state, context } = element;
|
|
276
|
+
return applyEvent(appliedFunction, element, state, context, options);
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
// ../../packages/utils/dist/esm/cache.js
|
|
283
|
+
var init_cache = __esm({
|
|
284
|
+
"../../packages/utils/dist/esm/cache.js"() {
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
// ../../packages/utils/dist/esm/methods.js
|
|
289
|
+
var init_methods = __esm({
|
|
290
|
+
"../../packages/utils/dist/esm/methods.js"() {
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
// ../../packages/utils/dist/esm/update.js
|
|
295
|
+
var init_update = __esm({
|
|
296
|
+
"../../packages/utils/dist/esm/update.js"() {
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
|
|
300
|
+
// ../../packages/utils/dist/esm/index.js
|
|
301
|
+
var init_esm = __esm({
|
|
302
|
+
"../../packages/utils/dist/esm/index.js"() {
|
|
303
|
+
init_key();
|
|
304
|
+
init_env();
|
|
305
|
+
init_types();
|
|
306
|
+
init_object();
|
|
307
|
+
init_function();
|
|
308
|
+
init_array();
|
|
309
|
+
init_node();
|
|
310
|
+
init_if();
|
|
311
|
+
init_log();
|
|
312
|
+
init_string();
|
|
313
|
+
init_globals();
|
|
314
|
+
init_cookie();
|
|
315
|
+
init_tags();
|
|
316
|
+
init_component();
|
|
317
|
+
init_props();
|
|
318
|
+
init_extends();
|
|
319
|
+
init_element();
|
|
320
|
+
init_state();
|
|
321
|
+
init_keys();
|
|
322
|
+
init_scope();
|
|
323
|
+
init_methods();
|
|
324
|
+
init_cache();
|
|
325
|
+
init_update();
|
|
326
|
+
init_triggerEvent();
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
|
|
21
330
|
// index.js
|
|
22
331
|
var index_exports = {};
|
|
23
332
|
__export(index_exports, {
|
|
@@ -31,56 +340,7 @@ var DomqlRouter = (() => {
|
|
|
31
340
|
router: () => router,
|
|
32
341
|
runGuards: () => runGuards
|
|
33
342
|
});
|
|
34
|
-
|
|
35
|
-
// ../../packages/utils/dist/esm/globals.js
|
|
36
|
-
var window2 = globalThis;
|
|
37
|
-
var document = window2.document;
|
|
38
|
-
|
|
39
|
-
// ../../packages/utils/dist/esm/types.js
|
|
40
|
-
var isFunction = (arg) => typeof arg === "function";
|
|
41
|
-
|
|
42
|
-
// ../../packages/utils/dist/esm/triggerEvent.js
|
|
43
|
-
var getOnOrPropsEvent = (param, element) => {
|
|
44
|
-
const onEvent = element.on?.[param];
|
|
45
|
-
if (onEvent) return onEvent;
|
|
46
|
-
const props = element.props;
|
|
47
|
-
if (!props) return;
|
|
48
|
-
const propKey = "on" + param.charAt(0).toUpperCase() + param.slice(1);
|
|
49
|
-
return props[propKey];
|
|
50
|
-
};
|
|
51
|
-
var applyEvent = (param, element, state, context, options) => {
|
|
52
|
-
if (!isFunction(param)) return;
|
|
53
|
-
try {
|
|
54
|
-
const result = param.call(
|
|
55
|
-
element,
|
|
56
|
-
element,
|
|
57
|
-
state || element.state,
|
|
58
|
-
context || element.context,
|
|
59
|
-
options
|
|
60
|
-
);
|
|
61
|
-
if (result && typeof result.then === "function") {
|
|
62
|
-
result.catch((err) => {
|
|
63
|
-
element.error = err;
|
|
64
|
-
console.error("[DomQL] Async event error:", err);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return result;
|
|
68
|
-
} catch (err) {
|
|
69
|
-
element.error = err;
|
|
70
|
-
console.error("[DomQL] Event handler error:", err);
|
|
71
|
-
if (element.context?.strictMode) throw err;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
var triggerEventOn = (param, element, options) => {
|
|
75
|
-
if (!element) {
|
|
76
|
-
throw new Error("Element is required");
|
|
77
|
-
}
|
|
78
|
-
const appliedFunction = getOnOrPropsEvent(param, element);
|
|
79
|
-
if (appliedFunction) {
|
|
80
|
-
const { state, context } = element;
|
|
81
|
-
return applyEvent(appliedFunction, element, state, context, options);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
343
|
+
init_esm();
|
|
84
344
|
|
|
85
345
|
// ../../packages/element/dist/esm/set.js
|
|
86
346
|
var setContentKey = (element, opts = {}) => {
|
|
@@ -206,7 +466,7 @@ var DomqlRouter = (() => {
|
|
|
206
466
|
initialRender: false,
|
|
207
467
|
scrollToTop: true,
|
|
208
468
|
scrollToNode: false,
|
|
209
|
-
scrollNode:
|
|
469
|
+
scrollNode: document2 && document2.documentElement,
|
|
210
470
|
scrollBody: false,
|
|
211
471
|
useFragment: false,
|
|
212
472
|
updateState: true,
|
|
@@ -218,7 +478,7 @@ var DomqlRouter = (() => {
|
|
|
218
478
|
var router = (path, el, state = {}, options = {}) => {
|
|
219
479
|
const element = el || void 0;
|
|
220
480
|
const win = element.context.window || window2;
|
|
221
|
-
const doc = element.context.document ||
|
|
481
|
+
const doc = element.context.document || document2;
|
|
222
482
|
const opts = {
|
|
223
483
|
...defaultOptions,
|
|
224
484
|
...element.context.routerOptions,
|
|
@@ -280,8 +540,20 @@ var DomqlRouter = (() => {
|
|
|
280
540
|
if (contentElementKey && opts.removeOldElement) {
|
|
281
541
|
element[contentElementKey].remove();
|
|
282
542
|
}
|
|
543
|
+
const originContent = element.__ref?.origin?.content;
|
|
544
|
+
const contentStyles = {};
|
|
545
|
+
if (originContent) {
|
|
546
|
+
for (const k in originContent) {
|
|
547
|
+
const v = originContent[k];
|
|
548
|
+
if (k === "__ref" || k === "props" || k === "node" || k === "parent" || k === "key") continue;
|
|
549
|
+
if (typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "object" && v !== null && !v.node && !v.__ref) {
|
|
550
|
+
contentStyles[k] = v;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
283
554
|
element.set(
|
|
284
555
|
{
|
|
556
|
+
...contentStyles,
|
|
285
557
|
tag: opts.useFragment && "fragment",
|
|
286
558
|
extends: content
|
|
287
559
|
},
|
|
@@ -318,3 +590,4 @@ var DomqlRouter = (() => {
|
|
|
318
590
|
var index_default = router;
|
|
319
591
|
return __toCommonJS(index_exports);
|
|
320
592
|
})();
|
|
593
|
+
// @preserve-env
|
package/index.js
CHANGED
|
@@ -245,8 +245,23 @@ export const router = (path, el, state = {}, options = {}) => {
|
|
|
245
245
|
element[contentElementKey].remove()
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
+
// Merge parent's original content definition (styles like overflow, maxHeight)
|
|
249
|
+
// with the route's content component
|
|
250
|
+
const originContent = element.__ref?.origin?.content
|
|
251
|
+
const contentStyles = {}
|
|
252
|
+
if (originContent) {
|
|
253
|
+
for (const k in originContent) {
|
|
254
|
+
const v = originContent[k]
|
|
255
|
+
if (k === '__ref' || k === 'props' || k === 'node' || k === 'parent' || k === 'key') continue
|
|
256
|
+
if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean' || (typeof v === 'object' && v !== null && !v.node && !v.__ref)) {
|
|
257
|
+
contentStyles[k] = v
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
248
262
|
element.set(
|
|
249
263
|
{
|
|
264
|
+
...contentStyles,
|
|
250
265
|
tag: opts.useFragment && 'fragment',
|
|
251
266
|
extends: content
|
|
252
267
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/router",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"prepublish": "npm run build && npm run copy:package:cjs"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@domql/element": "^3.6.
|
|
31
|
-
"@domql/utils": "^3.6.
|
|
30
|
+
"@domql/element": "^3.6.6",
|
|
31
|
+
"@domql/utils": "^3.6.6"
|
|
32
32
|
},
|
|
33
33
|
"gitHead": "9fc1b79b41cdc725ca6b24aec64920a599634681",
|
|
34
34
|
"devDependencies": {
|