@redsift/ds-mcp-server 12.3.1-muiv6-alpha.2
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/README.md +203 -0
- package/consumer-instructions/.cursorrules +80 -0
- package/consumer-instructions/.windsurfrules +80 -0
- package/consumer-instructions/CLAUDE.md +87 -0
- package/consumer-instructions/redsift-design-system.instructions.md +87 -0
- package/data/demos/patterns/crossfiltered-datagrid-page/example.tsx +750 -0
- package/data/demos/patterns/crossfiltered-datagrid-page/with-empty-state.tsx +111 -0
- package/data/demos/patterns/crossfiltered-datagrid-page/with-error.tsx +122 -0
- package/data/demos/patterns/crossfiltered-datagrid-page/with-loading.tsx +88 -0
- package/data/demos/patterns/datagrid-page/example.tsx +521 -0
- package/data/demos/patterns/datagrid-page/with-empty-state.tsx +80 -0
- package/data/demos/patterns/datagrid-page/with-error.tsx +96 -0
- package/data/demos/patterns/datagrid-page/with-loading.tsx +57 -0
- package/data/demos/patterns/drilldown-datagrid-page/example.tsx +715 -0
- package/data/demos/patterns/drilldown-datagrid-page/with-empty-state.tsx +113 -0
- package/data/demos/patterns/drilldown-datagrid-page/with-error.tsx +125 -0
- package/data/demos/patterns/drilldown-datagrid-page/with-loading.tsx +90 -0
- package/data/demos/patterns/server-datagrid-page/example.tsx +757 -0
- package/data/demos/patterns/server-datagrid-page/with-empty-state.tsx +107 -0
- package/data/demos/patterns/server-datagrid-page/with-error.tsx +107 -0
- package/data/demos/patterns/server-datagrid-page/with-loading.tsx +63 -0
- package/data/docs/components/charts/Arc.json +179 -0
- package/data/docs/components/charts/Arcs.json +104 -0
- package/data/docs/components/charts/Axis.json +269 -0
- package/data/docs/components/charts/Bar.json +236 -0
- package/data/docs/components/charts/BarChart.json +852 -0
- package/data/docs/components/charts/BarChartBars.json +18 -0
- package/data/docs/components/charts/BarChartGroupedTooltip.json +9 -0
- package/data/docs/components/charts/BarChartOverlay.json +34 -0
- package/data/docs/components/charts/BarChartSection.json +94 -0
- package/data/docs/components/charts/BaseBarChart.json +852 -0
- package/data/docs/components/charts/ChartContainerTitle.json +574 -0
- package/data/docs/components/charts/DataPoint.json +160 -0
- package/data/docs/components/charts/Dot.json +191 -0
- package/data/docs/components/charts/EmptyBarChart.json +852 -0
- package/data/docs/components/charts/EmptyLineChart.json +753 -0
- package/data/docs/components/charts/EmptyPieChart.json +826 -0
- package/data/docs/components/charts/EmptyScatterPlot.json +802 -0
- package/data/docs/components/charts/Legend.json +510 -0
- package/data/docs/components/charts/LegendItem.json +128 -0
- package/data/docs/components/charts/Line.json +69 -0
- package/data/docs/components/charts/LineChart.json +753 -0
- package/data/docs/components/charts/LoadingBarChart.json +852 -0
- package/data/docs/components/charts/LoadingLineChart.json +753 -0
- package/data/docs/components/charts/LoadingPieChart.json +826 -0
- package/data/docs/components/charts/LoadingScatterPlot.json +802 -0
- package/data/docs/components/charts/PieChart.json +826 -0
- package/data/docs/components/charts/RenderedLineChart.json +753 -0
- package/data/docs/components/charts/RenderedLinearBarChart.json +823 -0
- package/data/docs/components/charts/RenderedOrdinalBarChart.json +852 -0
- package/data/docs/components/charts/RenderedPieChart.json +826 -0
- package/data/docs/components/charts/RenderedScatterPlot.json +802 -0
- package/data/docs/components/charts/ScatterPlot.json +802 -0
- package/data/docs/components/charts/getAxisType.json +9 -0
- package/data/docs/components/charts/getComponentPosition.json +9 -0
- package/data/docs/components/dashboard/ChartEmptyState.json +42 -0
- package/data/docs/components/dashboard/Dashboard.json +26 -0
- package/data/docs/components/dashboard/DataCard.json +300 -0
- package/data/docs/components/dashboard/DataCardBody.json +431 -0
- package/data/docs/components/dashboard/DataCardHeader.json +304 -0
- package/data/docs/components/dashboard/DataCardListbox.json +529 -0
- package/data/docs/components/dashboard/DataRow.json +539 -0
- package/data/docs/components/dashboard/DrilldownItem.json +342 -0
- package/data/docs/components/dashboard/FilterableBarChart.json +83 -0
- package/data/docs/components/dashboard/FilterableDataGrid.json +83 -0
- package/data/docs/components/dashboard/FilterablePieChart.json +83 -0
- package/data/docs/components/dashboard/FilterableScatterPlot.json +83 -0
- package/data/docs/components/dashboard/PdfDocument.json +58 -0
- package/data/docs/components/dashboard/PdfExportButton.json +458 -0
- package/data/docs/components/dashboard/TimeSeriesBarChart.json +172 -0
- package/data/docs/components/dashboard/WithFilters.json +83 -0
- package/data/docs/components/design-system/ActiveDescendantListbox.json +521 -0
- package/data/docs/components/design-system/Alert.json +349 -0
- package/data/docs/components/design-system/AppBar.json +64 -0
- package/data/docs/components/design-system/AppContainer.json +67 -0
- package/data/docs/components/design-system/AppContent.json +566 -0
- package/data/docs/components/design-system/AppSidePanel.json +87 -0
- package/data/docs/components/design-system/Badge.json +293 -0
- package/data/docs/components/design-system/BaseBreadcrumbs.json +298 -0
- package/data/docs/components/design-system/BaseGrid.json +543 -0
- package/data/docs/components/design-system/BaseSkeleton.json +338 -0
- package/data/docs/components/design-system/BreadcrumbItem.json +231 -0
- package/data/docs/components/design-system/Breadcrumbs.json +298 -0
- package/data/docs/components/design-system/Button.json +402 -0
- package/data/docs/components/design-system/ButtonGroup.json +415 -0
- package/data/docs/components/design-system/ButtonLink.json +568 -0
- package/data/docs/components/design-system/Card.json +328 -0
- package/data/docs/components/design-system/CardActions.json +431 -0
- package/data/docs/components/design-system/CardBody.json +431 -0
- package/data/docs/components/design-system/CardHeader.json +428 -0
- package/data/docs/components/design-system/Checkbox.json +426 -0
- package/data/docs/components/design-system/CheckboxGroup.json +382 -0
- package/data/docs/components/design-system/ConditionalWrapper.json +40 -0
- package/data/docs/components/design-system/DetailedCard.json +401 -0
- package/data/docs/components/design-system/DetailedCardCollapsibleSectionItems.json +29 -0
- package/data/docs/components/design-system/DetailedCardHeader.json +37 -0
- package/data/docs/components/design-system/DetailedCardSection.json +90 -0
- package/data/docs/components/design-system/DetailedCardSectionItem.json +109 -0
- package/data/docs/components/design-system/Flexbox.json +523 -0
- package/data/docs/components/design-system/FocusWithinGroup.json +9 -0
- package/data/docs/components/design-system/Grid.json +543 -0
- package/data/docs/components/design-system/GridItem.json +388 -0
- package/data/docs/components/design-system/Heading.json +390 -0
- package/data/docs/components/design-system/Icon.json +325 -0
- package/data/docs/components/design-system/IconButton.json +371 -0
- package/data/docs/components/design-system/IconButtonLink.json +588 -0
- package/data/docs/components/design-system/Item.json +554 -0
- package/data/docs/components/design-system/Link.json +552 -0
- package/data/docs/components/design-system/LinkButton.json +397 -0
- package/data/docs/components/design-system/Listbox.json +529 -0
- package/data/docs/components/design-system/Number.json +773 -0
- package/data/docs/components/design-system/NumberField.json +594 -0
- package/data/docs/components/design-system/Pill.json +378 -0
- package/data/docs/components/design-system/ProgressBar.json +121 -0
- package/data/docs/components/design-system/RadarSvgLinearGradient.json +9 -0
- package/data/docs/components/design-system/Radio.json +415 -0
- package/data/docs/components/design-system/RadioGroup.json +382 -0
- package/data/docs/components/design-system/RenderedListboxItem.json +18 -0
- package/data/docs/components/design-system/RovingTabindexListbox.json +521 -0
- package/data/docs/components/design-system/Shield.json +360 -0
- package/data/docs/components/design-system/SideNavigationMenu.json +144 -0
- package/data/docs/components/design-system/SideNavigationMenuBar.json +89 -0
- package/data/docs/components/design-system/SideNavigationMenuItem.json +319 -0
- package/data/docs/components/design-system/Skeleton.json +338 -0
- package/data/docs/components/design-system/SkeletonCircle.json +338 -0
- package/data/docs/components/design-system/SkeletonText.json +371 -0
- package/data/docs/components/design-system/Spinner.json +291 -0
- package/data/docs/components/design-system/Switch.json +415 -0
- package/data/docs/components/design-system/SwitchGroup.json +382 -0
- package/data/docs/components/design-system/Text.json +418 -0
- package/data/docs/components/design-system/TextArea.json +501 -0
- package/data/docs/components/design-system/TextField.json +539 -0
- package/data/docs/components/design-system/sizeToDimension.json +9 -0
- package/data/docs/components/pickers/BaseCombobox.json +320 -0
- package/data/docs/components/pickers/BaseComboboxContent.json +453 -0
- package/data/docs/components/pickers/BaseMenuButton.json +240 -0
- package/data/docs/components/pickers/BaseMenuButtonContent.json +442 -0
- package/data/docs/components/pickers/BaseSelect.json +258 -0
- package/data/docs/components/pickers/Combobox.json +320 -0
- package/data/docs/components/pickers/ComboboxContent.json +453 -0
- package/data/docs/components/pickers/ComboboxContentFooter.json +431 -0
- package/data/docs/components/pickers/ComboboxContentHeader.json +431 -0
- package/data/docs/components/pickers/ComboboxContentListbox.json +541 -0
- package/data/docs/components/pickers/ComboboxTrigger.json +336 -0
- package/data/docs/components/pickers/Item.json +554 -0
- package/data/docs/components/pickers/MenuButton.json +240 -0
- package/data/docs/components/pickers/MenuButtonContent.json +442 -0
- package/data/docs/components/pickers/MenuButtonContentFooter.json +431 -0
- package/data/docs/components/pickers/MenuButtonContentHeader.json +431 -0
- package/data/docs/components/pickers/MenuButtonContentMenu.json +523 -0
- package/data/docs/components/pickers/MenuButtonTrigger.json +287 -0
- package/data/docs/components/pickers/Select.json +258 -0
- package/data/docs/components/pickers/SelectContent.json +442 -0
- package/data/docs/components/pickers/SelectTrigger.json +298 -0
- package/data/docs/components/popovers/BaseDialog.json +114 -0
- package/data/docs/components/popovers/BaseDialogContent.json +21 -0
- package/data/docs/components/popovers/BasePopover.json +171 -0
- package/data/docs/components/popovers/BaseToggletip.json +184 -0
- package/data/docs/components/popovers/BaseTooltip.json +121 -0
- package/data/docs/components/popovers/Button.json +402 -0
- package/data/docs/components/popovers/ButtonLink.json +568 -0
- package/data/docs/components/popovers/Dialog.json +114 -0
- package/data/docs/components/popovers/DialogContent.json +21 -0
- package/data/docs/components/popovers/DialogContentActions.json +442 -0
- package/data/docs/components/popovers/DialogContentBody.json +442 -0
- package/data/docs/components/popovers/DialogContentHeader.json +76 -0
- package/data/docs/components/popovers/DialogTrigger.json +276 -0
- package/data/docs/components/popovers/IconButton.json +371 -0
- package/data/docs/components/popovers/IconButtonLink.json +588 -0
- package/data/docs/components/popovers/Link.json +552 -0
- package/data/docs/components/popovers/LinkButton.json +397 -0
- package/data/docs/components/popovers/Popover.json +171 -0
- package/data/docs/components/popovers/PopoverContent.json +442 -0
- package/data/docs/components/popovers/PopoverTrigger.json +276 -0
- package/data/docs/components/popovers/Toast.json +145 -0
- package/data/docs/components/popovers/ToastContainer.json +122 -0
- package/data/docs/components/popovers/Toggletip.json +184 -0
- package/data/docs/components/popovers/ToggletipContent.json +402 -0
- package/data/docs/components/popovers/ToggletipTrigger.json +276 -0
- package/data/docs/components/popovers/Tooltip.json +121 -0
- package/data/docs/components/popovers/TooltipContent.json +402 -0
- package/data/docs/components/popovers/TooltipTrigger.json +276 -0
- package/data/docs/components/products/Dialog.json +106 -0
- package/data/docs/components/products/MenuButton.json +232 -0
- package/data/docs/components/products/PulsedRadarImage.json +9 -0
- package/data/docs/components/products/RadarButton.json +402 -0
- package/data/docs/components/products/RadarItem.json +554 -0
- package/data/docs/components/table/ControlledPagination.json +9 -0
- package/data/docs/components/table/DataGrid.json +93 -0
- package/data/docs/components/table/GridToolbarFilterSemanticField.json +69 -0
- package/data/docs/components/table/ServerSideControlledPagination.json +9 -0
- package/data/docs/components/table/StatefulDataGrid.json +117 -0
- package/data/docs/components/table/TextCell.json +118 -0
- package/data/docs/components/table/Toolbar.json +145 -0
- package/data/docs/components/table/ToolbarWrapper.json +9 -0
- package/data/docs/components-index.json +1206 -0
- package/data/docs/components.json +55694 -0
- package/data/docs/llms-full.txt +8012 -0
- package/data/docs/llms.txt +234 -0
- package/data/docs/patterns-catalog.md +359 -0
- package/data/docs/patterns.json +712 -0
- package/data/metadata.json +4 -0
- package/data/patterns/crossfiltered-datagrid-page.mdx +386 -0
- package/data/patterns/datagrid-page.mdx +214 -0
- package/data/patterns/drilldown-datagrid-page.mdx +291 -0
- package/data/patterns/server-datagrid-page.mdx +301 -0
- package/data/tokens/properties/components/dark-components.json +1108 -0
- package/data/tokens/properties/components/light-components.json +1108 -0
- package/data/tokens/properties/core/border-radius.json +3 -0
- package/data/tokens/properties/core/color.json +280 -0
- package/data/tokens/properties/core/layout.json +14 -0
- package/data/tokens/properties/core/typography.json +199 -0
- package/data/tokens/redsift-design-tokens.css +1391 -0
- package/dist/data-store.d.ts +47 -0
- package/dist/data-store.d.ts.map +1 -0
- package/dist/data-store.js +152 -0
- package/dist/data-store.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +14 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +137 -0
- package/dist/init.js.map +1 -0
- package/dist/paths.d.ts +30 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +53 -0
- package/dist/paths.js.map +1 -0
- package/dist/pattern-store.d.ts +41 -0
- package/dist/pattern-store.d.ts.map +1 -0
- package/dist/pattern-store.js +177 -0
- package/dist/pattern-store.js.map +1 -0
- package/dist/prompts.d.ts +14 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +762 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +14 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +482 -0
- package/dist/resources.js.map +1 -0
- package/dist/scaffold.d.ts +31 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +239 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/token-store.d.ts +70 -0
- package/dist/token-store.d.ts.map +1 -0
- package/dist/token-store.js +196 -0
- package/dist/token-store.js.map +1 -0
- package/dist/tools.d.ts +15 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +491 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +108 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Resources for the Red Sift Design System.
|
|
3
|
+
*
|
|
4
|
+
* Exposes documentation files as resources and resource templates
|
|
5
|
+
* that AI clients can read on demand.
|
|
6
|
+
*/
|
|
7
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
|
+
import type { DataStore } from './data-store.js';
|
|
9
|
+
import type { PatternStore } from './pattern-store.js';
|
|
10
|
+
/**
|
|
11
|
+
* Register all MCP resources on the server.
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerResources(server: McpServer, store: DataStore, patternStore: PatternStore): void;
|
|
14
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAiVvG"}
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Resources for the Red Sift Design System.
|
|
3
|
+
*
|
|
4
|
+
* Exposes documentation files as resources and resource templates
|
|
5
|
+
* that AI clients can read on demand.
|
|
6
|
+
*/
|
|
7
|
+
import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
|
+
import { PACKAGE_DESCRIPTIONS } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Register all MCP resources on the server.
|
|
11
|
+
*/
|
|
12
|
+
export function registerResources(server, store, patternStore) {
|
|
13
|
+
// ─── Static resource: llms.txt overview ──────────────────────────────
|
|
14
|
+
server.resource('llms-overview', 'design-system://llms.txt', {
|
|
15
|
+
description: 'Lightweight overview of all design system components — names, packages, prop counts. Use this for initial orientation.',
|
|
16
|
+
mimeType: 'text/plain',
|
|
17
|
+
}, async () => ({
|
|
18
|
+
contents: [
|
|
19
|
+
{
|
|
20
|
+
uri: 'design-system://llms.txt',
|
|
21
|
+
mimeType: 'text/plain',
|
|
22
|
+
text: store.getLlmsTxt(),
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
}));
|
|
26
|
+
// ─── Static resource: llms-full.txt complete docs ────────────────────
|
|
27
|
+
server.resource('llms-full', 'design-system://llms-full.txt', {
|
|
28
|
+
description: 'Complete component documentation for all 166+ components. Large file — use search_components or get_component_props tools for targeted lookups.',
|
|
29
|
+
mimeType: 'text/plain',
|
|
30
|
+
}, async () => ({
|
|
31
|
+
contents: [
|
|
32
|
+
{
|
|
33
|
+
uri: 'design-system://llms-full.txt',
|
|
34
|
+
mimeType: 'text/plain',
|
|
35
|
+
text: store.getLlmsFullTxt(),
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
}));
|
|
39
|
+
// ─── Static resource: conventions ────────────────────────────────────
|
|
40
|
+
server.resource('conventions', 'design-system://conventions', {
|
|
41
|
+
description: 'Component structure conventions, naming rules, and coding patterns used in the design system.',
|
|
42
|
+
mimeType: 'text/plain',
|
|
43
|
+
}, async () => ({
|
|
44
|
+
contents: [
|
|
45
|
+
{
|
|
46
|
+
uri: 'design-system://conventions',
|
|
47
|
+
mimeType: 'text/plain',
|
|
48
|
+
text: getConventionsText(),
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
}));
|
|
52
|
+
// ─── Static resource: usage rules for consuming projects ─────────────
|
|
53
|
+
server.resource('usage-rules', 'design-system://usage-rules', {
|
|
54
|
+
description: 'Mandatory rules for AI assistants working with @redsift/* components. Read this BEFORE writing any code that uses the design system. Contains lookup requirements, common mistakes, and import gotchas.',
|
|
55
|
+
mimeType: 'text/plain',
|
|
56
|
+
}, async () => ({
|
|
57
|
+
contents: [
|
|
58
|
+
{
|
|
59
|
+
uri: 'design-system://usage-rules',
|
|
60
|
+
mimeType: 'text/plain',
|
|
61
|
+
text: getUsageRulesText(),
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
}));
|
|
65
|
+
// ─── Resource template: individual component docs ────────────────────
|
|
66
|
+
server.resource('component-doc', new ResourceTemplate('design-system://components/{package}/{component}', {
|
|
67
|
+
list: async () => {
|
|
68
|
+
// List all available component resources
|
|
69
|
+
const index = store.getIndex();
|
|
70
|
+
return {
|
|
71
|
+
resources: index.map((c) => ({
|
|
72
|
+
uri: `design-system://components/${c.package.replace('@redsift/', '')}/${c.name}`,
|
|
73
|
+
name: `${c.name} (${c.package})`,
|
|
74
|
+
description: c.description,
|
|
75
|
+
mimeType: 'application/json',
|
|
76
|
+
})),
|
|
77
|
+
};
|
|
78
|
+
},
|
|
79
|
+
}), {
|
|
80
|
+
description: 'Full JSON documentation for a specific component.',
|
|
81
|
+
mimeType: 'application/json',
|
|
82
|
+
}, async (uri, params) => {
|
|
83
|
+
const pkg = params.package;
|
|
84
|
+
const componentName = params.component;
|
|
85
|
+
const doc = store.getComponentJson(pkg, componentName);
|
|
86
|
+
if (!doc) {
|
|
87
|
+
throw new Error(`Component "${componentName}" not found in package "${pkg}". Run 'yarn extract:docs' to regenerate docs.`);
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
contents: [
|
|
91
|
+
{
|
|
92
|
+
uri: uri.href,
|
|
93
|
+
mimeType: 'application/json',
|
|
94
|
+
text: JSON.stringify(doc, null, 2),
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
// ─── Static resource: patterns catalog ───────────────────────────────
|
|
100
|
+
server.resource('patterns-catalog', 'design-system://patterns-catalog', {
|
|
101
|
+
description: 'Composition patterns catalog with detailed guidance: when to use each pattern, key imports, layout descriptions, sub-patterns, and links to demos.',
|
|
102
|
+
mimeType: 'text/markdown',
|
|
103
|
+
}, async () => {
|
|
104
|
+
const catalog = patternStore.getCatalog();
|
|
105
|
+
return {
|
|
106
|
+
contents: [
|
|
107
|
+
{
|
|
108
|
+
uri: 'design-system://patterns-catalog',
|
|
109
|
+
mimeType: 'text/markdown',
|
|
110
|
+
text: catalog || 'No patterns catalog found. Ensure docs/patterns-catalog.md exists.',
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
// ─── Resource template: individual pattern docs with demo code ───────
|
|
116
|
+
server.resource('pattern-doc', new ResourceTemplate('design-system://patterns/{slug}', {
|
|
117
|
+
list: async () => {
|
|
118
|
+
const patterns = patternStore.getAll();
|
|
119
|
+
return {
|
|
120
|
+
resources: patterns.map((p) => ({
|
|
121
|
+
uri: `design-system://patterns/${p.slug}`,
|
|
122
|
+
name: p.name,
|
|
123
|
+
description: p.description,
|
|
124
|
+
mimeType: 'text/plain',
|
|
125
|
+
})),
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
}), {
|
|
129
|
+
description: 'Full pattern documentation including metadata, layout guidance, and complete demo source code. Use this to understand how to compose components for a specific UI pattern.',
|
|
130
|
+
mimeType: 'text/plain',
|
|
131
|
+
}, async (uri, params) => {
|
|
132
|
+
const slug = params.slug;
|
|
133
|
+
const patternWithDemo = patternStore.getBySlugWithDemo(slug);
|
|
134
|
+
if (!patternWithDemo) {
|
|
135
|
+
const allPatterns = patternStore.getAll();
|
|
136
|
+
const available = allPatterns.map((p) => ` - ${p.slug}: ${p.name}`).join('\n');
|
|
137
|
+
throw new Error(`Pattern "${slug}" not found.\n\nAvailable patterns:\n${available}`);
|
|
138
|
+
}
|
|
139
|
+
const lines = [
|
|
140
|
+
`# ${patternWithDemo.name}`,
|
|
141
|
+
'',
|
|
142
|
+
`**Description:** ${patternWithDemo.description}`,
|
|
143
|
+
`**Components:** ${patternWithDemo.components.join(', ')}`,
|
|
144
|
+
`**Packages:** ${patternWithDemo.packages.join(', ')}`,
|
|
145
|
+
`**Layout:** ${patternWithDemo.layout}`,
|
|
146
|
+
`**Tags:** ${patternWithDemo.tags.join(', ')}`,
|
|
147
|
+
`**Documentation:** https://design-system.redsift.io/patterns/${patternWithDemo.slug}`,
|
|
148
|
+
'',
|
|
149
|
+
];
|
|
150
|
+
// When to Use / When Not to Use
|
|
151
|
+
if (patternWithDemo.whenToUse && patternWithDemo.whenToUse.length > 0) {
|
|
152
|
+
lines.push('## When to Use');
|
|
153
|
+
lines.push('');
|
|
154
|
+
for (const item of patternWithDemo.whenToUse) {
|
|
155
|
+
lines.push(`- ${item}`);
|
|
156
|
+
}
|
|
157
|
+
lines.push('');
|
|
158
|
+
}
|
|
159
|
+
if (patternWithDemo.whenNotToUse && patternWithDemo.whenNotToUse.length > 0) {
|
|
160
|
+
lines.push('**When NOT to use:**');
|
|
161
|
+
lines.push('');
|
|
162
|
+
for (const item of patternWithDemo.whenNotToUse) {
|
|
163
|
+
lines.push(`- ${item}`);
|
|
164
|
+
}
|
|
165
|
+
lines.push('');
|
|
166
|
+
}
|
|
167
|
+
// Anatomy
|
|
168
|
+
if (patternWithDemo.anatomy && patternWithDemo.anatomy.length > 0) {
|
|
169
|
+
lines.push('## Anatomy');
|
|
170
|
+
lines.push('');
|
|
171
|
+
patternWithDemo.anatomy.forEach((slot, i) => {
|
|
172
|
+
lines.push(`${i + 1}. ${slot}`);
|
|
173
|
+
});
|
|
174
|
+
lines.push('');
|
|
175
|
+
}
|
|
176
|
+
// Features table
|
|
177
|
+
if (patternWithDemo.features && patternWithDemo.features.length > 0) {
|
|
178
|
+
lines.push('## Features');
|
|
179
|
+
lines.push('');
|
|
180
|
+
lines.push('| Feature | Required | Description |');
|
|
181
|
+
lines.push('|---------|----------|-------------|');
|
|
182
|
+
for (const f of patternWithDemo.features) {
|
|
183
|
+
lines.push(`| ${f.name} | ${f.required ? 'Yes' : 'No'} | ${f.description} |`);
|
|
184
|
+
}
|
|
185
|
+
lines.push('');
|
|
186
|
+
}
|
|
187
|
+
// State Management
|
|
188
|
+
if (patternWithDemo.stateHooks && patternWithDemo.stateHooks.length > 0) {
|
|
189
|
+
lines.push('## State Management');
|
|
190
|
+
lines.push('');
|
|
191
|
+
lines.push('```tsx');
|
|
192
|
+
for (const hook of patternWithDemo.stateHooks) {
|
|
193
|
+
const prefix = hook.name === 'debounceRef' ? 'const' : 'const';
|
|
194
|
+
const hookCall = hook.name === 'debounceRef' ? `useRef<${hook.type}>()` : `useState<${hook.type}>(${hook.initial})`;
|
|
195
|
+
const setter = hook.name === 'debounceRef' ? '' : `, set${hook.name.charAt(0).toUpperCase() + hook.name.slice(1)}`;
|
|
196
|
+
lines.push(`${prefix} [${hook.name}${setter}] = ${hookCall}; // ${hook.description}`);
|
|
197
|
+
}
|
|
198
|
+
lines.push('```');
|
|
199
|
+
lines.push('');
|
|
200
|
+
}
|
|
201
|
+
// Data Contract
|
|
202
|
+
if (patternWithDemo.dataContract) {
|
|
203
|
+
lines.push('## Data Contract');
|
|
204
|
+
lines.push('');
|
|
205
|
+
lines.push('```tsx');
|
|
206
|
+
lines.push(patternWithDemo.dataContract);
|
|
207
|
+
lines.push('```');
|
|
208
|
+
lines.push('');
|
|
209
|
+
}
|
|
210
|
+
// Implementation Checklist
|
|
211
|
+
if (patternWithDemo.implementationSteps && patternWithDemo.implementationSteps.length > 0) {
|
|
212
|
+
lines.push('## Implementation Checklist');
|
|
213
|
+
lines.push('');
|
|
214
|
+
patternWithDemo.implementationSteps.forEach((step, i) => {
|
|
215
|
+
lines.push(`${i + 1}. ${step}`);
|
|
216
|
+
});
|
|
217
|
+
lines.push('');
|
|
218
|
+
}
|
|
219
|
+
// Accessibility
|
|
220
|
+
if (patternWithDemo.accessibility && patternWithDemo.accessibility.length > 0) {
|
|
221
|
+
lines.push('## Keyboard & Accessibility');
|
|
222
|
+
lines.push('');
|
|
223
|
+
for (const item of patternWithDemo.accessibility) {
|
|
224
|
+
lines.push(`- ${item}`);
|
|
225
|
+
}
|
|
226
|
+
lines.push('');
|
|
227
|
+
}
|
|
228
|
+
// Main demo source code
|
|
229
|
+
if (patternWithDemo.demoSource) {
|
|
230
|
+
lines.push('## Complete Demo Source Code');
|
|
231
|
+
lines.push('');
|
|
232
|
+
lines.push('The following is a full working example that demonstrates this pattern:');
|
|
233
|
+
lines.push('');
|
|
234
|
+
lines.push('```tsx');
|
|
235
|
+
lines.push(patternWithDemo.demoSource);
|
|
236
|
+
lines.push('```');
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
lines.push('_No demo source code available for this pattern._');
|
|
240
|
+
}
|
|
241
|
+
// Variant demo sources
|
|
242
|
+
if (patternWithDemo.variantSources && Object.keys(patternWithDemo.variantSources).length > 0) {
|
|
243
|
+
lines.push('');
|
|
244
|
+
lines.push('## Variant Demos');
|
|
245
|
+
lines.push('');
|
|
246
|
+
const variantMeta = patternWithDemo.variants || [];
|
|
247
|
+
for (const [variantSlug, source] of Object.entries(patternWithDemo.variantSources)) {
|
|
248
|
+
const meta = variantMeta.find((v) => v.slug === variantSlug);
|
|
249
|
+
const title = meta ? meta.name : variantSlug;
|
|
250
|
+
const desc = meta ? meta.description : '';
|
|
251
|
+
lines.push(`### ${title}`);
|
|
252
|
+
if (desc) {
|
|
253
|
+
lines.push('');
|
|
254
|
+
lines.push(desc);
|
|
255
|
+
}
|
|
256
|
+
lines.push('');
|
|
257
|
+
lines.push('```tsx');
|
|
258
|
+
lines.push(source);
|
|
259
|
+
lines.push('```');
|
|
260
|
+
lines.push('');
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// Related patterns
|
|
264
|
+
if (patternWithDemo.relatedPatterns && patternWithDemo.relatedPatterns.length > 0) {
|
|
265
|
+
lines.push('## Related Patterns');
|
|
266
|
+
lines.push('');
|
|
267
|
+
for (const rel of patternWithDemo.relatedPatterns) {
|
|
268
|
+
lines.push(`- **${rel.slug}**: ${rel.relationship} — \`design-system://patterns/${rel.slug}\``);
|
|
269
|
+
}
|
|
270
|
+
lines.push('');
|
|
271
|
+
}
|
|
272
|
+
return {
|
|
273
|
+
contents: [
|
|
274
|
+
{
|
|
275
|
+
uri: uri.href,
|
|
276
|
+
mimeType: 'text/plain',
|
|
277
|
+
text: lines.join('\n'),
|
|
278
|
+
},
|
|
279
|
+
],
|
|
280
|
+
};
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Static text describing the component conventions.
|
|
285
|
+
*/
|
|
286
|
+
function getConventionsText() {
|
|
287
|
+
return `# Red Sift Design System — Component Conventions
|
|
288
|
+
|
|
289
|
+
## Component Structure
|
|
290
|
+
|
|
291
|
+
Every component follows this exact file structure:
|
|
292
|
+
|
|
293
|
+
\`\`\`
|
|
294
|
+
component-name/ ← kebab-case folder
|
|
295
|
+
__snapshots__/ ← Jest snapshots (auto-generated)
|
|
296
|
+
ComponentName.tsx ← Main component (PascalCase)
|
|
297
|
+
ComponentName.stories.tsx ← Storybook stories
|
|
298
|
+
ComponentName.test.tsx ← Jest + React Testing Library tests
|
|
299
|
+
index.ts ← Re-exports
|
|
300
|
+
styles.ts ← styled-components
|
|
301
|
+
types.ts ← TypeScript interfaces
|
|
302
|
+
\`\`\`
|
|
303
|
+
|
|
304
|
+
## Naming Conventions
|
|
305
|
+
|
|
306
|
+
- **Folder names:** kebab-case (\`button-group/\`)
|
|
307
|
+
- **Component files:** PascalCase (\`ButtonGroup.tsx\`)
|
|
308
|
+
- **Other files:** kebab-case (\`styles.ts\`, \`types.ts\`)
|
|
309
|
+
|
|
310
|
+
## Component Pattern
|
|
311
|
+
|
|
312
|
+
Every component MUST use:
|
|
313
|
+
|
|
314
|
+
1. **\`Comp\` type** — generic component type from \`../../types\`
|
|
315
|
+
2. **\`forwardRef\`** — all components forward refs
|
|
316
|
+
3. **\`classNames()\`** — concatenate className with static class
|
|
317
|
+
4. **Static \`.className\` property** — set to \`'redsift-{kebab-name}'\`
|
|
318
|
+
5. **Static \`.displayName\` property** — set to PascalCase name
|
|
319
|
+
6. **JSDoc comment** — above the component export
|
|
320
|
+
|
|
321
|
+
Example:
|
|
322
|
+
\`\`\`tsx
|
|
323
|
+
import React, { forwardRef } from 'react';
|
|
324
|
+
import classNames from 'classnames';
|
|
325
|
+
import { Comp } from '../../types';
|
|
326
|
+
import { StyledMyComponent } from './styles';
|
|
327
|
+
import { MyComponentProps } from './types';
|
|
328
|
+
|
|
329
|
+
const COMPONENT_NAME = 'MyComponent';
|
|
330
|
+
const CLASSNAME = 'redsift-my-component';
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* MyComponent does X.
|
|
334
|
+
*/
|
|
335
|
+
export const MyComponent: Comp<MyComponentProps, HTMLDivElement> = forwardRef((props, ref) => {
|
|
336
|
+
const { children, className, ...forwardedProps } = props;
|
|
337
|
+
|
|
338
|
+
return (
|
|
339
|
+
<StyledMyComponent
|
|
340
|
+
{...forwardedProps}
|
|
341
|
+
className={classNames(MyComponent.className, className)}
|
|
342
|
+
ref={ref}
|
|
343
|
+
>
|
|
344
|
+
{children}
|
|
345
|
+
</StyledMyComponent>
|
|
346
|
+
);
|
|
347
|
+
});
|
|
348
|
+
MyComponent.className = CLASSNAME;
|
|
349
|
+
MyComponent.displayName = COMPONENT_NAME;
|
|
350
|
+
\`\`\`
|
|
351
|
+
|
|
352
|
+
## Props Interface
|
|
353
|
+
|
|
354
|
+
- Named \`ComponentNameProps\`, extends \`React.ComponentProps<'element'>\` and \`StylingProps\`
|
|
355
|
+
- All custom props get JSDoc comments
|
|
356
|
+
- Default values documented with \`@default\` tag
|
|
357
|
+
|
|
358
|
+
## Styled Components
|
|
359
|
+
|
|
360
|
+
- Named \`StyledComponentName\`
|
|
361
|
+
- Uses transient props with \`$\` prefix (\`$variant\`, \`$size\`, \`$isDisabled\`)
|
|
362
|
+
- Styled props interface named \`StyledComponentNameProps\`
|
|
363
|
+
- Always includes \`\${baseStyling}\` and \`\${focusRing}\`
|
|
364
|
+
|
|
365
|
+
## Testing
|
|
366
|
+
|
|
367
|
+
- **Minimum 90% coverage** for statements, branches, functions, and lines
|
|
368
|
+
- Snapshot tests using \`composeStory\` from Storybook
|
|
369
|
+
- Test className forwarding, ref forwarding, and core functionality
|
|
370
|
+
- Use React Testing Library (\`render\`, \`fireEvent\`, \`screen\`)
|
|
371
|
+
|
|
372
|
+
## Import Rules
|
|
373
|
+
|
|
374
|
+
- Selective imports only (tree-shaking friendly):
|
|
375
|
+
\`\`\`ts
|
|
376
|
+
import { sum as d3sum } from 'd3'; // Good
|
|
377
|
+
import * as d3 from 'd3'; // Bad
|
|
378
|
+
\`\`\`
|
|
379
|
+
- No lodash, underscore, or moment.js
|
|
380
|
+
|
|
381
|
+
## Available Packages
|
|
382
|
+
|
|
383
|
+
${Object.entries(PACKAGE_DESCRIPTIONS)
|
|
384
|
+
.map(([name, desc]) => `- **@redsift/${name}**: ${desc}`)
|
|
385
|
+
.join('\n')}
|
|
386
|
+
`;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Static text with mandatory usage rules for consuming projects.
|
|
390
|
+
* Returned by the design-system://usage-rules resource.
|
|
391
|
+
*/
|
|
392
|
+
function getUsageRulesText() {
|
|
393
|
+
return `# Red Sift Design System — Mandatory Usage Rules
|
|
394
|
+
|
|
395
|
+
This design system has its own prop names, variants, and API conventions that DIFFER from other component libraries (MUI, Chakra, Ant Design, Radix, etc.).
|
|
396
|
+
|
|
397
|
+
**DO NOT guess or infer component props. Always look them up.**
|
|
398
|
+
|
|
399
|
+
## Rule 1 — Mandatory Prop Lookup
|
|
400
|
+
|
|
401
|
+
Before using ANY component from @redsift/* packages:
|
|
402
|
+
|
|
403
|
+
1. Call the \`get_component_props\` tool to look up exact props, types, accepted values, and defaults.
|
|
404
|
+
2. **Only use prop values that appear in the returned documentation.**
|
|
405
|
+
3. If a prop you expect is NOT listed, it does not exist. Do not add it anyway.
|
|
406
|
+
|
|
407
|
+
Why: The Red Sift DS uses custom prop names and variants. Guessing based on other libraries will produce incorrect code.
|
|
408
|
+
|
|
409
|
+
## Rule 2 — Import Verification
|
|
410
|
+
|
|
411
|
+
Always call \`get_component_usage\` to get the correct import path and package. Components live in different packages:
|
|
412
|
+
|
|
413
|
+
${Object.entries(PACKAGE_DESCRIPTIONS)
|
|
414
|
+
.map(([name, desc]) => `- @redsift/${name}: ${desc}`)
|
|
415
|
+
.join('\n')}
|
|
416
|
+
|
|
417
|
+
## Rule 3 — Pattern Lookup for Page Layouts
|
|
418
|
+
|
|
419
|
+
When building a page layout, complex form, data table page, or any multi-component composition:
|
|
420
|
+
|
|
421
|
+
1. Call \`search_patterns\` to check for an existing proven pattern.
|
|
422
|
+
2. If a match exists, read the \`design-system://patterns/{slug}\` resource for the full implementation spec including state management hooks, data contracts, and complete working code.
|
|
423
|
+
|
|
424
|
+
## Rule 4 — Design Token Lookup
|
|
425
|
+
|
|
426
|
+
When applying colors, spacing, or typography:
|
|
427
|
+
|
|
428
|
+
1. Call \`search_design_tokens\` to find the correct token names and CSS custom properties.
|
|
429
|
+
2. Do not hardcode color hex values — use the design token CSS variables.
|
|
430
|
+
|
|
431
|
+
## NEVER Do This
|
|
432
|
+
|
|
433
|
+
These are concrete examples of wrong code an LLM would generate by guessing. **Every single one of these will fail:**
|
|
434
|
+
|
|
435
|
+
\`\`\`tsx
|
|
436
|
+
// ❌ WRONG — Button has NO size prop
|
|
437
|
+
<Button size="small">Save</Button>
|
|
438
|
+
<Button size="lg">Save</Button>
|
|
439
|
+
|
|
440
|
+
// ❌ WRONG — "primary" is not a valid variant for Button
|
|
441
|
+
<Button variant="primary">Save</Button>
|
|
442
|
+
|
|
443
|
+
// ❌ WRONG — these props do not exist
|
|
444
|
+
<TextField colorScheme="red" />
|
|
445
|
+
<Button isDisabled />
|
|
446
|
+
<Button onPress={() => {}} />
|
|
447
|
+
<Button leftIcon={<Icon />}>Save</Button>
|
|
448
|
+
|
|
449
|
+
// ❌ WRONG — wrong package
|
|
450
|
+
import { Select } from '@redsift/design-system';
|
|
451
|
+
import { Dialog } from '@redsift/design-system';
|
|
452
|
+
import { DataGrid } from '@redsift/design-system';
|
|
453
|
+
|
|
454
|
+
// ✅ CORRECT — always verify with get_component_props and get_component_usage
|
|
455
|
+
import { Button } from '@redsift/design-system';
|
|
456
|
+
import { Select } from '@redsift/pickers';
|
|
457
|
+
import { Dialog } from '@redsift/popovers';
|
|
458
|
+
import { DataGrid } from '@redsift/table';
|
|
459
|
+
\`\`\`
|
|
460
|
+
|
|
461
|
+
## Common Mistakes Summary
|
|
462
|
+
|
|
463
|
+
| Wrong (guessed) | Why it's wrong | How to check |
|
|
464
|
+
|-----------------|----------------|--------------|
|
|
465
|
+
| \`size="sm"\` / \`size="lg"\` | Most components have no size prop | \`get_component_props\` |
|
|
466
|
+
| \`variant="primary"\` | Not a valid variant | \`get_component_props\` |
|
|
467
|
+
| \`colorScheme="red"\` | Does not exist | \`get_component_props\` |
|
|
468
|
+
| \`isDisabled\` | Correct prop is \`disabled\` | \`get_component_props\` |
|
|
469
|
+
| \`onPress\` | Correct prop is \`onClick\` | \`get_component_props\` |
|
|
470
|
+
| Wrong package import | Components live in specific packages | \`get_component_usage\` |
|
|
471
|
+
|
|
472
|
+
## Workflow
|
|
473
|
+
|
|
474
|
+
1. READ this resource first
|
|
475
|
+
2. SEARCH for components with \`search_components\`
|
|
476
|
+
3. LOOK UP props with \`get_component_props\` for **every** component you plan to use
|
|
477
|
+
4. CHECK for patterns with \`search_patterns\` for page-level compositions
|
|
478
|
+
5. VERIFY imports with \`get_component_usage\`
|
|
479
|
+
6. THEN write code — using only documented props and imports
|
|
480
|
+
`;
|
|
481
|
+
}
|
|
482
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code scaffold generator for new components.
|
|
3
|
+
*
|
|
4
|
+
* Generates boilerplate files following the exact conventions from
|
|
5
|
+
* the design system's CONTRIBUTING.md and copilot-instructions.md.
|
|
6
|
+
*/
|
|
7
|
+
interface ScaffoldProp {
|
|
8
|
+
name: string;
|
|
9
|
+
type: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
defaultValue?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
interface ScaffoldOptions {
|
|
15
|
+
name: string;
|
|
16
|
+
packageName: string;
|
|
17
|
+
element: string;
|
|
18
|
+
description: string;
|
|
19
|
+
props: ScaffoldProp[];
|
|
20
|
+
}
|
|
21
|
+
interface GeneratedFile {
|
|
22
|
+
fileName: string;
|
|
23
|
+
language: string;
|
|
24
|
+
content: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generate all component scaffold files.
|
|
28
|
+
*/
|
|
29
|
+
export declare function generateComponentScaffold(options: ScaffoldOptions): GeneratedFile[];
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,EAAE,CAqCnF"}
|