@synergy-design-system/vue 2.2.1 → 2.3.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.
@@ -0,0 +1,49 @@
1
+ import '@synergy-design-system/components/components/accordion/accordion.js';
2
+ import type { SynAccordion } from '@synergy-design-system/components';
3
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToOption<{
4
+ /**
5
+ * Indicates whether or not multiple `<syn-detail>` elements can be open at the same time.
6
+ */
7
+ closeOthers?: boolean | undefined;
8
+ /**
9
+ * Draws the accordion and the slotted `<syn-details>` as contained elements.
10
+ */
11
+ contained?: boolean | undefined;
12
+ /**
13
+ * The size that should be applied to all slotted `<syn-details>` elements
14
+ */
15
+ size?: "medium" | "large" | undefined;
16
+ }>, {
17
+ nativeElement: import("vue").Ref<SynAccordion | undefined>;
18
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<{
19
+ /**
20
+ * Indicates whether or not multiple `<syn-detail>` elements can be open at the same time.
21
+ */
22
+ closeOthers?: boolean | undefined;
23
+ /**
24
+ * Draws the accordion and the slotted `<syn-details>` as contained elements.
25
+ */
26
+ contained?: boolean | undefined;
27
+ /**
28
+ * The size that should be applied to all slotted `<syn-details>` elements
29
+ */
30
+ size?: "medium" | "large" | undefined;
31
+ }>>>, {}, {}>, {
32
+ default?(_: {}): any;
33
+ }>;
34
+ export default _default;
35
+
36
+ type __VLS_WithTemplateSlots<T, S> = T & {
37
+ new (): {
38
+ $slots: S;
39
+ };
40
+ };
41
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
42
+ type __VLS_TypePropsToOption<T> = {
43
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
44
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
45
+ } : {
46
+ type: import('vue').PropType<T[K]>;
47
+ required: true;
48
+ };
49
+ };
@@ -68,7 +68,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
68
68
  default?(_: {}): any;
69
69
  }>;
70
70
  export default _default;
