Skip to content

Commit cfe501c

Browse files
[DEV] updating boolean to fancyRadio
1 parent e27689f commit cfe501c

File tree

4 files changed

+33
-33
lines changed

4 files changed

+33
-33
lines changed

src/plugin/VStepperForm.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
<v-container v-else>
2828

29-
<Fields.VSFBoolean
29+
<Fields.VSFFancyRadio
3030
v-if="field.type === 'fancyRadio'"
3131
v-model="modelValue[field.name]"
3232
:field="field"

src/plugin/components/fields/VSFBoolean/VSFBoolean.vue renamed to src/plugin/components/fields/VSFFancyRadio/VSFFancyRadio.vue

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,26 @@
55
:required="field.required"
66
/>
77

8-
<div class="vsf-boolean__container">
9-
<div class="v-input__control vsf-boolean__control">
8+
<div class="vsf-fancy-radio__container">
9+
<div class="v-input__control vsf-fancy-radio__control">
1010
<template
1111
v-for="option in field?.options"
1212
:key="option.value"
1313
>
1414
<div
15-
class="vsf-boolean__field v-field"
15+
class="vsf-fancy-radio__field v-field"
1616
:class="{
1717
...fieldClasses,
18-
[`vsf-boolean__field--variant-${fieldVariant}-focused`]: isFocused === option.value,
18+
[`vsf-fancy-radio__field--variant-${fieldVariant}-focused`]: isFocused === option.value,
1919
}"
2020
:style="fieldStyle"
2121
>
2222
<input
2323
:id="`vsf-radio-${field.name}-${option.value}`"
2424
v-model="modelValue"
25-
class="vsf-boolean__input"
25+
class="vsf-fancy-radio__input"
2626
:class="{
27-
'vsf-boolean__input_checked': modelValue === option.value,
27+
'vsf-fancy-radio__input_checked': modelValue === option.value,
2828
}"
2929
:name="field.name"
3030
type="radio"
@@ -34,7 +34,7 @@
3434
<label
3535
:class="{
3636
...labelClasses,
37-
[`vsf-boolean__label--variant-${fieldVariant}-focused`]: isFocused === option.value,
37+
[`vsf-fancy-radio__label--variant-${fieldVariant}-focused`]: isFocused === option.value,
3838
}"
3939
:for="`vsf-radio-${field.name}-${option.value}`"
4040
:style="labelStyle"
@@ -47,7 +47,7 @@
4747
<div
4848
:class="{
4949
...fieldTextClasses,
50-
'vsf-boolean__input_selected': modelValue === option.value,
50+
'vsf-fancy-radio__input_selected': modelValue === option.value,
5151
'text-surface': modelValue === option.value && fieldColor === 'on-surface',
5252
}"
5353
v-html="option.label"
@@ -63,18 +63,18 @@
6363

