@vandeurenglenn/lite-elements 0.3.50 → 0.3.52

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