@synergy-design-system/vue 2.7.2 → 2.8.0
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/SynVueCombobox.vue.d.ts +232 -0
- 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/dist/index.d.ts +1 -0
- package/package.json +3 -3
- 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/SynVueCombobox.vue +295 -0
- 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
- package/src/index.js +1 -0
|
@@ -33,9 +33,11 @@
|
|
|
33
33
|
import { computed, ref } from 'vue';
|
|
34
34
|
import '@synergy-design-system/components/components/alert/alert.js';
|
|
35
35
|
|
|
36
|
-
import type {
|
|
37
|
-
|
|
38
|
-
} from '@synergy-design-system/components';
|
|
36
|
+
import type { SynShowEvent } from '@synergy-design-system/components';
|
|
37
|
+
import type { SynAfterShowEvent } from '@synergy-design-system/components';
|
|
38
|
+
import type { SynHideEvent } from '@synergy-design-system/components';
|
|
39
|
+
import type { SynAfterHideEvent } from '@synergy-design-system/components';
|
|
40
|
+
import type { SynAlert } from '@synergy-design-system/components';
|
|
39
41
|
|
|
40
42
|
// DOM Reference to the element
|
|
41
43
|
const nativeElement = ref<SynAlert>();
|
|
@@ -51,17 +53,17 @@ const props = defineProps<{
|
|
|
51
53
|
* You can toggle this attribute to show and hide the alert, or you can
|
|
52
54
|
use the `show()` and `hide()` methods and this attribute will reflect the alert's open state.
|
|
53
55
|
*/
|
|
54
|
-
|
|
56
|
+
open?: SynAlert['open'];
|
|
55
57
|
|
|
56
58
|
/**
|
|
57
|
-
* Enables a close button that allows the user to dismiss the alert.
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
* Enables a close button that allows the user to dismiss the alert.
|
|
60
|
+
*/
|
|
61
|
+
closable?: SynAlert['closable'];
|
|
60
62
|
|
|
61
63
|
/**
|
|
62
|
-
* The alert's theme variant.
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
* The alert's theme variant.
|
|
65
|
+
*/
|
|
66
|
+
variant?: SynAlert['variant'];
|
|
65
67
|
|
|
66
68
|
/**
|
|
67
69
|
* The length of time, in milliseconds, the alert will show before closing itself.
|
|
@@ -71,39 +73,39 @@ the alert before it closes (e.g.
|
|
|
71
73
|
* Defaults to `Infinity`, meaning
|
|
72
74
|
the alert will not close on its own.
|
|
73
75
|
*/
|
|
74
|
-
|
|
76
|
+
duration?: SynAlert['duration'];
|
|
75
77
|
}>();
|
|
76
78
|
|
|
77
79
|
// Make sure prop binding only forwards the props that are actually there.
|
|
78
80
|
// This is needed because :param="param" also adds an empty attribute
|
|
79
81
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
80
82
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
81
|
-
const visibleProps = computed(() =>
|
|
82
|
-
Object
|
|
83
|
-
.entries(props)
|
|
84
|
-
|
|
85
|
-
)
|
|
83
|
+
const visibleProps = computed(() =>
|
|
84
|
+
Object.fromEntries(
|
|
85
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
86
|
+
),
|
|
87
|
+
);
|
|
86
88
|
|
|
87
89
|
// Map events
|
|
88
90
|
defineEmits<{
|
|
89
91
|
/**
|
|
90
|
-
* Emitted when the alert opens.
|
|
91
|
-
|
|
92
|
+
* Emitted when the alert opens.
|
|
93
|
+
*/
|
|
92
94
|
'syn-show': [e: SynShowEvent];
|
|
93
95
|
|
|
94
96
|
/**
|
|
95
|
-
* Emitted after the alert opens and all animations are complete.
|
|
96
|
-
|
|
97
|
+
* Emitted after the alert opens and all animations are complete.
|
|
98
|
+
*/
|
|
97
99
|
'syn-after-show': [e: SynAfterShowEvent];
|
|
98
100
|
|
|
99
101
|
/**
|
|
100
|
-
* Emitted when the alert closes.
|
|
101
|
-
|
|
102
|
+
* Emitted when the alert closes.
|
|
103
|
+
*/
|
|
102
104
|
'syn-hide': [e: SynHideEvent];
|
|
103
105
|
|
|
104
106
|
/**
|
|
105
|
-
* Emitted after the alert closes and all animations are complete.
|
|
106
|
-
|
|
107
|
+
* Emitted after the alert closes and all animations are complete.
|
|
108
|
+
*/
|
|
107
109
|
'syn-after-hide': [e: SynAfterHideEvent];
|
|
108
110
|
}>();
|
|
109
111
|
</script>
|
|
@@ -117,14 +119,12 @@ export type { SynAfterHideEvent } from '@synergy-design-system/components';
|
|
|
117
119
|
|
|
118
120
|
<template>
|
|
119
121
|
<syn-alert
|
|
120
|
-
v-bind="visibleProps"
|
|
121
|
-
ref="nativeElement"
|
|
122
122
|
@syn-show="$emit('syn-show', $event)"
|
|
123
123
|
@syn-after-show="$emit('syn-after-show', $event)"
|
|
124
|
-
|
|
125
124
|
@syn-hide="$emit('syn-hide', $event)"
|
|
126
125
|
@syn-after-hide="$emit('syn-after-hide', $event)"
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
v-bind="visibleProps"
|
|
127
|
+
ref="nativeElement">
|
|
128
|
+
<slot></slot>
|
|
129
129
|
</syn-alert>
|
|
130
130
|
</template>
|
|
@@ -30,29 +30,24 @@ defineExpose({
|
|
|
30
30
|
// Map attributes
|
|
31
31
|
const props = defineProps<{
|
|
32
32
|
/**
|
|
33
|
-
* The badge's theme variant.
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
* The badge's theme variant.
|
|
34
|
+
*/
|
|
35
|
+
variant?: SynBadge['variant'];
|
|
36
36
|
}>();
|
|
37
37
|
|
|
38
38
|
// Make sure prop binding only forwards the props that are actually there.
|
|
39
39
|
// This is needed because :param="param" also adds an empty attribute
|
|
40
40
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
41
41
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
42
|
-
const visibleProps = computed(() =>
|
|
43
|
-
Object
|
|
44
|
-
.entries(props)
|
|
45
|
-
|
|
46
|
-
)
|
|
47
|
-
|
|
42
|
+
const visibleProps = computed(() =>
|
|
43
|
+
Object.fromEntries(
|
|
44
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
45
|
+
),
|
|
46
|
+
);
|
|
48
47
|
</script>
|
|
49
48
|
|
|
50
49
|
<template>
|
|
51
|
-
<syn-badge
|
|
52
|
-
|
|
53
|
-
v-bind="visibleProps"
|
|
54
|
-
ref="nativeElement"
|
|
55
|
-
>
|
|
56
|
-
<slot />
|
|
50
|
+
<syn-badge v-bind="visibleProps" ref="nativeElement">
|
|
51
|
+
<slot></slot>
|
|
57
52
|
</syn-badge>
|
|
58
53
|
</template>
|
|
@@ -37,27 +37,22 @@ const props = defineProps<{
|
|
|
37
37
|
* This will not be shown on the screen, but it will be announced by
|
|
38
38
|
screen readers and other assistive devices to provide more context for users.
|
|
39
39
|
*/
|
|
40
|
-
|
|
40
|
+
label?: SynBreadcrumb['label'];
|
|
41
41
|
}>();
|
|
42
42
|
|
|
43
43
|
// Make sure prop binding only forwards the props that are actually there.
|
|
44
44
|
// This is needed because :param="param" also adds an empty attribute
|
|
45
45
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
46
46
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
47
|
-
const visibleProps = computed(() =>
|
|
48
|
-
Object
|
|
49
|
-
.entries(props)
|
|
50
|
-
|
|
51
|
-
)
|
|
52
|
-
|
|
47
|
+
const visibleProps = computed(() =>
|
|
48
|
+
Object.fromEntries(
|
|
49
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
50
|
+
),
|
|
51
|
+
);
|
|
53
52
|
</script>
|
|
54
53
|
|
|
55
54
|
<template>
|
|
56
|
-
<syn-breadcrumb
|
|
57
|
-
|
|
58
|
-
v-bind="visibleProps"
|
|
59
|
-
ref="nativeElement"
|
|
60
|
-
>
|
|
61
|
-
<slot />
|
|
55
|
+
<syn-breadcrumb v-bind="visibleProps" ref="nativeElement">
|
|
56
|
+
<slot></slot>
|
|
62
57
|
</syn-breadcrumb>
|
|
63
58
|
</template>
|
|
@@ -43,39 +43,34 @@ const props = defineProps<{
|
|
|
43
43
|
internally.
|
|
44
44
|
* When unset, a button will be rendered instead.
|
|
45
45
|
*/
|
|
46
|
-
|
|
46
|
+
href?: SynBreadcrumbItem['href'];
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* Tells the browser where to open the link.
|
|
50
|
-
* Only used when `href` is set.
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
* Tells the browser where to open the link.
|
|
50
|
+
* Only used when `href` is set.
|
|
51
|
+
*/
|
|
52
|
+
target?: SynBreadcrumbItem['target'];
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
* The `rel` attribute to use on the link.
|
|
56
|
-
* Only used when `href` is set.
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
* The `rel` attribute to use on the link.
|
|
56
|
+
* Only used when `href` is set.
|
|
57
|
+
*/
|
|
58
|
+
rel?: SynBreadcrumbItem['rel'];
|
|
59
59
|
}>();
|
|
60
60
|
|
|
61
61
|
// Make sure prop binding only forwards the props that are actually there.
|
|
62
62
|
// This is needed because :param="param" also adds an empty attribute
|
|
63
63
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
64
64
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
65
|
-
const visibleProps = computed(() =>
|
|
66
|
-
Object
|
|
67
|
-
.entries(props)
|
|
68
|
-
|
|
69
|
-
)
|
|
70
|
-
|
|
65
|
+
const visibleProps = computed(() =>
|
|
66
|
+
Object.fromEntries(
|
|
67
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
68
|
+
),
|
|
69
|
+
);
|
|
71
70
|
</script>
|
|
72
71
|
|
|
73
72
|
<template>
|
|
74
|
-
<syn-breadcrumb-item
|
|
75
|
-
|
|
76
|
-
v-bind="visibleProps"
|
|
77
|
-
ref="nativeElement"
|
|
78
|
-
>
|
|
79
|
-
<slot />
|
|
73
|
+
<syn-breadcrumb-item v-bind="visibleProps" ref="nativeElement">
|
|
74
|
+
<slot></slot>
|
|
80
75
|
</syn-breadcrumb-item>
|
|
81
76
|
</template>
|
|
@@ -32,9 +32,10 @@
|
|
|
32
32
|
import { computed, ref } from 'vue';
|
|
33
33
|
import '@synergy-design-system/components/components/button/button.js';
|
|
34
34
|
|
|
35
|
-
import type {
|
|
36
|
-
|
|
37
|
-
} from '@synergy-design-system/components';
|
|
35
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
36
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
37
|
+
import type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
38
|
+
import type { SynButton } from '@synergy-design-system/components';
|
|
38
39
|
|
|
39
40
|
// DOM Reference to the element
|
|
40
41
|
const nativeElement = ref<SynButton>();
|
|
@@ -45,33 +46,33 @@ defineExpose({
|
|
|
45
46
|
|
|
46
47
|
// Map attributes
|
|
47
48
|
const props = defineProps<{
|
|
48
|
-
|
|
49
|
+
title?: SynButton['title'];
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
|
-
* The button's theme variant.
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
* The button's theme variant.
|
|
53
|
+
*/
|
|
54
|
+
variant?: SynButton['variant'];
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
* The button's size.
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
* The button's size.
|
|
58
|
+
*/
|
|
59
|
+
size?: SynButton['size'];
|
|
59
60
|
|
|
60
61
|
/**
|
|
61
|
-
* Draws the button with a caret.
|
|
62
|
-
* Used to indicate that the button triggers a dropdown menu or similar behavior.
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
* Draws the button with a caret.
|
|
63
|
+
* Used to indicate that the button triggers a dropdown menu or similar behavior.
|
|
64
|
+
*/
|
|
65
|
+
caret?: SynButton['caret'];
|
|
65
66
|
|
|
66
67
|
/**
|
|
67
|
-
* Disables the button.
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
* Disables the button.
|
|
69
|
+
*/
|
|
70
|
+
disabled?: SynButton['disabled'];
|
|
70
71
|
|
|
71
72
|
/**
|
|
72
|
-
* Draws the button in a loading state.
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
* Draws the button in a loading state.
|
|
74
|
+
*/
|
|
75
|
+
loading?: SynButton['loading'];
|
|
75
76
|
|
|
76
77
|
/**
|
|
77
78
|
* The type of button.
|
|
@@ -79,31 +80,31 @@ const props = defineProps<{
|
|
|
79
80
|
`<button>` elements behave.
|
|
80
81
|
* When the type is `submit`, the button will submit the surrounding form.
|
|
81
82
|
*/
|
|
82
|
-
|
|
83
|
+
type?: SynButton['type'];
|
|
83
84
|
|
|
84
85
|
/**
|
|
85
86
|
* The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.
|
|
86
87
|
This attribute is ignored when `href` is present.
|
|
87
88
|
*/
|
|
88
|
-
|
|
89
|
+
name?: SynButton['name'];
|
|
89
90
|
|
|
90
91
|
/**
|
|
91
92
|
* The value of the button, submitted as a pair with the button's name as part of the form data, but only when this
|
|
92
93
|
button is the submitter.
|
|
93
94
|
* This attribute is ignored when `href` is present.
|
|
94
95
|
*/
|
|
95
|
-
|
|
96
|
+
value?: SynButton['value'];
|
|
96
97
|
|
|
97
98
|
/**
|
|
98
|
-
* When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
* When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.
|
|
100
|
+
*/
|
|
101
|
+
href?: SynButton['href'];
|
|
101
102
|
|
|
102
103
|
/**
|
|
103
|
-
* Tells the browser where to open the link.
|
|
104
|
-
* Only used when `href` is present.
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
* Tells the browser where to open the link.
|
|
105
|
+
* Only used when `href` is present.
|
|
106
|
+
*/
|
|
107
|
+
target?: SynButton['target'];
|
|
107
108
|
|
|
108
109
|
/**
|
|
109
110
|
* When using `href`, this attribute will map to the underlying link's `rel` attribute.
|
|
@@ -114,13 +115,13 @@ specific tab/window, this will prevent that from working correctly.
|
|
|
114
115
|
* You can remove or change the default value by
|
|
115
116
|
setting the attribute to an empty string or a value of your choice, respectively.
|
|
116
117
|
*/
|
|
117
|
-
|
|
118
|
+
rel?: SynButton['rel'];
|
|
118
119
|
|
|
119
120
|
/**
|
|
120
|
-
* Tells the browser to download the linked file as this filename.
|
|
121
|
-
* Only used when `href` is present.
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
* Tells the browser to download the linked file as this filename.
|
|
122
|
+
* Only used when `href` is present.
|
|
123
|
+
*/
|
|
124
|
+
download?: SynButton['download'];
|
|
124
125
|
|
|
125
126
|
/**
|
|
126
127
|
* The "form owner" to associate the button with.
|
|
@@ -128,59 +129,59 @@ setting the attribute to an empty string or a value of your choice, respectively
|
|
|
128
129
|
* The
|
|
129
130
|
value of this attribute must be an id of a form in the same document or shadow root as the button.
|
|
130
131
|
*/
|
|
131
|
-
|
|
132
|
+
form?: SynButton['form'];
|
|
132
133
|
|
|
133
134
|
/**
|
|
134
|
-
* Used to override the form owner's `action` attribute.
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
* Used to override the form owner's `action` attribute.
|
|
136
|
+
*/
|
|
137
|
+
formAction?: SynButton['formAction'];
|
|
137
138
|
|
|
138
139
|
/**
|
|
139
|
-
* Used to override the form owner's `enctype` attribute.
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
* Used to override the form owner's `enctype` attribute.
|
|
141
|
+
*/
|
|
142
|
+
formEnctype?: SynButton['formEnctype'];
|
|
142
143
|
|
|
143
144
|
/**
|
|
144
|
-
* Used to override the form owner's `method` attribute.
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
* Used to override the form owner's `method` attribute.
|
|
146
|
+
*/
|
|
147
|
+
formMethod?: SynButton['formMethod'];
|
|
147
148
|
|
|
148
149
|
/**
|
|
149
|
-
* Used to override the form owner's `novalidate` attribute.
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
* Used to override the form owner's `novalidate` attribute.
|
|
151
|
+
*/
|
|
152
|
+
formNoValidate?: SynButton['formNoValidate'];
|
|
152
153
|
|
|
153
154
|
/**
|
|
154
|
-
* Used to override the form owner's `target` attribute.
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
* Used to override the form owner's `target` attribute.
|
|
156
|
+
*/
|
|
157
|
+
formTarget?: SynButton['formTarget'];
|
|
157
158
|
}>();
|
|
158
159
|
|
|
159
160
|
// Make sure prop binding only forwards the props that are actually there.
|
|
160
161
|
// This is needed because :param="param" also adds an empty attribute
|
|
161
162
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
162
163
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
163
|
-
const visibleProps = computed(() =>
|
|
164
|
-
Object
|
|
165
|
-
.entries(props)
|
|
166
|
-
|
|
167
|
-
)
|
|
164
|
+
const visibleProps = computed(() =>
|
|
165
|
+
Object.fromEntries(
|
|
166
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
167
|
+
),
|
|
168
|
+
);
|
|
168
169
|
|
|
169
170
|
// Map events
|
|
170
171
|
defineEmits<{
|
|
171
172
|
/**
|
|
172
|
-
* Emitted when the button loses focus.
|
|
173
|
-
|
|
173
|
+
* Emitted when the button loses focus.
|
|
174
|
+
*/
|
|
174
175
|
'syn-blur': [e: SynBlurEvent];
|
|
175
176
|
|
|
176
177
|
/**
|
|
177
|
-
* Emitted when the button gains focus.
|
|
178
|
-
|
|
178
|
+
* Emitted when the button gains focus.
|
|
179
|
+
*/
|
|
179
180
|
'syn-focus': [e: SynFocusEvent];
|
|
180
181
|
|
|
181
182
|
/**
|
|
182
|
-
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
183
|
-
|
|
183
|
+
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
184
|
+
*/
|
|
184
185
|
'syn-invalid': [e: SynInvalidEvent];
|
|
185
186
|
}>();
|
|
186
187
|
</script>
|
|
@@ -193,13 +194,11 @@ export type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
|
193
194
|
|
|
194
195
|
<template>
|
|
195
196
|
<syn-button
|
|
196
|
-
v-bind="visibleProps"
|
|
197
|
-
ref="nativeElement"
|
|
198
197
|
@syn-blur="$emit('syn-blur', $event)"
|
|
199
|
-
|
|
200
198
|
@syn-focus="$emit('syn-focus', $event)"
|
|
201
199
|
@syn-invalid="$emit('syn-invalid', $event)"
|
|
202
|
-
|
|
203
|
-
|
|
200
|
+
v-bind="visibleProps"
|
|
201
|
+
ref="nativeElement">
|
|
202
|
+
<slot></slot>
|
|
204
203
|
</syn-button>
|
|
205
204
|
</template>
|
|
@@ -34,27 +34,22 @@ const props = defineProps<{
|
|
|
34
34
|
* This won't be displayed on the screen, but it will be announced by assistive
|
|
35
35
|
devices when interacting with the control and is strongly recommended.
|
|
36
36
|
*/
|
|
37
|
-
|
|
37
|
+
label?: SynButtonGroup['label'];
|
|
38
38
|
}>();
|
|
39
39
|
|
|
40
40
|
// Make sure prop binding only forwards the props that are actually there.
|
|
41
41
|
// This is needed because :param="param" also adds an empty attribute
|
|
42
42
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
43
43
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
44
|
-
const visibleProps = computed(() =>
|
|
45
|
-
Object
|
|
46
|
-
.entries(props)
|
|
47
|
-
|
|
48
|
-
)
|
|
49
|
-
|
|
44
|
+
const visibleProps = computed(() =>
|
|
45
|
+
Object.fromEntries(
|
|
46
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
47
|
+
),
|
|
48
|
+
);
|
|
50
49
|
</script>
|
|
51
50
|
|
|
52
51
|
<template>
|
|
53
|
-
<syn-button-group
|
|
54
|
-
|
|
55
|
-
v-bind="visibleProps"
|
|
56
|
-
ref="nativeElement"
|
|
57
|
-
>
|
|
58
|
-
<slot />
|
|
52
|
+
<syn-button-group v-bind="visibleProps" ref="nativeElement">
|
|
53
|
+
<slot></slot>
|
|
59
54
|
</syn-button-group>
|
|
60
55
|
</template>
|
|
@@ -42,31 +42,26 @@ defineExpose({
|
|
|
42
42
|
// Map attributes
|
|
43
43
|
const props = defineProps<{
|
|
44
44
|
/**
|
|
45
|
-
* Draws the card with sharp edges.
|
|
46
|
-
* Can be used e.g.
|
|
47
|
-
* when nesting multiple syn-cards to create hierarchy.
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
* Draws the card with sharp edges.
|
|
46
|
+
* Can be used e.g.
|
|
47
|
+
* when nesting multiple syn-cards to create hierarchy.
|
|
48
|
+
*/
|
|
49
|
+
sharp?: SynCard['sharp'];
|
|
50
50
|
}>();
|
|
51
51
|
|
|
52
52
|
// Make sure prop binding only forwards the props that are actually there.
|
|
53
53
|
// This is needed because :param="param" also adds an empty attribute
|
|
54
54
|
// when using web-components, which breaks optional arguments like size in SynInput
|
|
55
55
|
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
56
|
-
const visibleProps = computed(() =>
|
|
57
|
-
Object
|
|
58
|
-
.entries(props)
|
|
59
|
-
|
|
60
|
-
)
|
|
61
|
-
|
|
56
|
+
const visibleProps = computed(() =>
|
|
57
|
+
Object.fromEntries(
|
|
58
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
59
|
+
),
|
|
60
|
+
);
|
|
62
61
|
</script>
|
|
63
62
|
|
|
64
63
|
<template>
|
|
65
|
-
<syn-card
|
|
66
|
-
|
|
67
|
-
v-bind="visibleProps"
|
|
68
|
-
ref="nativeElement"
|
|
69
|
-
>
|
|
70
|
-
<slot />
|
|
64
|
+
<syn-card v-bind="visibleProps" ref="nativeElement">
|
|
65
|
+
<slot></slot>
|
|
71
66
|
</syn-card>
|
|
72
67
|
</template>
|