71
-
72
71
  type __VLS_WithTemplateSlots<T, S> = T & {
73
72
  new (): {
74
73
  $slots: S;
@@ -12,7 +12,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
12
12
  /**
13
13
  * The button's size.
14
14
  */
15
- size?: "small" | "medium" | "large" | undefined;
15
+ size?: "medium" | "large" | "small" | undefined;
16
16
  /**
17
17
  * Draws the button with a caret.
18
18
  * Used to indicate that the button triggers a dropdown menu or similar behavior.
@@ -110,7 +110,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
110
110
  /**
111
111
  * The button's size.
112
112
  */
113
- size?: "small" | "medium" | "large" | undefined;
113
+ size?: "medium" | "large" | "small" | undefined;
114
114
  /**
115
115
  * Draws the button with a caret.
116
116
  * Used to indicate that the button triggers a dropdown menu or similar behavior.
@@ -18,7 +18,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
18
18
  /**
19
19
  * The checkbox's size.
20
20
  */
21
- size?: "small" | "medium" | "large" | undefined;
21
+ size?: "medium" | "large" | "small" | undefined;
22
22
  /**
23
23
  * Disables the checkbox.
24
24
  */
@@ -76,7 +76,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
76
76
  /**
77
77
  * The checkbox's size.
78
78
  */
79
- size?: "small" | "medium" | "large" | undefined;
79
+ size?: "medium" | "large" | "small" | undefined;
80
80
  /**
81
81
  * Disables the checkbox.
82
82
  */
@@ -0,0 +1,84 @@
1
+ import '@synergy-design-system/components/components/details/details.js';
2
+ import type { SynAfterHideEvent, SynAfterShowEvent, SynDetails, SynHideEvent, SynShowEvent } from '@synergy-design-system/components';
3
+ export type { SynShowEvent } from '@synergy-design-system/components';
4
+ export type { SynAfterShowEvent } from '@synergy-design-system/components';
5
+ export type { SynHideEvent } from '@synergy-design-system/components';
6
+ export type { SynAfterHideEvent } from '@synergy-design-system/components';
7
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToOption<{
8
+ /**
9
+ * Indicates whether or not the details is open.
10
+ * You can toggle this attribute to show and hide the details, or you
11
+ can use the `show()` and `hide()` methods and this attribute will reflect the details' open state.
12
+ */
13
+ open?: boolean | undefined;
14
+ /**
15
+ * The summary to show in the header.
16
+ * If you need to display HTML, use the `summary` slot instead.
17
+ */
18
+ summary?: string | undefined;
19
+ /**
20
+ * Disables the details so it can't be toggled.
21
+ */
22
+ disabled?: boolean | undefined;
23
+ /**
24
+ * Draws the details as contained element.
25
+ */
26
+ contained?: boolean | undefined;
27
+ /**
28
+ * The details's size.
29
+ */
30
+ size?: "medium" | "large" | undefined;
31
+ }>, {
32
+ nativeElement: import("vue").Ref<SynDetails | undefined>;
33
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
34
+ "syn-show": (e: SynShowEvent) => void;
35
+ "syn-after-show": (e: SynAfterShowEvent) => void;
36
+ "syn-hide": (e: SynHideEvent) => void;
37
+ "syn-after-hide": (e: SynAfterHideEvent) => void;
38
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<{
39
+ /**
40
+ * Indicates whether or not the details is open.
41
+ * You can toggle this attribute to show and hide the details, or you
42
+ can use the `show()` and `hide()` methods and this attribute will reflect the details' open state.
43
+ */
44
+ open?: boolean | undefined;
45
+ /**
46
+ * The summary to show in the header.
47
+ * If you need to display HTML, use the `summary` slot instead.
48
+ */
49
+ summary?: string | undefined;
50
+ /**
51
+ * Disables the details so it can't be toggled.
52
+ */
53
+ disabled?: boolean | undefined;
54
+ /**
55
+ * Draws the details as contained element.
56
+ */
57
+ contained?: boolean | undefined;
58
+ /**
59
+ * The details's size.
60
+ */
61
+ size?: "medium" | "large" | undefined;
62
+ }>>> & {
63
+ "onSyn-show"?: ((e: SynShowEvent) => any) | undefined;
64
+ "onSyn-after-show"?: ((e: SynAfterShowEvent) => any) | undefined;
65
+ "onSyn-hide"?: ((e: SynHideEvent) => any) | undefined;
66
+ "onSyn-after-hide"?: ((e: SynAfterHideEvent) => any) | undefined;
67
+ }, {}, {}>, {
68
+ default?(_: {}): any;
69
+ }>;
70
+ export default _default;
71
+ type __VLS_WithTemplateSlots<T, S> = T & {
72
+ new (): {
73
+ $slots: S;
74
+ };
75
+ };
76
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
77
+ type __VLS_TypePropsToOption<T> = {
78
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
79
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
80
+ } : {
81
+ type: import('vue').PropType<T[K]>;
82
+ required: true;
83
+ };
84
+ };
@@ -41,7 +41,7 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<{
41
41
  /**
42
42
  * The icon button's size.
43
43
  */
44
- size?: "small" | "medium" | "large" | "inherit" | undefined;
44
+ size?: "medium" | "large" | "small" | "inherit" | undefined;
45
45
  /**
46
46
  * The color of the icon button.
47
47
  The default "currentColor" makes it possible to easily style the icon button from outside without any CSS variables.
@@ -95,7 +95,7 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<{
95
95
  /**
96
96
  * The icon button's size.
97
97
  */
98
- size?: "small" | "medium" | "large" | "inherit" | undefined;
98
+ size?: "medium" | "large" | "small" | "inherit" | undefined;
99
99
  /**
100
100
  * The color of the icon button.
101
101
  The default "currentColor" makes it possible to easily style the icon button from outside without any CSS variables.
@@ -26,7 +26,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
26
26
  /**
27
27
  * The input's size.
28
28
  */
29
- size?: "small" | "medium" | "large" | undefined;
29
+ size?: "medium" | "large" | "small" | undefined;
30
30
  /**
31
31
  * The input's label.
32
32
  * If you need to display HTML, use the `label` slot instead.
@@ -172,7 +172,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
172
172
  /**
173
173
  * The input's size.
174
174
  */
175
- size?: "small" | "medium" | "large" | undefined;
175
+ size?: "medium" | "large" | "small" | undefined;
176
176
  /**
177
177
  * The input's label.
178
178
  * If you need to display HTML, use the `label` slot instead.
@@ -13,7 +13,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
13
13
  * When used inside a radio group, the size will be determined by the radio group's size so this
14
14
  attribute can typically be omitted.
15
15
  */
16
- size?: "small" | "medium" | "large" | undefined;
16
+ size?: "medium" | "large" | "small" | undefined;
17
17
  /**
18
18
  * Disables the radio.
19
19
  */
@@ -34,7 +34,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
34
34
  * When used inside a radio group, the size will be determined by the radio group's size so this
35
35
  attribute can typically be omitted.
36
36
  */
37
- size?: "small" | "medium" | "large" | undefined;
37
+ size?: "medium" | "large" | "small" | undefined;
38
38
  /**
39
39
  * Disables the radio.
40
40
  */
@@ -17,7 +17,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
17
17
  * When used inside a radio group, the size will be determined by the radio group's size so
18
18
  this attribute can typically be omitted.
19
19
  */
20
- size?: "small" | "medium" | "large" | undefined;
20
+ size?: "medium" | "large" | "small" | undefined;
21
21
  /**
22
22
  * Draws a pill-style radio button with rounded edges.
23
23
  */
@@ -42,7 +42,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
42
42
  * When used inside a radio group, the size will be determined by the radio group's size so
43
43
  this attribute can typically be omitted.
44
44
  */
45
- size?: "small" | "medium" | "large" | undefined;
45
+ size?: "medium" | "large" | "small" | undefined;
46
46
  /**
47
47
  * Draws a pill-style radio button with rounded edges.
48
48
  */
@@ -28,7 +28,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
28
28
  * The radio group's size.
29
29
  * This size will be applied to all child radios and radio buttons.
30
30
  */
31
- size?: "small" | "medium" | "large" | undefined;
31
+ size?: "medium" | "large" | "small" | undefined;
32
32
  /**
33
33
  * By default, form controls are associated with the nearest containing `<form>` element.
34
34
  * This attribute allows you
@@ -77,7 +77,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
77
77
  * The radio group's size.
78
78
  * This size will be applied to all child radios and radio buttons.
79
79
  */
80
- size?: "small" | "medium" | "large" | undefined;
80
+ size?: "medium" | "large" | "small" | undefined;
81
81
  /**
82
82
  * By default, form controls are associated with the nearest containing `<form>` element.
83
83
  * This attribute allows you
@@ -26,7 +26,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
26
26
  /**
27
27
  * The select's size.
28
28
  */
29
- size?: "small" | "medium" | "large" | undefined;
29
+ size?: "medium" | "large" | "small" | undefined;
30
30
  /**
31
31
  * Placeholder text to show as a hint when the select is empty.
32
32
  */
@@ -132,7 +132,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
132
132
  /**
133
133
  * The select's size.
134
134
  */
135
- size?: "small" | "medium" | "large" | undefined;
135
+ size?: "medium" | "large" | "small" | undefined;
136
136
  /**
137
137
  * Placeholder text to show as a hint when the select is empty.
138
138
  */
@@ -18,7 +18,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
18
18
  /**
19
19
  * The switch's size.
20
20
  */
21
- size?: "small" | "medium" | "large" | undefined;
21
+ size?: "medium" | "large" | "small" | undefined;
22
22
  /**
23
23
  * Disables the switch.
24
24
  */
@@ -70,7 +70,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
70
70
  /**
71
71
  * The switch's size.
72
72
  */
73
- size?: "small" | "medium" | "large" | undefined;
73
+ size?: "medium" | "large" | "small" | undefined;
74
74
  /**
75
75
  * Disables the switch.
76
76
  */
@@ -5,7 +5,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
5
5
  /**
6
6
  * The tag's size.
7
7
  */
8
- size?: "small" | "medium" | "large" | undefined;
8
+ size?: "medium" | "large" | "small" | undefined;
9
9
  /**
10
10
  * Makes the tag removable and shows a remove button.
11
11
  */
@@ -18,7 +18,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
18
18
  /**
19
19
  * The tag's size.
20
20
  */
21
- size?: "small" | "medium" | "large" | undefined;
21
+ size?: "medium" | "large" | "small" | undefined;
22
22
  /**
23
23
  * Makes the tag removable and shows a remove button.
24
24
  */
@@ -18,7 +18,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
18
18
  /**
19
19
  * The textarea's size.
20
20
  */
21
- size?: "small" | "medium" | "large" | undefined;
21
+ size?: "medium" | "large" | "small" | undefined;
22
22
  /**
23
23
  * The textarea's label.
24
24
  * If you need to display HTML, use the `label` slot instead.
@@ -126,7 +126,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
126
126
  /**
127
127
  * The textarea's size.
128
128
  */
129
- size?: "small" | "medium" | "large" | undefined;
129
+ size?: "medium" | "large" | "small" | undefined;
130
130
  /**
131
131
  * The textarea's label.
132
132
  * If you need to display HTML, use the `label` slot instead.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as SynVueAccordion } from "./components/SynVueAccordion.vue";
1
2
  export { default as SynVueAlert } from "./components/SynVueAlert.vue";
2
3
  export { default as SynVueBadge } from "./components/SynVueBadge.vue";
3
4
  export { default as SynVueBreadcrumb } from "./components/SynVueBreadcrumb.vue";
@@ -6,6 +7,7 @@ export { default as SynVueButton } from "./components/SynVueButton.vue";
6
7
  export { default as SynVueButtonGroup } from "./components/SynVueButtonGroup.vue";
7
8
  export { default as SynVueCard } from "./components/SynVueCard.vue";
8
9
  export { default as SynVueCheckbox } from "./components/SynVueCheckbox.vue";
10
+ export { default as SynVueDetails } from "./components/SynVueDetails.vue";
9
11
  export { default as SynVueDialog } from "./components/SynVueDialog.vue";
10
12
  export { default as SynVueDivider } from "./components/SynVueDivider.vue";
11
13
  export { default as SynVueDrawer } from "./components/SynVueDrawer.vue";
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "url": "https://www.sick.com"
5
5
  },
6
6
  "dependencies": {
7
- "@synergy-design-system/components": "^2.2.1"
7
+ "@synergy-design-system/components": "^2.3.0"
8
8
  },
9
9
  "description": "Vue3 wrappers for the Synergy Design System",
10
10
  "exports": {
@@ -40,12 +40,12 @@
40
40
  "directory": "packages/vue"
41
41
  },
42
42
  "type": "module",
43
- "version": "2.2.1",
43
+ "version": "2.3.0",
44
44
  "devDependencies": {
45
45
  "@vue/tsconfig": "^0.5.1",
46
46
  "vue": "^3.4.24"
47
47
  },
48
48
  "peerDependencies": {
49
- "@synergy-design-system/tokens": "^2.2.0"
49
+ "@synergy-design-system/tokens": "^2.3.0"
50
50
  }
51
51
  }
@@ -0,0 +1,73 @@
1
+ <script setup lang="ts">
2
+ // ---------------------------------------------------------------------
3
+ // 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
4
+ // Please do not edit this file directly!
5
+ // It will get recreated when running pnpm build.
6
+ // ---------------------------------------------------------------------
7
+
8
+ /**
9
+ * @summary Accordions provide the ability to group a list of `<syn-details>`.
10
+ *
11
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-accordion--docs
12
+ * @status stable
13
+ * @since 1.23.0
14
+ *
15
+ * @slot - The accordion's main content. Must be `<syn-details />` elements.
16
+ *
17
+ * @csspart base - The component's base wrapper.
18
+ */
19
+ import { computed, ref } from 'vue';
20
+ import '@synergy-design-system/components/components/accordion/accordion.js';
21
+
22
+ import type { SynAccordion } from '@synergy-design-system/components';
23
+
24
+ // DOM Reference to the element
25
+ const nativeElement = ref<SynAccordion>();
26
+
27
+ defineExpose({
28
+ nativeElement,
29
+ });
30
+
31
+ // Map attributes
32
+ const props = defineProps<{
33
+ /**
34
+ * Indicates whether or not multiple `<syn-detail>` elements can be open at the same time.
35
+ */
36
+ 'closeOthers'?: SynAccordion['closeOthers'];
37
+
38
+ /**
39
+ * Draws the accordion and the slotted `<syn-details>` as contained elements.
40
+ */
41
+ 'contained'?: SynAccordion['contained'];
42
+
43
+ /**
44
+ * The size that should be applied to all slotted `<syn-details>` elements
45
+ */
46
+ 'size'?: SynAccordion['size'];
47
+ }>();
48
+
49
+ // Make sure prop binding only forwards the props that are actually there.
50
+ // This is needed because :param="param" also adds an empty attribute
51
+ // when using web-components, which breaks optional arguments like size in SynInput
52
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
53
+ const visibleProps = computed(() => Object.fromEntries(
54
+ Object
55
+ .entries(props)
56
+ .filter(([, value]) => typeof value !== 'undefined'),
57
+ ));
58
+
59
+ // Map events
60
+ defineEmits<{
61
+
62
+ }>();
63
+ </script>
64
+
65
+ <template>
66
+ <syn-accordion
67
+
68
+ v-bind="visibleProps"
69
+ ref="nativeElement"
70
+ >
71
+ <slot />
72
+ </syn-accordion>
73
+ </template>
@@ -0,0 +1,133 @@
1
+ <script setup lang="ts">
2
+ // ---------------------------------------------------------------------
3
+ // 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
4
+ // Please do not edit this file directly!
5
+ // It will get recreated when running pnpm build.
6
+ // ---------------------------------------------------------------------
7
+
8
+ /**
9
+ * @summary Details show a brief summary and expand to show additional content.
10
+ * @documentation https://synergy.style/components/details
11
+ * @status stable
12
+ * @since 2.0
13
+ *
14
+ * @dependency syn-icon
15
+ *
16
+ * @slot - The details' main content.
17
+ * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.
18
+ * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<syn-icon>`.
19
+ * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.
20
+ *
21
+ * @event syn-show - Emitted when the details opens.
22
+ * @event syn-after-show - Emitted after the details opens and all animations are complete.
23
+ * @event syn-hide - Emitted when the details closes.
24
+ * @event syn-after-hide - Emitted after the details closes and all animations are complete.
25
+ *
26
+ * @csspart base - The component's base wrapper.
27
+ * @csspart header - The header that wraps both the summary and the expand/collapse icon.
28
+ * @csspart summary - The container that wraps the summary.
29
+ * @csspart summary-icon - The container that wraps the expand/collapse icons.
30
+ * @csspart content - The details content.
31
+ *
32
+ * @animation details.show - The animation to use when showing details. You can use `height: auto` with this animation.
33
+ * @animation details.hide - The animation to use when hiding details. You can use `height: auto` with this animation.
34
+ */
35
+ import { computed, ref } from 'vue';
36
+ import '@synergy-design-system/components/components/details/details.js';
37
+
38
+ import type {
39
+ SynAfterHideEvent, SynAfterShowEvent, SynDetails, SynHideEvent, SynShowEvent,
40
+ } from '@synergy-design-system/components';
41
+
42
+ // DOM Reference to the element
43
+ const nativeElement = ref<SynDetails>();
44
+
45
+ defineExpose({
46
+ nativeElement,
47
+ });
48
+
49
+ // Map attributes
50
+ const props = defineProps<{
51
+ /**
52
+ * Indicates whether or not the details is open.
53
+ * You can toggle this attribute to show and hide the details, or you
54
+ can use the `show()` and `hide()` methods and this attribute will reflect the details' open state.
55
+ */
56
+ 'open'?: SynDetails['open'];
57
+
58
+ /**
59
+ * The summary to show in the header.
60
+ * If you need to display HTML, use the `summary` slot instead.
61
+ */
62
+ 'summary'?: SynDetails['summary'];
63
+
64
+ /**
65
+ * Disables the details so it can't be toggled.
66
+ */
67
+ 'disabled'?: SynDetails['disabled'];
68
+
69
+ /**
70
+ * Draws the details as contained element.
71
+ */
72
+ 'contained'?: SynDetails['contained'];
73
+
74
+ /**
75
+ * The details's size.
76
+ */
77
+ 'size'?: SynDetails['size'];
78
+ }>();
79
+
80
+ // Make sure prop binding only forwards the props that are actually there.
81
+ // This is needed because :param="param" also adds an empty attribute
82
+ // when using web-components, which breaks optional arguments like size in SynInput
83
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
84
+ const visibleProps = computed(() => Object.fromEntries(
85
+ Object
86
+ .entries(props)
87
+ .filter(([, value]) => typeof value !== 'undefined'),
88
+ ));
89
+
90
+ // Map events
91
+ defineEmits<{
92
+ /**
93
+ * Emitted when the details opens.
94
+ */
95
+ 'syn-show': [e: SynShowEvent];
96
+
97
+ /**
98
+ * Emitted after the details opens and all animations are complete.
99
+ */
100
+ 'syn-after-show': [e: SynAfterShowEvent];
101
+
102
+ /**
103
+ * Emitted when the details closes.
104
+ */
105
+ 'syn-hide': [e: SynHideEvent];
106
+
107
+ /**
108
+ * Emitted after the details closes and all animations are complete.
109
+ */
110
+ 'syn-after-hide': [e: SynAfterHideEvent];
111
+ }>();
112
+ </script>
113
+
114
+ <script lang="ts">
115
+ export type { SynShowEvent } from '@synergy-design-system/components';
116
+ export type { SynAfterShowEvent } from '@synergy-design-system/components';
117
+ export type { SynHideEvent } from '@synergy-design-system/components';
118
+ export type { SynAfterHideEvent } from '@synergy-design-system/components';
119
+ </script>
120
+
121
+ <template>
122
+ <syn-details
123
+ v-bind="visibleProps"
124
+ ref="nativeElement"
125
+ @syn-show="$emit('syn-show', $event)"
126
+ @syn-after-show="$emit('syn-after-show', $event)"
127
+
128
+ @syn-hide="$emit('syn-hide', $event)"
129
+ @syn-after-hide="$emit('syn-after-hide', $event)"
130
+ >
131
+ <slot />
132
+ </syn-details>
133
+ </template>
package/src/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  // Please do not edit this file directly!
4
4
  // It will get recreated when running pnpm build.
5
5
  // ---------------------------------------------------------------------
6
+ export { default as SynVueAccordion } from './components/SynVueAccordion.vue';
6
7
  export { default as SynVueAlert } from './components/SynVueAlert.vue';
7
8
  export { default as SynVueBadge } from './components/SynVueBadge.vue';
8
9
  export { default as SynVueBreadcrumb } from './components/SynVueBreadcrumb.vue';
@@ -11,6 +12,7 @@ export { default as SynVueButton } from './components/SynVueButton.vue';
11
12
  export { default as SynVueButtonGroup } from './components/SynVueButtonGroup.vue';
12
13
  export { default as SynVueCard } from './components/SynVueCard.vue';
13
14
  export { default as SynVueCheckbox } from './components/SynVueCheckbox.vue';
15
+ export { default as SynVueDetails } from './components/SynVueDetails.vue';
14
16
  export { default as SynVueDialog } from './components/SynVueDialog.vue';
15
17
  export { default as SynVueDivider } from './components/SynVueDivider.vue';
16
18
  export { default as SynVueDrawer } from './components/SynVueDrawer.vue';