@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.
Files changed (81) hide show
  1. package/exports/banner.js +36 -36
  2. package/exports/bundle/button.js +6 -1
  3. package/exports/bundle/index.html +590 -590
  4. package/exports/bundle/themes/default/colors.module.css +180 -180
  5. package/exports/bundle/themes/default/missing/motion.css +3 -3
  6. package/exports/bundle/themes/default/missing/shape.css +12 -12
  7. package/exports/bundle/themes/default/missing/theme.dark.css +4 -4
  8. package/exports/bundle/themes/default/missing/theme.light.css +4 -4
  9. package/exports/bundle/themes/default/missing/tokens.css +8 -8
  10. package/exports/bundle/themes/default/theme.css +10 -10
  11. package/exports/bundle/themes/default/theme.dark.css +33 -33
  12. package/exports/bundle/themes/default/theme.light.css +33 -33
  13. package/exports/bundle/themes/default/tokens.css +256 -256
  14. package/exports/bundle/themes/default/typography.module.css +150 -150
  15. package/exports/bundle/upload-image.js +49 -45
  16. package/exports/button.js +148 -143
  17. package/exports/card.js +139 -139
  18. package/exports/code.js +34 -34
  19. package/exports/demo-icons.js +15 -15
  20. package/exports/demo-shell.js +539 -539
  21. package/exports/demo.js +456 -456
  22. package/exports/dialog.js +148 -148
  23. package/exports/divider.js +21 -21
  24. package/exports/drawer-button.js +13 -13
  25. package/exports/drawer-item.js +38 -38
  26. package/exports/drawer-layout.js +95 -95
  27. package/exports/drawer.js +7 -7
  28. package/exports/dropdown-menu.js +58 -58
  29. package/exports/dropdown.js +25 -25
  30. package/exports/elevation.js +50 -50
  31. package/exports/fab.js +145 -145
  32. package/exports/icon-button.js +12 -12
  33. package/exports/icon-set.js +4 -4
  34. package/exports/icon.js +15 -15
  35. package/exports/input.js +5 -5
  36. package/exports/list-item.js +42 -42
  37. package/exports/menu.js +12 -12
  38. package/exports/minute-field.js +4 -4
  39. package/exports/mixins/scroll-mixin.d.ts +1 -1
  40. package/exports/notification.js +34 -34
  41. package/exports/notifications.js +65 -65
  42. package/exports/pages.js +42 -42
  43. package/exports/pane.js +18 -18
  44. package/exports/rail.js +57 -57
  45. package/exports/root.js +7 -7
  46. package/exports/section/section.d.ts +1 -1
  47. package/exports/section.js +10 -10
  48. package/exports/section2.js +24 -24
  49. package/exports/selector.js +30 -30
  50. package/exports/summary-mirror.js +19 -19
  51. package/exports/summary.js +24 -24
  52. package/exports/supporting-pane.js +46 -46
  53. package/exports/tab.js +21 -21
  54. package/exports/tabs.js +50 -50
  55. package/exports/text-field.js +9 -9
  56. package/exports/theme.js +8 -8
  57. package/exports/themes/default/colors.module.css +180 -180
  58. package/exports/themes/default/missing/motion.css +3 -3
  59. package/exports/themes/default/missing/shape.css +12 -12
  60. package/exports/themes/default/missing/theme.dark.css +4 -4
  61. package/exports/themes/default/missing/theme.light.css +4 -4
  62. package/exports/themes/default/missing/tokens.css +8 -8
  63. package/exports/themes/default/theme.css +10 -10
  64. package/exports/themes/default/theme.dark.css +33 -33
  65. package/exports/themes/default/theme.light.css +33 -33
  66. package/exports/themes/default/tokens.css +256 -256
  67. package/exports/themes/default/typography.module.css +150 -150
  68. package/exports/time-picker.js +20 -20
  69. package/exports/toggle-button.js +3 -3
  70. package/exports/toggle.js +4 -4
  71. package/exports/top-app-bar.js +20 -20
  72. package/exports/typography.js +155 -155
  73. package/exports/upload-file.js +8 -8
  74. package/exports/upload-image.js +200 -200
  75. package/package.json +20 -28
  76. package/exports/bundle/simple-hash-router.js +0 -1
  77. package/exports/bundle/types2.js +0 -1
  78. package/exports/router/simple-hash-router.d.ts +0 -34
  79. package/exports/router/types.d.ts +0 -45
  80. package/exports/simple-hash-router.js +0 -111
  81. 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
-