@exmg/exm-navigation 1.1.0 → 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 (57) hide show
  1. package/README.md +72 -0
  2. package/package.json +3 -3
  3. package/src/exm-navigation-base.d.ts +1 -1
  4. package/src/exm-navigation-base.js +6 -1
  5. package/src/exm-navigation-drawer-nav.d.ts +9 -0
  6. package/src/exm-navigation-drawer-nav.js +47 -0
  7. package/src/exm-navigation-rail-base.js +2 -2
  8. package/src/exm-navigation-rail-nav-base.d.ts +4 -0
  9. package/src/exm-navigation-rail-nav-base.js +9 -0
  10. package/src/exm-navigation-rail-nav.d.ts +9 -0
  11. package/src/exm-navigation-rail-nav.js +12 -0
  12. package/src/exm-navigation-signals.d.ts +8 -1
  13. package/src/exm-navigation-signals.js +11 -0
  14. package/src/exm-navigation-toolbar-base.d.ts +8 -0
  15. package/src/exm-navigation-toolbar-base.js +33 -0
  16. package/src/exm-navigation-toolbar.d.ts +9 -0
  17. package/src/exm-navigation-toolbar.js +12 -0
  18. package/src/exm-navigation-topbar-base.js +2 -1
  19. package/src/mixins/media-queries.js +0 -1
  20. package/src/styles/exm-navigate-drawer-nav-item-css.d.ts +0 -1
  21. package/src/styles/exm-navigate-drawer-nav-item-css.js +38 -2
  22. package/src/styles/exm-navigation-css.d.ts +0 -1
  23. package/src/styles/exm-navigation-css.js +54 -2
  24. package/src/styles/exm-navigation-drawer-css.d.ts +0 -1
  25. package/src/styles/exm-navigation-drawer-css.js +22 -2
  26. package/src/styles/exm-navigation-drawer-nav-item-css.d.ts +0 -1
  27. package/src/styles/exm-navigation-drawer-nav-item-css.js +38 -2
  28. package/src/styles/exm-navigation-icon-button-css.d.ts +0 -1
  29. package/src/styles/exm-navigation-icon-button-css.js +21 -2
  30. package/src/styles/exm-navigation-icon-css.d.ts +0 -1
  31. package/src/styles/exm-navigation-icon-css.js +20 -2
  32. package/src/styles/exm-navigation-rail-css.d.ts +0 -1
  33. package/src/styles/exm-navigation-rail-css.js +47 -2
  34. package/src/styles/exm-navigation-rail-nav-css.d.ts +2 -0
  35. package/src/styles/exm-navigation-rail-nav-css.js +4 -0
  36. package/src/styles/exm-navigation-rail-nav-item-css.d.ts +0 -1
  37. package/src/styles/exm-navigation-rail-nav-item-css.js +92 -2
  38. package/src/styles/exm-navigation-styles-css.d.ts +2 -0
  39. package/src/styles/exm-navigation-styles-css.js +4 -0
  40. package/src/styles/exm-navigation-sub-menu-css.d.ts +0 -1
  41. package/src/styles/exm-navigation-sub-menu-css.js +36 -2
  42. package/src/styles/exm-navigation-toolbar-css.d.ts +2 -0
  43. package/src/styles/exm-navigation-toolbar-css.js +4 -0
  44. package/src/styles/exm-navigation-topbar-css.d.ts +0 -1
  45. package/src/styles/exm-navigation-topbar-css.js +27 -2
  46. package/src/exm-navigation-menu-button-base.d.ts +0 -7
  47. package/src/exm-navigation-menu-button.d.ts +0 -9
  48. package/src/mediaQueries.d.ts +0 -7
  49. package/src/styles/exm-navigation-drawer-nav-item.scss +0 -36
  50. package/src/styles/exm-navigation-drawer.scss +0 -24
  51. package/src/styles/exm-navigation-icon-button.scss +0 -19
  52. package/src/styles/exm-navigation-icon.scss +0 -18
  53. package/src/styles/exm-navigation-rail-nav-item.scss +0 -92
  54. package/src/styles/exm-navigation-rail.scss +0 -44
  55. package/src/styles/exm-navigation-sub-menu.scss +0 -34
  56. package/src/styles/exm-navigation-topbar.scss +0 -27
  57. package/src/styles/exm-navigation.scss +0 -52
