@exmg/exm-navigation 1.0.3 → 1.1.1

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 (74) hide show
  1. package/README.md +72 -0
  2. package/index.d.ts +11 -15
  3. package/index.js +11 -15
  4. package/package.json +9 -8
  5. package/src/exm-navigation-base.d.ts +94 -19
  6. package/src/exm-navigation-base.js +293 -58
  7. package/src/exm-navigation-drawer-base.d.ts +8 -23
  8. package/src/exm-navigation-drawer-base.js +25 -149
  9. package/src/exm-navigation-drawer-menu-base.d.ts +12 -0
  10. package/src/exm-navigation-drawer-menu-base.js +45 -0
  11. package/src/exm-navigation-drawer-menu.d.ts +9 -0
  12. package/src/exm-navigation-drawer-menu.js +12 -0
  13. package/src/exm-navigation-drawer-nav-item-base.d.ts +14 -0
  14. package/src/exm-navigation-drawer-nav-item-base.js +45 -0
  15. package/src/exm-navigation-drawer-nav-item.d.ts +8 -0
  16. package/src/exm-navigation-drawer-nav-item.js +10 -0
  17. package/src/exm-navigation-drawer.d.ts +0 -1
  18. package/src/exm-navigation-drawer.js +0 -2
  19. package/src/exm-navigation-icon-base.d.ts +7 -0
  20. package/src/exm-navigation-icon-base.js +20 -0
  21. package/src/exm-navigation-icon-button-base.d.ts +9 -0
  22. package/src/exm-navigation-icon-button-base.js +34 -0
  23. package/src/exm-navigation-icon-button.d.ts +8 -0
  24. package/src/exm-navigation-icon-button.js +10 -0
  25. package/src/exm-navigation-icon.d.ts +8 -0
  26. package/src/exm-navigation-icon.js +10 -0
  27. package/src/exm-navigation-rail-base.d.ts +8 -0
  28. package/src/exm-navigation-rail-base.js +48 -3
  29. package/src/exm-navigation-rail-nav-item-base.d.ts +2 -4
  30. package/src/exm-navigation-rail-nav-item-base.js +7 -39
  31. package/src/exm-navigation-rail-nav-item.d.ts +0 -1
  32. package/src/exm-navigation-rail-nav-item.js +0 -2
  33. package/src/exm-navigation-rail.d.ts +0 -1
  34. package/src/exm-navigation-rail.js +0 -2
  35. package/src/exm-navigation-sub-menu-base.d.ts +17 -0
  36. package/src/exm-navigation-sub-menu-base.js +88 -0
  37. package/src/exm-navigation-sub-menu.d.ts +8 -0
  38. package/src/exm-navigation-sub-menu.js +10 -0
  39. package/src/exm-navigation-topbar-base.d.ts +10 -0
  40. package/src/exm-navigation-topbar-base.js +34 -0
  41. package/src/exm-navigation-topbar.d.ts +8 -0
  42. package/src/exm-navigation-topbar.js +10 -0
  43. package/src/exm-navigation.d.ts +8 -0
  44. package/src/exm-navigation.js +10 -0
  45. package/src/mixins/media-queries.d.ts +7 -0
  46. package/src/mixins/media-queries.js +44 -0
  47. package/src/styles/exm-navigate-drawer-nav-item-css.d.ts +1 -0
  48. package/src/styles/exm-navigate-drawer-nav-item-css.js +40 -0
  49. package/src/styles/exm-navigation-css.d.ts +1 -0
  50. package/src/styles/exm-navigation-css.js +56 -0
  51. package/src/styles/exm-navigation-drawer-css.d.ts +0 -1
  52. package/src/styles/exm-navigation-drawer-css.js +22 -2
  53. package/src/styles/exm-navigation-drawer-nav-item-css.d.ts +1 -0
  54. package/src/styles/exm-navigation-drawer-nav-item-css.js +40 -0
  55. package/src/styles/exm-navigation-icon-button-css.d.ts +1 -0
  56. package/src/styles/exm-navigation-icon-button-css.js +23 -0
  57. package/src/styles/exm-navigation-icon-css.d.ts +1 -0
  58. package/src/styles/exm-navigation-icon-css.js +22 -0
  59. package/src/styles/exm-navigation-rail-css.d.ts +0 -1
  60. package/src/styles/exm-navigation-rail-css.js +47 -2
  61. package/src/styles/exm-navigation-rail-nav-item-css.d.ts +0 -1
  62. package/src/styles/exm-navigation-rail-nav-item-css.js +92 -2
  63. package/src/styles/exm-navigation-sub-menu-css.d.ts +1 -0
  64. package/src/styles/exm-navigation-sub-menu-css.js +38 -0
  65. package/src/styles/exm-navigation-topbar-css.d.ts +1 -0
  66. package/src/styles/exm-navigation-topbar-css.js +29 -0
  67. package/src/types.d.ts +8 -0
  68. package/src/types.js +2 -0
  69. package/src/styles/exm-navigation-drawer.scss +0 -29
  70. package/src/styles/exm-navigation-rail-nav-item.scss +0 -107
  71. package/src/styles/exm-navigation-rail-nav.scss +0 -7
  72. package/src/styles/exm-navigation-rail.scss +0 -35
  73. package/src/styles/exm-navigation-styles.scss +0 -46
  74. package/src/styles/exm-navigation-toolbar.scss +0 -18
