upend/ui/src/components/utils/Ellipsis.svelte

42 lines
783 B
Svelte
Raw Normal View History

<script lang="ts">
2021-12-21 23:01:50 +01:00
import { tick } from "svelte";
export let value: string;
2021-12-21 22:48:30 +01:00
let root: HTMLDivElement;
2021-12-21 23:01:50 +01:00
$: valueStart = value.substring(0, value.length - 7).replace(" ", "\xa0");
$: valueEnd = value
.substring(value.length - 7, value.length)
.replace(" ", "\xa0");
</script>
2021-12-21 22:48:30 +01:00
<div class="ellipsis" bind:this={root}>
<div class="start">{valueStart}</div>
<div class="end">{valueEnd}</div>
</div>
<style lang="scss">
.ellipsis {
2021-12-11 21:34:00 +01:00
display: flex;
flex-wrap: nowrap;
max-width: 100%;
* {
display: inline-block;
overflow: hidden;
white-space: nowrap;
min-width: 0;
}
.start {
flex: 0 1 auto;
text-overflow: ellipsis;
}
.end {
flex: 1 0 auto;
white-space: nowrap;
}
}
</style>