Skip to content

Commit

Permalink
basic supporting pane
Browse files Browse the repository at this point in the history
  • Loading branch information
VandeurenGlenn committed Feb 12, 2024
1 parent 6b95a13 commit c7c16f5
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 0 deletions.
37 changes: 37 additions & 0 deletions labs/layout/supportingpane/internal/_supporting-pane.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
//

// go/keep-sorted start
@use 'sass:list';
// go/keep-sorted end

@mixin styles() {
.host {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
}

slot {
width: 100%;
height: 100%;
}

:host([variant='expanded']) {
flex-direction: row;
}

:host([variant='expanded']) slot[name='supporting'] {
max-width: var(--md-supporting-pane-width, 360px);
margin-left: 24px;
}

:host([variant='compact']) slot[name='supporting'] {
max-height: calc(100% / 2);
position: absolute;
bottom: 0;
}
}
10 changes: 10 additions & 0 deletions labs/layout/supportingpane/internal/supporting-pane-styles.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
//

// go/keep-sorted start
@use './supporting-pane';
// go/keep-sorted end

@include supporting-pane.styles;
22 changes: 22 additions & 0 deletions labs/layout/supportingpane/internal/supporting-pane.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/

import { html, LitElement } from 'lit';
import { property } from 'lit/decorators';

/**
* The Supporting Pane Layout.
*/
export class SupportingPane extends LitElement {
@property({ type: String, reflect: true })
variant: 'compact' | 'medium' | 'expanded' = 'expanded';
protected override render() {
return html`
<slot></slot>
<slot name="supporting"></slot>
`;
}
}
25 changes: 25 additions & 0 deletions labs/layout/supportingpane/supporting-pane.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/

import { customElement } from 'lit/decorators.js';

import { SupportingPane } from './internal/supporting-pane.js';
import { styles } from './internal/supporting-pane-styles.css.js';

declare global {
interface HTMLElementTagNameMap {
'md-supporting-pane': MDSupportingPane;
}
}

/**
* @final
* @suppress {visibility}
*/
@customElement('md-supporting-pane')
export class MDSupportingPane extends SupportingPane {
static override styles = [styles];
}

0 comments on commit c7c16f5

Please sign in to comment.