@fundamental-styles/mcp 0.41.7-rc.8 → 0.41.7
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/data/AI_USAGE.md +425 -0
- package/data/CHANGELOG.md +53 -3
- package/data/component-catalog.json +62 -209
- package/data/components/README.md +281 -0
- package/data/components/action-bar.md +443 -0
- package/data/components/ai-busy-indicator.md +79 -0
- package/data/components/ai-loading-bar.md +66 -0
- package/data/components/avatar-btp.md +198 -0
- package/data/components/avatar-group.md +2660 -0
- package/data/components/avatar-product-switch.md +476 -0
- package/data/components/avatar.md +993 -0
- package/data/components/bar.md +574 -0
- package/data/components/border-radius.md +148 -0
- package/data/components/border.md +412 -0
- package/data/components/breadcrumb.md +546 -0
- package/data/components/button-2.md +440 -0
- package/data/components/button-action-sheet.md +292 -0
- package/data/components/button-ai.md +730 -0
- package/data/components/button-btp.md +223 -0
- package/data/components/button-button.md +233 -0
- package/data/components/button-counter.md +176 -0
- package/data/components/button-patterns.md +731 -0
- package/data/components/button-split.md +459 -0
- package/data/components/button.md +469 -0
- package/data/components/calendar.md +5784 -0
- package/data/components/card-card-media.md +707 -0
- package/data/components/card-card.md +2426 -0
- package/data/components/card-layouts.md +1201 -0
- package/data/components/card.md +2404 -0
- package/data/components/carousel.md +1506 -0
- package/data/components/code.md +139 -0
- package/data/components/component-reset.md +272 -0
- package/data/components/components-icons-businesssuiteinappsymbol-icons.md +85 -0
- package/data/components/components-icons-sap-icons.md +147 -0
- package/data/components/components-icons-tnt-icons.md +85 -0
- package/data/components/container-queries.md +221 -0
- package/data/components/container.md +227 -0
- package/data/components/dialog-docs-static-busy-indicator.md +165 -0
- package/data/components/dialog-docs-static-dialog.md +949 -0
- package/data/components/dialog-docs-static-patterns.md +147 -0
- package/data/components/dialog-docs-static-settings.md +528 -0
- package/data/components/dialog-docs-static.md +982 -0
- package/data/components/dialog.md +606 -0
- package/data/components/dynamic-page-dynamic-page.md +1914 -0
- package/data/components/dynamic-page.md +973 -0
- package/data/components/dynamic-side.md +197 -0
- package/data/components/elevation.md +110 -0
- package/data/components/feed-input.md +346 -0
- package/data/components/feed-list.md +580 -0
- package/data/components/fieldset-2.md +292 -0
- package/data/components/fieldset-forms.md +169 -0
- package/data/components/fieldset.md +381 -0
- package/data/components/flexible-column-layout.md +205 -0
- package/data/components/form-group.md +287 -0
- package/data/components/form-header.md +71 -0
- package/data/components/form-item-2.md +98 -0
- package/data/components/form-item-3.md +134 -0
- package/data/components/form-item-4.md +556 -0
- package/data/components/form-item-5.md +182 -0
- package/data/components/form-item-6.md +539 -0
- package/data/components/form-item-7.md +239 -0
- package/data/components/form-item-ai.md +158 -0
- package/data/components/form-item-file-uploader.md +445 -0
- package/data/components/form-item-forms.md +234 -0
- package/data/components/form-item-patterns.md +426 -0
- package/data/components/form-item.md +464 -0
- package/data/components/form-label-ai.md +126 -0
- package/data/components/form-label-layouts.md +306 -0
- package/data/components/form-label-patterns.md +1175 -0
- package/data/components/form-label-status-indicator.md +1083 -0
- package/data/components/form-label-step-input.md +620 -0
- package/data/components/form-label.md +2876 -0
- package/data/components/generic-tag.md +747 -0
- package/data/components/grid-list-grid-list.md +1185 -0
- package/data/components/grid-list.md +1449 -0
- package/data/components/heading.md +66 -0
- package/data/components/horizontal-navigation.md +568 -0
- package/data/components/icon-tab-bar-dev.md +190 -0
- package/data/components/icon-tab-bar.md +2620 -0
- package/data/components/icon.md +171 -0
- package/data/components/iconBusinessSuite.md +92 -0
- package/data/components/iconTnt.md +92 -0
- package/data/components/illustrated-message.md +439 -0
- package/data/components/info-label.md +348 -0
- package/data/components/input-group.md +2068 -0
- package/data/components/label.md +66 -0
- package/data/components/layout-grid.md +447 -0
- package/data/components/layout-panel.md +261 -0
- package/data/components/layouts-layout-grid.md +608 -0
- package/data/components/layouts-paddings.md +133 -0
- package/data/components/layouts-section.md +287 -0
- package/data/components/list-2.md +148 -0
- package/data/components/list-3.md +735 -0
- package/data/components/list-list.md +790 -0
- package/data/components/list-object-list.md +1225 -0
- package/data/components/list.md +1286 -0
- package/data/components/media-queries.md +168 -0
- package/data/components/menu.md +946 -0
- package/data/components/message-box-docs-static-ai.md +149 -0
- package/data/components/message-box-docs-static.md +527 -0
- package/data/components/message-page-upload-collection.md +678 -0
- package/data/components/message-page.md +256 -0
- package/data/components/message-strip.md +977 -0
- package/data/components/message-toast.md +119 -0
- package/data/components/micro-process-flow.md +991 -0
- package/data/components/navigation-menu.md +366 -0
- package/data/components/navigation-navigation.md +1245 -0
- package/data/components/navigation.md +2604 -0
- package/data/components/numeric-content.md +317 -0
- package/data/components/object-attribute.md +96 -0
- package/data/components/object-identifier.md +227 -0
- package/data/components/object-marker.md +202 -0
- package/data/components/object-number.md +327 -0
- package/data/components/object-status.md +1538 -0
- package/data/components/off-screen.md +87 -0
- package/data/components/overflow.md +97 -0
- package/data/components/padding.md +122 -0
- package/data/components/paddings.md +130 -0
- package/data/components/page.md +300 -0
- package/data/components/pagination.md +672 -0
- package/data/components/panel-layouts.md +345 -0
- package/data/components/panel.md +514 -0
- package/data/components/patterns-label.md +74 -0
- package/data/components/popover-2.md +906 -0
- package/data/components/popover-ai.md +466 -0
- package/data/components/popover-btp.md +886 -0
- package/data/components/popover-deprecated.md +308 -0
- package/data/components/popover-message-popover.md +683 -0
- package/data/components/popover-notification.md +1511 -0
- package/data/components/popover-patterns.md +1100 -0
- package/data/components/popover-popover.md +1862 -0
- package/data/components/popover-quick-view.md +385 -0
- package/data/components/popover-timepicker.md +1836 -0
- package/data/components/popover-user-menu.md +1303 -0
- package/data/components/popover.md +1938 -0
- package/data/components/progress-indicator.md +351 -0
- package/data/components/prompt-input-ai.md +226 -0
- package/data/components/prompt-input.md +226 -0
- package/data/components/rating-indicator.md +1469 -0
- package/data/components/resizable-card-layout.md +951 -0
- package/data/components/scrollbar.md +86 -0
- package/data/components/search-field.md +287 -0
- package/data/components/section.md +250 -0
- package/data/components/segmented-button.md +324 -0
- package/data/components/shellbar.md +2183 -0
- package/data/components/side-nav.md +1562 -0
- package/data/components/skeleton.md +243 -0
- package/data/components/slider.md +395 -0
- package/data/components/splitter.md +353 -0
- package/data/components/table.md +2749 -0
- package/data/components/tabs.md +658 -0
- package/data/components/text-text.md +380 -0
- package/data/components/text.md +253 -0
- package/data/components/tile.md +1132 -0
- package/data/components/time.md +818 -0
- package/data/components/title.md +153 -0
- package/data/components/titles.md +83 -0
- package/data/components/token.md +311 -0
- package/data/components/tokenizer.md +398 -0
- package/data/components/tool-header.md +1352 -0
- package/data/components/tool-layout.md +199 -0
- package/data/components/toolbar-ai.md +174 -0
- package/data/components/toolbar-btp.md +526 -0
- package/data/components/toolbar-title-bar.md +473 -0
- package/data/components/toolbar.md +432 -0
- package/data/components/tree.md +1031 -0
- package/data/components/typography.md +435 -0
- package/data/components/variant-management.md +360 -0
- package/data/components/vertical-nav.md +589 -0
- package/data/components/wizard.md +1429 -0
- package/data/examples/Components/dialog/device-specifications.example.html +39 -30
- package/data/examples/Components/shellbar/optional-items.example.html +210 -157
- package/data/examples/Components/shellbar/overflow-toolbar.example.html +202 -177
- package/data/examples/Components/shellbar/responsive-paddings.example.html +217 -146
- package/data/examples/Components/shellbar/responsiveness.example.html +825 -613
- package/data/examples/Components/user-menu/default.example.html +241 -83
- package/data/schemas/badge.schema.json +1 -1
- package/data/schemas/button-split.schema.json +1 -1
- package/data/schemas/component-frontmatter.schema.json +123 -0
- package/data/schemas/component-markdown.schema.json +81 -0
- package/data/schemas/counter.schema.json +1 -1
- package/data/schemas/dynamic-page.schema.json +1 -1
- package/data/schemas/dynamic-side-content.schema.json +1 -1
- package/data/schemas/facet.schema.json +1 -1
- package/data/schemas/fieldset.schema.json +1 -1
- package/data/schemas/flexible-column-layout.schema.json +1 -1
- package/data/schemas/form-group.schema.json +3 -2
- package/data/schemas/form-header.schema.json +1 -1
- package/data/schemas/form-label.schema.json +1 -0
- package/data/schemas/form-message.schema.json +1 -1
- package/data/schemas/grid-list.schema.json +1 -1
- package/data/schemas/input-group.schema.json +1 -1
- package/data/schemas/layout-panel.schema.json +1 -1
- package/data/schemas/page.schema.json +1 -1
- package/data/schemas/quick-view.schema.json +2 -1
- package/data/schemas/section.schema.json +1 -1
- package/data/schemas/side-nav.schema.json +1 -1
- package/data/schemas/splitter.schema.json +1 -1
- package/data/schemas/tabs.schema.json +1 -1
- package/data/schemas/tile.schema.json +1 -1
- package/data/schemas/tool-layout.schema.json +1 -1
- package/data/schemas/user-menu.schema.json +10 -0
- package/data/schemas/wizard.schema.json +1 -1
- package/package.json +1 -1
- package/src/data/load-catalog.d.ts +2 -0
- package/src/data/load-catalog.js +5 -1
- package/src/data/load-catalog.js.map +1 -1
- package/src/data/load-markdown-docs.d.ts +44 -0
- package/src/data/load-markdown-docs.js +179 -0
- package/src/data/load-markdown-docs.js.map +1 -0
- package/src/data/markdown-cache.d.ts +60 -0
- package/src/data/markdown-cache.js +218 -0
- package/src/data/markdown-cache.js.map +1 -0
- package/src/server.js +72 -1
- package/src/server.js.map +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://sap.github.io/fundamental-styles/schemas/component-frontmatter.schema.json",
|
|
4
|
+
"title": "Component Documentation Frontmatter",
|
|
5
|
+
"description": "JSON Schema for validating component documentation frontmatter in fundamental-styles",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"component",
|
|
9
|
+
"title",
|
|
10
|
+
"category",
|
|
11
|
+
"sourcePath",
|
|
12
|
+
"generatedAt"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"component": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Component identifier (usually the selector)",
|
|
18
|
+
"minLength": 0,
|
|
19
|
+
"maxLength": 100,
|
|
20
|
+
"examples": ["fd-button", "fd-table", "fd-dialog", ""]
|
|
21
|
+
},
|
|
22
|
+
"title": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Full component title with category path",
|
|
25
|
+
"minLength": 3,
|
|
26
|
+
"maxLength": 200,
|
|
27
|
+
"examples": ["Components/Buttons/Button", "Layouts/Dynamic Page"]
|
|
28
|
+
},
|
|
29
|
+
"category": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Primary category of the component",
|
|
32
|
+
"enum": [
|
|
33
|
+
"Components",
|
|
34
|
+
"Layouts",
|
|
35
|
+
"Patterns",
|
|
36
|
+
"BTP",
|
|
37
|
+
"AI",
|
|
38
|
+
"Deprecated",
|
|
39
|
+
"Dev",
|
|
40
|
+
"border",
|
|
41
|
+
"border-radius",
|
|
42
|
+
"container-queries",
|
|
43
|
+
"elevation",
|
|
44
|
+
"heading",
|
|
45
|
+
"media-queries",
|
|
46
|
+
"overflow",
|
|
47
|
+
"padding",
|
|
48
|
+
"page-title",
|
|
49
|
+
"patterns",
|
|
50
|
+
"reset",
|
|
51
|
+
"text",
|
|
52
|
+
"typography"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"selector": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "CSS selector for the component",
|
|
58
|
+
"pattern": "^(fd-[a-z][a-z0-9-]*)?$",
|
|
59
|
+
"maxLength": 100,
|
|
60
|
+
"examples": ["fd-button", "fd-table", ""]
|
|
61
|
+
},
|
|
62
|
+
"cssFile": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "Main CSS file for the component",
|
|
65
|
+
"maxLength": 100,
|
|
66
|
+
"examples": ["button.css", "table.css", ""]
|
|
67
|
+
},
|
|
68
|
+
"sourcePath": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Path to the source story file",
|
|
71
|
+
"pattern": "^packages/[^/]+/stories/.+\\.stories\\.js$",
|
|
72
|
+
"minLength": 10,
|
|
73
|
+
"maxLength": 500,
|
|
74
|
+
"examples": ["packages/styles/stories/Components/button/button.stories.js"]
|
|
75
|
+
},
|
|
76
|
+
"tags": {
|
|
77
|
+
"type": "array",
|
|
78
|
+
"description": "Tags associated with the component",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"minLength": 1,
|
|
82
|
+
"maxLength": 50
|
|
83
|
+
},
|
|
84
|
+
"uniqueItems": true,
|
|
85
|
+
"examples": [[], ["deprecated"], ["experimental", "beta"]]
|
|
86
|
+
},
|
|
87
|
+
"dependencies": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"description": "CSS dependencies (other components this component requires)",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"minLength": 1,
|
|
93
|
+
"maxLength": 100
|
|
94
|
+
},
|
|
95
|
+
"uniqueItems": true,
|
|
96
|
+
"examples": [["button", "icon", "menu"]]
|
|
97
|
+
},
|
|
98
|
+
"relatedComponents": {
|
|
99
|
+
"type": "array",
|
|
100
|
+
"description": "Related components that work with this component",
|
|
101
|
+
"items": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"minLength": 1,
|
|
104
|
+
"maxLength": 100
|
|
105
|
+
},
|
|
106
|
+
"uniqueItems": true,
|
|
107
|
+
"examples": [["button-split", "icon", "menu"]]
|
|
108
|
+
},
|
|
109
|
+
"stability": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Component stability status",
|
|
112
|
+
"enum": ["stable", "deprecated", "experimental"],
|
|
113
|
+
"examples": ["stable", "deprecated", "experimental"]
|
|
114
|
+
},
|
|
115
|
+
"generatedAt": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "ISO 8601 timestamp when documentation was generated",
|
|
118
|
+
"format": "date-time",
|
|
119
|
+
"examples": ["2026-05-28T16:36:10.302Z"]
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"additionalProperties": false
|
|
123
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://sap.github.io/fundamental-styles/schemas/component-markdown.schema.json",
|
|
4
|
+
"title": "Component Markdown Schema",
|
|
5
|
+
"description": "JSON Schema for validating component markdown frontmatter in fundamental-styles",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"component",
|
|
9
|
+
"title",
|
|
10
|
+
"category",
|
|
11
|
+
"selector",
|
|
12
|
+
"cssFile",
|
|
13
|
+
"sourcePath",
|
|
14
|
+
"generatedAt"
|
|
15
|
+
],
|
|
16
|
+
"properties": {
|
|
17
|
+
"component": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Component identifier (typically the fd- class name)",
|
|
20
|
+
"pattern": "^fd-[a-z][a-z0-9-]*$"
|
|
21
|
+
},
|
|
22
|
+
"title": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Human-readable component title",
|
|
25
|
+
"minLength": 1
|
|
26
|
+
},
|
|
27
|
+
"category": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Component category (Components, BTP, Patterns, AI, Layouts, etc.)",
|
|
30
|
+
"enum": [
|
|
31
|
+
"AI",
|
|
32
|
+
"BTP",
|
|
33
|
+
"Components",
|
|
34
|
+
"Deprecated",
|
|
35
|
+
"Layouts",
|
|
36
|
+
"Patterns",
|
|
37
|
+
"Visuals",
|
|
38
|
+
"common-css",
|
|
39
|
+
"cx"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"selector": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "CSS selector for the component",
|
|
45
|
+
"pattern": "^fd-[a-z][a-z0-9-]*$"
|
|
46
|
+
},
|
|
47
|
+
"cssFile": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "CSS file name for the component",
|
|
50
|
+
"pattern": "^[a-z][a-z0-9-]*\\.css$"
|
|
51
|
+
},
|
|
52
|
+
"sourcePath": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Path to the source story file",
|
|
55
|
+
"pattern": "^packages/.*\\.stories\\.js$"
|
|
56
|
+
},
|
|
57
|
+
"tags": {
|
|
58
|
+
"type": "array",
|
|
59
|
+
"description": "Tags for the component (from Storybook)",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
"uniqueItems": true
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"description": "CSS dependencies required by this component",
|
|
68
|
+
"items": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"pattern": "^[a-z][a-z0-9-]*$"
|
|
71
|
+
},
|
|
72
|
+
"uniqueItems": true
|
|
73
|
+
},
|
|
74
|
+
"generatedAt": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "Timestamp when the documentation was generated",
|
|
77
|
+
"format": "date-time"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"additionalProperties": false
|
|
81
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/counter.json",
|
|
4
4
|
"title": "Counter Component",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Counters display numerical values with optional indicators (e.g., \"5 new messages\"). Typically used in navigation items, cards, or list headers to show counts, notifications, or status summaries.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/dynamic-page.json",
|
|
4
4
|
"title": "Dynamic Page Component",
|
|
5
|
-
"description": "Dynamic Page
|
|
5
|
+
"description": "Dynamic Page is foundation for all SAP pages. Generic layout supporting various use cases with variable header and page content. Header is collapsible to help users focus on content while keeping important header info and actions readily available. Uses foundation layout components (dynamic page header, footer toolbar).",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/dynamic-side-content.json",
|
|
4
4
|
"title": "Dynamic Side Content Component",
|
|
5
|
-
"description": "Dynamic Side Content
|
|
5
|
+
"description": "Dynamic Side Content is layout control displaying supplemental content in separate area to support understanding of main content. Two elements: side content section (`.fd-dynamic-side__side`) and main content section (`.fd-dynamic-side__main`). Screen width ratio varies based on available space - side displays left/right or bottom if space limited.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/facet.json",
|
|
4
4
|
"title": "Facet Component",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Facets display key-value pairs in a compact, scannable format. Use in object headers or cards to show essential information like status, date, owner, or metrics. Supports icons and semantic colors.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/fieldset.json",
|
|
4
4
|
"title": "Fieldset Component",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "A fieldset gives semantic meaning to a group of elements inside a form (e.g., Billing or Shipping Address). Grouping fields provides styling and accessibility benefits, and is especially important for checkbox groups and radio button groups.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/flexible-column-layout.json",
|
|
4
4
|
"title": "Flexible Column Layout Component",
|
|
5
|
-
"description": "Flexible Column Layout
|
|
5
|
+
"description": "Flexible Column Layout is layout control displaying multiple floorplans on single page. Enables faster, more fluid navigation between floorplans than page-by-page. Offers layouts with up to 3 columns (1, 2, 3). Users can resize columns, switch layouts, view rightmost column in full screen. Responsive for desktop and mobile.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/form-group.json",
|
|
4
4
|
"title": "Form Group Component",
|
|
5
|
-
"description": "Form
|
|
5
|
+
"description": "Form groups assemble form elements with labels, messages, and help containers. Components like `fd-form__item` with label and control can be used independently when error messages aren't needed.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"fd-form-group--inline",
|
|
17
17
|
"fd-form-group--with-spacing",
|
|
18
18
|
"fd-form-group--no-padding",
|
|
19
|
-
"fd-form-group--no-border"
|
|
19
|
+
"fd-form-group--no-border",
|
|
20
|
+
"fd-form-group--wrap"
|
|
20
21
|
]
|
|
21
22
|
},
|
|
22
23
|
"description": "Optional modifier classes"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/form-header.json",
|
|
4
4
|
"title": "Form Header Component",
|
|
5
|
-
"description": "Form
|
|
5
|
+
"description": "Form headers are titles that provide context about a group of input fields. For example, \"Personal Information\" would categorize fields like Name, Address, etc.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/form-message.json",
|
|
4
4
|
"title": "Form Message Component",
|
|
5
|
-
"description": "Form
|
|
5
|
+
"description": "Form messages display value state text (success, error, warning, information) shown when focus is on the input field. They work with input control value states to provide feedback to users.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/grid-list.json",
|
|
4
4
|
"title": "Grid List Component",
|
|
5
|
-
"description": "Grid
|
|
5
|
+
"description": "Grid list displays items in a grid format (not rows), ideal for visual content like images, charts, and object cards that benefit from more height. Usually used as an alternative view for lists or tables, focusing on complete items rather than cells.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/input-group.json",
|
|
4
4
|
"title": "Input Group Component",
|
|
5
|
-
"description": "Input Group
|
|
5
|
+
"description": "Input Group combines form inputs with add-ons (text, icons, or buttons) to help users understand the information being entered. Add-ons can be positioned before, after, or on both sides of the input field. Supports validation states (success, error, warning, information).",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/layout-panel.json",
|
|
4
4
|
"title": "Layout Panel Component",
|
|
5
|
-
"description": "Layout
|
|
5
|
+
"description": "Layout Panels encapsulate part of content, form elements, lists, collections on a page. Place patterns and interactions within panels to achieve focus and separation for tasks with information displayed inside panel. Organizes content into distinct sections.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/page.json",
|
|
4
4
|
"title": "Page Component",
|
|
5
|
-
"description": "Page
|
|
5
|
+
"description": "Page is the foundation wrapper for all application pages. Provides consistent structure with optional header, footer, and content areas. Use as the outermost container for every page in your application.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/section.json",
|
|
4
4
|
"title": "Section Component",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Sections group related content on a page with optional headers and visual separation. Use to organize page content into logical, scannable blocks. Can be collapsible to help users focus on relevant information.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/side-nav.json",
|
|
4
4
|
"title": "Side Nav Component",
|
|
5
|
-
"description": "Side
|
|
5
|
+
"description": "Side Navigation provides hierarchical navigation for applications. Displays a collapsible sidebar with navigation items, icons, and nested submenus. Use for primary app navigation in the Shellbar or as dedicated sidebar.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/splitter.json",
|
|
4
4
|
"title": "Splitter Component",
|
|
5
|
-
"description": "Splitter
|
|
5
|
+
"description": "Splitter divides screen into resizable panes separated by a draggable divider. Users can adjust pane sizes by dragging the separator. Use for master-detail layouts or comparing content side-by-side.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/tabs.json",
|
|
4
4
|
"title": "Tabs Component",
|
|
5
|
-
"description": "Tabs
|
|
5
|
+
"description": "Tabs organize content into separate views, allowing users to switch between different sections without leaving the page. Use for dividing content into meaningful categories that users can explore one at a time.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/tile.json",
|
|
4
4
|
"title": "Tile Component",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Tiles display summarized information or entry points to applications, pages, or actions. Use in home pages, launchpads, or dashboards to present options in a grid layout. Can include icons, titles, subtitles, and quick actions.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/tool-layout.json",
|
|
4
4
|
"title": "Tool Layout Component",
|
|
5
|
-
"description": "Tool Layout
|
|
5
|
+
"description": "Tool Layout consists of three main areas: Tool Header (always present, top-aligned with global actions and navigation controls), Navigation (side navigation in expanded/snapped variants), and Content (empty container for any content). Complete layout structure for tool-based applications.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
|
@@ -64,6 +64,16 @@
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
|
+
"fd-user-menu__header-content-area": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"description": "header-content-area element",
|
|
70
|
+
"properties": {
|
|
71
|
+
"class": {
|
|
72
|
+
"const": "fd-user-menu__header-content-area",
|
|
73
|
+
"description": "Element class name"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
67
77
|
"fd-user-menu__user-name": {
|
|
68
78
|
"type": "object",
|
|
69
79
|
"description": "user-name element",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://sap.github.io/fundamental-styles/schemas/wizard.json",
|
|
4
4
|
"title": "Wizard Component",
|
|
5
|
-
"description": "Wizard
|
|
5
|
+
"description": "Wizard guides user through long or unfamiliar task by dividing into sections, revealing information in digestible way. Consists of walkthrough screen (input required info) and summary page (read-only review before submission). Two types: standard (linear, known steps) and branching (non-linear, variable steps). Supports 3-8 steps, optional steps allowed.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"baseClass": {
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AccessibilityFile, ComponentMetadata, ComponentUseCasesFile, DesignToken, HtmlExamplesFile, ModifierRules, RelationshipsFile, UtilityClassesFile } from '../types/component-metadata';
|
|
2
2
|
import { SemanticTagsFile } from '../types/semantic-tags';
|
|
3
|
+
import { type MarkdownDocCache } from './load-markdown-docs';
|
|
3
4
|
export interface ComponentGuidance {
|
|
4
5
|
id: string;
|
|
5
6
|
name: string;
|
|
@@ -29,6 +30,7 @@ export interface LoadedCatalog {
|
|
|
29
30
|
componentUseCases: ComponentUseCasesFile | null;
|
|
30
31
|
componentGuidance: ComponentGuidanceFile | null;
|
|
31
32
|
semanticTags: SemanticTagsFile | null;
|
|
33
|
+
markdownDocs: MarkdownDocCache;
|
|
32
34
|
}
|
|
33
35
|
export declare function loadCatalog(): LoadedCatalog;
|
|
34
36
|
/** Read a text/markdown file from the data directory. Returns null if not found. */
|
package/src/data/load-catalog.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.listSchemas = listSchemas;
|
|
|
7
7
|
exports.readSchema = readSchema;
|
|
8
8
|
const fs_1 = require("fs");
|
|
9
9
|
const path_1 = require("path");
|
|
10
|
+
const load_markdown_docs_1 = require("./load-markdown-docs");
|
|
10
11
|
function readJson(filePath) {
|
|
11
12
|
try {
|
|
12
13
|
return JSON.parse((0, fs_1.readFileSync)(filePath, 'utf-8'));
|
|
@@ -84,6 +85,8 @@ function loadCatalog() {
|
|
|
84
85
|
const componentGuidance = readJson(resolveDataPath('component-guidance.json'));
|
|
85
86
|
// Semantic tags
|
|
86
87
|
const semanticTags = readJson(resolveDataPath('component-semantic-tags.json'));
|
|
88
|
+
// Markdown documentation - use lazy-loading cache instead of loading all docs
|
|
89
|
+
const markdownDocs = (0, load_markdown_docs_1.getMarkdownCache)(50); // Max 50 docs in memory (~5MB instead of ~50MB)
|
|
87
90
|
return {
|
|
88
91
|
version: (_a = catalog === null || catalog === void 0 ? void 0 : catalog.version) !== null && _a !== void 0 ? _a : 'unknown',
|
|
89
92
|
components,
|
|
@@ -95,7 +98,8 @@ function loadCatalog() {
|
|
|
95
98
|
htmlExamples,
|
|
96
99
|
componentUseCases,
|
|
97
100
|
componentGuidance,
|
|
98
|
-
semanticTags
|
|
101
|
+
semanticTags,
|
|
102
|
+
markdownDocs
|
|
99
103
|
};
|
|
100
104
|
}
|
|
101
105
|
/** Read a text/markdown file from the data directory. Returns null if not found. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-catalog.js","sourceRoot":"","sources":["../../../../../packages/mcp/src/data/load-catalog.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"load-catalog.js","sourceRoot":"","sources":["../../../../../packages/mcp/src/data/load-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { MarkdownDocCache } from './markdown-cache';
|
|
2
|
+
export { MarkdownDocCache } from './markdown-cache';
|
|
3
|
+
export interface ComponentMarkdownDoc {
|
|
4
|
+
/** Component ID (filename without .md) */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Raw markdown content */
|
|
7
|
+
content: string;
|
|
8
|
+
/** Parsed frontmatter */
|
|
9
|
+
frontmatter: {
|
|
10
|
+
component: string;
|
|
11
|
+
title: string;
|
|
12
|
+
selector: string;
|
|
13
|
+
cssFile: string;
|
|
14
|
+
category?: string;
|
|
15
|
+
subcategory?: string;
|
|
16
|
+
package?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
tags?: string[];
|
|
19
|
+
relatedComponents?: string[];
|
|
20
|
+
};
|
|
21
|
+
/** HTML examples extracted from markdown */
|
|
22
|
+
examples: Array<{
|
|
23
|
+
/** Example title from heading or first line */
|
|
24
|
+
title: string;
|
|
25
|
+
/** HTML content */
|
|
26
|
+
html: string;
|
|
27
|
+
/** Description if available */
|
|
28
|
+
description?: string;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get or create the markdown cache instance
|
|
33
|
+
* @param maxSize Maximum number of docs to keep in cache (default: 50)
|
|
34
|
+
*/
|
|
35
|
+
export declare function getMarkdownCache(maxSize?: number): MarkdownDocCache;
|
|
36
|
+
/**
|
|
37
|
+
* Load all component markdown documentation files
|
|
38
|
+
* @deprecated Use getMarkdownCache() for lazy loading instead
|
|
39
|
+
* This function loads all docs eagerly and can use ~50MB of memory.
|
|
40
|
+
* The new cache-based approach uses ~5MB.
|
|
41
|
+
*/
|
|
42
|
+
export declare function loadMarkdownDocs(): Map<string, ComponentMarkdownDoc>;
|
|
43
|
+
/** Get markdown documentation for a specific component */
|
|
44
|
+
export declare function getMarkdownDoc(componentId: string): ComponentMarkdownDoc | null;
|