6464
<script lang="ts" setup>
6565
import type {
66-
VSFBooleanProps,
66+
VSFFancyRadioProps,
6767
} from './index';
6868
import FieldLabel from '@/plugin/components/shared/FieldLabel.vue';
6969
7070
7171
const modelValue = defineModel<any>();
72-
const props = defineProps<VSFBooleanProps>();
72+
const props = defineProps<VSFFancyRadioProps>();
7373
7474
const { field, settings } = toRefs(props);
7575
7676
77-
console.group('VSFBoolean');
77+
console.group('VSFFancyRadio');
7878
console.log('field', field);
7979
console.log('settings', settings);
8080
console.groupEnd();
@@ -129,15 +129,15 @@ const labelStyle = computed<CSSProperties>(() => {
129129
const fieldOverlayClasses = computed(() => {
130130
return {
131131
'v-field__overlay': true,
132-
'vsf-boolean__overlay': true,
132+
'vsf-fancy-radio__overlay': true,
133133
[`text-${fieldColor.value}`]: fieldColor.value,
134134
};
135135
});
136136
137137
const fieldOutlineClasses = computed(() => {
138138
return {
139139
'v-field__outline': true,
140-
'vsf-boolean__outline': true,
140+
'vsf-fancy-radio__outline': true,
141141
[`text-${fieldColor.value}`]: fieldColor.value,
142142
};
143143
});
@@ -146,25 +146,25 @@ const fieldTextClasses = computed(() => {
146146
const oppositeColorVariation = fieldColor.value === 'on-surface' ? 'surface' : fieldColor.value;
147147
148148
return {
149-
'vsf-boolean__text': true,
149+
'vsf-fancy-radio__text': true,
150150
[`text-${oppositeColorVariation}`]: fieldColor.value === 'on-surface',
151151
};
152152
});
153153
154154
const fieldClasses = computed(() => {
155155
return {
156156
[`v-field--variant-${fieldVariant.value}`]: true,
157-
[`vsf-boolean__field--variant-${fieldVariant.value}`]: true,
157+
[`vsf-fancy-radio__field--variant-${fieldVariant.value}`]: true,
158158
};
159159
});
160160
161161
const labelClasses = computed(() => {
162162
return {
163163
'pa-1': field.value?.density === 'compact',
164164
'pa-4': field.value?.density !== 'compact',
165-
'vsf-boolean__label': true,
166-
[`vsf-boolean__label--variant-${fieldVariant.value}`]: true,
167-
// [`vsf-boolean__label-variant-${variant}_${isFocused.value}`]: true,
165+
'vsf-fancy-radio__label': true,
166+
[`vsf-fancy-radio__label--variant-${fieldVariant.value}`]: true,
167+
// [`vsf-fancy-radio__label-variant-${variant}_${isFocused.value}`]: true,
168168
};
169169
});
170170
@@ -185,7 +185,7 @@ function onFocus(value: any) {
185185
</style>
186186

187187
<style lang="scss" scoped>
188-
.vsf-boolean {
188+
.vsf-fancy-radio {
189189
&__container {
190190
align-items: center;
191191
display: flex;
@@ -219,7 +219,7 @@ function onFocus(value: any) {
219219
--vsf-field-border-opacity: calc((0.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)) !important;
220220
}
221221
222-
.vsf-boolean__overlay {
222+
.vsf-fancy-radio__overlay {
223223
opacity: var(--vsf-field-border-opacity);
224224
transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
225225
}
@@ -244,7 +244,7 @@ function onFocus(value: any) {
244244
width: 100%;
245245
}
246246
247-
.vsf-boolean__overlay {
247+
.vsf-fancy-radio__overlay {
248248
background-color: rgb(var(--v-theme-surface));
249249
}
250250
@@ -254,7 +254,7 @@ function onFocus(value: any) {
254254
255255
&_checked {
256256
+ label {
257-
.vsf-boolean__overlay {
257+
.vsf-fancy-radio__overlay {
258258
background-color: currentcolor;
259259
opacity: 1;
260260
}
@@ -275,7 +275,7 @@ function onFocus(value: any) {
275275
276276
// ? ------------------------- Underline scaling for variants //
277277
@mixin underline-scale() {
278-
.vsf-boolean__outline {
278+
.vsf-fancy-radio__outline {
279279
&::before {
280280
border-width: 0 0 var(--v-field-border-width);
281281
}
@@ -287,7 +287,7 @@ function onFocus(value: any) {
287287
}
288288
289289
&-focused {
290-
.vsf-boolean__outline {
290+
.vsf-fancy-radio__outline {
291291
&::after {
292292
transform: scaleX(1);
293293
}
@@ -311,12 +311,12 @@ function onFocus(value: any) {
311311
&:hover {
312312
--v-field-border-width: 2px;
313313
314-
.vsf-boolean__overlay {
314+
.vsf-fancy-radio__overlay {
315315
opacity: 1 !important;
316316
}
317317
}
318318
319-
.vsf-boolean__overlay {
319+
.vsf-fancy-radio__overlay {
320320
border-radius: var(--vsf-field-border-radius) !important;
321321
border-style: solid;
322322
border-width: var(--v-field-border-width);

src/plugin/components/fields/VSFBoolean/index.ts renamed to src/plugin/components/fields/VSFFancyRadio/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type {
22
Field,
33
SharedProps,
44
} from '@/plugin/types';
5-
import type VSFBoolean from './VSFBoolean.vue';
5+
import type VSFFancyRadio from './VSFFancyRadio.vue';
66

77

88
interface InternalField extends Omit<Field,
@@ -14,11 +14,11 @@ interface InternalField extends Omit<Field,
1414
variant?: 'underlined' | 'outlined' | 'filled' | 'solo' | 'solo-inverted' | 'solo-filled' | 'plain';
1515
}
1616

17-
export interface VSFBooleanProps extends SharedProps {
17+
export interface VSFFancyRadioProps extends SharedProps {
1818
density?: Field['density'] | 'expanded' | 'oversized';
1919
field: InternalField;
2020
}
2121

22-
export type VSFBoolean = InstanceType<typeof VSFBoolean>;
22+
export type VSFFancyRadio = InstanceType<typeof VSFFancyRadio>;
2323

24-
export default VSFBoolean;
24+
export default VSFFancyRadio;

src/plugin/components/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import VSFBoolean from './fields/VSFBoolean/VSFBoolean.vue';
21
import VSFCheckbox from './fields/VSFCheckbox/VSFCheckbox.vue';
2+
import VSFFancyRadio from './fields/VSFFancyRadio/VSFFancyRadio.vue';
33
import VSFFileInput from './fields/VSFFileInput/VSFFileInput.vue';
44
import VSFRadio from './fields/VSFRadio/VSFRadio.vue';
55
import VSFSwitch from './fields/VSFSwitch/VSFSwitch.vue';
66
import VSFTextarea from './fields/VSFTextarea/VSFTextarea.vue';
77
import VSFTextField from './fields/VSFTextField/VSFTextField.vue';
88

99
export {
10-
VSFBoolean,
1110
VSFCheckbox,
11+
VSFFancyRadio,
1212
VSFFileInput,
1313
VSFRadio,
1414
VSFSwitch,

0 commit comments

Comments
 (0)