Base Selection PopoutCommunity Asset
<script setup lang="ts">
import type { Option } from '@/components/BaseSelectionPopout.vue'
const selectedOptions = ref<Record<string, Option | null>>({
default: null,
primary: null,
danger: null,
dashed: null,
plain: null,
})
const searchModels = ref<Record<string, string>>({
default: '',
primary: '',
danger: '',
dashed: '',
plain: '',
})
const basicOptions: Option[] = [
{ value: '1', label: 'Apple' },
{ value: '2', label: 'Banana' },
{ value: '3', label: 'Cherry' },
{ value: '4', label: 'Date' },
{ value: '5', label: 'Elderberry' },
{ value: '6', label: 'Fig' },
{ value: '7', label: 'Grape' },
{ value: '8', label: 'Honeydew' },
{ value: '9', label: 'Kiwi' },
{ value: '10', label: 'Lemon' },
]
</script>
<template>
<div class="n-stack">
<h3>Default Variant</h3>
<BaseSelectionPopout
v-model="searchModels.default"
label="Add Item (Default)"
:options="basicOptions"
parent-id="variant-default-example"
variant="default"
is-searchable
@select="selectedOptions.default = $event"
/>
<div
v-if="selectedOptions.default"
class="n-color-text-weaker n-font-size-s"
>
Selected: {{ selectedOptions.default.label }}
</div>
<h3>Primary Variant</h3>
<BaseSelectionPopout
v-model="searchModels.primary"
label="Add Item (Primary)"
:options="basicOptions"
parent-id="variant-primary-example"
variant="primary"
is-searchable
@select="selectedOptions.primary = $event"
/>
<div
v-if="selectedOptions.primary"
class="n-color-text-weaker n-font-size-s"
>
Selected: {{ selectedOptions.primary.label }}
</div>
<h3>Danger Variant</h3>
<BaseSelectionPopout
v-model="searchModels.danger"
label="Add Item (Danger)"
:options="basicOptions"
parent-id="variant-danger-example"
variant="danger"
is-searchable
@select="selectedOptions.danger = $event"
/>
<div
v-if="selectedOptions.danger"
class="n-color-text-weaker n-font-size-s"
>
Selected: {{ selectedOptions.danger.label }}
</div>
<h3>Dashed Variant</h3>
<BaseSelectionPopout
v-model="searchModels.dashed"
label="Add Item (Dashed)"
:options="basicOptions"
parent-id="variant-dashed-example"
variant="dashed"
is-searchable
@select="selectedOptions.dashed = $event"
/>
<div
v-if="selectedOptions.dashed"
class="n-color-text-weaker n-font-size-s"
>
Selected: {{ selectedOptions.dashed.label }}
</div>
<h3>Plain Variant</h3>
<BaseSelectionPopout
v-model="searchModels.plain"
label="Add Item (Plain)"
:options="basicOptions"
parent-id="variant-plain-example"
variant="plain"
is-searchable
@select="selectedOptions.plain = $event"
/>
<div v-if="selectedOptions.plain" class="n-color-text-weaker n-font-size-s">
Selected: {{ selectedOptions.plain.label }}
</div>
</div>
</template>
Integration
This community asset is currently only available to use in the New Frontend for Provet Cloud.
Troubleshooting
If you experience any issues while using this community asset, please ask for support in the #vet-frontend Slack channel.