@brandup/ui-app 1.0.44 → 2.0.2
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 +7 -4
- package/dist/cjs/app.js +397 -0
- package/dist/cjs/app.js.map +1 -0
- package/dist/cjs/builder.js +53 -0
- package/dist/cjs/builder.js.map +1 -0
- package/dist/cjs/constants.js +21 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/ext.js +39 -0
- package/dist/cjs/ext.js.map +1 -0
- package/dist/cjs/helpers/url.js +206 -0
- package/dist/cjs/helpers/url.js.map +1 -0
- package/dist/cjs/index.js +11 -760
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/middlewares/hyperlink.js +75 -0
- package/dist/cjs/middlewares/hyperlink.js.map +1 -0
- package/dist/cjs/middlewares/invoker.js +55 -0
- package/dist/cjs/middlewares/invoker.js.map +1 -0
- package/dist/cjs/middlewares/state.js +86 -0
- package/dist/cjs/middlewares/state.js.map +1 -0
- package/dist/mjs/app.js +393 -0
- package/dist/mjs/app.js.map +1 -0
- package/dist/mjs/builder.js +51 -0
- package/dist/mjs/builder.js.map +1 -0
- package/dist/mjs/constants.js +17 -0
- package/dist/mjs/constants.js.map +1 -0
- package/dist/mjs/ext.js +37 -0
- package/dist/mjs/ext.js.map +1 -0
- package/dist/mjs/helpers/url.js +202 -0
- package/dist/mjs/helpers/url.js.map +1 -0
- package/dist/mjs/index.js +7 -759
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/middlewares/hyperlink.js +70 -0
- package/dist/mjs/middlewares/hyperlink.js.map +1 -0
- package/dist/mjs/middlewares/invoker.js +53 -0
- package/dist/mjs/middlewares/invoker.js.map +1 -0
- package/dist/mjs/middlewares/state.js +81 -0
- package/dist/mjs/middlewares/state.js.map +1 -0
- package/dist/types.d.ts +155 -7
- package/package.json +11 -4
package/dist/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../source/middlewares/invoker.ts","../../source/constants.ts","../../source/middlewares/state.ts","../../source/middlewares/hyperlink.ts","../../source/helpers/url.ts","../../source/app.ts","../../source/builder.ts","../../source/ext.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import result from '../constants.js';
|
|
2
|
+
|
|
3
|
+
/** Unique name of the built-in hyperlink middleware. */
|
|
4
|
+
const HYPERLINK_MIDDLEWARE_NAME = "app-hyperlink";
|
|
5
|
+
/**
|
|
6
|
+
* Create the built-in hyperlink middleware that intercepts clicks on application links
|
|
7
|
+
* (anchors with the `applink` class or elements with `data-nav-url`) and routes them through
|
|
8
|
+
* application navigation. Honors meta/ctrl-click and `target="_blank"` to open in a new tab.
|
|
9
|
+
* @returns The hyperlink middleware instance.
|
|
10
|
+
*/
|
|
11
|
+
const HyperLinkMiddlewareFactory = () => {
|
|
12
|
+
let onClick;
|
|
13
|
+
return {
|
|
14
|
+
name: HYPERLINK_MIDDLEWARE_NAME,
|
|
15
|
+
start: async (context, next) => {
|
|
16
|
+
await next();
|
|
17
|
+
window.addEventListener("click", onClick = (e) => {
|
|
18
|
+
let elem = e.target;
|
|
19
|
+
let ignore = false;
|
|
20
|
+
while (elem) {
|
|
21
|
+
if (elem instanceof HTMLElement) {
|
|
22
|
+
if (elem.hasAttribute(result.NavIgnoreAttributeName)) {
|
|
23
|
+
ignore = true;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
if (elem.classList.contains(result.NavUrlClassName) || elem.hasAttribute(result.NavUrlAttributeName))
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
elem = elem.parentElement;
|
|
30
|
+
}
|
|
31
|
+
if (!elem || e.ctrlKey || e.metaKey || elem.getAttribute("target") === "_blank")
|
|
32
|
+
return;
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
e.stopPropagation();
|
|
35
|
+
if (ignore)
|
|
36
|
+
return;
|
|
37
|
+
let url;
|
|
38
|
+
if (elem.tagName === "A")
|
|
39
|
+
url = elem.getAttribute("href");
|
|
40
|
+
else if (elem.hasAttribute(result.NavUrlAttributeName))
|
|
41
|
+
url = elem.getAttribute(result.NavUrlAttributeName);
|
|
42
|
+
else {
|
|
43
|
+
// matched an applink element with no resolvable url (malformed markup);
|
|
44
|
+
// swallow the click rather than throwing inside a global event listener
|
|
45
|
+
console.warn("Application hyperlink: clicked element has no navigation url.");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (elem.classList.contains(result.LoadingElementClass))
|
|
49
|
+
return;
|
|
50
|
+
elem.classList.add(result.LoadingElementClass);
|
|
51
|
+
context.app
|
|
52
|
+
.nav({
|
|
53
|
+
url,
|
|
54
|
+
replace: elem.hasAttribute(result.NavUrlReplaceAttributeName),
|
|
55
|
+
scope: elem.getAttribute(result.NavUrlScopeAttributeName),
|
|
56
|
+
data: { clickElem: elem }
|
|
57
|
+
})
|
|
58
|
+
.catch(() => { })
|
|
59
|
+
.finally(() => elem.classList.remove(result.LoadingElementClass));
|
|
60
|
+
}, false);
|
|
61
|
+
},
|
|
62
|
+
stop: (_context, next) => {
|
|
63
|
+
window.removeEventListener("click", onClick, false);
|
|
64
|
+
return next();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { HYPERLINK_MIDDLEWARE_NAME, HyperLinkMiddlewareFactory as default };
|
|
70
|
+
//# sourceMappingURL=hyperlink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperlink.js","sources":["../../../../source/middlewares/hyperlink.ts"],"sourcesContent":[null],"names":["CONSTANTS"],"mappings":";;AAGA;AACO,MAAM,yBAAyB,GAAG;AAEzC;;;;;AAKG;AACH,MAAM,0BAA0B,GAAG,MAAiB;AACnD,IAAA,IAAI,OAA4C;IAEhD,OAAO;AACN,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,MAAM,IAAI,EAAE;YAEZ,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAa,KAAI;AAC5D,gBAAA,IAAI,IAAI,GAAgB,CAAC,CAAC,MAAc;gBACxC,IAAI,MAAM,GAAG,KAAK;gBAClB,OAAO,IAAI,EAAE;AACZ,oBAAA,IAAI,IAAI,YAAY,WAAW,EAAE;wBAChC,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,sBAAsB,CAAC,EAAE;4BACxD,MAAM,GAAG,IAAI;4BACb;wBACD;AAEA,wBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;4BACzG;oBACF;AAEA,oBAAA,IAAI,GAAG,IAAI,CAAC,aAAa;gBAC1B;AAEA,gBAAA,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBAC9E;gBAED,CAAC,CAAC,cAAc,EAAE;gBAClB,CAAC,CAAC,eAAe,EAAE;AAEnB,gBAAA,IAAI,MAAM;oBACT;AAED,gBAAA,IAAI,GAAkB;AACtB,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG;AACvB,oBAAA,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAC3B,qBAAA,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACxD,GAAG,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;qBAClD;;;AAGJ,oBAAA,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC;oBAC7E;gBACD;gBAEA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACzD;gBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC;AAEjD,gBAAA,OAAO,CAAC;AACN,qBAAA,GAAG,CAAC;oBACJ,GAAG;oBACH,OAAO,EAAE,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;oBAChE,KAAK,EAAE,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,wBAAwB,CAAC;AAC5D,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI;iBACvB;AACA,qBAAA,KAAK,CAAC,MAAK,EAAG,CAAC;AACf,qBAAA,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;YACtE,CAAC,EAAE,KAAK,CAAC;QACV,CAAC;AACD,QAAA,IAAI,EAAE,CAAC,QAAqB,EAAE,IAAoB,KAAI;YACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;YAEnD,OAAO,IAAI,EAAE;QACd;KACA;AACF;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Runs a chain of middlewares, invoking the named method on each in registration order. */
|
|
2
|
+
class MiddlewareInvoker {
|
|
3
|
+
/** Middleware handled by this invoker node. */
|
|
4
|
+
middleware;
|
|
5
|
+
__next;
|
|
6
|
+
__tail = this;
|
|
7
|
+
/**
|
|
8
|
+
* @param middleware Middleware handled by this invoker node.
|
|
9
|
+
*/
|
|
10
|
+
constructor(middleware) {
|
|
11
|
+
this.middleware = middleware;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Append a middleware to the end of the chain.
|
|
15
|
+
* @param middleware Middleware to add.
|
|
16
|
+
*/
|
|
17
|
+
next(middleware) {
|
|
18
|
+
const invoker = new MiddlewareInvoker(middleware);
|
|
19
|
+
this.__tail.__next = invoker;
|
|
20
|
+
this.__tail = invoker;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Invoke the given method across the whole middleware chain.
|
|
24
|
+
* @param method Name of the middleware method to call (e.g. "start", "navigate").
|
|
25
|
+
* @param context Invocation context.
|
|
26
|
+
* @returns Promise resolved when the chain has completed.
|
|
27
|
+
*/
|
|
28
|
+
invoke(method, context) {
|
|
29
|
+
return this.__exec(method, context);
|
|
30
|
+
}
|
|
31
|
+
async __exec(method, context) {
|
|
32
|
+
let nextCalled = false;
|
|
33
|
+
const nextFunc = () => {
|
|
34
|
+
if (nextCalled)
|
|
35
|
+
throw new Error(`Middleware "${this.middleware.name}" called next() more than once for method "${method}".`);
|
|
36
|
+
nextCalled = true;
|
|
37
|
+
return this.__next ? this.__next.__exec(method, context) : Promise.resolve();
|
|
38
|
+
};
|
|
39
|
+
context.abort.throwIfAborted();
|
|
40
|
+
const methodFunc = this.middleware[method];
|
|
41
|
+
if (typeof methodFunc === "function") {
|
|
42
|
+
const methodResult = methodFunc.call(this.middleware, context, nextFunc);
|
|
43
|
+
if (!methodResult || !(methodResult instanceof Promise))
|
|
44
|
+
throw new Error(`Middleware "${this.middleware.name}" method "${method}" is not async.`);
|
|
45
|
+
await methodResult;
|
|
46
|
+
}
|
|
47
|
+
else
|
|
48
|
+
await nextFunc();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { MiddlewareInvoker };
|
|
53
|
+
//# sourceMappingURL=invoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoker.js","sources":["../../../../source/middlewares/invoker.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;MACa,iBAAiB,CAAA;;AAEpB,IAAA,UAAU;AACX,IAAA,MAAM;IACN,MAAM,GAAsB,IAAI;AAExC;;AAEG;AACH,IAAA,WAAA,CAAY,UAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC7B;AAEA;;;AAGG;AACH,IAAA,IAAI,CAAC,UAAsB,EAAA;AAC1B,QAAA,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC;AACjD,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO;AAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO;IACtB;AAEA;;;;;AAKG;IACH,MAAM,CAAiC,MAAc,EAAE,OAAiB,EAAA;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpC;AAEQ,IAAA,MAAM,MAAM,CAAC,MAAc,EAAE,OAAsB,EAAA;QAC1D,IAAI,UAAU,GAAG,KAAK;QACtB,MAAM,QAAQ,GAAmB,MAAK;AACrC,YAAA,IAAI,UAAU;AACb,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA,2CAAA,EAA8C,MAAM,CAAA,EAAA,CAAI,CAAC;YAC7G,UAAU,GAAG,IAAI;YAEjB,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;AAC7E,QAAA,CAAC;AAED,QAAA,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;QAE9B,MAAM,UAAU,GAAqB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AAC5D,QAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACrC,YAAA,MAAM,YAAY,GAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;YAEvF,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,YAAY,OAAO,CAAC;AACtD,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA,UAAA,EAAa,MAAM,CAAA,eAAA,CAAiB,CAAC;AAEzF,YAAA,MAAM,YAAY;QACnB;;YAEC,MAAM,QAAQ,EAAE;IAClB;AACA;;;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import result from '../constants.js';
|
|
2
|
+
|
|
3
|
+
/** Unique name of the built-in state middleware. */
|
|
4
|
+
const STATE_MIDDLEWARE_NAME = "app-state";
|
|
5
|
+
/**
|
|
6
|
+
* Create the built-in state middleware that toggles loading/loaded/ready CSS state
|
|
7
|
+
* classes on the application element during start, load, navigation and submit.
|
|
8
|
+
* @returns The state middleware instance.
|
|
9
|
+
*/
|
|
10
|
+
const StateMiddlewareFactory = () => {
|
|
11
|
+
let counter = 0;
|
|
12
|
+
const begin = (context) => {
|
|
13
|
+
const prev = counter++;
|
|
14
|
+
if (prev === 0) {
|
|
15
|
+
context.app.element?.classList.remove(result.STATE_CLASS.LOADED);
|
|
16
|
+
context.app.element?.classList.add(result.STATE_CLASS.LOADING);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const end = (context) => {
|
|
20
|
+
counter--;
|
|
21
|
+
if (counter <= 0) {
|
|
22
|
+
counter = 0;
|
|
23
|
+
context.app.element?.classList.add(result.STATE_CLASS.LOADED);
|
|
24
|
+
context.app.element?.classList.remove(result.STATE_CLASS.LOADING);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
name: STATE_MIDDLEWARE_NAME,
|
|
29
|
+
start: async (context, next) => {
|
|
30
|
+
begin(context);
|
|
31
|
+
try {
|
|
32
|
+
await next();
|
|
33
|
+
// on success the begin() is left open on purpose: the loading state
|
|
34
|
+
// must persist through "loaded" and the first navigation, which closes
|
|
35
|
+
// it (see the "first" branch in navigate). On error we close it here.
|
|
36
|
+
}
|
|
37
|
+
catch (reason) {
|
|
38
|
+
end(context);
|
|
39
|
+
throw reason;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
loaded: async (context, next) => {
|
|
43
|
+
try {
|
|
44
|
+
await next();
|
|
45
|
+
context.app.element?.classList.add(result.STATE_CLASS.READY);
|
|
46
|
+
}
|
|
47
|
+
catch (reason) {
|
|
48
|
+
end(context);
|
|
49
|
+
throw reason;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
navigate: async (context, next) => {
|
|
53
|
+
begin(context);
|
|
54
|
+
try {
|
|
55
|
+
await next();
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
end(context); // close the begin() of this navigation
|
|
59
|
+
// the first navigation also closes the loading opened by start(),
|
|
60
|
+
// which intentionally leaves its begin() open until the page is rendered
|
|
61
|
+
if (context.source == "first")
|
|
62
|
+
end(context);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
submit: async (context, next) => {
|
|
66
|
+
begin(context);
|
|
67
|
+
try {
|
|
68
|
+
await next();
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
end(context);
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
stop: async (_context, next) => {
|
|
75
|
+
await next();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { STATE_MIDDLEWARE_NAME, StateMiddlewareFactory as default };
|
|
81
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sources":["../../../../source/middlewares/state.ts"],"sourcesContent":[null],"names":["CONSTANTS"],"mappings":";;AAGA;AACO,MAAM,qBAAqB,GAAG;AAErC;;;;AAIG;AACH,MAAM,sBAAsB,GAAG,MAAiB;IAC/C,IAAI,OAAO,GAAW,CAAC;AAEvB,IAAA,MAAM,KAAK,GAAG,CAAC,OAAsB,KAAI;AACxC,QAAA,MAAM,IAAI,GAAG,OAAO,EAAE;AAEtB,QAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AACnE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAClE;AACD,IAAA,CAAC;AAED,IAAA,MAAM,GAAG,GAAG,CAAC,OAAsB,KAAI;AACtC,QAAA,OAAO,EAAE;AAET,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE;YACjB,OAAO,GAAG,CAAC;AAEX,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAChE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QACrE;AACD,IAAA,CAAC;IAED,OAAO;AACN,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,KAAK,CAAC,OAAO,CAAC;AAEd,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;;;;YAKb;YACA,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC;AACZ,gBAAA,MAAM,MAAM;YACb;QACD,CAAC;AACD,QAAA,MAAM,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;AAC7D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;AAEZ,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,KAAK,CAAC;YAChE;YACA,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC;AACZ,gBAAA,MAAM,MAAM;YACb;QACD,CAAC;AACD,QAAA,QAAQ,EAAE,OAAO,OAAwB,EAAE,IAAoB,KAAI;YAClE,KAAK,CAAC,OAAO,CAAC;AAEd,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;YACb;oBACQ;AACP,gBAAA,GAAG,CAAC,OAAO,CAAC,CAAC;;;AAIb,gBAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO;oBAC5B,GAAG,CAAC,OAAO,CAAC;YACd;QACD,CAAC;AACD,QAAA,MAAM,EAAE,OAAO,OAAsB,EAAE,IAAoB,KAAI;YAC9D,KAAK,CAAC,OAAO,CAAC;AAEd,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;YACb;oBACQ;gBACP,GAAG,CAAC,OAAO,CAAC;YACb;QACD,CAAC;AACD,QAAA,IAAI,EAAE,OAAO,QAAqB,EAAE,IAAoB,KAAI;YAC3D,MAAM,IAAI,EAAE;QACb;KACA;AACF;;;;"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,54 +1,94 @@
|
|
|
1
1
|
import { UIElement } from '@brandup/ui';
|
|
2
2
|
|
|
3
|
+
/** Runtime environment of the application. */
|
|
3
4
|
interface EnvironmentModel {
|
|
5
|
+
/** Base path prefix for all application urls. */
|
|
4
6
|
basePath: string;
|
|
7
|
+
/** Additional environment values. */
|
|
5
8
|
[key: string]: any;
|
|
6
9
|
}
|
|
10
|
+
/** Application model carrying application-specific data. */
|
|
7
11
|
interface ApplicationModel {
|
|
12
|
+
/** Arbitrary model values. */
|
|
8
13
|
[key: string]: any;
|
|
9
14
|
}
|
|
15
|
+
/** Query parameters as a plain object; values may be single or multiple. */
|
|
10
16
|
interface QueryParams {
|
|
11
17
|
[key: string]: string | string[];
|
|
12
18
|
}
|
|
13
19
|
|
|
20
|
+
/** Application middleware injecting into lifecycle events. */
|
|
14
21
|
interface Middleware {
|
|
22
|
+
/** Unique name of the middleware. */
|
|
15
23
|
readonly name: string;
|
|
24
|
+
/** Called when the application starts. */
|
|
16
25
|
start?: MiddlewareMethod;
|
|
26
|
+
/** Called after the application is loaded. */
|
|
17
27
|
loaded?: MiddlewareMethod;
|
|
28
|
+
/** Called on each navigation. */
|
|
18
29
|
navigate?: MiddlewareMethod;
|
|
30
|
+
/** Called on each form submit. */
|
|
19
31
|
submit?: MiddlewareMethod;
|
|
32
|
+
/** Called when the application is destroyed. */
|
|
20
33
|
stop?: MiddlewareMethod;
|
|
34
|
+
/** Custom middleware methods. */
|
|
21
35
|
[key: string]: MiddlewareMethod | any;
|
|
22
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* A middleware lifecycle method.
|
|
39
|
+
* @param context Invocation context.
|
|
40
|
+
* @param next Callback that runs the next middleware in the chain.
|
|
41
|
+
*/
|
|
23
42
|
type MiddlewareMethod<TContext extends InvokeContext = any> = (context: TContext, next: MiddlewareNext) => Promise<void>;
|
|
43
|
+
/** Runs the next middleware in the chain. */
|
|
24
44
|
type MiddlewareNext = () => Promise<void>;
|
|
45
|
+
/** Base context passed to every middleware method. */
|
|
25
46
|
interface InvokeContext {
|
|
47
|
+
/** Application instance. */
|
|
26
48
|
readonly app: Application;
|
|
49
|
+
/** Context data shared across the middleware chain. */
|
|
27
50
|
readonly data: ContextData;
|
|
51
|
+
/** Abort signal for the current operation. */
|
|
28
52
|
readonly abort: AbortSignal;
|
|
29
53
|
}
|
|
54
|
+
/** Arbitrary data carried through a middleware invocation. */
|
|
30
55
|
interface ContextData {
|
|
31
56
|
[key: string]: any;
|
|
32
57
|
}
|
|
58
|
+
/** Context for the `start` and `loaded` middleware methods. */
|
|
33
59
|
interface StartContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends InvokeContext {
|
|
60
|
+
/** Application instance. */
|
|
34
61
|
readonly app: TApplication;
|
|
62
|
+
/** Start context data. */
|
|
35
63
|
readonly data: TData;
|
|
36
64
|
}
|
|
65
|
+
/** Context for the `stop` middleware method. */
|
|
37
66
|
interface StopContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends InvokeContext {
|
|
67
|
+
/** Application instance. */
|
|
38
68
|
readonly app: TApplication;
|
|
69
|
+
/** Stop context data. */
|
|
39
70
|
readonly data: TData;
|
|
40
71
|
}
|
|
72
|
+
/** Options for an application navigation. */
|
|
41
73
|
interface NavigateOptions<TData extends ContextData = ContextData> {
|
|
74
|
+
/** Target url. Relative urls are resolved against the application base path. */
|
|
42
75
|
url?: string | null;
|
|
76
|
+
/** Query parameters to add or replace on the target url. */
|
|
43
77
|
query?: QueryParams | URLSearchParams | FormData;
|
|
78
|
+
/** Replace the current history entry instead of pushing a new one. */
|
|
44
79
|
replace?: boolean;
|
|
80
|
+
/** Navigation scope. */
|
|
45
81
|
scope?: string | null;
|
|
82
|
+
/** Navigation context data. */
|
|
46
83
|
data?: TData;
|
|
84
|
+
/** External abort signal to cancel the navigation. */
|
|
47
85
|
abort?: AbortSignal;
|
|
48
86
|
}
|
|
87
|
+
/** Context for the `navigate` middleware method. */
|
|
49
88
|
interface NavigateContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends InvokeContext {
|
|
50
89
|
/** Index number of all application navigations. */
|
|
51
90
|
readonly index: number;
|
|
91
|
+
/** Unique identifier of this navigation. */
|
|
52
92
|
readonly id: string;
|
|
53
93
|
/** Source navigation event. */
|
|
54
94
|
readonly source: NavigateSource;
|
|
@@ -58,8 +98,11 @@ interface NavigateContext<TApplication extends Application = Application, TData
|
|
|
58
98
|
readonly current?: NavigateContext<TApplication, TData>;
|
|
59
99
|
/** Parent navigation context. Specified if the navigation is nested. */
|
|
60
100
|
readonly parent?: NavigateContext<TApplication, TData>;
|
|
101
|
+
/** True if this navigation was overridden by a newer one (e.g. a redirect). */
|
|
61
102
|
readonly overided: boolean;
|
|
103
|
+
/** Kind of navigation relative to the current url. */
|
|
62
104
|
readonly action: NavigateAction;
|
|
105
|
+
/** Navigation context data. */
|
|
63
106
|
readonly data: TData;
|
|
64
107
|
/** Origin, path and query, but without hash. */
|
|
65
108
|
readonly url: string;
|
|
@@ -79,8 +122,14 @@ interface NavigateContext<TApplication extends Application = Application, TData
|
|
|
79
122
|
readonly external: boolean;
|
|
80
123
|
/** Replace current navigation entry. */
|
|
81
124
|
replace: boolean;
|
|
125
|
+
/** Navigation scope. */
|
|
82
126
|
scope?: string | null;
|
|
83
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* Redirect to a new url and throw to end the current context.
|
|
129
|
+
* Always throws {@link NAV_OVERIDE_ERROR}.
|
|
130
|
+
* @param options Navigate options or target url.
|
|
131
|
+
* @returns Promise of the redirected navigation context.
|
|
132
|
+
*/
|
|
84
133
|
redirect(options?: NavigateOptions<TData> | string | null): Promise<NavigateContext<TApplication, TData>>;
|
|
85
134
|
}
|
|
86
135
|
/**
|
|
@@ -90,32 +139,70 @@ interface NavigateContext<TApplication extends Application = Application, TData
|
|
|
90
139
|
* submit - from submit form.
|
|
91
140
|
*/
|
|
92
141
|
type NavigateSource = "first" | "nav" | "submit";
|
|
142
|
+
/**
|
|
143
|
+
* Kind of navigation relative to the current url.
|
|
144
|
+
* first - first navigation by application.
|
|
145
|
+
* url-change - the url path or query changed.
|
|
146
|
+
* url-no-change - the url did not change.
|
|
147
|
+
* hash - only the hash changed.
|
|
148
|
+
* submit - navigation triggered by a form submit.
|
|
149
|
+
*/
|
|
93
150
|
type NavigateAction = "first" | "url-change" | "url-no-change" | "hash" | "submit";
|
|
151
|
+
/** Options for a form submit. */
|
|
94
152
|
interface SubmitOptions<TData extends ContextData = ContextData> {
|
|
153
|
+
/** Form being submitted. */
|
|
95
154
|
form: HTMLFormElement;
|
|
155
|
+
/** Submit button that triggered the submit, if any. */
|
|
96
156
|
button?: HTMLButtonElement | null;
|
|
157
|
+
/** Query parameters to add or replace on the action url. */
|
|
97
158
|
query?: QueryParams | URLSearchParams;
|
|
159
|
+
/** Submit context data. */
|
|
98
160
|
data?: TData;
|
|
161
|
+
/** External abort signal to cancel the submit. */
|
|
99
162
|
abort?: AbortSignal;
|
|
100
163
|
}
|
|
164
|
+
/** Context for the `submit` middleware method. Extends the navigation context. */
|
|
101
165
|
interface SubmitContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends NavigateContext<TApplication, TData> {
|
|
166
|
+
/** Submitted form element. */
|
|
102
167
|
readonly form: HTMLFormElement;
|
|
168
|
+
/** Submit button that triggered the submit, if any. */
|
|
103
169
|
readonly button: HTMLButtonElement | null;
|
|
170
|
+
/** HTTP method of the submit (upper-cased). */
|
|
104
171
|
readonly method: SubmitMethod;
|
|
172
|
+
/** Form encoding type. */
|
|
105
173
|
readonly enctype: string;
|
|
106
174
|
}
|
|
175
|
+
/** HTTP method used for a form submit. */
|
|
107
176
|
type SubmitMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | string;
|
|
108
177
|
|
|
178
|
+
/** Runs a chain of middlewares, invoking the named method on each in registration order. */
|
|
109
179
|
declare class MiddlewareInvoker {
|
|
180
|
+
/** Middleware handled by this invoker node. */
|
|
110
181
|
readonly middleware: Middleware;
|
|
111
182
|
private __next?;
|
|
183
|
+
private __tail;
|
|
184
|
+
/**
|
|
185
|
+
* @param middleware Middleware handled by this invoker node.
|
|
186
|
+
*/
|
|
112
187
|
constructor(middleware: Middleware);
|
|
188
|
+
/**
|
|
189
|
+
* Append a middleware to the end of the chain.
|
|
190
|
+
* @param middleware Middleware to add.
|
|
191
|
+
*/
|
|
113
192
|
next(middleware: Middleware): void;
|
|
193
|
+
/**
|
|
194
|
+
* Invoke the given method across the whole middleware chain.
|
|
195
|
+
* @param method Name of the middleware method to call (e.g. "start", "navigate").
|
|
196
|
+
* @param context Invocation context.
|
|
197
|
+
* @returns Promise resolved when the chain has completed.
|
|
198
|
+
*/
|
|
114
199
|
invoke<TContext extends InvokeContext>(method: string, context: TContext): Promise<void>;
|
|
115
200
|
private __exec;
|
|
116
201
|
}
|
|
117
202
|
|
|
203
|
+
/** Type name of the base {@link Application} class. */
|
|
118
204
|
declare const APP_TYPENAME = "brandup-ui-app";
|
|
205
|
+
/** Reason value thrown when a navigation is overridden (e.g. by a redirect). */
|
|
119
206
|
declare const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
120
207
|
/**
|
|
121
208
|
* Base application class.
|
|
@@ -132,9 +219,15 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
132
219
|
private __isRuned?;
|
|
133
220
|
private __middlewares;
|
|
134
221
|
private __globalSubmit?;
|
|
222
|
+
private __onPopStateHandler?;
|
|
135
223
|
private __execNav?;
|
|
136
224
|
private __lastNav?;
|
|
225
|
+
/**
|
|
226
|
+
* @param env Application environment.
|
|
227
|
+
* @param model Application model.
|
|
228
|
+
*/
|
|
137
229
|
constructor(env: EnvironmentModel, model: TModel, ..._args: any[]);
|
|
230
|
+
/** Type name of the application. */
|
|
138
231
|
get typeName(): string;
|
|
139
232
|
/** Current navigation context. */
|
|
140
233
|
get current(): NavigateContext<this> | undefined;
|
|
@@ -142,15 +235,26 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
142
235
|
get abort(): AbortSignal;
|
|
143
236
|
/** @internal */
|
|
144
237
|
initialize(middlewares: Middleware[]): void;
|
|
145
|
-
/**
|
|
238
|
+
/**
|
|
239
|
+
* Initialize application instance. Override to register additional middlewares.
|
|
240
|
+
* Registers the built-in state and hyperlink middlewares by default.
|
|
241
|
+
*/
|
|
146
242
|
protected onInitialize(): void;
|
|
147
|
-
/**
|
|
243
|
+
/**
|
|
244
|
+
* Called at the beginning of application run, before middlewares start.
|
|
245
|
+
* Override to perform async setup work.
|
|
246
|
+
* @returns Promise resolved when starting work is complete.
|
|
247
|
+
*/
|
|
148
248
|
protected onStarting(): Promise<void>;
|
|
149
|
-
/**
|
|
249
|
+
/**
|
|
250
|
+
* Called after the application has fully started.
|
|
251
|
+
* Override to perform async work after start.
|
|
252
|
+
* @returns Promise resolved when post-start work is complete.
|
|
253
|
+
*/
|
|
150
254
|
protected onStared(): Promise<void>;
|
|
151
255
|
/**
|
|
152
|
-
* Get middleware by
|
|
153
|
-
* @param
|
|
256
|
+
* Get registered middleware by its unique name.
|
|
257
|
+
* @param name Unique name of middleware.
|
|
154
258
|
* @returns Middleware instance.
|
|
155
259
|
*/
|
|
156
260
|
middleware<T extends Middleware>(name: string): T;
|
|
@@ -175,6 +279,11 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
175
279
|
* Global reload page in browser.
|
|
176
280
|
*/
|
|
177
281
|
restart(): void;
|
|
282
|
+
/**
|
|
283
|
+
* Destroy application: abort pending navigations, run the middleware "stop" chain and release listeners.
|
|
284
|
+
* @param contextData Stop context data.
|
|
285
|
+
* @returns Promise of the stop context.
|
|
286
|
+
*/
|
|
178
287
|
destroy<TData extends ContextData = ContextData>(contextData?: TData | null): Promise<StopContext<this, TData>>;
|
|
179
288
|
/**
|
|
180
289
|
* Generate url of application base url.
|
|
@@ -193,13 +302,34 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
193
302
|
private __execNavigate;
|
|
194
303
|
}
|
|
195
304
|
|
|
305
|
+
/** Fluent builder that configures the application type, middlewares and model, then constructs an {@link Application}. */
|
|
196
306
|
declare class ApplicationBuilder<TModel extends ApplicationModel> {
|
|
197
307
|
private __model;
|
|
198
308
|
private __appType;
|
|
199
309
|
private __middlewares;
|
|
310
|
+
/**
|
|
311
|
+
* @param model Application model used when building the application.
|
|
312
|
+
*/
|
|
200
313
|
constructor(model: TModel);
|
|
314
|
+
/**
|
|
315
|
+
* Set a custom application type to instantiate instead of the base {@link Application}.
|
|
316
|
+
* @param appType Application class constructor.
|
|
317
|
+
* @returns The builder, for chaining.
|
|
318
|
+
*/
|
|
201
319
|
useApp(appType: typeof Application<TModel>): this;
|
|
320
|
+
/**
|
|
321
|
+
* Register a middleware via its factory function. Middlewares run in registration order.
|
|
322
|
+
* @param createFunc Factory that creates the middleware instance.
|
|
323
|
+
* @param params Optional arguments passed to the factory.
|
|
324
|
+
* @returns The builder, for chaining.
|
|
325
|
+
*/
|
|
202
326
|
useMiddleware(createFunc: ((...params: Array<any>) => Middleware), ...params: Array<any>): this;
|
|
327
|
+
/**
|
|
328
|
+
* Build and initialize the application instance.
|
|
329
|
+
* @param env Application environment (a base path of `/` is normalized to empty).
|
|
330
|
+
* @param args Extra arguments forwarded to the application constructor.
|
|
331
|
+
* @returns The initialized application instance.
|
|
332
|
+
*/
|
|
203
333
|
build(env: EnvironmentModel, ...args: any[]): Application<TModel>;
|
|
204
334
|
}
|
|
205
335
|
|
|
@@ -215,18 +345,36 @@ declare global {
|
|
|
215
345
|
navScope(scope: string): this;
|
|
216
346
|
}
|
|
217
347
|
}
|
|
348
|
+
/**
|
|
349
|
+
* Install the `HTMLElement.prototype` navigation helpers (`nav`, `navUrl`, `navReplace`,
|
|
350
|
+
* `navScope`). Opt-in (no longer a side effect on import) so bundlers can tree-shake them
|
|
351
|
+
* away when unused. {@link Application} calls this automatically on `run`; call it yourself
|
|
352
|
+
* only if you use the helpers before the application starts. Idempotent; no-op without a DOM.
|
|
353
|
+
*/
|
|
354
|
+
declare function enableNavExtensions(): void;
|
|
218
355
|
|
|
356
|
+
/** Parsed url components. */
|
|
219
357
|
interface ParsedUrl {
|
|
358
|
+
/** Origin, path, query and hash. */
|
|
220
359
|
full: string;
|
|
360
|
+
/** Origin, path and query, but without hash. */
|
|
221
361
|
url: string;
|
|
362
|
+
/** Path and query, but without hash. */
|
|
222
363
|
relative: string;
|
|
364
|
+
/** Scheme, host and port. */
|
|
223
365
|
origin: string;
|
|
366
|
+
/** Base path. */
|
|
224
367
|
basePath: string;
|
|
368
|
+
/** Path of the url. */
|
|
225
369
|
path: string;
|
|
370
|
+
/** Query parameters of the url. */
|
|
226
371
|
query: URLSearchParams;
|
|
372
|
+
/** Hash of the url, without the leading `#`. */
|
|
227
373
|
hash: string | null;
|
|
374
|
+
/** True if the origin differs from the current page origin. */
|
|
228
375
|
external: boolean;
|
|
229
376
|
}
|
|
377
|
+
/** Url helper functions. */
|
|
230
378
|
declare const _default: {
|
|
231
379
|
parseUrl: (basePath: string, url: string | null) => ParsedUrl;
|
|
232
380
|
extendQuery: (url: ParsedUrl, query: QueryParams | URLSearchParams | FormData) => void;
|
|
@@ -261,5 +409,5 @@ declare namespace constants {
|
|
|
261
409
|
};
|
|
262
410
|
}
|
|
263
411
|
|
|
264
|
-
export { APP_TYPENAME, Application, ApplicationBuilder, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
|
|
412
|
+
export { APP_TYPENAME, Application, ApplicationBuilder, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper, enableNavExtensions };
|
|
265
413
|
export type { ApplicationModel, ContextData, EnvironmentModel, InvokeContext, Middleware, MiddlewareMethod, MiddlewareNext, NavigateAction, NavigateContext, NavigateOptions, NavigateSource, QueryParams, StartContext, StopContext, SubmitContext, SubmitMethod, SubmitOptions };
|
package/package.json
CHANGED
|
@@ -23,12 +23,19 @@
|
|
|
23
23
|
"main": "dist/cjs/index.js",
|
|
24
24
|
"module": "dist/mjs/index.js",
|
|
25
25
|
"types": "dist/types.d.ts",
|
|
26
|
+
"sideEffects": false,
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/types.d.ts",
|
|
30
|
+
"import": "./dist/mjs/index.js",
|
|
31
|
+
"require": "./dist/cjs/index.js"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
26
34
|
"license": "Apache-2.0",
|
|
27
|
-
"version": "
|
|
35
|
+
"version": "2.0.2",
|
|
28
36
|
"dependencies": {
|
|
29
|
-
"@brandup/ui": "^
|
|
30
|
-
"@brandup/ui-
|
|
31
|
-
"@brandup/ui-helpers": "^1.0.44"
|
|
37
|
+
"@brandup/ui": "^2.0.2",
|
|
38
|
+
"@brandup/ui-helpers": "^2.0.2"
|
|
32
39
|
},
|
|
33
40
|
"files": [
|
|
34
41
|
"dist",
|