@@ -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) );--_exm-navigation-rail-width: var(--exm-navigation-rail-nav-width, 88px);display:flex;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;width:var(--_exm-navigation-rail-width)}@media screen and (min-width: 961px){:host{display:flex}}nav{flex:1}nav ul{list-style:none;padding:0;margin:0}nav li{padding:0;margin:0}.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
@@ -0,0 +1,2 @@
1
+ export declare const style: import("lit").CSSResult;
2
+ export default style;
@@ -0,0 +1,4 @@
1
+ import { css } from 'lit';
2
+ export const style = css `:host{display:flex;flex-direction:column;--_exm-navigation-rail-nav-width: var(--exm-navigation-rail-nav-width, 88px);width:var(--_exm-navigation-rail-nav-width);margin-top:20px}`;
3
+ export default style;
4
+ //# sourceMappingURL=exm-navigation-rail-nav-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) );--_exm-navigation-rail-nav-item-width: var(--exm-navigation-rail-nav-item-width, 80px);display:flex;flex-direction:column;width:var(--_exm-navigation-rail-nav-item-width);margin:-2px 0 14px;padding:2px 0;vertical-align:baseline;align-items:center;cursor:pointer;width:100%}button{position:relative;background:none;border:none;color:var(--_exm-navigation-rail-nav-item-color)}button:focus{outline:none}.symbols{display:flex;position:relative;align-items:center;justify-content:center;width:56px;height:32px;margin:0 auto 4px;transition:font-variation-settings .2s cubic-bezier(0.2, 0, 0, 1);border-radius:16px;color:var(--_exm-navigation-rail-nav-item-icon-color)}.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}: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,2 @@
1
+ export declare const style: import("lit").CSSResult;
2
+ export default style;
@@ -0,0 +1,4 @@
1
+ import { css } from 'lit';
2
+ export const style = css `:host{--_exm-navigation-item-background-color-selected: var( --exm-navigation-item-background-color-selected, var(--md-sys-color-secondary) );--_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary))}exm-navigation-drawer{--md-list-container-color: none;--md-list-item-label-text-color: var(--md-sys-color-on-surface-variant);--md-list-item-supporting-text-color: var(--md-sys-color-on-surface-variant);--md-list-item-trailing-supporting-text-color: var(--md-sys-color-on-surface-variant);--md-list-item-container-shape: 24px}exm-navigation-drawer md-list-item{margin-right:8px;margin-left:8px;border-radius:24px;--md-list-item-container-shape: 24px}exm-navigation-drawer md-list-item[selected]{--md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);background-color:var(--_exm-navigation-item-background-color-selected);--md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected) --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected)}exm-navigation-drawer md-list-item.collapsed-item[selected]{--md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);background-color:var(--_exm-navigation-item-background-color-selected)}exm-navigation-drawer md-list-item[selected] md-icon{color:var(--md-sys-color-primary)}.sub-menu{margin-left:.8rem}.left-margin{margin-left:2.5rem}`;
3
+ export default style;
4
+ //# sourceMappingURL=exm-navigation-styles-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,38 @@
1
1
  import { css } from 'lit';
