@synergy-design-system/vue 2.7.2 → 2.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SynVueAccordion.vue.d.ts +12 -12
- package/dist/components/SynVueAlert.vue.d.ts +13 -9
- package/dist/components/SynVueBadge.vue.d.ts +4 -4
- package/dist/components/SynVueBreadcrumbItem.vue.d.ts +12 -12
- package/dist/components/SynVueButton.vue.d.ts +62 -59
- package/dist/components/SynVueCard.vue.d.ts +8 -8
- package/dist/components/SynVueCheckbox.vue.d.ts +40 -35
- package/dist/components/SynVueDetails.vue.d.ts +23 -19
- package/dist/components/SynVueDialog.vue.d.ts +7 -1
- package/dist/components/SynVueDivider.vue.d.ts +4 -4
- package/dist/components/SynVueDrawer.vue.d.ts +11 -5
- package/dist/components/SynVueDropdown.vue.d.ts +21 -17
- package/dist/components/SynVueFile.vue.d.ts +40 -35
- package/dist/components/SynVueHeader.vue.d.ts +10 -7
- package/dist/components/SynVueIcon.vue.d.ts +13 -11
- package/dist/components/SynVueIconButton.vue.d.ts +37 -35
- package/dist/components/SynVueInput.vue.d.ts +115 -109
- package/dist/components/SynVueMenu.vue.d.ts +2 -1
- package/dist/components/SynVueMenuItem.vue.d.ts +24 -24
- package/dist/components/SynVueNavItem.vue.d.ts +13 -9
- package/dist/components/SynVueOptgroup.vue.d.ts +10 -10
- package/dist/components/SynVueOption.vue.d.ts +4 -4
- package/dist/components/SynVuePopup.vue.d.ts +34 -33
- package/dist/components/SynVueProgressBar.vue.d.ts +12 -12
- package/dist/components/SynVueProgressRing.vue.d.ts +8 -8
- package/dist/components/SynVueRadio.vue.d.ts +13 -11
- package/dist/components/SynVueRadioButton.vue.d.ts +17 -15
- package/dist/components/SynVueRadioGroup.vue.d.ts +32 -29
- package/dist/components/SynVueRange.vue.d.ts +57 -51
- package/dist/components/SynVueRangeTick.vue.d.ts +4 -4
- package/dist/components/SynVueSelect.vue.d.ts +55 -45
- package/dist/components/SynVueSideNav.vue.d.ts +5 -1
- package/dist/components/SynVueSwitch.vue.d.ts +40 -35
- package/dist/components/SynVueTab.vue.d.ts +20 -19
- package/dist/components/SynVueTabGroup.vue.d.ts +21 -19
- package/dist/components/SynVueTabPanel.vue.d.ts +8 -8
- package/dist/components/SynVueTag.vue.d.ts +10 -9
- package/dist/components/SynVueTextarea.vue.d.ts +86 -81
- package/dist/components/SynVueTooltip.vue.d.ts +29 -25
- package/package.json +2 -2
- package/src/components/SynVueAccordion.vue +16 -21
- package/src/components/SynVueAlert.vue +29 -29
- package/src/components/SynVueBadge.vue +10 -15
- package/src/components/SynVueBreadcrumb.vue +8 -13
- package/src/components/SynVueBreadcrumbItem.vue +16 -21
- package/src/components/SynVueButton.vue +66 -67
- package/src/components/SynVueButtonGroup.vue +8 -13
- package/src/components/SynVueCard.vue +12 -17
- package/src/components/SynVueCheckbox.vue +64 -53
- package/src/components/SynVueDetails.vue +35 -35
- package/src/components/SynVueDialog.vue +33 -31
- package/src/components/SynVueDivider.vue +9 -14
- package/src/components/SynVueDrawer.vue +37 -35
- package/src/components/SynVueDropdown.vue +37 -37
- package/src/components/SynVueFile.vue +69 -58
- package/src/components/SynVueHeader.vue +23 -24
- package/src/components/SynVueIcon.vue +26 -25
- package/src/components/SynVueIconButton.vue +42 -41
- package/src/components/SynVueInput.vue +123 -111
- package/src/components/SynVueMenu.vue +6 -9
- package/src/components/SynVueMenuItem.vue +24 -29
- package/src/components/SynVueMenuLabel.vue +2 -6
- package/src/components/SynVueNavItem.vue +32 -32
- package/src/components/SynVueOptgroup.vue +14 -19
- package/src/components/SynVueOption.vue +11 -16
- package/src/components/SynVuePopup.vue +51 -52
- package/src/components/SynVuePrioNav.vue +2 -6
- package/src/components/SynVueProgressBar.vue +16 -21
- package/src/components/SynVueProgressRing.vue +13 -18
- package/src/components/SynVueRadio.vue +23 -23
- package/src/components/SynVueRadioButton.vue +26 -26
- package/src/components/SynVueRadioGroup.vue +52 -43
- package/src/components/SynVueRange.vue +77 -65
- package/src/components/SynVueRangeTick.vue +10 -15
- package/src/components/SynVueSelect.vue +90 -74
- package/src/components/SynVueSideNav.vue +24 -24
- package/src/components/SynVueSpinner.vue +1 -5
- package/src/components/SynVueSwitch.vue +63 -52
- package/src/components/SynVueTab.vue +25 -26
- package/src/components/SynVueTabGroup.vue +31 -31
- package/src/components/SynVueTabPanel.vue +13 -18
- package/src/components/SynVueTag.vue +18 -19
- package/src/components/SynVueTextarea.vue +99 -88
- package/src/components/SynVueTooltip.vue +41 -41
|
@@ -32,9 +32,10 @@
|
|
|
32
32
|
import { computed, ref } from 'vue';
|
|
33
33
|
import '@synergy-design-system/components/components/radio-group/radio-group.js';
|
|
34
34
|
|
|
35
|
-
import type {
|
|
36
|
-
|
|
37
|
-
} from '@synergy-design-system/components';
|
|
35
|
+
import type { SynChangeEvent } from '@synergy-design-system/components';
|
|
36
|
+
import type { SynInputEvent } from '@synergy-design-system/components';
|
|
37
|
+
import type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
38
|
+
import type { SynRadioGroup } from '@synergy-design-system/components';
|
|
38
39
|
|
|
39
40
|
// DOM Reference to the element
|
|
40
41
|
const nativeElement = ref<SynRadioGroup>();
|
|
@@ -51,29 +52,29 @@ const props = defineProps<{
|
|
|
51
52
|
* If you need to display HTML, use the `label` slot
|
|
52
53
|
instead.
|
|
53
54
|
*/
|
|
54
|
-
|
|
55
|
+
label?: SynRadioGroup['label'];
|
|
55
56
|
|
|
56
57
|
/**
|
|
57
|
-
* The radio groups's help text.
|
|
58
|
-
* If you need to display HTML, use the `help-text` slot instead.
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
* The radio groups's help text.
|
|
59
|
+
* If you need to display HTML, use the `help-text` slot instead.
|
|
60
|
+
*/
|
|
61
|
+
helpText?: SynRadioGroup['helpText'];
|
|
61
62
|
|
|
62
63
|
/**
|
|
63
|
-
* The name of the radio group, submitted as a name/value pair with form data.
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
* The name of the radio group, submitted as a name/value pair with form data.
|
|
65
|
+
*/
|
|
66
|
+
name?: SynRadioGroup['name'];
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
|
-
* The current value of the radio group, submitted as a name/value pair with form data.
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
* The current value of the radio group, submitted as a name/value pair with form data.
|
|
70
|
+
*/
|
|
71
|
+
value?: SynRadioGroup['value'];
|
|
71
72
|
|
|
72
73
|
/**
|
|
73
|
-
* The radio group's size.
|
|
74
|
-
* This size will be applied to all child radios and radio buttons.
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
* The radio group's size.
|
|
75
|
+
* This size will be applied to all child radios and radio buttons.
|
|
76
|
+
*/
|
|
77
|
+
size?: SynRadioGroup['size'];
|
|
77
78
|
|
|
78
79
|
/**
|
|
79
80
|
* By default, form controls are associated with the nearest containing `<form>` element.
|
|
@@ -82,16 +83,16 @@ to place the form control outside of a form and associate it with the form that
|
|
|
82
83
|
* The form must be in
|
|
83
84
|
the same document or shadow root for this to work.
|
|
84
85
|
*/
|
|
85
|
-
|
|
86
|
+
form?: SynRadioGroup['form'];
|
|
86
87
|
|
|
87
88
|
/**
|
|
88
|
-
* Ensures a child radio is checked before allowing the containing form to submit.
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
* Ensures a child radio is checked before allowing the containing form to submit.
|
|
90
|
+
*/
|
|
91
|
+
required?: SynRadioGroup['required'];
|
|
91
92
|
|
|
92
93
|
/**
|
|
93
|
-
* Support for two way data binding
|
|
94
|
-
|
|
94
|
+
* Support for two way data binding
|
|
95
|
+
*/
|
|
95
96
|
modelValue?: SynRadioGroup['value'];
|
|
96
97
|
}>();
|
|
97
98
|
|
|
@@ -99,32 +100,32 @@ the same document or shadow root for this to work.
|
|
|
99
100
|
// This is needed because :param="param" also adds an empty attribute
|
|
100
101
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
101
102
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
102
|
-
const visibleProps = computed(() =>
|
|
103
|
-
Object
|
|
104
|
-
.entries(props)
|
|
105
|
-
|
|
106
|
-
)
|
|
103
|
+
const visibleProps = computed(() =>
|
|
104
|
+
Object.fromEntries(
|
|
105
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
106
|
+
),
|
|
107
|
+
);
|
|
107
108
|
|
|
108
109
|
// Map events
|
|
109
110
|
defineEmits<{
|
|
110
111
|
/**
|
|
111
|
-
* Emitted when the radio group's selected value changes.
|
|
112
|
-
|
|
112
|
+
* Emitted when the radio group's selected value changes.
|
|
113
|
+
*/
|
|
113
114
|
'syn-change': [e: SynChangeEvent];
|
|
114
115
|
|
|
115
116
|
/**
|
|
116
|
-
* Emitted when the radio group receives user input.
|
|
117
|
-
|
|
117
|
+
* Emitted when the radio group receives user input.
|
|
118
|
+
*/
|
|
118
119
|
'syn-input': [e: SynInputEvent];
|
|
119
120
|
|
|
120
121
|
/**
|
|
121
|
-
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
122
|
-
|
|
122
|
+
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
123
|
+
*/
|
|
123
124
|
'syn-invalid': [e: SynInvalidEvent];
|
|
124
125
|
|
|
125
126
|
/**
|
|
126
|
-
* Support for two way data binding
|
|
127
|
-
|
|
127
|
+
* Support for two way data binding
|
|
128
|
+
*/
|
|
128
129
|
'update:modelValue': [newValue: SynRadioGroup['value']];
|
|
129
130
|
}>();
|
|
130
131
|
</script>
|
|
@@ -137,13 +138,21 @@ export type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
|
137
138
|
|
|
138
139
|
<template>
|
|
139
140
|
<syn-radio-group
|
|
140
|
-
v-bind="visibleProps"
|
|
141
|
-
ref="nativeElement"
|
|
142
|
-
:value="typeof props.modelValue !== 'undefined' ? props.modelValue : typeof props.value !== 'undefined' ? props.value : undefined"
|
|
143
141
|
@syn-change="$emit('syn-change', $event)"
|
|
144
|
-
@syn-input="
|
|
142
|
+
@syn-input="
|
|
143
|
+
$emit('update:modelValue', $event.target.value);
|
|
144
|
+
$emit('syn-input', $event);
|
|
145
|
+
"
|
|
145
146
|
@syn-invalid="$emit('syn-invalid', $event)"
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
:value="
|
|
148
|
+
typeof props.modelValue !== 'undefined'
|
|
149
|
+
? props.modelValue
|
|
150
|
+
: typeof props.value !== 'undefined'
|
|
151
|
+
? props.value
|
|
152
|
+
: undefined
|
|
153
|
+
"
|
|
154
|
+
v-bind="visibleProps"
|
|
155
|
+
ref="nativeElement">
|
|
156
|
+
<slot></slot>
|
|
148
157
|
</syn-radio-group>
|
|
149
158
|
</template>
|
|
@@ -54,9 +54,13 @@
|
|
|
54
54
|
import { computed, ref } from 'vue';
|
|
55
55
|
import '@synergy-design-system/components/components/range/range.js';
|
|
56
56
|
|
|
57
|
-
import type {
|
|
58
|
-
|
|
59
|
-
} from '@synergy-design-system/components';
|
|
57
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
58
|
+
import type { SynChangeEvent } from '@synergy-design-system/components';
|
|
59
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
60
|
+
import type { SynInputEvent } from '@synergy-design-system/components';
|
|
61
|
+
import type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
62
|
+
import type { SynMoveEvent } from '@synergy-design-system/components';
|
|
63
|
+
import type { SynRange } from '@synergy-design-system/components';
|
|
60
64
|
|
|
61
65
|
// DOM Reference to the element
|
|
62
66
|
const nativeElement = ref<SynRange>();
|
|
@@ -68,57 +72,57 @@ defineExpose({
|
|
|
68
72
|
// Map attributes
|
|
69
73
|
const props = defineProps<{
|
|
70
74
|
/**
|
|
71
|
-
* The name of the range, submitted as a name/value pair with form data.
|
|
72
|
-
|
|
73
|
-
|
|
75
|
+
* The name of the range, submitted as a name/value pair with form data.
|
|
76
|
+
*/
|
|
77
|
+
name?: SynRange['name'];
|
|
74
78
|
|
|
75
79
|
/**
|
|
76
|
-
* The range's label.
|
|
77
|
-
* If you need to display HTML, use the `label` slot instead.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
* The range's label.
|
|
81
|
+
* If you need to display HTML, use the `label` slot instead.
|
|
82
|
+
*/
|
|
83
|
+
label?: SynRange['label'];
|
|
80
84
|
|
|
81
85
|
/**
|
|
82
|
-
* The range's help text.
|
|
83
|
-
* If you need to display HTML, use the help-text slot instead.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
* The range's help text.
|
|
87
|
+
* If you need to display HTML, use the help-text slot instead.
|
|
88
|
+
*/
|
|
89
|
+
helpText?: SynRange['helpText'];
|
|
86
90
|
|
|
87
91
|
/**
|
|
88
|
-
* Disables the range.
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
* Disables the range.
|
|
93
|
+
*/
|
|
94
|
+
disabled?: SynRange['disabled'];
|
|
91
95
|
|
|
92
96
|
/**
|
|
93
|
-
* The minimum acceptable value of the range.
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
* The minimum acceptable value of the range.
|
|
98
|
+
*/
|
|
99
|
+
min?: SynRange['min'];
|
|
96
100
|
|
|
97
101
|
/**
|
|
98
|
-
* The maximum acceptable value of the range.
|
|
99
|
-
|
|
100
|
-
|
|
102
|
+
* The maximum acceptable value of the range.
|
|
103
|
+
*/
|
|
104
|
+
max?: SynRange['max'];
|
|
101
105
|
|
|
102
106
|
/**
|
|
103
|
-
* The interval at which the range will increase and decrease.
|
|
104
|
-
|
|
105
|
-
|
|
107
|
+
* The interval at which the range will increase and decrease.
|
|
108
|
+
*/
|
|
109
|
+
step?: SynRange['step'];
|
|
106
110
|
|
|
107
111
|
/**
|
|
108
|
-
* The range's size.
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
* The range's size.
|
|
113
|
+
*/
|
|
114
|
+
size?: SynRange['size'];
|
|
111
115
|
|
|
112
116
|
/**
|
|
113
|
-
* The preferred placement of the range's tooltip.
|
|
114
|
-
* Use "none" to disable the tooltip
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
* The preferred placement of the range's tooltip.
|
|
118
|
+
* Use "none" to disable the tooltip
|
|
119
|
+
*/
|
|
120
|
+
tooltipPlacement?: SynRange['tooltipPlacement'];
|
|
117
121
|
|
|
118
122
|
/**
|
|
119
|
-
* The current values of the input (in ascending order) as a string of space separated values
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
* The current values of the input (in ascending order) as a string of space separated values
|
|
124
|
+
*/
|
|
125
|
+
value?: SynRange['value'];
|
|
122
126
|
|
|
123
127
|
/**
|
|
124
128
|
* By default, form controls are associated with the nearest containing `<form>` element.
|
|
@@ -126,11 +130,11 @@ This attribute allows you to place the form control outside of a form
|
|
|
126
130
|
and associate it with the form that has this `id`.
|
|
127
131
|
The form must be in the same document or shadow root for this to work.
|
|
128
132
|
*/
|
|
129
|
-
|
|
133
|
+
form?: SynRange['form'];
|
|
130
134
|
|
|
131
135
|
/**
|
|
132
|
-
* Support for two way data binding
|
|
133
|
-
|
|
136
|
+
* Support for two way data binding
|
|
137
|
+
*/
|
|
134
138
|
modelValue?: SynRange['value'];
|
|
135
139
|
}>();
|
|
136
140
|
|
|
@@ -138,48 +142,48 @@ The form must be in the same document or shadow root for this to work.
|
|
|
138
142
|
// This is needed because :param="param" also adds an empty attribute
|
|
139
143
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
140
144
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
141
|
-
const visibleProps = computed(() =>
|
|
142
|
-
Object
|
|
143
|
-
.entries(props)
|
|
144
|
-
|
|
145
|
-
)
|
|
145
|
+
const visibleProps = computed(() =>
|
|
146
|
+
Object.fromEntries(
|
|
147
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
148
|
+
),
|
|
149
|
+
);
|
|
146
150
|
|
|
147
151
|
// Map events
|
|
148
152
|
defineEmits<{
|
|
149
153
|
/**
|
|
150
|
-
* Emitted when the control loses focus.
|
|
151
|
-
|
|
154
|
+
* Emitted when the control loses focus.
|
|
155
|
+
*/
|
|
152
156
|
'syn-blur': [e: SynBlurEvent];
|
|
153
157
|
|
|
154
158
|
/**
|
|
155
|
-
* Emitted when an alteration to the control's value is committed by the user.
|
|
156
|
-
|
|
159
|
+
* Emitted when an alteration to the control's value is committed by the user.
|
|
160
|
+
*/
|
|
157
161
|
'syn-change': [e: SynChangeEvent];
|
|
158
162
|
|
|
159
163
|
/**
|
|
160
|
-
* Emitted when the control gains focus.
|
|
161
|
-
|
|
164
|
+
* Emitted when the control gains focus.
|
|
165
|
+
*/
|
|
162
166
|
'syn-focus': [e: SynFocusEvent];
|
|
163
167
|
|
|
164
168
|
/**
|
|
165
|
-
* Emitted when the control receives input.
|
|
166
|
-
|
|
169
|
+
* Emitted when the control receives input.
|
|
170
|
+
*/
|
|
167
171
|
'syn-input': [e: SynInputEvent];
|
|
168
172
|
|
|
169
173
|
/**
|
|
170
|
-
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
171
|
-
|
|
174
|
+
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
175
|
+
*/
|
|
172
176
|
'syn-invalid': [e: SynInvalidEvent];
|
|
173
177
|
|
|
174
178
|
/**
|
|
175
|
-
* Emitted when the user moves a thumb, either via touch or keyboard.
|
|
176
|
-
* Use `Event.preventDefault()` to prevent movement.
|
|
177
|
-
|
|
179
|
+
* Emitted when the user moves a thumb, either via touch or keyboard.
|
|
180
|
+
* Use `Event.preventDefault()` to prevent movement.
|
|
181
|
+
*/
|
|
178
182
|
'syn-move': [e: SynMoveEvent];
|
|
179
183
|
|
|
180
184
|
/**
|
|
181
|
-
* Support for two way data binding
|
|
182
|
-
|
|
185
|
+
* Support for two way data binding
|
|
186
|
+
*/
|
|
183
187
|
'update:modelValue': [newValue: SynRange['value']];
|
|
184
188
|
}>();
|
|
185
189
|
</script>
|
|
@@ -195,16 +199,24 @@ export type { SynMoveEvent } from '@synergy-design-system/components';
|
|
|
195
199
|
|
|
196
200
|
<template>
|
|
197
201
|
<syn-range
|
|
198
|
-
v-bind="visibleProps"
|
|
199
|
-
ref="nativeElement"
|
|
200
|
-
:value="typeof props.modelValue !== 'undefined' ? props.modelValue : typeof props.value !== 'undefined' ? props.value : undefined"
|
|
201
202
|
@syn-blur="$emit('syn-blur', $event)"
|
|
202
203
|
@syn-change="$emit('syn-change', $event)"
|
|
203
204
|
@syn-focus="$emit('syn-focus', $event)"
|
|
204
|
-
@syn-input="
|
|
205
|
+
@syn-input="
|
|
206
|
+
$emit('update:modelValue', $event.target.value);
|
|
207
|
+
$emit('syn-input', $event);
|
|
208
|
+
"
|
|
205
209
|
@syn-invalid="$emit('syn-invalid', $event)"
|
|
206
210
|
@syn-move="$emit('syn-move', $event)"
|
|
207
|
-
|
|
208
|
-
|
|
211
|
+
:value="
|
|
212
|
+
typeof props.modelValue !== 'undefined'
|
|
213
|
+
? props.modelValue
|
|
214
|
+
: typeof props.value !== 'undefined'
|
|
215
|
+
? props.value
|
|
216
|
+
: undefined
|
|
217
|
+
"
|
|
218
|
+
v-bind="visibleProps"
|
|
219
|
+
ref="nativeElement">
|
|
220
|
+
<slot></slot>
|
|
209
221
|
</syn-range>
|
|
210
222
|
</template>
|
|
@@ -34,29 +34,24 @@ defineExpose({
|
|
|
34
34
|
// Map attributes
|
|
35
35
|
const props = defineProps<{
|
|
36
36
|
/**
|
|
37
|
-
* Whether the tick should be shown as a subdivision.
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
* Whether the tick should be shown as a subdivision.
|
|
38
|
+
*/
|
|
39
|
+
subdivision?: SynRangeTick['subdivision'];
|
|
40
40
|
}>();
|
|
41
41
|
|
|
42
42
|
// Make sure prop binding only forwards the props that are actually there.
|
|
43
43
|
// This is needed because :param="param" also adds an empty attribute
|
|
44
44
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
45
45
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
46
|
-
const visibleProps = computed(() =>
|
|
47
|
-
Object
|
|
48
|
-
.entries(props)
|
|
49
|
-
|
|
50
|
-
)
|
|
51
|
-
|
|
46
|
+
const visibleProps = computed(() =>
|
|
47
|
+
Object.fromEntries(
|
|
48
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
49
|
+
),
|
|
50
|
+
);
|
|
52
51
|
</script>
|
|
53
52
|
|
|
54
53
|
<template>
|
|
55
|
-
<syn-range-tick
|
|
56
|
-
|
|
57
|
-
v-bind="visibleProps"
|
|
58
|
-
ref="nativeElement"
|
|
59
|
-
>
|
|
60
|
-
<slot />
|
|
54
|
+
<syn-range-tick v-bind="visibleProps" ref="nativeElement">
|
|
55
|
+
<slot></slot>
|
|
61
56
|
</syn-range-tick>
|
|
62
57
|
</template>
|