@conciso/design-system-mcp 0.0.0-bootstrap.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/LICENSE +21 -0
- package/README.md +59 -0
- package/bin/cds-mcp.mjs +9 -0
- package/package.json +48 -0
- package/snapshot/manifests/components.json +617 -0
- package/snapshot/manifests/docs.json +293 -0
- package/snapshot/services/addon-docs/mdx/beispielseiten-/303/274bersicht--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-barrierefreiheit--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-design-tokens--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-einrichtung--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-elevation--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-icons--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-responsive--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/grundlagen-spacing-grid--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-buchungsformular--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-buttons--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-call-to-action--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-cards-teaser--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-chips-badges-pills--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-code-block--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-dropdowns--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-feedback--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-footer--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-hero--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-inputs-forms--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-navigation--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-sektion--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-slider-carousel--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-tabelle--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-theme-umschalter--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/komponenten-zitate-testimonials--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/marke-bildsprache--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/marke-brand-areas--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/marke-logo--verwendung.json +18 -0
- package/snapshot/services/addon-docs/mdx/marke-markenrad--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/referenzen-quellen--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/seitenmuster-angebots-detailseite--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/seitenmuster-beitrags/303/274bersicht--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/seitenmuster-seminar-/302/267-training--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/seitenmuster-veranstaltung--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/seitenmuster-veranstaltungs/303/274bersicht--/303/274bersicht.json +18 -0
- package/snapshot/services/addon-docs/mdx/seitenmuster-wissensbeitrag--/303/274bersicht.json +18 -0
- package/snapshot/services/core/docgen/grundlagen-farben.json +3 -0
- package/snapshot/services/core/docgen/grundlagen-typografie.json +3 -0
- package/snapshot/services/core/docgen/komponenten-buttons-button.json +183 -0
- package/snapshot/services/core/docgen/komponenten-call-to-action-cta-band.json +131 -0
- package/snapshot/services/core/docgen/komponenten-call-to-action-downloadcta.json +182 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-card.json +146 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-feature-liste.json +128 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-featured-karte.json +158 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-icon-karte.json +111 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-klickbare-karte.json +161 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-statcard.json +115 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-statstrip.json +58 -0
- package/snapshot/services/core/docgen/komponenten-cards-teaser-tier-trenner.json +56 -0
- package/snapshot/services/core/docgen/komponenten-chips-badges-pills-bereichs-badge.json +63 -0
- package/snapshot/services/core/docgen/komponenten-chips-badges-pills-chip.json +95 -0
- package/snapshot/services/core/docgen/komponenten-chips-badges-pills-pill.json +78 -0
- package/snapshot/services/core/docgen/komponenten-chips-badges-pills-status-badge.json +63 -0
- package/snapshot/services/core/docgen/komponenten-code-block-code-block.json +91 -0
- package/snapshot/services/core/docgen/komponenten-dropdowns-combobox.json +224 -0
- package/snapshot/services/core/docgen/komponenten-dropdowns-custom-select.json +173 -0
- package/snapshot/services/core/docgen/komponenten-feedback-snackbar.json +97 -0
- package/snapshot/services/core/docgen/komponenten-footer-komplett.json +21 -0
- package/snapshot/services/core/docgen/komponenten-footer-oberer-teil.json +39 -0
- package/snapshot/services/core/docgen/komponenten-footer-unterer-teil.json +105 -0
- package/snapshot/services/core/docgen/komponenten-hero-hero-bild.json +162 -0
- package/snapshot/services/core/docgen/komponenten-hero-st/303/266rer.json +41 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-auswahlfeld.json +192 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-checkbox.json +182 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-radio.json +181 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-skala.json +179 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-slider.json +259 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-textbereich.json +190 -0
- package/snapshot/services/core/docgen/komponenten-inputs-forms-textfeld.json +207 -0
- package/snapshot/services/core/docgen/komponenten-navigation-topnav.json +186 -0
- package/snapshot/services/core/docgen/komponenten-sektion-sektion.json +113 -0
- package/snapshot/services/core/docgen/komponenten-slider-carousel-carousel.json +92 -0
- package/snapshot/services/core/docgen/komponenten-slider-carousel-logocarousel.json +92 -0
- package/snapshot/services/core/docgen/komponenten-tabelle-tabelle.json +74 -0
- package/snapshot/services/core/docgen/komponenten-tabelle-vergleichstabelle.json +142 -0
- package/snapshot/services/core/docgen/komponenten-theme-umschalter-cycle-button.json +41 -0
- package/snapshot/services/core/docgen/komponenten-theme-umschalter-dropdown.json +41 -0
- package/snapshot/services/core/docgen/komponenten-theme-umschalter-segment.json +41 -0
- package/snapshot/services/core/docgen/komponenten-zitate-testimonials-blockquote.json +96 -0
- package/snapshot/services/core/docgen/komponenten-zitate-testimonials-teamvoice.json +130 -0
- package/snapshot/services/core/docgen/komponenten-zitate-testimonials-testimonial.json +96 -0
- package/snapshot/services/core/docgen/marke-brand-areas-areatabs.json +75 -0
- package/snapshot/services/core/docgen/marke-logo-logo.json +71 -0
- package/snapshot/services/core/docgen/seitenmuster-seminar-/302/267-training-fakten-liste.json +79 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-article-header.json +196 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-author-card.json +91 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-avatar.json +100 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-callout.json +64 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-faq.json +41 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-figure.json +73 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-inhaltsverzeichnis.json +75 -0
- package/snapshot/services/core/docgen/seitenmuster-wissensbeitrag-pull-quote.json +63 -0
- package/snapshot/services/core/story-docs/grundlagen-farben.json +19 -0
- package/snapshot/services/core/story-docs/grundlagen-typografie.json +25 -0
- package/snapshot/services/core/story-docs/komponenten-buttons-button.json +48 -0
- package/snapshot/services/core/story-docs/komponenten-call-to-action-cta-band.json +27 -0
- package/snapshot/services/core/story-docs/komponenten-call-to-action-downloadcta.json +17 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-card.json +37 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-feature-liste.json +37 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-featured-karte.json +36 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-icon-karte.json +41 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-klickbare-karte.json +26 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-statcard.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-statstrip.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-cards-teaser-tier-trenner.json +22 -0
- package/snapshot/services/core/story-docs/komponenten-chips-badges-pills-bereichs-badge.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-chips-badges-pills-chip.json +27 -0
- package/snapshot/services/core/story-docs/komponenten-chips-badges-pills-pill.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-chips-badges-pills-status-badge.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-code-block-code-block.json +26 -0
- package/snapshot/services/core/story-docs/komponenten-dropdowns-combobox.json +37 -0
- package/snapshot/services/core/story-docs/komponenten-dropdowns-custom-select.json +37 -0
- package/snapshot/services/core/story-docs/komponenten-feedback-snackbar.json +27 -0
- package/snapshot/services/core/story-docs/komponenten-footer-komplett.json +22 -0
- package/snapshot/services/core/story-docs/komponenten-footer-oberer-teil.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-footer-unterer-teil.json +32 -0
- package/snapshot/services/core/story-docs/komponenten-hero-hero-bild.json +37 -0
- package/snapshot/services/core/story-docs/komponenten-hero-st/303/266rer.json +26 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-auswahlfeld.json +32 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-checkbox.json +32 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-radio.json +32 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-skala.json +42 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-slider.json +37 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-textbereich.json +27 -0
- package/snapshot/services/core/story-docs/komponenten-inputs-forms-textfeld.json +32 -0
- package/snapshot/services/core/story-docs/komponenten-navigation-topnav.json +26 -0
- package/snapshot/services/core/story-docs/komponenten-sektion-sektion.json +41 -0
- package/snapshot/services/core/story-docs/komponenten-slider-carousel-carousel.json +31 -0
- package/snapshot/services/core/story-docs/komponenten-slider-carousel-logocarousel.json +27 -0
- package/snapshot/services/core/story-docs/komponenten-tabelle-tabelle.json +36 -0
- package/snapshot/services/core/story-docs/komponenten-tabelle-vergleichstabelle.json +32 -0
- package/snapshot/services/core/story-docs/komponenten-theme-umschalter-cycle-button.json +31 -0
- package/snapshot/services/core/story-docs/komponenten-theme-umschalter-dropdown.json +26 -0
- package/snapshot/services/core/story-docs/komponenten-theme-umschalter-segment.json +26 -0
- package/snapshot/services/core/story-docs/komponenten-zitate-testimonials-blockquote.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-zitate-testimonials-teamvoice.json +21 -0
- package/snapshot/services/core/story-docs/komponenten-zitate-testimonials-testimonial.json +21 -0
- package/snapshot/services/core/story-docs/marke-brand-areas-areatabs.json +26 -0
- package/snapshot/services/core/story-docs/marke-logo-logo.json +23 -0
- package/snapshot/services/core/story-docs/seitenmuster-seminar-/302/267-training-fakten-liste.json +21 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-article-header.json +37 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-author-card.json +31 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-avatar.json +32 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-callout.json +26 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-faq.json +27 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-figure.json +22 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-inhaltsverzeichnis.json +27 -0
- package/snapshot/services/core/story-docs/seitenmuster-wissensbeitrag-pull-quote.json +21 -0
- package/src/instructions.mjs +38 -0
- package/src/server.mjs +111 -0
- package/src/version-check.mjs +80 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"komponenten-chips-badges-pills-status-badge": {
|
|
4
|
+
"id": "komponenten-chips-badges-pills-status-badge",
|
|
5
|
+
"name": "StatusBadgeComponent",
|
|
6
|
+
"path": "./src/lib/status-badge/status-badge.stories.ts",
|
|
7
|
+
"description": "Status-Badge — passive Zustands-Kennzeichnung auf Basis von `.badge` +\n`.badge-{ok|warn|err|neu}` aus css/components.css.\n\nTrägt einen Zustand über semantische Farben (OK, Warnung, Fehler, Neutral) —\nz. B. „Live“, „Beta“, „Deprecated“, „Draft“. Nicht interaktiv. Für die\nZuordnung zu einer Brand Area die Bereichs-Badge, für einen redaktionellen\nAnker im Lesefluss die Pill nutzen; für interaktive Filter den Chip.",
|
|
8
|
+
"jsDocTags": {},
|
|
9
|
+
"argTypes": {
|
|
10
|
+
"label": {
|
|
11
|
+
"name": "label",
|
|
12
|
+
"description": "Sichtbarer Text der Badge.",
|
|
13
|
+
"type": {
|
|
14
|
+
"name": "string",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
"table": {
|
|
18
|
+
"category": "inputs",
|
|
19
|
+
"type": {
|
|
20
|
+
"summary": "string"
|
|
21
|
+
},
|
|
22
|
+
"defaultValue": {}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"tone": {
|
|
26
|
+
"name": "tone",
|
|
27
|
+
"description": "Status-Ton → semantische Farbe.",
|
|
28
|
+
"type": {
|
|
29
|
+
"name": "enum",
|
|
30
|
+
"value": [
|
|
31
|
+
"ok",
|
|
32
|
+
"warn",
|
|
33
|
+
"err",
|
|
34
|
+
"neu"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"table": {
|
|
38
|
+
"category": "inputs",
|
|
39
|
+
"type": {
|
|
40
|
+
"summary": "CdsBadgeTone"
|
|
41
|
+
},
|
|
42
|
+
"defaultValue": {
|
|
43
|
+
"summary": "ok"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"apiDescription": "## Inputs\n\n```\nexport type StatusBadgeComponentInputs = {\n /** Sichtbarer Text der Badge. */\n label: string;\n /**\n * Status-Ton → semantische Farbe.\n *\n * @default ok\n */\n tone?: CdsBadgeTone;\n}\n```",
|
|
49
|
+
"renderer": "angular",
|
|
50
|
+
"angularComponentMeta": {
|
|
51
|
+
"name": "StatusBadgeComponent",
|
|
52
|
+
"selector": "cds-status-badge",
|
|
53
|
+
"standalone": true,
|
|
54
|
+
"inputs": [
|
|
55
|
+
"label",
|
|
56
|
+
"tone"
|
|
57
|
+
],
|
|
58
|
+
"outputs": [],
|
|
59
|
+
"enums": []
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"komponenten-code-block-code-block": {
|
|
4
|
+
"id": "komponenten-code-block-code-block",
|
|
5
|
+
"name": "CodeBlockComponent",
|
|
6
|
+
"path": "./src/lib/code-block/code-block.stories.ts",
|
|
7
|
+
"description": "CodeBlock — Wrapper um `.cb-wrap` aus css/components.css → „Code-Block“.\n\nHeader mit Sprach-Label (.cb-lang) und optionalem Kopier-Button (.cb-copy),\ndarunter der Code in `pre.cb-body` (white-space:pre, horizontal scrollbar).\nOptionale Terminal-Variante (.cb-terminal). Syntax-Highlighting-Spans\n(.k/.v/.s/…) werden hier bewusst nicht gesetzt — der Code bleibt Klartext.\n\nA11y (siehe docs/komponenten/code-block-verwendung.mdx, Abschnitt „Barrierefreiheit“):\n- `<code>` im `<pre>` als semantisches Grundgerüst, damit Screenreader den Inhalt\n als „Code“ ankündigen. `.cb-body code{font:inherit}` in components.css fängt den\n Browser-Default (`code{font-family:monospace}`) ab, sonst würde das verschachtelte\n `<code>` eine andere Schrift als der Rest des Blocks zeigen.\n- `tabindex=\"0\"` auf `pre.cb-body`, weil der Block bei langen Zeilen horizontal\n scrollt und sonst per Tastatur nicht erreichbar wäre.\n- `aria-label=\"Code kopieren\"` auf dem Kopier-Button ist **stabil** und wechselt nach\n dem Klick nicht mehr. Ein Bedienelement trägt den Namen seiner Funktion, nicht den\n seines letzten Ereignisses — sonst findet man den Button per Sprachsteuerung danach\n nicht mehr, und eine Elementliste zeigt einen Button „Code kopiert“, der tatsächlich\n kopiert. Die Erfolgsmeldung läuft stattdessen über eine eigene, visuell versteckte\n Live-Region (`.sr-only` + `role=\"status\"`, Muster aus `snackbar.component.ts`), die\n von Anfang an im DOM steht und nur ihren Textinhalt wechselt: `aria-live` beobachtet\n Inhalts-, keine Attribut-Änderungen, und eine Region, die erst beim Klick entsteht,\n kündigt bei vielen Screenreadern nichts an. Zusätzlich verhalten sich Live-Regionen\n auf dem gerade fokussierten Element (hier: der Button nach dem Klick) uneinheitlich.\n Der sichtbare Button-Text wechselt weiterhin „Kopieren“ ↔ „Kopiert!“, ist aber durch\n `aria-label` für die Namensberechnung überschrieben und rein optisches Feedback.",
|
|
8
|
+
"jsDocTags": {},
|
|
9
|
+
"argTypes": {
|
|
10
|
+
"code": {
|
|
11
|
+
"name": "code",
|
|
12
|
+
"description": "Anzuzeigender Code (Klartext, `pre`-formatiert).",
|
|
13
|
+
"type": {
|
|
14
|
+
"name": "string",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
"table": {
|
|
18
|
+
"category": "inputs",
|
|
19
|
+
"type": {
|
|
20
|
+
"summary": "string"
|
|
21
|
+
},
|
|
22
|
+
"defaultValue": {}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"copyable": {
|
|
26
|
+
"name": "copyable",
|
|
27
|
+
"description": "Kopier-Button anzeigen (.cb-copy).",
|
|
28
|
+
"type": {
|
|
29
|
+
"name": "boolean"
|
|
30
|
+
},
|
|
31
|
+
"table": {
|
|
32
|
+
"category": "inputs",
|
|
33
|
+
"type": {
|
|
34
|
+
"summary": "boolean"
|
|
35
|
+
},
|
|
36
|
+
"defaultValue": {
|
|
37
|
+
"summary": true
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"lang": {
|
|
42
|
+
"name": "lang",
|
|
43
|
+
"description": "Sprach-Label im Header (.cb-lang), rein informativ, ohne Syntax-Highlighting.",
|
|
44
|
+
"type": {
|
|
45
|
+
"name": "string"
|
|
46
|
+
},
|
|
47
|
+
"table": {
|
|
48
|
+
"category": "inputs",
|
|
49
|
+
"type": {
|
|
50
|
+
"summary": "string"
|
|
51
|
+
},
|
|
52
|
+
"defaultValue": {
|
|
53
|
+
"summary": "HTML"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"terminal": {
|
|
58
|
+
"name": "terminal",
|
|
59
|
+
"description": "Terminal-Optik → .cb-terminal.",
|
|
60
|
+
"type": {
|
|
61
|
+
"name": "boolean"
|
|
62
|
+
},
|
|
63
|
+
"table": {
|
|
64
|
+
"category": "inputs",
|
|
65
|
+
"type": {
|
|
66
|
+
"summary": "boolean"
|
|
67
|
+
},
|
|
68
|
+
"defaultValue": {
|
|
69
|
+
"summary": false
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"apiDescription": "## Inputs\n\n```\nexport type CodeBlockComponentInputs = {\n /** Anzuzeigender Code (Klartext, `pre`-formatiert). */\n code: string;\n /**\n * Kopier-Button anzeigen (.cb-copy).\n *\n * @default true\n */\n copyable?: boolean;\n /**\n * Sprach-Label im Header (.cb-lang), rein informativ, ohne Syntax-Highlighting.\n *\n * @default HTML\n */\n lang?: string;\n /**\n * Terminal-Optik → .cb-terminal.\n *\n * @default false\n */\n terminal?: boolean;\n}\n```",
|
|
75
|
+
"renderer": "angular",
|
|
76
|
+
"angularComponentMeta": {
|
|
77
|
+
"name": "CodeBlockComponent",
|
|
78
|
+
"selector": "cds-code-block",
|
|
79
|
+
"standalone": true,
|
|
80
|
+
"inputs": [
|
|
81
|
+
"code",
|
|
82
|
+
"copyable",
|
|
83
|
+
"lang",
|
|
84
|
+
"terminal"
|
|
85
|
+
],
|
|
86
|
+
"outputs": [],
|
|
87
|
+
"enums": []
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"komponenten-dropdowns-combobox": {
|
|
4
|
+
"id": "komponenten-dropdowns-combobox",
|
|
5
|
+
"name": "ComboboxComponent",
|
|
6
|
+
"path": "./src/lib/combobox/combobox.stories.ts",
|
|
7
|
+
"description": "Combobox (cds-combobox) — Tipp-Filter über `.ep-combobox` aus css/components.css\n→ Doku „Dropdowns“. Wie der Custom Select, aber mit Substring-Filter im Feld (für\nlange Listen). Optional Multi-Select mit Chips (`multi`).\n\nVerhalten/a11y selbst getragen: Input mit role=combobox (dort ist\naria-activedescendant erlaubt), aria-expanded/-controls/-autocomplete; Listbox mit\nrole=listbox/option; ↓ öffnet/navigiert, Enter wählt, Esc schließt, Rücktaste bei\nleerem Feld entfernt im Multi-Modus den letzten Chip. Beim Schließen ohne Auswahl\nfällt die Einzelauswahl auf das gewählte Label zurück (kein loser Filtertext).\n\nAls `ControlValueAccessor` direkt an Angular-Formulare anbindbar (`[(ngModel)]`,\n`formControlName`); der Formularwert ist im Multi-Modus `string[]`, sonst `string`.\nOhne Formular gehen `[(value)]` / `[(values)]` (valueChange/valuesChange via model()).",
|
|
8
|
+
"jsDocTags": {},
|
|
9
|
+
"argTypes": {
|
|
10
|
+
"area": {
|
|
11
|
+
"name": "area",
|
|
12
|
+
"type": {
|
|
13
|
+
"name": "enum",
|
|
14
|
+
"value": [
|
|
15
|
+
"co",
|
|
16
|
+
"ki",
|
|
17
|
+
"es",
|
|
18
|
+
"wo"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"table": {
|
|
22
|
+
"category": "inputs",
|
|
23
|
+
"type": {
|
|
24
|
+
"summary": "CdsArea"
|
|
25
|
+
},
|
|
26
|
+
"defaultValue": {}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"disabled": {
|
|
30
|
+
"name": "disabled",
|
|
31
|
+
"description": "Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar.",
|
|
32
|
+
"type": {
|
|
33
|
+
"name": "boolean"
|
|
34
|
+
},
|
|
35
|
+
"table": {
|
|
36
|
+
"category": "inputs",
|
|
37
|
+
"type": {
|
|
38
|
+
"summary": "boolean"
|
|
39
|
+
},
|
|
40
|
+
"defaultValue": {
|
|
41
|
+
"summary": false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"emptyText": {
|
|
46
|
+
"name": "emptyText",
|
|
47
|
+
"type": {
|
|
48
|
+
"name": "string"
|
|
49
|
+
},
|
|
50
|
+
"table": {
|
|
51
|
+
"category": "inputs",
|
|
52
|
+
"type": {
|
|
53
|
+
"summary": "string"
|
|
54
|
+
},
|
|
55
|
+
"defaultValue": {
|
|
56
|
+
"summary": "Kein Treffer"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"label": {
|
|
61
|
+
"name": "label",
|
|
62
|
+
"type": {
|
|
63
|
+
"name": "string"
|
|
64
|
+
},
|
|
65
|
+
"table": {
|
|
66
|
+
"category": "inputs",
|
|
67
|
+
"type": {
|
|
68
|
+
"summary": "string"
|
|
69
|
+
},
|
|
70
|
+
"defaultValue": {
|
|
71
|
+
"summary": "Thema"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"multi": {
|
|
76
|
+
"name": "multi",
|
|
77
|
+
"type": {
|
|
78
|
+
"name": "boolean"
|
|
79
|
+
},
|
|
80
|
+
"table": {
|
|
81
|
+
"category": "inputs",
|
|
82
|
+
"type": {
|
|
83
|
+
"summary": "boolean"
|
|
84
|
+
},
|
|
85
|
+
"defaultValue": {
|
|
86
|
+
"summary": false
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"options": {
|
|
91
|
+
"name": "options",
|
|
92
|
+
"type": {
|
|
93
|
+
"name": "other",
|
|
94
|
+
"value": "empty-enum"
|
|
95
|
+
},
|
|
96
|
+
"table": {
|
|
97
|
+
"category": "inputs",
|
|
98
|
+
"type": {
|
|
99
|
+
"summary": "CdsSelectOption[]"
|
|
100
|
+
},
|
|
101
|
+
"defaultValue": {
|
|
102
|
+
"summary": "[]"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"placeholder": {
|
|
107
|
+
"name": "placeholder",
|
|
108
|
+
"type": {
|
|
109
|
+
"name": "string"
|
|
110
|
+
},
|
|
111
|
+
"table": {
|
|
112
|
+
"category": "inputs",
|
|
113
|
+
"type": {
|
|
114
|
+
"summary": "string"
|
|
115
|
+
},
|
|
116
|
+
"defaultValue": {
|
|
117
|
+
"summary": "Suchen…"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"value": {
|
|
122
|
+
"name": "value",
|
|
123
|
+
"description": "Einzelauswahl: gewählter Wert. Two-Way (`[(value)]`) UND Angular-Forms.",
|
|
124
|
+
"type": {
|
|
125
|
+
"name": "string"
|
|
126
|
+
},
|
|
127
|
+
"table": {
|
|
128
|
+
"category": "inputs",
|
|
129
|
+
"type": {
|
|
130
|
+
"summary": "string | undefined"
|
|
131
|
+
},
|
|
132
|
+
"defaultValue": {}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"values": {
|
|
136
|
+
"name": "values",
|
|
137
|
+
"description": "Mehrfachauswahl: gewählte Werte (nur bei multi). Two-Way UND Angular-Forms.",
|
|
138
|
+
"type": {
|
|
139
|
+
"name": "other",
|
|
140
|
+
"value": "empty-enum"
|
|
141
|
+
},
|
|
142
|
+
"table": {
|
|
143
|
+
"category": "inputs",
|
|
144
|
+
"type": {
|
|
145
|
+
"summary": "string[]"
|
|
146
|
+
},
|
|
147
|
+
"defaultValue": {
|
|
148
|
+
"summary": "[]"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"disabledChange": {
|
|
153
|
+
"name": "disabledChange",
|
|
154
|
+
"description": "Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar.",
|
|
155
|
+
"type": {
|
|
156
|
+
"name": "other",
|
|
157
|
+
"value": "void"
|
|
158
|
+
},
|
|
159
|
+
"action": "disabledChange",
|
|
160
|
+
"table": {
|
|
161
|
+
"category": "outputs",
|
|
162
|
+
"type": {
|
|
163
|
+
"summary": "(e: boolean) => void"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"valueChange": {
|
|
168
|
+
"name": "valueChange",
|
|
169
|
+
"description": "Einzelauswahl: gewählter Wert. Two-Way (`[(value)]`) UND Angular-Forms.",
|
|
170
|
+
"type": {
|
|
171
|
+
"name": "other",
|
|
172
|
+
"value": "void"
|
|
173
|
+
},
|
|
174
|
+
"action": "valueChange",
|
|
175
|
+
"table": {
|
|
176
|
+
"category": "outputs",
|
|
177
|
+
"type": {
|
|
178
|
+
"summary": "(e: string | undefined) => void"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"valuesChange": {
|
|
183
|
+
"name": "valuesChange",
|
|
184
|
+
"description": "Mehrfachauswahl: gewählte Werte (nur bei multi). Two-Way UND Angular-Forms.",
|
|
185
|
+
"type": {
|
|
186
|
+
"name": "other",
|
|
187
|
+
"value": "void"
|
|
188
|
+
},
|
|
189
|
+
"action": "valuesChange",
|
|
190
|
+
"table": {
|
|
191
|
+
"category": "outputs",
|
|
192
|
+
"type": {
|
|
193
|
+
"summary": "(e: string[]) => void"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"apiDescription": "## Inputs\n\n```\nexport type ComboboxComponentInputs = {\n area?: CdsArea;\n /**\n * Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar.\n *\n * @default false\n */\n disabled?: boolean; // two-way: [(disabled)]\n /** @default Kein Treffer */\n emptyText?: string;\n /** @default Thema */\n label?: string;\n /** @default false */\n multi?: boolean;\n /** @default [] */\n options?: CdsSelectOption[];\n /** @default Suchen… */\n placeholder?: string;\n /** Einzelauswahl: gewählter Wert. Two-Way (`[(value)]`) UND Angular-Forms. */\n value?: string | undefined; // two-way: [(value)]\n /**\n * Mehrfachauswahl: gewählte Werte (nur bei multi). Two-Way UND Angular-Forms.\n *\n * @default []\n */\n values?: string[]; // two-way: [(values)]\n}\n```\n\n## Outputs\n\n```\nexport type ComboboxComponentOutputs = {\n /** Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar. */\n disabledChange: (e: boolean) => void;\n /** Einzelauswahl: gewählter Wert. Two-Way (`[(value)]`) UND Angular-Forms. */\n valueChange: (e: string | undefined) => void;\n /** Mehrfachauswahl: gewählte Werte (nur bei multi). Two-Way UND Angular-Forms. */\n valuesChange: (e: string[]) => void;\n}\n```",
|
|
199
|
+
"renderer": "angular",
|
|
200
|
+
"angularComponentMeta": {
|
|
201
|
+
"name": "ComboboxComponent",
|
|
202
|
+
"selector": "cds-combobox",
|
|
203
|
+
"standalone": true,
|
|
204
|
+
"inputs": [
|
|
205
|
+
"area",
|
|
206
|
+
"disabled",
|
|
207
|
+
"emptyText",
|
|
208
|
+
"label",
|
|
209
|
+
"multi",
|
|
210
|
+
"options",
|
|
211
|
+
"placeholder",
|
|
212
|
+
"value",
|
|
213
|
+
"values"
|
|
214
|
+
],
|
|
215
|
+
"outputs": [
|
|
216
|
+
"disabledChange",
|
|
217
|
+
"valueChange",
|
|
218
|
+
"valuesChange"
|
|
219
|
+
],
|
|
220
|
+
"enums": []
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"komponenten-dropdowns-custom-select": {
|
|
4
|
+
"id": "komponenten-dropdowns-custom-select",
|
|
5
|
+
"name": "SelectComponent",
|
|
6
|
+
"path": "./src/lib/select/select.stories.ts",
|
|
7
|
+
"description": "Custom Select (cds-select) — gestylte Einzelauswahl über `.ep-select` aus\ncss/components.css → Doku „Dropdowns“.\n\nTrigger-Button + Listbox-Popup mit Häkchen und Bereichs-Akzent (data-area).\nAnders als die dünnen Wrapper trägt diese Komponente das Verhalten selbst — das\nist ihr Zweck (das native <select> reicht dafür nicht): volle Tastatur (↑↓,\nPos1/Ende, Type-ahead, Enter wählt, Esc schließt) und die dokumentierte a11y\n(role=listbox/option, aria-haspopup, aria-expanded, aria-activedescendant,\naria-selected). Für kurze Listen in Formularen bleibt das native cds-select-field\nder Standard; dies hier ist für bereichs-akzentuierte Auswahl.\n\nAls `ControlValueAccessor` direkt an Angular-Formulare anbindbar (`[(ngModel)]`,\n`formControlName`); ohne Formular geht `[(value)]` (valueChange via model()).",
|
|
8
|
+
"jsDocTags": {},
|
|
9
|
+
"argTypes": {
|
|
10
|
+
"area": {
|
|
11
|
+
"name": "area",
|
|
12
|
+
"type": {
|
|
13
|
+
"name": "enum",
|
|
14
|
+
"value": [
|
|
15
|
+
"co",
|
|
16
|
+
"ki",
|
|
17
|
+
"es",
|
|
18
|
+
"wo"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"table": {
|
|
22
|
+
"category": "inputs",
|
|
23
|
+
"type": {
|
|
24
|
+
"summary": "CdsArea"
|
|
25
|
+
},
|
|
26
|
+
"defaultValue": {}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"disabled": {
|
|
30
|
+
"name": "disabled",
|
|
31
|
+
"description": "Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar.",
|
|
32
|
+
"type": {
|
|
33
|
+
"name": "boolean"
|
|
34
|
+
},
|
|
35
|
+
"table": {
|
|
36
|
+
"category": "inputs",
|
|
37
|
+
"type": {
|
|
38
|
+
"summary": "boolean"
|
|
39
|
+
},
|
|
40
|
+
"defaultValue": {
|
|
41
|
+
"summary": false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"label": {
|
|
46
|
+
"name": "label",
|
|
47
|
+
"type": {
|
|
48
|
+
"name": "string"
|
|
49
|
+
},
|
|
50
|
+
"table": {
|
|
51
|
+
"category": "inputs",
|
|
52
|
+
"type": {
|
|
53
|
+
"summary": "string"
|
|
54
|
+
},
|
|
55
|
+
"defaultValue": {
|
|
56
|
+
"summary": "Bereich"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"name": {
|
|
61
|
+
"name": "name",
|
|
62
|
+
"description": "Optionaler Feldname → verstecktes Input für den Formular-Submit.",
|
|
63
|
+
"type": {
|
|
64
|
+
"name": "string"
|
|
65
|
+
},
|
|
66
|
+
"table": {
|
|
67
|
+
"category": "inputs",
|
|
68
|
+
"type": {
|
|
69
|
+
"summary": "string"
|
|
70
|
+
},
|
|
71
|
+
"defaultValue": {}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"options": {
|
|
75
|
+
"name": "options",
|
|
76
|
+
"type": {
|
|
77
|
+
"name": "other",
|
|
78
|
+
"value": "empty-enum"
|
|
79
|
+
},
|
|
80
|
+
"table": {
|
|
81
|
+
"category": "inputs",
|
|
82
|
+
"type": {
|
|
83
|
+
"summary": "CdsSelectOption[]"
|
|
84
|
+
},
|
|
85
|
+
"defaultValue": {
|
|
86
|
+
"summary": "[]"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"placeholder": {
|
|
91
|
+
"name": "placeholder",
|
|
92
|
+
"type": {
|
|
93
|
+
"name": "string"
|
|
94
|
+
},
|
|
95
|
+
"table": {
|
|
96
|
+
"category": "inputs",
|
|
97
|
+
"type": {
|
|
98
|
+
"summary": "string"
|
|
99
|
+
},
|
|
100
|
+
"defaultValue": {
|
|
101
|
+
"summary": "Bitte wählen…"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"value": {
|
|
106
|
+
"name": "value",
|
|
107
|
+
"description": "Aktuell gewählter Wert (value der Option). Two-Way (`[(value)]`) UND Angular-Forms.",
|
|
108
|
+
"type": {
|
|
109
|
+
"name": "string"
|
|
110
|
+
},
|
|
111
|
+
"table": {
|
|
112
|
+
"category": "inputs",
|
|
113
|
+
"type": {
|
|
114
|
+
"summary": "string | undefined"
|
|
115
|
+
},
|
|
116
|
+
"defaultValue": {}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"disabledChange": {
|
|
120
|
+
"name": "disabledChange",
|
|
121
|
+
"description": "Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar.",
|
|
122
|
+
"type": {
|
|
123
|
+
"name": "other",
|
|
124
|
+
"value": "void"
|
|
125
|
+
},
|
|
126
|
+
"action": "disabledChange",
|
|
127
|
+
"table": {
|
|
128
|
+
"category": "outputs",
|
|
129
|
+
"type": {
|
|
130
|
+
"summary": "(e: boolean) => void"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"valueChange": {
|
|
135
|
+
"name": "valueChange",
|
|
136
|
+
"description": "Aktuell gewählter Wert (value der Option). Two-Way (`[(value)]`) UND Angular-Forms.",
|
|
137
|
+
"type": {
|
|
138
|
+
"name": "other",
|
|
139
|
+
"value": "void"
|
|
140
|
+
},
|
|
141
|
+
"action": "valueChange",
|
|
142
|
+
"table": {
|
|
143
|
+
"category": "outputs",
|
|
144
|
+
"type": {
|
|
145
|
+
"summary": "(e: string | undefined) => void"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"apiDescription": "## Inputs\n\n```\nexport type SelectComponentInputs = {\n area?: CdsArea;\n /**\n * Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar.\n *\n * @default false\n */\n disabled?: boolean; // two-way: [(disabled)]\n /** @default Bereich */\n label?: string;\n /** Optionaler Feldname → verstecktes Input für den Formular-Submit. */\n name?: string;\n /** @default [] */\n options?: CdsSelectOption[];\n /** @default Bitte wählen… */\n placeholder?: string;\n /** Aktuell gewählter Wert (value der Option). Two-Way (`[(value)]`) UND Angular-Forms. */\n value?: string | undefined; // two-way: [(value)]\n}\n```\n\n## Outputs\n\n```\nexport type SelectComponentOutputs = {\n /** Deaktiviert; auch über Angular-Forms (setDisabledState) steuerbar. */\n disabledChange: (e: boolean) => void;\n /** Aktuell gewählter Wert (value der Option). Two-Way (`[(value)]`) UND Angular-Forms. */\n valueChange: (e: string | undefined) => void;\n}\n```",
|
|
151
|
+
"renderer": "angular",
|
|
152
|
+
"angularComponentMeta": {
|
|
153
|
+
"name": "SelectComponent",
|
|
154
|
+
"selector": "cds-select",
|
|
155
|
+
"standalone": true,
|
|
156
|
+
"inputs": [
|
|
157
|
+
"area",
|
|
158
|
+
"disabled",
|
|
159
|
+
"label",
|
|
160
|
+
"name",
|
|
161
|
+
"options",
|
|
162
|
+
"placeholder",
|
|
163
|
+
"value"
|
|
164
|
+
],
|
|
165
|
+
"outputs": [
|
|
166
|
+
"disabledChange",
|
|
167
|
+
"valueChange"
|
|
168
|
+
],
|
|
169
|
+
"enums": []
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"komponenten-feedback-snackbar": {
|
|
4
|
+
"id": "komponenten-feedback-snackbar",
|
|
5
|
+
"name": "SnackbarComponent",
|
|
6
|
+
"path": "./src/lib/snackbar/snackbar.stories.ts",
|
|
7
|
+
"description": "Snackbar — Wrapper um `.snack` aus css/components.css → „Snackbar“.\n\nKurze Statusmeldung in drei Tönen (.snack-def / .snack-ok / .snack-err) mit\nführendem, tonfarbenem Icon (wie die Doku) und optionaler Aktion (.snack-act).\nTon „err“ ist eine echte Fehlermeldung → role=\"alert\" + aria-live=\"assertive\";\ndef/ok bleiben role=\"status\" + aria-live=\"polite\" (wie im Doku-Markup).\nKonsumiert nur bestehende Klassen.",
|
|
8
|
+
"jsDocTags": {},
|
|
9
|
+
"argTypes": {
|
|
10
|
+
"actionLabel": {
|
|
11
|
+
"name": "actionLabel",
|
|
12
|
+
"description": "Optionaler Aktions-Button (.snack-act); leer = keiner.",
|
|
13
|
+
"type": {
|
|
14
|
+
"name": "string"
|
|
15
|
+
},
|
|
16
|
+
"table": {
|
|
17
|
+
"category": "inputs",
|
|
18
|
+
"type": {
|
|
19
|
+
"summary": "string"
|
|
20
|
+
},
|
|
21
|
+
"defaultValue": {
|
|
22
|
+
"summary": ""
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"message": {
|
|
27
|
+
"name": "message",
|
|
28
|
+
"description": "Anzuzeigender Statustext.",
|
|
29
|
+
"type": {
|
|
30
|
+
"name": "string",
|
|
31
|
+
"required": true
|
|
32
|
+
},
|
|
33
|
+
"table": {
|
|
34
|
+
"category": "inputs",
|
|
35
|
+
"type": {
|
|
36
|
+
"summary": "string"
|
|
37
|
+
},
|
|
38
|
+
"defaultValue": {}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"tone": {
|
|
42
|
+
"name": "tone",
|
|
43
|
+
"description": "Ton → .snack-def / .snack-ok / .snack-err",
|
|
44
|
+
"type": {
|
|
45
|
+
"name": "enum",
|
|
46
|
+
"value": [
|
|
47
|
+
"def",
|
|
48
|
+
"ok",
|
|
49
|
+
"err"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"table": {
|
|
53
|
+
"category": "inputs",
|
|
54
|
+
"type": {
|
|
55
|
+
"summary": "CdsSnackTone"
|
|
56
|
+
},
|
|
57
|
+
"defaultValue": {
|
|
58
|
+
"summary": "def"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"action": {
|
|
63
|
+
"name": "action",
|
|
64
|
+
"description": "Klick auf die optionale Aktion.",
|
|
65
|
+
"type": {
|
|
66
|
+
"name": "other",
|
|
67
|
+
"value": "void"
|
|
68
|
+
},
|
|
69
|
+
"action": "action",
|
|
70
|
+
"table": {
|
|
71
|
+
"category": "outputs",
|
|
72
|
+
"type": {
|
|
73
|
+
"summary": "void"
|
|
74
|
+
},
|
|
75
|
+
"defaultValue": {}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"apiDescription": "## Inputs\n\n```\nexport type SnackbarComponentInputs = {\n /**\n * Optionaler Aktions-Button (.snack-act); leer = keiner.\n *\n * @default ''\n */\n actionLabel?: string;\n /** Anzuzeigender Statustext. */\n message: string;\n /**\n * Ton → .snack-def / .snack-ok / .snack-err\n *\n * @default def\n */\n tone?: CdsSnackTone;\n}\n```\n\n## Outputs\n\n```\nexport type SnackbarComponentOutputs = {\n /** Klick auf die optionale Aktion. */\n action: void;\n}\n```",
|
|
80
|
+
"renderer": "angular",
|
|
81
|
+
"angularComponentMeta": {
|
|
82
|
+
"name": "SnackbarComponent",
|
|
83
|
+
"selector": "cds-snackbar",
|
|
84
|
+
"standalone": true,
|
|
85
|
+
"inputs": [
|
|
86
|
+
"actionLabel",
|
|
87
|
+
"message",
|
|
88
|
+
"tone"
|
|
89
|
+
],
|
|
90
|
+
"outputs": [
|
|
91
|
+
"action"
|
|
92
|
+
],
|
|
93
|
+
"enums": []
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"komponenten-footer-komplett": {
|
|
4
|
+
"id": "komponenten-footer-komplett",
|
|
5
|
+
"name": "FooterComponent",
|
|
6
|
+
"path": "./src/lib/footer/footer.stories.ts",
|
|
7
|
+
"description": "Footer — `<footer>`-Landmark (`.footer`, Zwei-Band-Stack) als schlanke Hülle. Die\nbeiden Bänder werden als `<cds-footer-main>` und `<cds-footer-bottom>` projiziert:\n\n```html\n<cds-footer>\n <cds-footer-main ...></cds-footer-main>\n <cds-footer-bottom ...></cds-footer-bottom>\n</cds-footer>\n```\n\nSo lassen sich oberer und unterer Teil einzeln betrachten und unabhängig\nkonfigurieren; `.footer` stapelt sie (flex column) im Seitenfuß-Landmark.",
|
|
8
|
+
"jsDocTags": {},
|
|
9
|
+
"argTypes": {},
|
|
10
|
+
"renderer": "angular",
|
|
11
|
+
"angularComponentMeta": {
|
|
12
|
+
"name": "FooterComponent",
|
|
13
|
+
"selector": "cds-footer",
|
|
14
|
+
"standalone": true,
|
|
15
|
+
"inputs": [],
|
|
16
|
+
"outputs": [],
|
|
17
|
+
"enums": []
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|