2
- export const style = css `:host{--_exm-navigation-item-background-color-selected: var( --exm-navigation-item-background-color-selected, var(--md-sys-color-secondary) );--_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary))}md-list-item{margin-right:8px;margin-left:8px;border-radius:1rem;--md-list-item-container-shape: 1rem}md-list-item[selected]{--md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);background-color:var(--_exm-navigation-item-background-color-selected);--md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected) --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected)}md-list-item.collapsed-item[selected]{--md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);background-color:var(--_exm-navigation-item-background-color-selected)}md-list-item[selected] md-icon{color:var(--md-sys-color-primary)}.sub-menu{margin-left:1rem}`;
3
- export default style;
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
+ `;
4
38
  //# sourceMappingURL=exm-navigation-sub-menu-css.js.map
@@ -0,0 +1,2 @@
1
+ export declare const style: import("lit").CSSResult;
2
+ export default style;
@@ -0,0 +1,4 @@
1
+ import { css } from 'lit';
2
+ export const style = css `:host{display:block}mwc-top-app-bar-fixed{--mdc-theme-primary: var(--exm-navigation-toolbar-primary, var(--md-sys-color-background));--mdc-theme-on-primary: var(--exm-navigation-toolbar-on-primary, var(--md-sys-color-on-background))}md-icon{fill:var(--exm-navigation-toolbar-on-primary, var(--md-sys-color-on-background))}@media screen and (min-width: 961px){slot[name=navigationIcon]{display:none}}`;
3
+ export default style;
4
+ //# sourceMappingURL=exm-navigation-toolbar-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,29 @@
1
1
  import { css } from 'lit';
2
- export const style = css `:host{--_exm-navigation-topbar-background-color: var( --exm-navigation-topbar-background-color, var(--md-sys-color-surface-container) );--_exm-navigation-top-bar-height: var(--exm-navigation-top-bar-height, 64px);background:var(--_exm-navigation-rail-background-color);box-sizing:border-box;display:grid;grid-template-columns:var(--_exm-navigation-top-bar-height) 1fr;height:var(--_exm-navigation-top-bar-height);justify-content:space-between;width:100%}exm-navigation-icon-button{align-self:center;grid-area:1/1/2/2;justify-self:center}::slotted(*){align-self:center;grid-area:1/2/2/3;padding:0 8px}`;
3
- export default style;
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
+ `;
4
29
  //# sourceMappingURL=exm-navigation-topbar-css.js.map