@@ -0,0 +1,8 @@
1
+ import { ExmNavigationBase } from './exm-navigation-base.js';
2
+ export declare class ExmNavigation extends ExmNavigationBase {
3
+ }
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'exm-navigation': ExmNavigation;
7
+ }
8
+ }
@@ -0,0 +1,10 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from 'lit/decorators.js';
3
+ import { ExmNavigationBase } from './exm-navigation-base.js';
4
+ let ExmNavigation = class ExmNavigation extends ExmNavigationBase {
5
+ };
6
+ ExmNavigation = __decorate([
7
+ customElement('exm-navigation')
8
+ ], ExmNavigation);
9
+ export { ExmNavigation };
10
+ //# sourceMappingURL=exm-navigation.js.map
@@ -0,0 +1,7 @@
1
+ import { LitElement } from 'lit';
2
+ type Constructor<T = {}> = new (...args: any[]) => T;
3
+ type MediaType = 'mobile' | 'tablet' | 'desktop';
4
+ export declare const MediaQueries: <T extends Constructor<LitElement>>(superClass: T) => Constructor<{
5
+ media: MediaType;
6
+ }> & T;
7
+ export {};
@@ -0,0 +1,44 @@
1
+ import { __decorate } from "tslib";
2
+ import { property } from 'lit/decorators.js';
3
+ export const MediaQueries = (superClass) => {
4
+ class MediaQueryClass extends superClass {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.media = 'desktop';
8
+ this.mobileMedia = window.matchMedia('(max-width: 400px)');
9
+ this.tabletMedia = window.matchMedia('(min-width: 401px) and (max-width: 1200px)');
10
+ this.desktopMedia = window.matchMedia('(min-width: 1201px)');
11
+ }
12
+ updateMedia(media) {
13
+ return (mediaMatch) => {
14
+ if (mediaMatch.matches) {
15
+ this.media = media;
16
+ this.requestUpdate();
17
+ }
18
+ };
19
+ }
20
+ connectedCallback() {
21
+ super.connectedCallback();
22
+ // @ts-ignore
23
+ this.updateMedia('mobile')(this.mobileMedia);
24
+ // @ts-ignore
25
+ this.updateMedia('tablet')(this.tabletMedia);
26
+ // @ts-ignore
27
+ this.updateMedia('desktop')(this.desktopMedia);
28
+ // eslint-disable-next-line
29
+ this.mobileMedia.addEventListener('change', this.updateMedia('mobile').bind(this));
30
+ this.tabletMedia.addEventListener('change', this.updateMedia('tablet').bind(this));
31
+ this.desktopMedia.addEventListener('change', this.updateMedia('desktop').bind(this));
32
+ }
33
+ updated(changedProperties) {
34
+ var _a;
35
+ (_a = super.updated) === null || _a === void 0 ? void 0 : _a.call(this, changedProperties);
36
+ console.log(`${this.media} was updated`);
37
+ }
38
+ }
39
+ __decorate([
40
+ property({ type: String })
41
+ ], MediaQueryClass.prototype, "media", void 0);
42
+ return MediaQueryClass;
43
+ };
44
+ //# sourceMappingURL=media-queries.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,40 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ :host {
4
+ --_exm-navigation-item-background-color-selected: var(
5
+ --exm-navigation-item-background-color-selected,
6
+ var(--md-sys-color-secondary)
7
+ );
8
+ --_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary));
9
+ }
10
+
11
+ md-list-item {
12
+ margin-right: 8px;
13
+ margin-left: 8px;
14
+ border-radius: 1rem;
15
+ --md-list-item-container-shape: 1rem;
16
+ display: grid;
17
+ grid-template-columns: auto 1fr auto;
18
+ }
19
+
20
+ md-list-item[selected] {
21
+ --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
22
+ background-color: var(--_exm-navigation-item-background-color-selected);
23
+ --md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected)
24
+ --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected);
25
+ }
26
+
27
+ md-list-item.collapsed-item[selected] {
28
+ --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
29
+ background-color: var(--_exm-navigation-item-background-color-selected);
30
+ }
31
+
32
+ md-list-item[selected] md-icon {
33
+ color: var(--md-sys-color-primary);
34
+ }
35
+
36
+ .sub-menu {
37
+ margin-left: 1rem;
38
+ }
39
+ `;
40
+ //# sourceMappingURL=exm-navigate-drawer-nav-item-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,56 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ .navigation-container {
4
+ display: grid;
5
+ grid-template-columns: auto var(--exm-drawer-width, 500px) 1fr;
6
+ grid-template-rows: 1fr;
7
+ width: 100%;
8
+ transition: grid-template-columns 0.3s ease;
9
+ }
10
+
11
+ .navigation-container.show-topbar {
12
+ grid-template-columns: 1fr;
13
+ grid-template-rows: auto 1fr;
14
+ }
15
+
16
+ .navigation-container.show-topbar exm-navigation-topbar {
17
+ grid-area: 1/1/2/2;
18
+ z-index: 2;
19
+ }
20
+
21
+ .navigation-container.show-topbar exm-navigation-drawer {
22
+ grid-area: 1/1/3/2;
23
+ }
24
+
25
+ .navigation-container.show-topbar .content {
26
+ grid-area: 2/1/3/2;
27
+ }
28
+
29
+ exm-navigation-rail {
30
+ grid-area: 1/1/2/2;
31
+ }
32
+
33
+ exm-navigation-drawer {
34
+ grid-area: 1/2/2/3;
35
+ }
36
+
37
+ .content {
38
+ grid-area: 1/3/2/4;
39
+ z-index: 1;
40
+ }
41
+
42
+ exm-navigation-drawer {
43
+ --md-list-container-color: none;
44
+ --md-list-item-label-text-color: var(--md-sys-color-on-surface-variant);
45
+ --md-list-item-supporting-text-color: var(--md-sys-color-on-surface-variant);
46
+ --md-list-item-trailing-supporting-text-color: var(--md-sys-color-on-surface-variant);
47
+ --md-list-item-container-shape: 24px;
48
+ --mdc-theme-surface: var(--md-sys-color-surface-container-high);
49
+ --mdc-shape-large: 1rem;
50
+ }
51
+
52
+ .left-margin {
53
+ margin-left: 2.5rem;
54
+ }
55
+ `;
56
+ //# sourceMappingURL=exm-navigation-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,24 @@
1
1
  import { css } from 'lit';
