diff --git a/src/components/Accordion/MucAccordion.stories.ts b/src/components/Accordion/MucAccordion.stories.ts
new file mode 100644
index 00000000..9af45c8f
--- /dev/null
+++ b/src/components/Accordion/MucAccordion.stories.ts
@@ -0,0 +1,161 @@
+import MucAccordion from "./MucAccordion.vue";
+import MucAccordionItem from "./MucAccordionItem.vue";
+
+export default {
+ components: { MucAccordion },
+ component: MucAccordion,
+ title: "Accordion/MucAccordion",
+ tags: ["autodocs"],
+ parameters: {
+ docs: {
+ description: {
+ component: `The \`muc-accordion\` component offers the option of displaying content clearly in an accordion format.
A template with the following v-slot must be placed around the MucAccordionItems \`v-slot:default=“{onOpen, onClose, activeItems}”\`.
Each MucAccordionItem must be passed the following parameters with exactly these values: \`:active-items="activeItems"\` \`@open="onOpen"\` \`@close="onClose"\` .
For example:
+
+
+
+ Text of Accordion item 1
+
+
+
+
+ Text of Accordion item 2
+
+
+
+
+
+
+[🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=viewall-components-accordion)
+`,
+ },
+ },
+ },
+};
+
+export const Template = () => ({
+ components: { MucAccordion, MucAccordionItem },
+ template: `
+
+
+
+
+ Text of Accordion item 1
+
+
+
+
+ Text of Accordion item 2
+
+
+
+
+ Text of Accordion item 3
+
+
+
+
+ Text of Accordion item 4
+
+
+
+
+ `,
+});
+
+export const Multiple = () => ({
+ components: { MucAccordion, MucAccordionItem },
+ template: `
+
+
+
+
+ Text of Accordion item 1
+
+
+
+
+ Text of Accordion item 2
+
+
+
+
+ Text of Accordion item 3
+
+
+
+
+ Text of Accordion item 4
+
+
+
+
+ `,
+});
diff --git a/src/components/Accordion/MucAccordion.vue b/src/components/Accordion/MucAccordion.vue
new file mode 100644
index 00000000..c0d02c00
--- /dev/null
+++ b/src/components/Accordion/MucAccordion.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
diff --git a/src/components/Accordion/MucAccordionItem.stories.ts b/src/components/Accordion/MucAccordionItem.stories.ts
new file mode 100644
index 00000000..f052bf8e
--- /dev/null
+++ b/src/components/Accordion/MucAccordionItem.stories.ts
@@ -0,0 +1,37 @@
+import MucAccordionItem from "./MucAccordionItem.vue";
+
+export default {
+ components: { MucAccordionItem },
+ component: MucAccordionItem,
+ title: "Accordion/MucAccordionItem",
+ tags: ["autodocs"],
+ parameters: {
+ docs: {
+ description: {
+ component: `The \`muc-accordion-item\` component represents an item of an \`muc-accordion\`
Each MucAccordionItem must be passed the following parameters with exactly this values: \`:active-items="activeItems"\` \`@open="onOpen"\` \`@close="onClose"\`
+
+[🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=viewall-components-accordion)
+`,
+ },
+ },
+ },
+};
+
+export const Template = () => ({
+ components: { MucAccordionItem },
+ template: `
+
+
+
+ Text of Accordion item 1
+
+
+
+ `,
+});
diff --git a/src/components/Accordion/MucAccordionItem.vue b/src/components/Accordion/MucAccordionItem.vue
new file mode 100644
index 00000000..11f46ae1
--- /dev/null
+++ b/src/components/Accordion/MucAccordionItem.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
diff --git a/src/components/Accordion/index.ts b/src/components/Accordion/index.ts
new file mode 100644
index 00000000..6b9f41d7
--- /dev/null
+++ b/src/components/Accordion/index.ts
@@ -0,0 +1,4 @@
+import MucAccordion from "./MucAccordion.vue";
+import MucAccordionItem from "./MucAccordionItem.vue";
+
+export { MucAccordion, MucAccordionItem };
diff --git a/src/components/index.ts b/src/components/index.ts
index 3fe021d5..d05e5a28 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -1,3 +1,4 @@
+import { MucAccordion, MucAccordionItem } from "./Accordion";
import { MucBanner } from "./Banner";
import { MucButton } from "./Button";
import { MucCalendar } from "./Calendar";
@@ -27,6 +28,8 @@ import { MucSpinner } from "./Spinner";
import { MucStepper } from "./Stepper";
export {
+ MucAccordion,
+ MucAccordionItem,
MucButton,
MucBanner,
MucIntro,