PluginProbe
Hostinger Tools / 3.0.46
Hostinger Tools v3.0.46
3.0.77 3.0.76 3.0.75 3.0.74 3.0.73 3.0.72 3.0.71 3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 All 108 releases
hostinger / vue-frontend / src / components / Modals / Base / BaseModal.vue

BaseModal.vue in Hostinger Tools 3.0.46, at vue-frontend/src/components/Modals/Base/BaseModal.vue

55 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <script lang="ts" setup>
2 import Icon from "@/components/Icon/Icon.vue";
3 import { Color, IconUnion } from "@/types";
4
5 interface Props {
6 title?: string;
7 subtitle?: string;
8 titleIcon?: {
9 name: IconUnion;
10 color: Color;
11 };
12 }
13
14 defineProps<Props>();
15 </script>
16
17 <template>
18 <div class="base-modal">
19 <span class="base-modal__title-container">
20 <Icon
21 v-if="titleIcon"
22 class="h-mr-12"
23 :name="titleIcon.name"
24 :color="titleIcon.color"
25 />
26 <h2 v-if="title" class="base-modal__title text-heading-2">{{ title }}</h2>
27 </span>
28 <p v-if="subtitle" class="base-modal__subtitle">{{ subtitle }}</p>
29 <slot />
30 </div>
31 </template>
32
33 <style lang="scss" scoped>
34 .base-modal {
35 &__title-container {
36 display: flex;
37 align-items: center;
38 margin-bottom: 8px;
39 }
40 &__title {
41 font-size: 20px;
42 color: var(--dark);
43 margin: 0;
44 font-weight: 700;
45 }
46
47 &__subtitle {
48 font-size: 14px;
49 margin-top: 4px;
50 margin-bottom: 24px;
51 color: var(--gray);
52 }
53 }
54 </style>
55