Add bubble example
This commit is contained in:
116
src/App.vue
116
src/App.vue
@@ -1,8 +1,124 @@
|
||||
<script setup lang="ts">
|
||||
import Bubble from "./components/Bubble.vue";
|
||||
import AutoCompleteDemo from "./components/AutoCompleteDemo.vue";
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h1>Autocomplete Demo</h1>
|
||||
<AutoCompleteDemo />
|
||||
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere, sem
|
||||
vel faucibus luctus, ipsum justo rhoncus felis, non vestibulum orci magna ac
|
||||
sapien. Aliquam porta felis sit amet urna hendrerit, a malesuada est
|
||||
gravida. Duis lobortis turpis in erat varius, ornare mattis lacus porta.
|
||||
Vivamus scelerisque est ante, nec mattis nulla commodo nec. Morbi pretium
|
||||
bibendum lorem. Cras lacinia dolor eros, in pellentesque mi tempus vitae.
|
||||
Morbi placerat est vitae arcu cursus, eget convallis mi finibus. Cras
|
||||
lacinia sem ut felis dignissim, imperdiet lobortis ante fringilla. Sed quis
|
||||
imperdiet velit. Suspendisse interdum ut quam vel luctus.
|
||||
</p>
|
||||
<p>
|
||||
Maecenas et velit pharetra nibh mollis facilisis. Donec varius luctus
|
||||
lobortis. Morbi vel quam eu nibh viverra dapibus. Orci varius natoque
|
||||
penatibus et magnis dis parturient montes, nascetur ridiculus mus. In luctus
|
||||
venenatis odio, ac sollicitudin quam vulputate et. Fusce sit amet fringilla
|
||||
turpis. In et gravida ligula. Maecenas at maximus neque, gravida ultricies
|
||||
quam. Nam ac tortor ut enim tincidunt pharetra. Ut fringilla vulputate
|
||||
gravida. Sed scelerisque blandit eros, vel interdum lectus vestibulum eget.
|
||||
Integer ac diam lorem. Pellentesque elementum ante sed molestie dictum. Sed
|
||||
eleifend erat vel pulvinar efficitur.
|
||||
</p>
|
||||
<p>
|
||||
Cras ornare urna lectus, et finibus odio blandit non. Curabitur scelerisque
|
||||
suscipit lacinia. Sed sed hendrerit velit. Pellentesque eu est eget turpis
|
||||
sodales auctor. Praesent pharetra venenatis diam, sit amet cursus mauris
|
||||
tristique nec. In mattis imperdiet sapien quis blandit. Vestibulum ante
|
||||
ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
|
||||
Morbi nec neque ullamcorper, feugiat felis vitae, vehicula ligula.
|
||||
</p>
|
||||
<p>
|
||||
Vivamus vehicula quis neque at aliquet. Pellentesque sollicitudin vehicula
|
||||
condimentum. Duis maximus malesuada lacus sed dignissim. Nullam non urna ac
|
||||
felis congue porttitor quis vel metus. Nunc quis dui nec tortor egestas
|
||||
mollis. Aliquam tincidunt nulla in urna pharetra gravida. Phasellus lorem
|
||||
quam, aliquam at maximus pharetra, aliquam at sem. Nam nulla lacus, viverra
|
||||
et tincidunt in, commodo nec nisi. Phasellus nisl leo, mattis id luctus a,
|
||||
malesuada id lacus. Vivamus vel nulla eget tellus posuere luctus in in
|
||||
augue. Integer massa nibh, egestas sit amet elementum ac, luctus quis
|
||||
lectus. Nulla nulla justo, maximus sed purus in, dapibus finibus purus.
|
||||
Aliquam eget purus efficitur, rhoncus risus vel, placerat orci.
|
||||
</p>
|
||||
<p>
|
||||
Ut elementum, massa
|
||||
<Bubble>
|
||||
<template #default> nonaaaaa </template>
|
||||
|
||||
<template #Message>
|
||||
nonaaaaanonaaaaanonaaaaanonaaaaanonaaaaanonaaaaanonaaaaa <br />
|
||||
nonaaaaanonaaaaanonaaaaanonaaaaanonaaaaanonaaaaa
|
||||
</template>
|
||||
</Bubble>
|
||||
venenatis molestie, purus nisl semper ligula, eu semper orci nibh sit amet
|
||||
mi. Sed ut felis lacus. Maecenas finibus elit id hendrerit rutrum. Maecenas
|
||||
porttitor tincidunt fermentum. Praesent convallis nibh sed elit laoreet,
|
||||
quis faucibus ante lacinia. Suspendisse posuere aliquet ullamcorper. Quisque
|
||||
malesuada magna sodales, mattis lacus eget, scelerisque sem. Donec eleifend
|
||||
fringilla mi sit amet vehicula. In placerat id turpis at lacinia. Sed quis
|
||||
interdum augue. Aenean volutpat, nisl vel tristique posuere, risus velit
|
||||
faucibus arcu, id finibus velit magna eu nisi.
|
||||
</p>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere, sem
|
||||
vel faucibus luctus, ipsum justo rhoncus felis, non vestibulum orci magna ac
|
||||
sapien. Aliquam porta felis sit amet urna hendrerit, a malesuada est
|
||||
gravida. Duis lobortis turpis in erat varius, ornare mattis lacus porta.
|
||||
Vivamus scelerisque est ante, nec mattis nulla commodo nec. Morbi pretium
|
||||
bibendum lorem. Cras lacinia dolor eros, in pellentesque mi tempus vitae.
|
||||
Morbi placerat est vitae arcu cursus, eget convallis mi finibus. Cras
|
||||
lacinia sem ut felis dignissim, imperdiet lobortis ante fringilla. Sed quis
|
||||
imperdiet velit. Suspendisse interdum ut quam vel luctus.
|
||||
</p>
|
||||
<p>
|
||||
Maecenas et velit pharetra nibh mollis facilisis. Donec varius luctus
|
||||
lobortis. Morbi vel quam eu nibh viverra dapibus. Orci varius natoque
|
||||
penatibus et magnis dis parturient montes, nascetur ridiculus mus. In luctus
|
||||
venenatis odio, ac sollicitudin quam vulputate et. Fusce sit amet fringilla
|
||||
turpis. In et gravida ligula. Maecenas at maximus neque, gravida ultricies
|
||||
quam. Nam ac tortor ut enim tincidunt pharetra. Ut fringilla vulputate
|
||||
gravida. Sed scelerisque blandit eros, vel interdum lectus vestibulum eget.
|
||||
Integer ac diam lorem. Pellentesque elementum ante sed molestie dictum. Sed
|
||||
eleifend erat vel pulvinar efficitur.
|
||||
</p>
|
||||
<p>
|
||||
Cras ornare urna lectus, et finibus odio blandit non. Curabitur scelerisque
|
||||
suscipit lacinia. Sed sed hendrerit velit. Pellentesque eu est eget turpis
|
||||
sodales auctor. Praesent pharetra venenatis diam, sit amet cursus mauris
|
||||
tristique nec. In mattis imperdiet sapien quis blandit. Vestibulum ante
|
||||
ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
|
||||
Morbi nec neque ullamcorper, feugiat felis vitae, vehicula ligula.
|
||||
</p>
|
||||
<p>
|
||||
Vivamus vehicula quis neque at aliquet. Pellentesque sollicitudin vehicula
|
||||
condimentum. Duis maximus malesuada lacus sed dignissim. Nullam non urna ac
|
||||
felis congue porttitor quis vel metus. Nunc quis dui nec tortor egestas
|
||||
mollis. Aliquam tincidunt nulla in urna pharetra gravida. Phasellus lorem
|
||||
quam, aliquam at maximus pharetra, aliquam at sem. Nam nulla lacus, viverra
|
||||
et tincidunt in, commodo nec nisi. Phasellus nisl leo, mattis id luctus a,
|
||||
malesuada id lacus. Vivamus vel nulla eget tellus posuere luctus in in
|
||||
augue. Integer massa nibh, egestas sit amet elementum ac, luctus quis
|
||||
lectus. Nulla nulla justo, maximus sed purus in, dapibus finibus purus.
|
||||
Aliquam eget purus efficitur, rhoncus risus vel, placerat orci.
|
||||
</p>
|
||||
<p>
|
||||
Ut elementum, massa non venenatis molestie, purus nisl semper ligula, eu
|
||||
semper orci nibh sit amet mi. Sed ut felis lacus. Maecenas finibus elit id
|
||||
hendrerit rutrum. Maecenas porttitor tincidunt fermentum. Praesent convallis
|
||||
nibh sed elit laoreet, quis faucibus ante lacinia. Suspendisse posuere
|
||||
aliquet ullamcorper. Quisque malesuada magna sodales, mattis lacus eget,
|
||||
scelerisque sem. Donec eleifend fringilla mi sit amet vehicula. In placerat
|
||||
id turpis at lacinia. Sed quis interdum augue. Aenean volutpat, nisl vel
|
||||
tristique posuere, risus velit faucibus arcu, id finibus velit magna eu
|
||||
nisi.
|
||||
</p>
|
||||
</template>
|
||||
|
||||
47
src/components/Bubble.vue
Normal file
47
src/components/Bubble.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<script setup lang="ts">
|
||||
const props = defineProps<{
|
||||
message?: string;
|
||||
}>();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<span class="bubble-anchor">
|
||||
<span>
|
||||
<slot></slot>
|
||||
</span>
|
||||
|
||||
<span class="bubble">
|
||||
<slot v-if="!props.message" name="Message"></slot>
|
||||
{{ props.message }}
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.bubble-anchor {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.bubble {
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0%);
|
||||
background: #00aabb;
|
||||
border-radius: 0.4em;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.bubble:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: -15px;
|
||||
left: 50%;
|
||||
border: 15px solid transparent;
|
||||
border-top-color: #00aabb;
|
||||
border-bottom: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user