summaryrefslogtreecommitdiff
path: root/packages/client/src/components/form/radios.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/client/src/components/form/radios.vue')
-rw-r--r--packages/client/src/components/form/radios.vue83
1 files changed, 0 insertions, 83 deletions
diff --git a/packages/client/src/components/form/radios.vue b/packages/client/src/components/form/radios.vue
deleted file mode 100644
index bde4a8fb00..0000000000
--- a/packages/client/src/components/form/radios.vue
+++ /dev/null
@@ -1,83 +0,0 @@
-<script lang="ts">
-import { defineComponent, h } from 'vue';
-import MkRadio from './radio.vue';
-
-export default defineComponent({
- components: {
- MkRadio,
- },
- props: {
- modelValue: {
- required: false,
- },
- },
- data() {
- return {
- value: this.modelValue,
- };
- },
- watch: {
- value() {
- this.$emit('update:modelValue', this.value);
- },
- },
- render() {
- let options = this.$slots.default();
- const label = this.$slots.label && this.$slots.label();
- const caption = this.$slots.caption && this.$slots.caption();
-
- // なぜかFragmentになることがあるため
- if (options.length === 1 && options[0].props == null) options = options[0].children;
-
- return h('div', {
- class: 'novjtcto',
- }, [
- ...(label ? [h('div', {
- class: 'label',
- }, [label])] : []),
- h('div', {
- class: 'body',
- }, options.map(option => h(MkRadio, {
- key: option.key,
- value: option.props.value,
- modelValue: this.value,
- 'onUpdate:modelValue': value => this.value = value,
- }, option.children)),
- ),
- ...(caption ? [h('div', {
- class: 'caption',
- }, [caption])] : []),
- ]);
- },
-});
-</script>
-
-<style lang="scss">
-.novjtcto {
- > .label {
- font-size: 0.85em;
- padding: 0 0 8px 0;
- user-select: none;
-
- &:empty {
- display: none;
- }
- }
-
- > .body {
- display: flex;
- gap: 12px;
- flex-wrap: wrap;
- }
-
- > .caption {
- font-size: 0.85em;
- padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
-
- &:empty {
- display: none;
- }
- }
-}
-</style>