PluginProbe
Hostinger Tools / trunk
Hostinger Tools vtrunk
3.0.78 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 All 109 releases
hostinger / vue-frontend / src / components / Modals / Base / BaseModal.vue

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

65 lines 1.1 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
27 v-if="title"
28 class="base-modal__title text-heading-2"
29 >
30 {{ title }}
31 </h2>
32 </span>
33 <p
34 v-if="subtitle"
35 class="base-modal__subtitle"
36 >
37 {{ subtitle }}
38 </p>
39 <slot />
40 </div>
41 </template>
42
43 <style lang="scss" scoped>
44 .base-modal {
45 &__title-container {
46 display: flex;
47 align-items: center;
48 margin-bottom: 8px;
49 }
50 &__title {
51 font-size: 20px;
52 color: var(--dark);
53 margin: 0;
54 font-weight: 700;
55 }
56
57 &__subtitle {
58 font-size: 14px;
59 margin-top: 4px;
60 margin-bottom: 24px;
61 color: var(--gray);
62 }
63 }
64 </style>
65