|
89 | 89 | display: flex;
|
90 | 90 | flex-direction: column;
|
91 | 91 |
|
| 92 | + /* Make sure the border radius cuts the content */ |
| 93 | + overflow: hidden; |
| 94 | + contain: paint; |
| 95 | + |
| 96 | + /* Cap the block size */ |
| 97 | + max-block-size: calc(100vh - var(--cpd-space-4x)); |
| 98 | + max-block-size: calc(100svh - var(--cpd-space-4x)); |
| 99 | + |
92 | 100 | /* Drawer comes in the Android style by default */
|
93 | 101 | --border-radius: 28px;
|
94 | 102 | --handle-block-size: 4px;
|
95 | 103 | --handle-inline-size: 32px;
|
96 | 104 | --handle-inset-block-start: var(--cpd-space-4x);
|
97 | 105 | --handle-inset-block-end: 0px;
|
98 |
| - --content-inset-block-start: calc( |
99 |
| - var(--handle-inset-block-start) + |
100 |
| - var(--handle-block-size) + |
101 |
| - var(--handle-inset-block-end) |
102 |
| - ); |
103 | 106 | }
|
104 | 107 |
|
105 | 108 | .drawer[data-platform="ios"] {
|
|
111 | 114 | }
|
112 | 115 |
|
113 | 116 | .drawer .body {
|
| 117 | + overflow-y: auto; |
| 118 | + scrollbar-width: none; |
114 | 119 | padding-inline: var(--cpd-space-4x);
|
115 |
| - padding-block-start: calc( |
116 |
| - var(--content-inset-block-start) + |
117 |
| - var(--cpd-space-6x) |
118 |
| - ); |
| 120 | + margin-block-start: var(--cpd-space-2x); |
| 121 | + padding-block-start: var(--cpd-space-4x); |
119 | 122 | padding-block-end: var(--cpd-space-12x);
|
120 |
| - border-start-start-radius: var(--border-radius); |
121 |
| - border-start-end-radius: var(--border-radius); |
122 |
| - |
123 |
| - /* Even with overflow: auto, the content can still overflow at the corners |
124 |
| - where it meets with the curved border. A contain: paint fixes that. */ |
125 |
| - contain: paint; |
126 |
| - overflow: auto; |
127 |
| - scrollbar-width: none; |
128 |
| - |
129 |
| - --cpd-separator-spacing: 0; |
130 |
| - --cpd-separator-inset: var(--cpd-space-4x); |
131 | 123 | }
|
132 | 124 |
|
133 |
| -.drawer .body::before { |
134 |
| - content: ""; |
135 |
| - position: absolute; |
| 125 | +.drawer .handle { |
| 126 | + align-self: center; |
136 | 127 | block-size: var(--handle-block-size);
|
137 |
| - inset-inline: calc((100% - var(--handle-inline-size)) / 2); |
138 |
| - inset-block-start: var(--handle-inset-block-start); |
| 128 | + inline-size: var(--handle-inline-size); |
| 129 | + margin-block-start: var(--handle-inset-block-start); |
| 130 | + margin-block-end: var(--handle-inset-block-end); |
139 | 131 | background: var(--cpd-color-icon-secondary);
|
140 | 132 | border-radius: var(--cpd-radius-pill-effect);
|
141 | 133 | }
|
0 commit comments