File tree Expand file tree Collapse file tree 4 files changed +122
-0
lines changed
labs/layout/supportingpane Expand file tree Collapse file tree 4 files changed +122
-0
lines changed Original file line number Diff line number Diff line change 1+ //
2+ // Copyright 2023 Google LLC
3+ // SPDX-License-Identifier: Apache-2.0
4+ //
5+
6+ // go/keep-sorted start
7+ @use ' sass:list' ;
8+ // go/keep-sorted end
9+
10+ @mixin styles () {
11+ .host {
12+ display : flex ;
13+ flex-direction : column ;
14+ height : 100% ;
15+ width : 100% ;
16+ }
17+
18+ slot {
19+ width : 100% ;
20+ height : 100% ;
21+ }
22+
23+ :host ([variant = ' expanded' ]) {
24+ flex-direction : row ;
25+ }
26+
27+ :host ([variant = ' expanded' ]) slot [name = ' supporting' ] {
28+ max-width : var (--md-supporting-pane-width , 360px );
29+ margin-left : 24px ;
30+ }
31+
32+ :host ([variant = ' expanded' ][left ]) slot [name = ' supporting' ] {
33+ margin-right : 24px ;
34+ }
35+
36+ :host ([variant = ' medium' ]) slot ,
37+ :host ([variant = ' compact' ]) slot {
38+ position : absolute ;
39+ left : 0 ;
40+ right : 0 ;
41+ bottom : 0 ;
42+ top : 0 ;
43+ }
44+
45+ :host ([variant = ' medium' ]) slot :not ([name = ' supporting' ]) {
46+ // max-height: calc(100% - (100% / 3));
47+ bottom : calc (100% - (100% / 3 ));
48+ }
49+
50+ :host ([variant = ' medium' ]) slot [name = ' supporting' ] {
51+ top : calc (100% / 3 );
52+ }
53+
54+ :host ([variant = ' compact' ]) slot :not ([name = ' supporting' ]) {
55+ bottom : calc (100% / 2 );
56+ }
57+
58+ :host ([variant = ' compact' ]) slot [name = ' supporting' ] {
59+ top : calc (100% / 2 );
60+ }
61+ }
Original file line number Diff line number Diff line change 1+ //
2+ // Copyright 2023 Google LLC
3+ // SPDX-License-Identifier: Apache-2.0
4+ //
5+
6+ // go/keep-sorted start
7+ @use ' ./supporting-pane' ;
8+ // go/keep-sorted end
9+
10+ @include supporting-pane .styles ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @license
3+ * Copyright 2023 Google LLC
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ import { html , LitElement } from 'lit' ;
8+ import { property } from 'lit/decorators' ;
9+
10+ /**
11+ * The Supporting Pane Layout.
12+ */
13+ export class SupportingPane extends LitElement {
14+ @property ( { type : String , reflect : true } )
15+ variant : 'compact' | 'medium' | 'expanded' = 'expanded' ;
16+
17+ @property ( { type : Boolean , reflect : true } )
18+ left : boolean = false ;
19+
20+ protected override render ( ) {
21+ return html `
22+ < slot > </ slot >
23+ < slot name ="supporting "> </ slot >
24+ ` ;
25+ }
26+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * @license
3+ * Copyright 2023 Google LLC
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ import { customElement } from 'lit/decorators.js' ;
8+
9+ import { SupportingPane } from './internal/supporting-pane.js' ;
10+ import { styles } from './internal/supporting-pane-styles.css.js' ;
11+
12+ declare global {
13+ interface HTMLElementTagNameMap {
14+ 'md-supporting-pane' : MDSupportingPane ;
15+ }
16+ }
17+
18+ /**
19+ * @final
20+ * @suppress {visibility}
21+ */
22+ @customElement ( 'md-supporting-pane' )
23+ export class MDSupportingPane extends SupportingPane {
24+ static override styles = [ styles ] ;
25+ }
You can’t perform that action at this time.
0 commit comments