|
| 1 | +:where(html) { |
| 2 | + --aura-app-layout-inset: 1.5vmin; |
| 3 | + --aura-app-layout-radius: var(--vaadin-radius-l); |
| 4 | + --_aura-mdl-border: 1px; |
| 5 | + --vaadin-app-layout-navbar-padding-top: 0; |
| 6 | + --vaadin-app-layout-navbar-padding-bottom: 0; |
| 7 | + --vaadin-app-layout-navbar-padding-inline-start: 0; |
| 8 | + --vaadin-app-layout-navbar-padding-inline-end: 0; |
| 9 | +} |
| 10 | + |
| 11 | +/* Aligned with App Layout overlay breakpoint */ |
| 12 | +@media (width <= 800px), (height <= 600px) { |
| 13 | + html { |
| 14 | + --aura-app-layout-inset: 0px !important; |
| 15 | + --_aura-mdl-border: 0px; |
| 16 | + } |
| 17 | +} |
| 18 | + |
| 19 | +html:has(vaadin-app-layout) { |
| 20 | + &, |
| 21 | + body { |
| 22 | + width: 100%; |
| 23 | + height: 100%; |
| 24 | + margin: 0; |
| 25 | + box-sizing: border-box; |
| 26 | + } |
| 27 | +} |
| 28 | + |
| 29 | +vaadin-app-layout { |
| 30 | + --_app-layout-radius: clamp(0px, var(--aura-app-layout-radius), var(--aura-app-layout-inset) * 100); |
| 31 | + padding-block: var(--aura-app-layout-inset); |
| 32 | + padding-inline-end: var(--aura-app-layout-inset); |
| 33 | + padding-top: calc(var(--aura-app-layout-inset) + var(--_vaadin-app-layout-navbar-offset-size)); |
| 34 | +} |
| 35 | + |
| 36 | +vaadin-app-layout[overlay] { |
| 37 | + &::part(navbar), |
| 38 | + &::part(drawer) { |
| 39 | + --vaadin-app-layout-navbar-background: var(--aura-surface); |
| 40 | + --vaadin-app-layout-drawer-background: var(--aura-surface); |
| 41 | + --aura-surface-opacity: var(--aura-overlay-surface-opacity); |
| 42 | + -webkit-backdrop-filter: var(--aura-overlay-backdrop-filter); |
| 43 | + backdrop-filter: var(--aura-overlay-backdrop-filter); |
| 44 | + } |
| 45 | +} |
| 46 | + |
| 47 | +vaadin-app-layout:is([overlay], :not([drawer-opened])) { |
| 48 | + padding-inline-start: var(--aura-app-layout-inset); |
| 49 | +} |
| 50 | + |
| 51 | +vaadin-app-layout::part(navbar) { |
| 52 | + justify-content: space-between; |
| 53 | +} |
| 54 | + |
| 55 | +vaadin-app-layout:not([overlay])::part(navbar) { |
| 56 | + --vaadin-app-layout-navbar-background: transparent; |
| 57 | +} |
| 58 | + |
| 59 | +vaadin-app-layout:not([overlay])::part(drawer) { |
| 60 | + padding-block: var(--aura-app-layout-inset); |
| 61 | + padding-inline: max(0px, var(--aura-app-layout-inset) - var(--vaadin-padding-s)); |
| 62 | +} |
| 63 | + |
| 64 | +vaadin-app-layout > vaadin-scroller[slot='drawer'] { |
| 65 | + padding-inline: var(--vaadin-padding-m); |
| 66 | + scrollbar-width: thin; |
| 67 | +} |
| 68 | + |
| 69 | +vaadin-app-layout > vaadin-scroller:nth-child(1 of [slot='drawer']) { |
| 70 | + padding-top: var(--vaadin-padding-s); |
| 71 | +} |
| 72 | + |
| 73 | +vaadin-app-layout > vaadin-scroller:nth-last-child(1 of [slot='drawer']) { |
| 74 | + padding-bottom: var(--vaadin-padding-s); |
| 75 | +} |
| 76 | + |
| 77 | +vaadin-app-layout > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) { |
| 78 | + color-scheme: var(--aura-content-color-scheme); |
| 79 | + color: var(--vaadin-color); |
| 80 | + background: linear-gradient(var(--aura-surface), var(--aura-surface)), var(--aura-app-background); |
| 81 | + background-clip: padding-box; |
| 82 | + background-origin: border-box; |
| 83 | + min-height: 100%; |
| 84 | + box-sizing: border-box; |
| 85 | + border-radius: var(--_app-layout-radius); |
| 86 | + border: var(--_aura-mdl-border) solid var(--vaadin-border-color-subtle); |
| 87 | + border-block-width: min(var(--aura-app-layout-inset), var(--_aura-mdl-border)); |
| 88 | + border-inline-end-width: min(var(--aura-app-layout-inset), var(--_aura-mdl-border)); |
| 89 | +} |
| 90 | + |
| 91 | +vaadin-app-layout > vaadin-master-detail-layout { |
| 92 | + & > vaadin-master-detail-layout, |
| 93 | + &:not([drawer])::part(detail) { |
| 94 | + border-start-end-radius: var(--_app-layout-radius); |
| 95 | + border-end-end-radius: var(--_app-layout-radius); |
| 96 | + } |
| 97 | + |
| 98 | + &::part(backdrop) { |
| 99 | + border-radius: calc(var(--_app-layout-radius) - var(--_aura-mdl-border)); |
| 100 | + } |
| 101 | + |
| 102 | + &:is([drawer][has-detail]) { |
| 103 | + border-color: var(--vaadin-border-color); |
| 104 | + } |
| 105 | +} |
| 106 | + |
| 107 | +vaadin-app-layout:has([slot='navbar']):has([slot='drawer']) { |
| 108 | + padding-top: var(--_vaadin-app-layout-navbar-offset-size); |
| 109 | + |
| 110 | + &::part(drawer) { |
| 111 | + padding-top: 0; |
| 112 | + } |
| 113 | +} |
| 114 | + |
| 115 | +vaadin-app-layout:has([slot='navbar']):has([slot='drawer']):not([overlay]):not([drawer-opened]) |
| 116 | + > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) { |
| 117 | + border-inline-start-width: min(var(--aura-app-layout-inset), 1px); |
| 118 | +} |
| 119 | + |
| 120 | +vaadin-app-layout:has([slot='navbar']):has([slot='drawer'])[drawer-opened]:not([overlay]) |
| 121 | + > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) { |
| 122 | + border-start-start-radius: var(--aura-app-layout-radius); |
| 123 | +} |
| 124 | + |
| 125 | +vaadin-app-layout:has([slot='navbar']):has([slot='drawer']) |
| 126 | + > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) { |
| 127 | + border-top-width: 1px; |
| 128 | +} |
| 129 | + |
| 130 | +vaadin-app-layout:has([slot='navbar']) > :is(:not([slot]), [slot='drawer']) vaadin-drawer-toggle, |
| 131 | +vaadin-app-layout:not([slot='navbar']) > [slot='drawer'] vaadin-drawer-toggle { |
| 132 | + display: none; |
| 133 | +} |
0 commit comments