@@ -1,7 +0,0 @@
1
- import { ExmgElement } from '@exmg/lit-base/index.js';
2
- import './exm-navigation-rail-nav-item.js';
3
- export declare class ExmNavigationMenuButtonBase extends ExmgElement {
4
- open: boolean;
5
- handleMenuButtonClick(itemId: string): void;
6
- render(): import("lit-html").TemplateResult<1>;
7
- }
@@ -1,9 +0,0 @@
1
- import { ExmNavigationMenuButtonBase } from './exm-navigation-menu-button-base.js';
2
- export declare class ExmNavigationMenuButton extends ExmNavigationMenuButtonBase {
3
- static styles: import("lit").CSSResult[];
4
- }
5
- declare global {
6
- interface HTMLElementTagNameMap {
7
- 'exm-navigation-menu-button': ExmNavigationMenuButton;
8
- }
9
- }
@@ -1,7 +0,0 @@
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 {};
@@ -1,36 +0,0 @@
1
- :host {
2
- --_exm-navigation-item-background-color-selected: var(
3
- --exm-navigation-item-background-color-selected,
4
- var(--md-sys-color-secondary)
5
- );
6
- --_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary));
7
- }
8
-
9
- md-list-item {
10
- margin-right: 8px;
11
- margin-left: 8px;
12
- border-radius: 1rem;
13
- --md-list-item-container-shape: 1rem;
14
- }
15
-
16
- md-list-item[selected] {
17
- --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
18
- background-color: var(--_exm-navigation-item-background-color-selected);
19
- --md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected) --md-list-item-trailing-icon-color:
20
- var(--_exm-navigation-item-color-selected);
21
- --md-list-item-trailing-icon-color: var(--_exm-navigation-item-color-selected) --md-list-item-trailing-icon-color:
22
- 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
- }
@@ -1,24 +0,0 @@
1
- :root {
2
- --md-sys-color-background: var(--md-sys-color-surface-container-high);
3
- }
4
-
5
- :host {
6
- --mdc-drawer-width: 319px;
7
-
8
- display: grid;
9
- grid-template-columns: var(--mdc-drawer-width, 300px) 1fr;
10
- height: 100vh;
11
- width: 100%;
12
- box-sizing: border-box;
13
- transition: grid-template-columns 0.3s ease;
14
-
15
- // This is needed because the aside is positioned absolute.
16
- // This will tie them together and makes positioning the aside easier
17
- position: relative;
18
- }
19
-
20
- @media screen and (min-width: 961px) {
21
- slot[name='appContent'] {
22
- background-color: transparent;
23
- }
24
- }
@@ -1,19 +0,0 @@
1
- .icon-button {
2
- border: none;
3
- background-color: transparent;
4
- color: white;
5
- width: 48px;
6
- height: 48px;
7
- display: flex;
8
- align-items: center;
9
-
10
- &.has-label {
11
- width: auto;
12
- }
13
-
14
- .label {
15
- padding: 0 8px;
16
- white-space: nowrap;
17
- font-size: 16px;
18
- }
19
- }
@@ -1,18 +0,0 @@
1
- .icon {
2
- align-items: center;
3
- justify-content: center;
4
- display: flex;
5
- position: relative;
6
- height: 100%;
7
- width: 100%;
8
- font-variation-settings:
9
- 'wght' 400,
10
- 'opsz' 24;
11
- transition: font-variation-settings 0.2s cubic-bezier(0.2, 0, 0, 1);
12
- border-radius: 16px;
13
- font-family: 'Material Symbols Outlined';
14
- font-size: 24px;
15
- line-height: 1;
16
- direction: ltr;
17
- -webkit-font-smoothing: antialiased;
18
- }
@@ -1,92 +0,0 @@
1
- :host {
2
- --_exm-navigation-rail-nav-item-color: var(
3
- --exm-navigation-rail-nav-item-color,
4
- var(--md-sys-color-on-surface-variant)
5
- );
6
- --_exm-navigation-rail-nav-item-icon-color: var(
7
- --exm-navigation-rail-nav-item-icon-color,
8
- var(--md-sys-color-on-surface-variant)
9
- );
10
- --_exm-navigation-rail-nav-item-icon-color-hover: var(
11
- --exm-navigation-rail-nav-item-icon-color-hover,
12
- var(--md-sys-color-surface-container-highest)
13
- );
14
- --_exm-navigation-rail-nav-item-icon-color-selected: var(
15
- --exm-navigation-rail-nav-item-icon-color-selected,
16
- var(--md-sys-color-secondary)
17
- );
18
- --_exm-navigation-rail-nav-item-color-selected: var(
19
- --exm-navigation-rail-nav-item-color-selected,
20
- var(--md-sys-color-on-secondary)
21
- );
22
-
23
- --_exm-navigation-rail-nav-item-width: var(--exm-navigation-rail-nav-item-width, 80px);
24
-
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
- }
@@ -1,44 +0,0 @@
1
- :host {
2
- --_exm-navigation-rail-background-color: var(
3
- --exm-navigation-rail-background-color,
4
- var(--md-sys-color-surface-container)
5
- );
6
- --_exm-navigation-rail-width: var(--exm-navigation-rail-nav-width, 88px);
7
-
8
- display: flex;
9
- flex-direction: column;
10
- justify-content: space-between;
11
- height: 100%;
12
- background: var(--_exm-navigation-rail-background-color);
13
- overflow-y: auto;
14
- z-index: 8;
15
- box-sizing: border-box;
16
- width: var(--_exm-navigation-rail-width);
17
- }
18
-
19
- @media screen and (min-width: 961px) {
20
- :host {
21
- display: flex;
22
- }
23
- }
24
-
25
- nav {
26
- ul {
27
- list-style: none;
28
- padding: 0;
29
- margin: 0;
30
- }
31
-
32
- li {
33
- padding: 0;
34
- margin: 0;
35
- }
36
- flex: 1;
37
- }
38
-
39
- .bottom {
40
- display: flex;
41
- flex-direction: column;
42
- flex-grow: 1;
43
- justify-content: flex-end;
44
- }
@@ -1,34 +0,0 @@
1
- :host {
2
- --_exm-navigation-item-background-color-selected: var(
3
- --exm-navigation-item-background-color-selected,
4
- var(--md-sys-color-secondary)
5
- );
6
- --_exm-navigation-item-color-selected: var(--exm-navigation-item-color-selected, var(--md-sys-color-on-secondary));
7
- }
8
-
9
- md-list-item {
10
- margin-right: 8px;
11
- margin-left: 8px;
12
- border-radius: 1rem;
13
- --md-list-item-container-shape: 1rem;
14
- }
15
-
16
- md-list-item[selected] {
17
- --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
18
- background-color: var(--_exm-navigation-item-background-color-selected);
19
- --md-list-item-leading-icon-color: var(--_exm-navigation-item-color-selected) --md-list-item-trailing-icon-color:
20
- var(--_exm-navigation-item-color-selected);
21
- }
22
-
23
- md-list-item.collapsed-item[selected] {
24
- --md-list-item-label-text-color: var(--_exm-navigation-item-color-selected);
25
- background-color: var(--_exm-navigation-item-background-color-selected);
26
- }
27
-
28
- md-list-item[selected] md-icon {
29
- color: var(--md-sys-color-primary);
30
- }
31
-
32
- .sub-menu {
33
- margin-left: 1rem;
34
- }
@@ -1,27 +0,0 @@
1
- :host {
2
- --_exm-navigation-topbar-background-color: var(
3
- --exm-navigation-topbar-background-color,
4
- var(--md-sys-color-surface-container)
5
- );
6
- --_exm-navigation-top-bar-height: var(--exm-navigation-top-bar-height, 64px);
7
-
8
- background: var(--_exm-navigation-rail-background-color);
9
- box-sizing: border-box;
10
- display: grid;
11
- grid-template-columns: var(--_exm-navigation-top-bar-height) 1fr;
12
- height: var(--_exm-navigation-top-bar-height);
13
- justify-content: space-between;
14
- width: 100%;
15
- }
16
-
17
- exm-navigation-icon-button {
18
- align-self: center;
19
- grid-area: 1/1/2/2;
20
- justify-self: center;
21
- }
22
-
23
- ::slotted(*) {
24
- align-self: center;
25
- grid-area: 1/2/2/3;
26
- padding: 0 8px;
27
- }
@@ -1,52 +0,0 @@
1
- .navigation-container {
2
- display: grid;
3
- grid-template-columns: auto var(--exm-drawer-width, 500px) 1fr;
4
- grid-template-rows: 1fr;
5
- width: 100%;
6
- transition: grid-template-columns 0.3s ease;
7
-
8
- &.show-topbar {
9
- grid-template-columns: 1fr;
10
- grid-template-rows: auto 1fr;
11
-
12
- exm-navigation-topbar {
13
- grid-area: 1/1/2/2;
14
- z-index: 2;
15
- }
16
-
17
- exm-navigation-drawer {
18
- grid-area: 1/1/3/2;
19
- }
20
-
21
- .content {
22
- grid-area: 2/1/3/2;
23
- }
24
- }
25
- }
26
-
27
- exm-navigation-rail {
28
- grid-area: 1/1/2/2;
29
- }
30
-
31
- exm-navigation-drawer {
32
- grid-area: 1/2/2/3;
33
- }
34
-
35
- .content {
36
- grid-area: 1/3/2/4;
37
- z-index: 1;
38
- }
39
-
40
- exm-navigation-drawer {
41
- --md-list-container-color: none;
42
- --md-list-item-label-text-color: var(--md-sys-color-on-surface-variant);
43
- --md-list-item-supporting-text-color: var(--md-sys-color-on-surface-variant);
44
- --md-list-item-trailing-supporting-text-color: var(--md-sys-color-on-surface-variant);
45
- --md-list-item-container-shape: 24px;
46
- --mdc-theme-surface: var(--md-sys-color-surface-container-high);
47
- --mdc-shape-large: 1rem;
48
- }
49
-
50
- .left-margin {
51
- margin-left: 2.5rem;
52
- }