Files
WAI_Project_UNIX/uni_modules/cool-ui/components/cl-safe-area/cl-safe-area.uvue

47 lines
723 B
Plaintext
Raw Normal View History

2025-07-21 16:47:04 +08:00
<template>
<view
class="cl-safe-area"
2025-09-03 19:03:39 +08:00
:class="[pt.className]"
2025-07-21 16:47:04 +08:00
:style="{
2025-09-03 19:03:39 +08:00
height
2025-07-21 16:47:04 +08:00
}"
>
<slot></slot>
</view>
</template>
<script setup lang="ts">
2025-09-03 19:03:39 +08:00
import { getSafeAreaHeight, parsePt } from "@/cool";
2025-07-21 16:47:04 +08:00
import { computed, type PropType } from "vue";
defineOptions({
name: "cl-safe-area"
});
const props = defineProps({
pt: {
type: Object,
default: () => ({})
},
type: {
type: String as PropType<"top" | "bottom">,
default: "top"
2025-09-03 19:03:39 +08:00
},
transparent: {
type: Boolean,
default: false
2025-07-21 16:47:04 +08:00
}
});
type PassThrough = {
className?: string;
};
const pt = computed(() => parsePt<PassThrough>(props.pt));
// 高度
const height = computed(() => {
2025-08-11 19:14:03 +08:00
return getSafeAreaHeight(props.type) + "px";
2025-07-21 16:47:04 +08:00
});
</script>