@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
package/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # `<exm-navigation>` [![Published on npm](https://img.shields.io/npm/v/@exmg/exm-navigation.svg)](https://www.npmjs.com/package/@exmg/exm-navigation)
2
+
3
+ # @exmg/exm-navigation
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @exmg/exm-navigation
9
+ ```
10
+
11
+ ## Anatomy
12
+
13
+ This library contains following component:
14
+
15
+ 1. Navigation (main component and fully composed navigation component)
16
+
17
+ Conceptual usage:
18
+
19
+ ```html
20
+ <exm-navigation .items=${menuItems} .path=${['spaces']}>
21
+ <!-- Slot for adding a title to the topbar. Topbar is only visible on mobile -->
22
+ <section slot="topbar-title">My Title</section>
23
+ <!-- Slot for adding actions to the right of the topbar. Topbar is only visible on mobile -->
24
+ <section slot="topbar-actions">Actions</section>
25
+ <!-- Slot for adding a logo in the top part of the rail. This is not visible on mobile -->
26
+ <section slot="rail-top">Rail top</section>
27
+ <!-- Slot for adding extra actions or other content to the bottom of the rail. This is not visible on mobile -->
28
+ <section slot="rail-bottom">Rail bottom</section>
29
+ <!-- The actual page content to display -->
30
+ <section class="content">${this.renderPage()}</section>
31
+ </exm-navigation>
32
+ ```
33
+
34
+ Some of the components used in the navigation c an be used separately. Please check the code for implementation
35
+
36
+ ## API
37
+
38
+ ### Slots
39
+
40
+ | Name | Description |
41
+ | ---------------- | ------------------------------------------------------------------------------------------------------- |
42
+ | `topbar-title` | Slot for adding a title to the topbar. Topbar is only visible on mobile |
43
+ | `topbar-actions` | Slot for adding actions to the right of the topbar. Topbar is only visible on mobile |
44
+ | `rail-top` | Slot for adding a logo in the top part of the rail. This is not visible on mobile |
45
+ | `rail-bottom` | Slot for adding extra actions or other content to the bottom of the rail. This is not visible on mobile |
46
+ | `default` | The actual page content to display |
47
+
48
+ ### Properties/Attributes
49
+
50
+ | Name | Type | Default | Description |
51
+ | ------- | ------------ | ------- | ------------------------------------------------------------ |
52
+ | `items` | `MenuItem[]` | _[]_ | The list of menuitems to display in the navigation component |
53
+ | `path` | `string[]` | _[]_ | The current/initial path for the navigation |
54
+
55
+ #### MenuItem
56
+
57
+ ```typescript
58
+ interface MenuItem {
59
+ id: string;
60
+ label: string;
61
+ path?: string;
62
+ url?: string;
63
+ icon?: string;
64
+ items?: MenuItem[];
65
+ }
66
+ ```
67
+
68
+ ### Events
69
+
70
+ | Name | Detail | Description |
71
+ | ------------------- | ---------------- | ----------------------------------- |
72
+ | `navigation-change` | `['one', 'two']` | The path selected in the navigation |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exmg/exm-navigation",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -51,5 +51,5 @@
51
51
  "publishConfig": {
52
52
  "access": "public"
53
53
  },
54
- "gitHead": "1973df6ecaaf0a57b688f5eb8852516295bc04d6"
55
- }
54
+ "gitHead": "e7086831faea0bdfe8628b0de9b7ddcc45174558"
55
+ }
@@ -43,7 +43,7 @@ export declare class ExmNavigationBase extends ExmNavigationBase_base {
43
43
  * If the selected menu item has children, we add the first item to the list (as per Google implementation).
44
44
  * In this case we also do not close the drawer in non persistent mode, so the user is able to select a next level in the menu
45
45
  */
46
- handleRailItemClick({ detail }: CustomEvent<string>): void;
46
+ private handleRailItemClick;
47
47
  /**
48
48
  * Handle the mouse enter of the rail item.
49
49
  */
@@ -64,6 +64,7 @@ export class ExmNavigationBase extends MediaQueries(ExmgElement) {
64
64
  loadPage(path) {
65
65
  this.path = path;
66
66
  this.selectedItem = path;
67
+ this.fire('navigation-change', path);
67
68
  }
68
69
  /**
69
70
  * Handle Rail item click or Drawer sub menu click.
@@ -241,7 +242,10 @@ export class ExmNavigationBase extends MediaQueries(ExmgElement) {
241
242
  @rail-item-click=${this.handleRailItemClick}
242
243
  @rail-item-mouseenter=${this.handleRailItemMouseEnter}
243
244
  @rail-item-mouseleave=${this.handleRailItemMouseLeave}
244
- ></exm-navigation-rail>`;
245
+ >
246
+ <slot name="rail-top" slot="rail-top"></slot>
247
+ <slot name="rail-bottom" slot="rail-bottom"></slot>
248
+ </exm-navigation-rail>`;
245
249
  }
246
250
  /**
247
251
  * Render the topbar. This is displayed on mobile and contains the menu button and a slot for the title
@@ -249,6 +253,7 @@ export class ExmNavigationBase extends MediaQueries(ExmgElement) {
249
253
  renderTopbar() {
250
254
  return html `<exm-navigation-topbar ?drawer-open=${this.drawerOpen} @topbar-menu-click=${this.handleTopbarMenuClick}>
