jws-frontend/src/components/app/AppBox.vue

44 lines
680 B
Vue
Raw Normal View History

2024-04-02 11:02:16 +07:00
<script lang="ts" setup>
2024-04-16 18:33:02 +07:00
defineProps<{
dark?: boolean;
bordered?: boolean;
shadowed?: boolean;
noPadding?: boolean;
}>();
2024-04-02 11:02:16 +07:00
</script>
<template>
2024-04-05 17:26:40 +07:00
<div
class="app-box"
:class="{
dark,
'app-box__bordered': bordered,
'app-box__shadowed': shadowed,
2024-04-16 18:33:02 +07:00
'app-box__no-padding': noPadding,
2024-04-05 17:26:40 +07:00
}"
>
2024-04-02 11:02:16 +07:00
<slot />
</div>
</template>
<style scoped>
.app-box {
overflow: hidden;
background-color: var(--surface-1);
2024-04-10 14:22:43 +07:00
border-radius: var(--radius-2);
2024-07-02 11:02:30 +00:00
padding: var(--size-3);
2024-04-05 17:26:40 +07:00
}
2024-04-16 18:33:02 +07:00
.app-box__no-padding {
padding: 0;
}
2024-04-05 17:26:40 +07:00
.app-box__shadowed {
2024-04-09 17:21:44 +07:00
box-shadow: var(--shadow-3);
2024-04-02 11:02:16 +07:00
}
.app-box__bordered {
border: 1px solid var(--border-color);
}
</style>