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: + + + + +[🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=viewall-components-accordion) +`, + }, + }, + }, +}; + +export const Template = () => ({ + components: { MucAccordion, MucAccordionItem }, + template: ` + + + + `, +}); + +export const Multiple = () => ({ + components: { MucAccordion, MucAccordionItem }, + template: ` + + + + `, +}); 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: ` + + + + + + `, +}); 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,