251
255
  <slot name="topbar-title" slot="topbar-title"></slot>
256
+ <slot name="topbar-actions" slot="topbar-actions"></slot>
252
257
  </exm-navigation-topbar>`;
253
258
  }
254
259
  render() {
@@ -0,0 +1,9 @@
1
+ import '@material/web/list/list.js';
2
+ import '@material/web/list/list-item.js';
3
+ import { ExmgElement } from '@exmg/lit-base';
4
+ declare const ExmNavigationDrawerNav_base: typeof ExmgElement;
5
+ export declare class ExmNavigationDrawerNav extends ExmNavigationDrawerNav_base {
6
+ static styles: import("lit").CSSResult[];
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
9
+ export {};
@@ -0,0 +1,47 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, css } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ import { navigationRailHidden, navigationRailActive } from './exm-navigation-signals.js';
5
+ import { SignalWatcher } from '@lit-labs/preact-signals';
6
+ import '@material/web/list/list.js';
7
+ import '@material/web/list/list-item.js';
8
+ import { ExmgElement } from '@exmg/lit-base';
9
+ let ExmNavigationDrawerNav = class ExmNavigationDrawerNav extends SignalWatcher(ExmgElement) {
10
+ render() {
11
+ return navigationRailHidden.value
12
+ ? html `<div class="nav">
13
+ <div class="header">
14
+ <md-icon-button @click=${() => this.fire('drawer-close', null, true)}
15
+ ><md-icon>menu_open</md-icon></md-icon-button
16
+ >
17
+ </div>
18
+ <div class="navigation">
19
+ ${navigationRailActive.value === null
20
+ ? html `<div class="nav top-level"><slot name="topLevel"></slot></div>`
21
+ : html `<div class="nav"><slot name="navTop"></slot><slot></slot></div>`}
22
+ </div>
23
+ </div>`
24
+ : html `<slot></slot>`;
25
+ }
26
+ };
27
+ ExmNavigationDrawerNav.styles = [
28
+ css `
29
+ :host {
30
+ display: block;
31
+ }
32
+
33
+ .nav {
34
+ margin: 8px 0 auto;
35
+ }
36
+
37
+ .header md-icon-button {
38
+ margin: 4px 12px 8px 16px;
39
+ }
40
+ `,
41
+ ];
42
+ ExmNavigationDrawerNav = __decorate([
43
+ customElement('exm-navigation-drawer-nav')
44
+ // eslint-disable-next-line
45
+ ], ExmNavigationDrawerNav);
46
+ export { ExmNavigationDrawerNav };
47
+ //# sourceMappingURL=exm-navigation-drawer-nav.js.map
@@ -21,7 +21,7 @@ export class ExmNavigationRailBase extends ExmgElement {
21
21
  this.fire('rail-item-mouseleave', itemId);
22
22
  }
23
23
  render() {
24
- return html `<div class="top"><slot name="top"></slot></div>
24
+ return html `<div class="rail-top"><slot name="rail-top"></slot></div>
25
25
  <nav class="nav">
26
26
  <ul>
27
27
  ${repeat(this.items, (item) => {
@@ -42,7 +42,7 @@ export class ExmNavigationRailBase extends ExmgElement {
42
42
  })}
43
43
  </ul>
44
44
  </nav>
45
- <div class="bottom"><slot name="bottom"></slot></div>`;
45
+ <div class="rail-bottom"><slot name="rail-bottom"></slot></div>`;
46
46
  }
47
47
  }
48
48
  ExmNavigationRailBase.styles = [style];
@@ -0,0 +1,4 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class ExmNavigationRailNavBase extends LitElement {
3
+ render(): import("lit-html").TemplateResult<1>;
4
+ }
@@ -0,0 +1,9 @@
1
+ import { LitElement, html } from 'lit';
2
+ export class ExmNavigationRailNavBase extends LitElement {
3
+ render() {
4
+ return html `<nav aria-label="Main">
5
+ <slot></slot>
6
+ </nav>`;
7
+ }
8
+ }
9
+ //# sourceMappingURL=exm-navigation-rail-nav-base.js.map
@@ -0,0 +1,9 @@
1
+ import { ExmNavigationRailNavBase } from './exm-navigation-rail-nav-base.js';
2
+ export declare class ExmNavigationRailNav extends ExmNavigationRailNavBase {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'exm-navigation-rail-nav': ExmNavigationRailNav;
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from 'lit/decorators.js';
3
+ import { style } from './styles/exm-navigation-rail-nav-css.js';
4
+ import { ExmNavigationRailNavBase } from './exm-navigation-rail-nav-base.js';
5
+ let ExmNavigationRailNav = class ExmNavigationRailNav extends ExmNavigationRailNavBase {
6
+ };
7
+ ExmNavigationRailNav.styles = [style];
8
+ ExmNavigationRailNav = __decorate([
9
+ customElement('exm-navigation-rail-nav')
10
+ ], ExmNavigationRailNav);
11
+ export { ExmNavigationRailNav };
12
+ //# sourceMappingURL=exm-navigation-rail-nav.js.map
@@ -1,4 +1,11 @@
1
+ export declare const navigationItemHover: import("@preact/signals-core").Signal<boolean>;
1
2
  export declare const navigationDrawerHover: import("@preact/signals-core").Signal<boolean>;
3
+ export declare const navigationDrawerOpen: import("@preact/signals-core").Signal<boolean>;
2
4
  export declare const navigationActiveHasSubmenu: import("@preact/signals-core").Signal<{
3
- [menuItem: string]: boolean;
5
+ [k: string]: boolean;
4
6
  }>;
7
+ export declare const navigationRailSelected: import("@preact/signals-core").Signal<string | null>;
8
+ export declare const navigationSubSelected: import("@preact/signals-core").Signal<string | null>;
9
+ export declare const navigationRailActive: import("@preact/signals-core").Signal<string | null>;
10
+ export declare const navigationRailHidden: import("@preact/signals-core").Signal<boolean>;
11
+ export declare const navigationDrawerPersistent: import("@preact/signals-core").Signal<boolean>;
@@ -0,0 +1,11 @@
1
+ import { signal } from '@lit-labs/preact-signals';
2
+ export const navigationItemHover = signal(false);
3
+ export const navigationDrawerHover = signal(false);
4
+ export const navigationDrawerOpen = signal(false);
5
+ export const navigationActiveHasSubmenu = signal({});
6
+ export const navigationRailSelected = signal(null);
7
+ export const navigationSubSelected = signal(null);
8
+ export const navigationRailActive = signal(null);
9
+ export const navigationRailHidden = signal(false);
10
+ export const navigationDrawerPersistent = signal(false);
11
+ //# sourceMappingURL=exm-navigation-signals.js.map
@@ -0,0 +1,8 @@
1
+ import { ExmgElement } from '@exmg/lit-base';
2
+ import '@material/web/iconbutton/icon-button.js';
3
+ import '@material/web/icon/icon.js';
4
+ import '@material/mwc-top-app-bar-fixed';
5
+ export declare class ExmNavigationToolbarBase extends ExmgElement {
6
+ protected firstUpdated(): void;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
@@ -0,0 +1,33 @@
1
+ import { ExmgElement } from '@exmg/lit-base';
2
+ import { html } from 'lit';
3
+ import '@material/web/iconbutton/icon-button.js';
4
+ import '@material/web/icon/icon.js';
5
+ import '@material/mwc-top-app-bar-fixed';
6
+ export class ExmNavigationToolbarBase extends ExmgElement {
7
+ firstUpdated() {
8
+ const appToolbar = this.shadowRoot.querySelector('mwc-top-app-bar-fixed');
9
+ if (appToolbar) {
10
+ const observer = new MutationObserver((_, obs) => {
11
+ const shadowRoot = appToolbar.shadowRoot;
12
+ const header = shadowRoot ? shadowRoot.querySelector('header') : null;
13
+ if (header) {
14
+ header.style.left = '0px';
15
+ header.style.right = '0px';
16
+ obs.disconnect(); // Stop observing once we have made the changes
17
+ }
18
+ });
19
+ observer.observe(appToolbar.shadowRoot, {
20
+ childList: true,
21
+ subtree: true,
22
+ });
23
+ }
24
+ }
25
+ render() {
26
+ return html `<mwc-top-app-bar-fixed>
27
+ <slot name="navigationIcon" slot="navigationIcon"></slot>
28
+ <slot name="title" slot="title"></slot>
29
+ <slot name="actionItems" slot="actionItems"></slot>
30
+ </mwc-top-app-bar-fixed>`;
31
+ }
32
+ }
33
+ //# sourceMappingURL=exm-navigation-toolbar-base.js.map
@@ -0,0 +1,9 @@
1
+ import { ExmNavigationToolbarBase } from './exm-navigation-toolbar-base.js';
2
+ export declare class ExmNavigationToolbar extends ExmNavigationToolbarBase {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'exm-navigation-toolbar': ExmNavigationToolbar;
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from 'lit/decorators.js';
3
+ import { style } from './styles/exm-navigation-toolbar-css.js';
4
+ import { ExmNavigationToolbarBase } from './exm-navigation-toolbar-base.js';
5
+ let ExmNavigationToolbar = class ExmNavigationToolbar extends ExmNavigationToolbarBase {
6
+ };
7
+ ExmNavigationToolbar.styles = [style];
8
+ ExmNavigationToolbar = __decorate([
9
+ customElement('exm-navigation-toolbar')
10
+ ], ExmNavigationToolbar);
11
+ export { ExmNavigationToolbar };
12
+ //# sourceMappingURL=exm-navigation-toolbar.js.map
@@ -19,7 +19,8 @@ export class ExmNavigationTopbarBase extends ExmgElement {
19
19
  icon=${this.drawerOpen ? 'menu_open' : 'menu'}
20
20
  @navigation-icon-button-click=${this.handleMenuButtonClick}
21
21
  ></exm-navigation-icon-button>
22
- <slot name="topbar-title"></slot>
22
+ <slot name="topbar-title" class="topbar-title"></slot>
23
+ <slot name="topbar-actions"></slot>
23
24
  `;
