@vandeurenglenn/lite-elements 0.3.50 → 0.3.51
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/exports/banner.js +36 -36
- package/exports/bundle/button.js +6 -1
- package/exports/bundle/index.html +590 -590
- package/exports/bundle/themes/default/colors.module.css +180 -180
- package/exports/bundle/themes/default/missing/motion.css +3 -3
- package/exports/bundle/themes/default/missing/shape.css +12 -12
- package/exports/bundle/themes/default/missing/theme.dark.css +4 -4
- package/exports/bundle/themes/default/missing/theme.light.css +4 -4
- package/exports/bundle/themes/default/missing/tokens.css +8 -8
- package/exports/bundle/themes/default/theme.css +10 -10
- package/exports/bundle/themes/default/theme.dark.css +33 -33
- package/exports/bundle/themes/default/theme.light.css +33 -33
- package/exports/bundle/themes/default/tokens.css +256 -256
- package/exports/bundle/themes/default/typography.module.css +150 -150
- package/exports/bundle/upload-image.js +49 -45
- package/exports/button.js +148 -143
- package/exports/card.js +139 -139
- package/exports/code.js +34 -34
- package/exports/demo-icons.js +15 -15
- package/exports/demo-shell.js +539 -539
- package/exports/demo.js +456 -456
- package/exports/dialog.js +148 -148
- package/exports/divider.js +21 -21
- package/exports/drawer-button.js +13 -13
- package/exports/drawer-item.js +38 -38
- package/exports/drawer-layout.js +95 -95
- package/exports/drawer.js +7 -7
- package/exports/dropdown-menu.js +58 -58
- package/exports/dropdown.js +25 -25
- package/exports/elevation.js +50 -50
- package/exports/fab.js +145 -145
- package/exports/icon-button.js +12 -12
- package/exports/icon-set.js +4 -4
- package/exports/icon.js +15 -15
- package/exports/input.js +5 -5
- package/exports/list-item.js +42 -42
- package/exports/menu.js +12 -12
- package/exports/minute-field.js +4 -4
- package/exports/mixins/scroll-mixin.d.ts +1 -1
- package/exports/notification.js +34 -34
- package/exports/notifications.js +65 -65
- package/exports/pages.js +42 -42
- package/exports/pane.js +18 -18
- package/exports/rail.js +57 -57
- package/exports/root.js +7 -7
- package/exports/section/section.d.ts +1 -1
- package/exports/section.js +10 -10
- package/exports/section2.js +24 -24
- package/exports/selector.js +30 -30
- package/exports/summary-mirror.js +19 -19
- package/exports/summary.js +24 -24
- package/exports/supporting-pane.js +46 -46
- package/exports/tab.js +21 -21
- package/exports/tabs.js +50 -50
- package/exports/text-field.js +9 -9
- package/exports/theme.js +8 -8
- package/exports/themes/default/colors.module.css +180 -180
- package/exports/themes/default/missing/motion.css +3 -3
- package/exports/themes/default/missing/shape.css +12 -12
- package/exports/themes/default/missing/theme.dark.css +4 -4
- package/exports/themes/default/missing/theme.light.css +4 -4
- package/exports/themes/default/missing/tokens.css +8 -8
- package/exports/themes/default/theme.css +10 -10
- package/exports/themes/default/theme.dark.css +33 -33
- package/exports/themes/default/theme.light.css +33 -33
- package/exports/themes/default/tokens.css +256 -256
- package/exports/themes/default/typography.module.css +150 -150
- package/exports/time-picker.js +20 -20
- package/exports/toggle-button.js +3 -3
- package/exports/toggle.js +4 -4
- package/exports/top-app-bar.js +20 -20
- package/exports/typography.js +155 -155
- package/exports/upload-file.js +8 -8
- package/exports/upload-image.js +200 -200
- package/package.json +20 -28
- package/exports/bundle/simple-hash-router.js +0 -1
- package/exports/bundle/types2.js +0 -1
- package/exports/router/simple-hash-router.d.ts +0 -34
- package/exports/router/types.d.ts +0 -45
- package/exports/simple-hash-router.js +0 -111
- package/exports/types2.js +0 -1
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description
|
|
3
|
-
* A hash based router meant to work together with custom-pages, custom-select etc
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* new HashRouter({
|
|
7
|
-
* host: document.querySelector('app-shell'),
|
|
8
|
-
* fallback: {route: 'home' params: {...}},
|
|
9
|
-
* routes: [{
|
|
10
|
-
* 'home': {
|
|
11
|
-
* import: 'views/home.js'
|
|
12
|
-
* }
|
|
13
|
-
* }]
|
|
14
|
-
* })
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
class SimpleHashRouter {
|
|
18
|
-
routes;
|
|
19
|
-
constructor({ host, fallback, routes }) {
|
|
20
|
-
this.host = host;
|
|
21
|
-
this.routes = routes;
|
|
22
|
-
globalThis.onhashchange = this.#onhashchange;
|
|
23
|
-
if (!location.hash && fallback?.route) {
|
|
24
|
-
location.hash = HashRouter.bang(fallback.params ? `${fallback.route}?${HashRouter.queryIt(fallback.params)}` : fallback.route);
|
|
25
|
-
}
|
|
26
|
-
else
|
|
27
|
-
this.#onhashchange();
|
|
28
|
-
}
|
|
29
|
-
static queryIt(params) {
|
|
30
|
-
return Object.entries(params)
|
|
31
|
-
.map(([key, value]) => `${key}=${value}`)
|
|
32
|
-
.join('&');
|
|
33
|
-
}
|
|
34
|
-
static dequeryIt(query) {
|
|
35
|
-
const params = {};
|
|
36
|
-
if (!query)
|
|
37
|
-
return params;
|
|
38
|
-
for (const item of query.split('&')) {
|
|
39
|
-
const [key, value] = item.split('=');
|
|
40
|
-
params[key] = value;
|
|
41
|
-
}
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
static bang(route) {
|
|
45
|
-
return `#!/${route}`;
|
|
46
|
-
}
|
|
47
|
-
static debang(route) {
|
|
48
|
-
return route.split('#!/')[1];
|
|
49
|
-
}
|
|
50
|
-
static parseHash(hash) {
|
|
51
|
-
const afterBang = HashRouter.debang(hash);
|
|
52
|
-
const splitted = afterBang.split('?');
|
|
53
|
-
const routes = splitted[0].split('/');
|
|
54
|
-
const route = routes[0];
|
|
55
|
-
const subRoutes = routes.slice(1, -1);
|
|
56
|
-
const params = HashRouter.dequeryIt(splitted[1]);
|
|
57
|
-
return { route, routes, subRoutes, params, url: splitted[0] };
|
|
58
|
-
}
|
|
59
|
-
#handleSubRoutes = async (routing, routeInfo) => {
|
|
60
|
-
const { params, subRoutes } = routing;
|
|
61
|
-
let selected = this.host.pages.querySelector('.custom-selected');
|
|
62
|
-
if (routing.subRoutes?.length > 0) {
|
|
63
|
-
for (const route of routing.subRoutes) {
|
|
64
|
-
const subRouteInfo = routeInfo.subRoutes[route];
|
|
65
|
-
if (subRouteInfo) {
|
|
66
|
-
if (!customElements.get(`./${subRouteInfo.tagName}`))
|
|
67
|
-
await import(`./${subRouteInfo.import}.js`);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
if (!customElements.get(`./${route}`))
|
|
71
|
-
await import(`./${route}.js`);
|
|
72
|
-
console.warn(`handling undefined subroute for ${routing.route} falling back to default behavior.`);
|
|
73
|
-
}
|
|
74
|
-
selected.select({ route, params, subRoutes });
|
|
75
|
-
selected = selected.pages.querySelector('.custom-selected');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (params) {
|
|
79
|
-
for (const [key, value] of Object.entries(params)) {
|
|
80
|
-
selected[key] = value;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
#onhashchange = async () => {
|
|
85
|
-
const routing = HashRouter.parseHash(location.hash);
|
|
86
|
-
const routeInfo = this.routes[routing.url];
|
|
87
|
-
// todo allow to set loading
|
|
88
|
-
if (routeInfo) {
|
|
89
|
-
if (!customElements.get(`./${routeInfo.tagName}`))
|
|
90
|
-
await import(`./${routeInfo.import}.js`);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
if (!customElements.get(`./${routing.route}`))
|
|
94
|
-
await import(`./${routing.route}.js`);
|
|
95
|
-
}
|
|
96
|
-
this.host.select(routing);
|
|
97
|
-
// when a custom-pages element (or sortlike) is defined loop trough subroutes and make devlife easier
|
|
98
|
-
if (this.host.pages) {
|
|
99
|
-
this.#handleSubRoutes(routing, routeInfo);
|
|
100
|
-
}
|
|
101
|
-
document.dispatchEvent(new CustomEvent('route-change', {
|
|
102
|
-
detail: {
|
|
103
|
-
routing,
|
|
104
|
-
routeInfo
|
|
105
|
-
}
|
|
106
|
-
}));
|
|
107
|
-
};
|
|
108
|
-
go(route, params) { }
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export { SimpleHashRouter as default };
|
package/exports/types2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|