2
- export const style = css `:host{display:block;height:100vh;width:100%;box-sizing:border-box}mwc-drawer{--mdc-drawer-width: 240px}@media screen and (min-width: 961px){:host{padding-left:0}mwc-drawer{margin-left:88px}}@media screen and (max-width: 961px){:host{padding-left:0}mwc-drawer{margin-left:0;--mdc-drawer-width: 319px}}`;
3
- export default style;
2
+ export const style = css `
3
+ :root {
4
+ --md-sys-color-background: var(--md-sys-color-surface-container-high);
5
+ }
6
+
7
+ :host {
8
+ --mdc-drawer-width: 319px;
9
+ display: grid;
10
+ grid-template-columns: var(--mdc-drawer-width, 300px) 1fr;
11
+ height: 100vh;
12
+ width: 100%;
13
+ box-sizing: border-box;
14
+ transition: grid-template-columns 0.3s ease;
15
+ position: relative;
16
+ }
17
+
18
+ @media screen and (min-width: 961px) {
19
+ slot[name='appContent'] {
20
+ background-color: rgba(0, 0, 0, 0);
21
+ }
22
+ }
23
+ `;
4
24
  //# sourceMappingURL=exm-navigation-drawer-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,40 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ :host {
4
+ --_exm-navigation-item-background-color-selected: var(
5
+ --exm-navigation-item-background-color-selected,
6
+ var(--md-sys-color-secondary)
7
+ );
8
+ --_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary));
9
+ }
10
+
11
+ md-list-item {
12
+ margin-right: 8px;
13
+ margin-left: 8px;
14
+ border-radius: 1rem;
15
+ --md-list-item-container-shape: 1rem;
16
+ }
17
+
18
+ md-list-item[selected] {
19
+ --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
20
+ background-color: var(--_exm-navigation-item-background-color-selected);
21
+ --md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected)
22
+ --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected);
23
+ --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected)
24
+ --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected);
25
+ }
26
+
27
+ md-list-item.collapsed-item[selected] {
28
+ --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
29
+ background-color: var(--_exm-navigation-item-background-color-selected);
30
+ }
31
+
32
+ md-list-item[selected] md-icon {
33
+ color: var(--md-sys-color-primary);
34
+ }
35
+
36
+ .sub-menu {
37
+ margin-left: 1rem;
38
+ }
39
+ `;
40
+ //# sourceMappingURL=exm-navigation-drawer-nav-item-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,23 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ .icon-button {
4
+ border: none;
5
+ background-color: rgba(0, 0, 0, 0);
6
+ color: #fff;
7
+ width: 48px;
8
+ height: 48px;
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+
13
+ .icon-button.has-label {
14
+ width: auto;
15
+ }
16
+
17
+ .icon-button .label {
18
+ padding: 0 8px;
19
+ white-space: nowrap;
20
+ font-size: 16px;
21
+ }
22
+ `;
23
+ //# sourceMappingURL=exm-navigation-icon-button-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,22 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ .icon {
4
+ align-items: center;
5
+ justify-content: center;
6
+ display: flex;
7
+ position: relative;
8
+ height: 100%;
9
+ width: 100%;
10
+ font-variation-settings:
11
+ 'wght' 400,
12
+ 'opsz' 24;
13
+ transition: font-variation-settings 0.2s cubic-bezier(0.2, 0, 0, 1);
14
+ border-radius: 16px;
15
+ font-family: 'Material Symbols Outlined';
16
+ font-size: 24px;
17
+ line-height: 1;
18
+ direction: ltr;
19
+ -webkit-font-smoothing: antialiased;
20
+ }
21
+ `;
22
+ //# sourceMappingURL=exm-navigation-icon-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,49 @@
1
1
  import { css } from 'lit';
2
- export const style = css `:host{--_exm-navigation-rail-background-color: var( --exm-navigation-rail-background-color, var(--md-sys-color-surface-container) );display:none;position:fixed;top:0;left:0;flex-direction:column;justify-content:space-between;height:100%;background:var(--_exm-navigation-rail-background-color);overflow-y:auto;z-index:8;box-sizing:border-box}@media screen and (min-width: 961px){:host{display:flex}}.nav{flex:1}.bottom{display:flex;flex-direction:column;flex-grow:1;justify-content:flex-end}`;
3
- export default style;
2
+ export const style = css `
3
+ :host {
4
+ --_exm-navigation-rail-background-color: var(
5
+ --exm-navigation-rail-background-color,
6
+ var(--md-sys-color-surface-container)
7
+ );
8
+ --_exm-navigation-rail-width: var(--exm-navigation-rail-nav-width, 88px);
9
+ display: flex;
10
+ flex-direction: column;
11
+ gap: 16px;
12
+ justify-content: space-between;
13
+ height: 100%;
14
+ background: var(--_exm-navigation-rail-background-color);
15
+ overflow-y: auto;
16
+ z-index: 8;
17
+ box-sizing: border-box;
18
+ width: var(--_exm-navigation-rail-width);
19
+ }
20
+
21
+ @media screen and (min-width: 961px) {
22
+ :host {
23
+ display: flex;
24
+ }
25
+ }
26
+
27
+ nav {
28
+ flex: 1;
29
+ }
30
+
31
+ nav ul {
32
+ list-style: none;
33
+ padding: 0;
34
+ margin: 0;
35
+ }
36
+
37
+ nav li {
38
+ padding: 0;
39
+ margin: 0;
40
+ }
41
+
42
+ .bottom {
43
+ display: flex;
44
+ flex-direction: column;
45
+ flex-grow: 1;
46
+ justify-content: flex-end;
47
+ }
48
+ `;
4
49
  //# sourceMappingURL=exm-navigation-rail-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,94 @@
1
1
  import { css } from 'lit';
2
- export const style = css `:host{--_exm-navigation-rail-nav-item-color: var( --exm-navigation-rail-nav-item-color, var(--md-sys-color-on-surface-variant) );--_exm-navigation-rail-nav-item-icon-color: var( --exm-navigation-rail-nav-item-icon-color, var(--md-sys-color-on-surface-variant) );--_exm-navigation-rail-nav-item-icon-color-hover: var( --exm-navigation-rail-nav-item-icon-color-hover, var(--md-sys-color-surface-container-highest) );--_exm-navigation-rail-nav-item-icon-color-selected: var( --exm-navigation-rail-nav-item-icon-color-selected, var(--md-sys-color-secondary) );--_exm-navigation-rail-nav-item-color-selected: var( --exm-navigation-rail-nav-item-color-selected, var(--md-sys-color-on-secondary) );display:flex;flex-direction:column;width:80px;margin:-2px auto 14px;padding:2px;vertical-align:baseline;align-items:center;cursor:pointer}button{position:relative;background:none;border:none;color:var(--_exm-navigation-rail-nav-item-color)}button:focus{outline:none}.symbols{display:flex;text-align:center;position:relative;align-items:center;justify-content:center;width:56px;height:32px;margin-right:auto;margin-bottom:4px;margin-left:auto;font-variation-settings:"wght" 400,"opsz" 24;transition:font-variation-settings .2s cubic-bezier(0.2, 0, 0, 1);border-radius:16px}.symbols{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}.symbols:before{position:absolute;width:100%;height:100%;opacity:0;transform:scaleX(0.32);transition-duration:.2s;transition-property:transform,opacity;transition-timing-function:linear;border-radius:100px;background:var(--md-sys-color-secondary-container);content:"";z-index:-1}.symbols{color:var(--_exm-navigation-rail-nav-item-icon-color);font-variation-settings:"FILL" 1,"wght" 400,"opsz" 24}:host(:hover) .symbols{background:var(--_exm-navigation-rail-nav-item-icon-color-hover);font-variation-settings:"wght" 600,"opsz" 24}:host([selected]) .symbols{background:var(--_exm-navigation-rail-nav-item-icon-color-selected);color:var(--_exm-navigation-rail-nav-item-color-selected);font-variation-settings:"wght" 600,"opsz" 24}:host([selected]:hover) .symbols{opacity:.7}`;
3
- export default style;
2
+ export const style = css `
3
+ :host {
4
+ --_exm-navigation-rail-nav-item-color: var(
5
+ --exm-navigation-rail-nav-item-color,
6
+ var(--md-sys-color-on-surface-variant)
7
+ );
8
+ --_exm-navigation-rail-nav-item-icon-color: var(
9
+ --exm-navigation-rail-nav-item-icon-color,
10
+ var(--md-sys-color-on-surface-variant)
11
+ );
12
+ --_exm-navigation-rail-nav-item-icon-color-hover: var(
13
+ --exm-navigation-rail-nav-item-icon-color-hover,
14
+ var(--md-sys-color-surface-container-highest)
15
+ );
16
+ --_exm-navigation-rail-nav-item-icon-color-selected: var(
17
+ --exm-navigation-rail-nav-item-icon-color-selected,
18
+ var(--md-sys-color-secondary)
19
+ );
20
+ --_exm-navigation-rail-nav-item-color-selected: var(
21
+ --exm-navigation-rail-nav-item-color-selected,
22
+ var(--md-sys-color-on-secondary)
23
+ );
24
+ --_exm-navigation-rail-nav-item-width: var(--exm-navigation-rail-nav-item-width, 80px);
25
+ display: flex;
26
+ flex-direction: column;
27
+ width: var(--_exm-navigation-rail-nav-item-width);
28
+ margin: -2px 0 14px;
29
+ padding: 2px 0;
30
+ vertical-align: baseline;
31
+ align-items: center;
32
+ cursor: pointer;
33
+ width: 100%;
34
+ }
35
+
36
+ button {
37
+ position: relative;
38
+ background: none;
39
+ border: none;
40
+ color: var(--_exm-navigation-rail-nav-item-color);
41
+ }
42
+
43
+ button:focus {
44
+ outline: none;
45
+ }
46
+
47
+ .symbols {
48
+ display: flex;
49
+ position: relative;
50
+ align-items: center;
51
+ justify-content: center;
52
+ width: 56px;
53
+ height: 32px;
54
+ margin: 0 auto 4px;
55
+ transition: font-variation-settings 0.2s cubic-bezier(0.2, 0, 0, 1);
56
+ border-radius: 16px;
57
+ color: var(--_exm-navigation-rail-nav-item-icon-color);
58
+ }
59
+
60
+ .symbols:before {
61
+ position: absolute;
62
+ width: 100%;
63
+ height: 100%;
64
+ opacity: 0;
65
+ transform: scaleX(0.32);
66
+ transition-duration: 0.2s;
67
+ transition-property: transform, opacity;
68
+ transition-timing-function: linear;
69
+ border-radius: 100px;
70
+ background: var(--md-sys-color-secondary-container);
71
+ content: '';
72
+ z-index: -1;
73
+ }
74
+
75
+ :host(:hover) .symbols {
76
+ background: var(--_exm-navigation-rail-nav-item-icon-color-hover);
77
+ font-variation-settings:
78
+ 'wght' 600,
79
+ 'opsz' 24;
80
+ }
81
+
82
+ :host([selected]) .symbols {
83
+ background: var(--_exm-navigation-rail-nav-item-icon-color-selected);
84
+ color: var(--_exm-navigation-rail-nav-item-color-selected);
85
+ font-variation-settings:
86
+ 'wght' 600,
87
+ 'opsz' 24;
88
+ }
89
+
90
+ :host([selected]:hover) .symbols {
91
+ opacity: 0.7;
92
+ }
93
+ `;
4
94
  //# sourceMappingURL=exm-navigation-rail-nav-item-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,38 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ :host {
4
+ --_exm-navigation-item-background-color-selected: var(
5
+ --exm-navigation-item-background-color-selected,
6
+ var(--md-sys-color-secondary)
7
+ );
8
+ --_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary));
9
+ }
10
+
11
+ md-list-item {
12
+ margin-right: 8px;
13
+ margin-left: 8px;
14
+ border-radius: 1rem;
15
+ --md-list-item-container-shape: 1rem;
16
+ }
17
+
18
+ md-list-item[selected] {
19
+ --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
20
+ background-color: var(--_exm-navigation-item-background-color-selected);
21
+ --md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected)
22
+ --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected);
23
+ }
24
+
25
+ md-list-item.collapsed-item[selected] {
26
+ --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
27
+ background-color: var(--_exm-navigation-item-background-color-selected);
28
+ }
29
+
30
+ md-list-item[selected] md-icon {
31
+ color: var(--md-sys-color-primary);
32
+ }
33
+
34
+ .sub-menu {
35
+ margin-left: 1rem;
36
+ }
37
+ `;
38
+ //# sourceMappingURL=exm-navigation-sub-menu-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,29 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ :host {
4
+ --_exm-navigation-topbar-background-color: var(
5
+ --exm-navigation-topbar-background-color,
6
+ var(--md-sys-color-surface-container)
7
+ );
8
+ --_exm-navigation-top-bar-height: var(--exm-navigation-top-bar-height, 64px);
9
+ background: var(--_exm-navigation-rail-background-color);
10
+ box-sizing: border-box;
11
+ display: grid;
12
+ grid-template-columns: var(--_exm-navigation-top-bar-height) 1fr;
13
+ height: var(--_exm-navigation-top-bar-height);
14
+ gap: 8px;
15
+ justify-content: space-between;
16
+ width: 100%;
17
+ }
18
+
19
+ exm-navigation-icon-button {
20
+ align-self: center;
21
+ grid-area: 1/1/2/2;
22
+ justify-self: center;
23
+ }
24
+
25
+ ::slotted(*) {
26
+ align-self: center;
27
+ }
28
+ `;
29
+ //# sourceMappingURL=exm-navigation-topbar-css.js.map
package/src/types.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export interface MenuItem {
2
+ id: string;
3
+ label: string;
4
+ path?: string;
5
+ url?: string;
6
+ icon?: string;
7
+ items?: MenuItem[];
8
+ }
package/src/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -1,29 +0,0 @@
1
- :host {
2
- display: block;
3
- height: 100vh;
4
- width: 100%;
5
- box-sizing: border-box;
6
- }
7
-
8
- mwc-drawer {
9
- --mdc-drawer-width: 240px;
10
- }
11
-
12
- @media screen and (min-width: 961px) {
13
- :host {
14
- padding-left: 0;
15
- }
16
- mwc-drawer {
17
- margin-left: 88px;
18
- }
19
- }
20
-
21
- @media screen and (max-width: 961px) {
22
- :host {
23
- padding-left: 0;
24
- }
25
- mwc-drawer {
26
- margin-left: 0;
27
- --mdc-drawer-width: 319px;
28
- }
29
- }