24
25
  }
25
26
  }
@@ -15,7 +15,6 @@ export const MediaQueries = (superClass) => {
15
15
  this.media = media;
16
16
  this.requestUpdate();
17
17
  }
18
- console.log(media, mediaMatch.matches);
19
18
  };
20
19
  }
21
20
  connectedCallback() {
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,40 @@
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;display:grid;grid-template-columns:auto 1fr auto}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
+ 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
+ `;
4
40
  //# sourceMappingURL=exm-navigate-drawer-nav-item-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,56 @@
1
1
  import { css } from 'lit';
2
- export const style = css `.navigation-container{display:grid;grid-template-columns:auto var(--exm-drawer-width, 500px) 1fr;grid-template-rows:1fr;width:100%;transition:grid-template-columns .3s ease}.navigation-container.show-topbar{grid-template-columns:1fr;grid-template-rows:auto 1fr}.navigation-container.show-topbar exm-navigation-topbar{grid-area:1/1/2/2;z-index:2}.navigation-container.show-topbar exm-navigation-drawer{grid-area:1/1/3/2}.navigation-container.show-topbar .content{grid-area:2/1/3/2}exm-navigation-rail{grid-area:1/1/2/2}exm-navigation-drawer{grid-area:1/2/2/3}.content{grid-area:1/3/2/4;z-index:1}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;--mdc-theme-surface: var(--md-sys-color-surface-container-high);--mdc-shape-large: 1rem}.left-margin{margin-left:2.5rem}`;
3
- export default style;
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
+ `;
4
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 `:root{--md-sys-color-background: var(--md-sys-color-surface-container-high)}:host{--mdc-drawer-width: 319px;display:grid;grid-template-columns:var(--mdc-drawer-width, 300px) 1fr;height:100vh;width:100%;box-sizing:border-box;transition:grid-template-columns .3s ease;position:relative}@media screen and (min-width: 961px){slot[name=appContent]{background-color:rgba(0,0,0,0)}}`;
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
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,40 @@
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-trailing-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
+ --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
+ `;
4
40
  //# sourceMappingURL=exm-navigation-drawer-nav-item-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,23 @@
1
1
  import { css } from 'lit';
2
- export const style = css `.icon-button{border:none;background-color:rgba(0,0,0,0);color:#fff;width:48px;height:48px;display:flex;align-items:center}.icon-button.has-label{width:auto}.icon-button .label{padding:0 8px;white-space:nowrap;font-size:16px}`;
3
- export default style;
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
+ `;
4
23
  //# sourceMappingURL=exm-navigation-icon-button-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;
@@ -1,4 +1,22 @@
1
1
  import { css } from 'lit';
2
- export const style = css `.icon{align-items:center;justify-content:center;display:flex;position:relative;height:100%;width:100%;font-variation-settings:"wght" 400,"opsz" 24;transition:font-variation-settings .2s cubic-bezier(0.2, 0, 0, 1);border-radius:16px;font-family:"Material Symbols Outlined";font-size:24px;line-height:1;direction:ltr;-webkit-font-smoothing:antialiased}`;
3
- export default style;
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
+ `;
4
22
  //# sourceMappingURL=exm-navigation-icon-css.js.map
@@ -1,2 +1 @@
1
1
  export declare const style: import("lit").CSSResult;
2
- export default style;