| | |
| | | <template> |
| | | <scroll-view class="content-scroll-view-wrapper" :class="{ hasPaddingTop }" :scroll-y="true"> |
| | | <ContentView |
| | | :class="['content-scroll-view-wrapper-inner', props.allHeight ? 'all-height' : '']" |
| | | :paddingH="paddingH" |
| | | > |
| | | <slot /> |
| | | </ContentView> |
| | | </scroll-view> |
| | | <div :class="['content-scroll-view', { hasPaddingTop }]"> |
| | | <slot /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import ContentView from './ContentView.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'ContentScrollView', |
| | | }); |
| | |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | |
| | | .content-scroll-view-wrapper { |
| | | @include listScrollViewWithNoPadding; |
| | | background-color: $body-background-color; |
| | | |
| | | &.hasPaddingTop { |
| | | padding-top: 20px; |
| | | } |
| | | |
| | | .content-scroll-view-wrapper-inner { |
| | | @include ScrollViewInner; |
| | | |
| | | &.all-height { |
| | | height: 100%; |
| | | padding-bottom: 0; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | } |
| | | .content-scroll-view { |
| | | overflow-y: auto; |
| | | padding: 10px 14px 0; |
| | | flex: 1; |
| | | min-height: 0; |
| | | } |
| | | </style> |