@1money/component-ui 0.0.23 → 0.0.24
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/es/stories/docs/ComponentDocsPage.js +234 -0
- package/es/stories/docs/componentDocMeta.js +97 -0
- package/es/stories/docs/storybook-docs.css +79 -0
- package/lib/stories/docs/ComponentDocsPage.js +244 -0
- package/lib/stories/docs/componentDocMeta.js +104 -0
- package/lib/stories/docs/storybook-docs.css +79 -0
- package/package.json +23 -8
- package/scripts/mcp-server/README.md +267 -0
- package/scripts/mcp-server/bin.mjs +2 -0
- package/scripts/mcp-server/drift.json +5 -0
- package/scripts/mcp-server/examples.generated.json +2651 -0
- package/scripts/mcp-server/index.generated.json +18098 -0
- package/scripts/mcp-server/index.mjs +308 -26
- package/scripts/mcp-server/tools/get-examples.mjs +125 -0
- package/scripts/mcp-server/tools/get-library-info.mjs +25 -0
- package/scripts/mcp-server/tools/get-symbol.mjs +232 -0
- package/scripts/mcp-server/tools/get-token.mjs +60 -0
- package/scripts/mcp-server/tools/list-icons.mjs +38 -0
- package/scripts/mcp-server/tools/list-symbols.mjs +46 -0
- package/scripts/mcp-server/tools/resolve-import.mjs +125 -0
- package/scripts/mcp-server/tools/search-symbols.mjs +79 -0
- package/.agents/skills/1money-component-dev/SKILL.md +0 -224
- package/.agents/skills/1money-component-dev/checklist.md +0 -159
- package/.agents/skills/1money-component-dev/references/ComponentPatterns.md +0 -478
- package/.agents/skills/1money-component-dev/references/FigmaExtractionChecklist.md +0 -144
- package/.agents/skills/1money-component-dev/references/HooksGuide.md +0 -360
- package/.agents/skills/1money-component-dev/references/SemanticColors.md +0 -215
- package/.agents/skills/1money-component-dev/references/StyleSystemAPI.md +0 -389
- package/.claude/settings.local.json +0 -120
- package/.claude/skills/1money-component-dev/SKILL.md +0 -229
- package/.claude/skills/1money-component-dev/checklist.md +0 -159
- package/.claude/skills/1money-component-dev/references/ComponentPatterns.md +0 -478
- package/.claude/skills/1money-component-dev/references/FigmaExtractionChecklist.md +0 -144
- package/.claude/skills/1money-component-dev/references/HooksGuide.md +0 -360
- package/.claude/skills/1money-component-dev/references/SemanticColors.md +0 -215
- package/.claude/skills/1money-component-dev/references/StyleSystemAPI.md +0 -389
- package/.claude/skills/1money-component-review/SKILL.md +0 -316
- package/.claude/skills/component-pipeline/SKILL.md +0 -116
- package/.claude/skills/component-pipeline/checklist.md +0 -125
- package/.hintrc +0 -13
- package/@types/global.d.ts +0 -28
- package/AGENTS.md +0 -546
- package/CLAUDE.md +0 -1
- package/jest.setup.d.ts +0 -1
- package/jest.setup.ts +0 -1
- package/patches/primereact.patch +0 -323
- package/patches/react-pro-sidebar.patch +0 -6421
- package/public/favicon.ico +0 -0
- package/public/fonts/Aeonik/Aeonik-Air.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-AirItalic.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-Black.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-BlackItalic.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-Bold.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-BoldItalic.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-Light.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-LightItalic.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-Medium.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-MediumItalic.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-Regular.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-RegularItalic.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-Thin.ttf +0 -0
- package/public/fonts/Aeonik/Aeonik-ThinItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-Black.ttf +0 -0
- package/public/fonts/Inter/Inter-BlackItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-Bold.ttf +0 -0
- package/public/fonts/Inter/Inter-BoldItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-ExtraBold.ttf +0 -0
- package/public/fonts/Inter/Inter-ExtraBoldItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-ExtraLight.ttf +0 -0
- package/public/fonts/Inter/Inter-ExtraLightItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-Italic.ttf +0 -0
- package/public/fonts/Inter/Inter-Light.ttf +0 -0
- package/public/fonts/Inter/Inter-LightItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-Medium.ttf +0 -0
- package/public/fonts/Inter/Inter-MediumItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-Regular.ttf +0 -0
- package/public/fonts/Inter/Inter-SemiBold.ttf +0 -0
- package/public/fonts/Inter/Inter-SemiBoldItalic.ttf +0 -0
- package/public/fonts/Inter/Inter-Thin.ttf +0 -0
- package/public/fonts/Inter/Inter-ThinItalic.ttf +0 -0
- package/public/fonts/Outfit/Outfit-Black.ttf +0 -0
- package/public/fonts/Outfit/Outfit-Bold.ttf +0 -0
- package/public/fonts/Outfit/Outfit-ExtraBold.ttf +0 -0
- package/public/fonts/Outfit/Outfit-ExtraLight.ttf +0 -0
- package/public/fonts/Outfit/Outfit-Light.ttf +0 -0
- package/public/fonts/Outfit/Outfit-Medium.ttf +0 -0
- package/public/fonts/Outfit/Outfit-Regular.ttf +0 -0
- package/public/fonts/Outfit/Outfit-SemiBold.ttf +0 -0
- package/public/fonts/Outfit/Outfit-Thin.ttf +0 -0
- package/public/github-mark.svg +0 -3
- package/public/tokens/GYEN.svg +0 -9
- package/public/tokens/PYUSD.svg +0 -9
- package/public/tokens/USDT.svg +0 -6
- package/scripts/mcp-server/resources.d.mts +0 -1
- package/scripts/mcp-server/resources.mjs +0 -102
- package/test/jsdom-global-register.d.ts +0 -1
- package/test/jsdom-global-register.js +0 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ComponentDocsPage = ComponentDocsPage;
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _blocks = require("@storybook/blocks");
|
|
12
|
+
var _componentDocMeta = require("./componentDocMeta");
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
15
|
+
var README_FILES = import.meta.glob('../../components/*/README.md', {
|
|
16
|
+
eager: true,
|
|
17
|
+
"import": 'default',
|
|
18
|
+
query: '?raw'
|
|
19
|
+
});
|
|
20
|
+
var README_ALIASES = {
|
|
21
|
+
CheckboxGroup: 'Checkbox'
|
|
22
|
+
};
|
|
23
|
+
function slugify(value) {
|
|
24
|
+
return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
|
|
25
|
+
}
|
|
26
|
+
function parseReadme(markdown) {
|
|
27
|
+
var _a;
|
|
28
|
+
var lines = markdown.replace(/\r\n/g, '\n').trim().split('\n');
|
|
29
|
+
if (!lines.length) {
|
|
30
|
+
return {
|
|
31
|
+
sections: [],
|
|
32
|
+
summary: ''
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (/^#\s+/.test(lines[0])) {
|
|
36
|
+
lines.shift();
|
|
37
|
+
}
|
|
38
|
+
while (lines[0] === '') {
|
|
39
|
+
lines.shift();
|
|
40
|
+
}
|
|
41
|
+
var summaryLines = [];
|
|
42
|
+
while (lines.length && !/^##\s+/.test(lines[0])) {
|
|
43
|
+
summaryLines.push((_a = lines.shift()) !== null && _a !== void 0 ? _a : '');
|
|
44
|
+
}
|
|
45
|
+
var counts = new Map();
|
|
46
|
+
var sections = [];
|
|
47
|
+
var heading = '';
|
|
48
|
+
var content = [];
|
|
49
|
+
var pushSection = function pushSection() {
|
|
50
|
+
var _a;
|
|
51
|
+
var trimmedContent = content.join('\n').trim();
|
|
52
|
+
if (!heading || !trimmedContent) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
var baseId = slugify(heading);
|
|
56
|
+
var count = (_a = counts.get(baseId)) !== null && _a !== void 0 ? _a : 0;
|
|
57
|
+
counts.set(baseId, count + 1);
|
|
58
|
+
sections.push({
|
|
59
|
+
content: trimmedContent,
|
|
60
|
+
heading: heading,
|
|
61
|
+
id: count === 0 ? baseId : "".concat(baseId, "-").concat(count + 1)
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
lines.forEach(function (line) {
|
|
65
|
+
var match = line.match(/^##\s+(.*)$/);
|
|
66
|
+
if (match) {
|
|
67
|
+
pushSection();
|
|
68
|
+
heading = match[1].trim();
|
|
69
|
+
content = [];
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
content.push(line);
|
|
73
|
+
});
|
|
74
|
+
pushSection();
|
|
75
|
+
return {
|
|
76
|
+
sections: sections,
|
|
77
|
+
summary: summaryLines.join('\n').trim()
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function ComponentDocsPage() {
|
|
81
|
+
var _a, _b, _c, _d;
|
|
82
|
+
var docsContext = (0, _react.useContext)(_blocks.DocsContext);
|
|
83
|
+
var resolvedMeta = (0, _blocks.useOf)('meta', ['meta']);
|
|
84
|
+
var titlePath = (_a = resolvedMeta.preparedMeta.title) !== null && _a !== void 0 ? _a : 'Components';
|
|
85
|
+
var componentName = (_b = titlePath.split('/').pop()) !== null && _b !== void 0 ? _b : titlePath;
|
|
86
|
+
var readmeName = (_c = README_ALIASES[componentName]) !== null && _c !== void 0 ? _c : componentName;
|
|
87
|
+
var readmeContent = (_d = README_FILES["../../components/".concat(readmeName, "/README.md")]) !== null && _d !== void 0 ? _d : '';
|
|
88
|
+
var componentDocMeta = (0, _componentDocMeta.getComponentDocMeta)(componentName);
|
|
89
|
+
var parsedReadme = (0, _react.useMemo)(function () {
|
|
90
|
+
return parseReadme(readmeContent);
|
|
91
|
+
}, [readmeContent]);
|
|
92
|
+
var stories = docsContext.componentStories();
|
|
93
|
+
var hasComponent = Boolean(resolvedMeta.preparedMeta.component);
|
|
94
|
+
return (0, _jsxRuntime.jsx)("div", {
|
|
95
|
+
className: "sb-docs-shell",
|
|
96
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
97
|
+
className: "sb-docs-layout",
|
|
98
|
+
children: (0, _jsxRuntime.jsxs)("div", {
|
|
99
|
+
className: "sb-docs-main",
|
|
100
|
+
children: [(0, _jsxRuntime.jsxs)("section", {
|
|
101
|
+
className: "sb-docs-hero",
|
|
102
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
103
|
+
className: "sb-docs-hero-copy",
|
|
104
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
105
|
+
className: "sb-docs-kicker",
|
|
106
|
+
children: titlePath
|
|
107
|
+
}), (0, _jsxRuntime.jsx)("h1", {
|
|
108
|
+
className: "sb-docs-title",
|
|
109
|
+
children: componentName
|
|
110
|
+
}), parsedReadme.summary ? (0, _jsxRuntime.jsx)("p", {
|
|
111
|
+
className: "sb-docs-lead",
|
|
112
|
+
children: parsedReadme.summary
|
|
113
|
+
}) : (0, _jsxRuntime.jsx)("div", {
|
|
114
|
+
className: "sb-docs-description",
|
|
115
|
+
children: (0, _jsxRuntime.jsx)(_blocks.Description, {})
|
|
116
|
+
})]
|
|
117
|
+
}), (0, _jsxRuntime.jsxs)("div", {
|
|
118
|
+
className: "sb-docs-hero-panel",
|
|
119
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
120
|
+
className: "sb-docs-stat",
|
|
121
|
+
children: [(0, _jsxRuntime.jsx)("span", {
|
|
122
|
+
className: "sb-docs-stat-label",
|
|
123
|
+
children: "Package"
|
|
124
|
+
}), (0, _jsxRuntime.jsx)("strong", {
|
|
125
|
+
children: "@1money/components-ui"
|
|
126
|
+
})]
|
|
127
|
+
}), (0, _jsxRuntime.jsxs)("div", {
|
|
128
|
+
className: "sb-docs-stat",
|
|
129
|
+
children: [(0, _jsxRuntime.jsx)("span", {
|
|
130
|
+
className: "sb-docs-stat-label",
|
|
131
|
+
children: "Stories"
|
|
132
|
+
}), (0, _jsxRuntime.jsx)("strong", {
|
|
133
|
+
children: stories.length
|
|
134
|
+
})]
|
|
135
|
+
}), (0, _jsxRuntime.jsxs)("div", {
|
|
136
|
+
className: "sb-docs-stat",
|
|
137
|
+
children: [(0, _jsxRuntime.jsx)("span", {
|
|
138
|
+
className: "sb-docs-stat-label",
|
|
139
|
+
children: "README"
|
|
140
|
+
}), (0, _jsxRuntime.jsx)("strong", {
|
|
141
|
+
children: readmeContent ? 'Available' : 'Story-driven'
|
|
142
|
+
})]
|
|
143
|
+
})]
|
|
144
|
+
})]
|
|
145
|
+
}), (componentDocMeta === null || componentDocMeta === void 0 ? void 0 : componentDocMeta.whenToUse.length) ? (0, _jsxRuntime.jsxs)("section", {
|
|
146
|
+
className: "sb-docs-section",
|
|
147
|
+
id: "when-to-use",
|
|
148
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
149
|
+
className: "sb-docs-section-header",
|
|
150
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
151
|
+
className: "sb-docs-section-kicker",
|
|
152
|
+
children: "Guidance"
|
|
153
|
+
}), (0, _jsxRuntime.jsx)("h2", {
|
|
154
|
+
children: "When To Use"
|
|
155
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
156
|
+
children: "Keep the component choice opinionated so the library reads consistently across products."
|
|
157
|
+
})]
|
|
158
|
+
}), (0, _jsxRuntime.jsx)("ul", {
|
|
159
|
+
className: "sb-docs-use-list",
|
|
160
|
+
children: componentDocMeta.whenToUse.map(function (item) {
|
|
161
|
+
return (0, _jsxRuntime.jsx)("li", {
|
|
162
|
+
children: item
|
|
163
|
+
}, item);
|
|
164
|
+
})
|
|
165
|
+
})]
|
|
166
|
+
}) : null, (0, _jsxRuntime.jsxs)("section", {
|
|
167
|
+
className: "sb-docs-section",
|
|
168
|
+
id: "examples",
|
|
169
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
170
|
+
className: "sb-docs-section-header",
|
|
171
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
172
|
+
className: "sb-docs-section-kicker",
|
|
173
|
+
children: "Preview"
|
|
174
|
+
}), (0, _jsxRuntime.jsx)("h2", {
|
|
175
|
+
children: "Primary example"
|
|
176
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
177
|
+
children: "Start with the default state, then use the stories below to inspect edge cases, variants, and richer composition patterns."
|
|
178
|
+
})]
|
|
179
|
+
}), (0, _jsxRuntime.jsx)(_blocks.Primary, {})]
|
|
180
|
+
}), stories.length > 1 ? (0, _jsxRuntime.jsxs)("section", {
|
|
181
|
+
className: "sb-docs-section",
|
|
182
|
+
id: "stories",
|
|
183
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
184
|
+
className: "sb-docs-section-header",
|
|
185
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
186
|
+
className: "sb-docs-section-kicker",
|
|
187
|
+
children: "Examples"
|
|
188
|
+
}), (0, _jsxRuntime.jsx)("h2", {
|
|
189
|
+
children: "Usage patterns"
|
|
190
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
191
|
+
children: "Each story focuses on one behavior so you can review the API surface quickly."
|
|
192
|
+
})]
|
|
193
|
+
}), (0, _jsxRuntime.jsx)(_blocks.Stories, {
|
|
194
|
+
includePrimary: false,
|
|
195
|
+
title: "Usage patterns"
|
|
196
|
+
})]
|
|
197
|
+
}) : null, hasComponent ? (0, _jsxRuntime.jsxs)("section", {
|
|
198
|
+
className: "sb-docs-section",
|
|
199
|
+
id: "api",
|
|
200
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
201
|
+
className: "sb-docs-section-header",
|
|
202
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
203
|
+
className: "sb-docs-section-kicker",
|
|
204
|
+
children: "Reference"
|
|
205
|
+
}), (0, _jsxRuntime.jsx)("h2", {
|
|
206
|
+
children: "API"
|
|
207
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
208
|
+
children: "Controls and prop tables are generated from the component metadata in this repo."
|
|
209
|
+
})]
|
|
210
|
+
}), (0, _jsxRuntime.jsx)(_blocks.Controls, {})]
|
|
211
|
+
}) : null, parsedReadme.sections.length ? (0, _jsxRuntime.jsxs)("section", {
|
|
212
|
+
className: "sb-docs-section",
|
|
213
|
+
id: "guidance",
|
|
214
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
215
|
+
className: "sb-docs-section-header",
|
|
216
|
+
children: [(0, _jsxRuntime.jsx)("p", {
|
|
217
|
+
className: "sb-docs-section-kicker",
|
|
218
|
+
children: "Guidance"
|
|
219
|
+
}), (0, _jsxRuntime.jsx)("h2", {
|
|
220
|
+
children: "Documentation notes"
|
|
221
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
222
|
+
children: "These sections come from the component README so package docs and Storybook stay in sync."
|
|
223
|
+
})]
|
|
224
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
225
|
+
className: "sb-docs-markdown-grid",
|
|
226
|
+
children: parsedReadme.sections.map(function (section) {
|
|
227
|
+
return (0, _jsxRuntime.jsxs)("article", {
|
|
228
|
+
className: "sb-docs-markdown-card",
|
|
229
|
+
id: section.id,
|
|
230
|
+
children: [(0, _jsxRuntime.jsx)("h3", {
|
|
231
|
+
children: section.heading
|
|
232
|
+
}), (0, _jsxRuntime.jsx)(_blocks.Markdown, {
|
|
233
|
+
children: section.content
|
|
234
|
+
})]
|
|
235
|
+
}, section.id);
|
|
236
|
+
})
|
|
237
|
+
})]
|
|
238
|
+
}) : null]
|
|
239
|
+
})
|
|
240
|
+
})
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
var _default = exports["default"] = ComponentDocsPage;
|
|
244
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0b3JpZXMvZG9jcy9Db21wb25lbnREb2NzUGFnZS5qcyIsInN0b3JpZXMvc3JjL3N0b3JpZXMvZG9jcy9Db21wb25lbnREb2NzUGFnZS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYmxvY2tzIiwiX2NvbXBvbmVudERvY01ldGEiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJSRUFETUVfRklMRVMiLCJpbXBvcnQiLCJtZXRhIiwiZ2xvYiIsImVhZ2VyIiwicXVlcnkiLCJSRUFETUVfQUxJQVNFUyIsIkNoZWNrYm94R3JvdXAiLCJzbHVnaWZ5IiwidmFsdWUiLCJ0cmltIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwicGFyc2VSZWFkbWUiLCJtYXJrZG93biIsIl9hIiwibGluZXMiLCJzcGxpdCIsImxlbmd0aCIsInNlY3Rpb25zIiwic3VtbWFyeSIsInRlc3QiLCJzaGlmdCIsInN1bW1hcnlMaW5lcyIsInB1c2giLCJjb3VudHMiLCJNYXAiLCJoZWFkaW5nIiwiY29udGVudCIsInB1c2hTZWN0aW9uIiwidHJpbW1lZENvbnRlbnQiLCJqb2luIiwiYmFzZUlkIiwiY291bnQiLCJpZCIsImNvbmNhdCIsImZvckVhY2giLCJsaW5lIiwibWF0Y2giLCJDb21wb25lbnREb2NzUGFnZSIsIl9iIiwiX2MiLCJfZCIsImRvY3NDb250ZXh0IiwidXNlQ29udGV4dCIsIkRvY3NDb250ZXh0IiwicmVzb2x2ZWRNZXRhIiwidXNlT2YiLCJ0aXRsZVBhdGgiLCJwcmVwYXJlZE1ldGEiLCJ0aXRsZSIsImNvbXBvbmVudE5hbWUiLCJwb3AiLCJyZWFkbWVOYW1lIiwicmVhZG1lQ29udGVudCIsImNvbXBvbmVudERvY01ldGEiLCJnZXRDb21wb25lbnREb2NNZXRhIiwicGFyc2VkUmVhZG1lIiwidXNlTWVtbyIsInN0b3JpZXMiLCJjb21wb25lbnRTdG9yaWVzIiwiaGFzQ29tcG9uZW50IiwiQm9vbGVhbiIsImNvbXBvbmVudCIsIl9qc3giLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsIl9qc3hzIiwiRGVzY3JpcHRpb24iLCJ3aGVuVG9Vc2UiLCJtYXAiLCJpdGVtIiwiUHJpbWFyeSIsIlN0b3JpZXMiLCJpbmNsdWRlUHJpbWFyeSIsIkNvbnRyb2xzIiwic2VjdGlvbiIsIk1hcmtkb3duIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQVNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFBeUQsU0FBQUsseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFKLHdCQUFBSSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENB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LFFBQUEsRUFDbkNULFlBQVksQ0FBQ3RDLFFBQVEsQ0FBQ21ELEdBQUcsQ0FBQyxVQUFDTSxPQUFPO2NBQUEsT0FDakMsSUFBQVQsZ0JBQUEsRUFBQSxTQUFBLEVBQUE7Z0JBQVNGLFNBQVMsRUFBQyx1QkFBdUI7Z0JBQUMvQixFQUFFLEVBQUUwQyxPQUFPLENBQUMxQyxFQUFFO2dCQUFBZ0MsUUFBQSxFQUFBLENBQ3ZELElBQUFGLGVBQUEsRUFBQSxJQUFBLEVBQUE7a0JBQUFFLFFBQUEsRUFBS1UsT0FBTyxDQUFDakQ7Z0JBQU8sQ0FBQSxDQUFNLEVBQzFCLElBQUFxQyxlQUFBLEVBQUNhLGdCQUFRLEVBQUE7a0JBQUFYLFFBQUEsRUFBRVUsT0FBTyxDQUFDaEQ7Z0JBQU8sQ0FBQSxDQUFZO2NBQUEsQ0FBQSxFQUZ3QmdELE9BQU8sQ0FBQzFDLEVBQUUsQ0FHaEU7WUFBQSxDQUNYO1VBQUMsQ0FBQSxDQUNFO1FBQUEsQ0FBQSxDQUNFLEdBQ1IsSUFBSTtNQUFBLENBQUE7SUFDSixDQUFBO0VBQ0YsQ0FBQSxDQUNGO0FBRVY7QUFBQyxJQUFBNEMsUUFBQSxHQUFBQyxPQUFBLGNBRWN4QyxpQkFBaUIiLCJmaWxlIjoic3Rvcmllcy9kb2NzL0NvbXBvbmVudERvY3NQYWdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ29udHJvbHMsIERlc2NyaXB0aW9uLCBEb2NzQ29udGV4dCwgTWFya2Rvd24sIFByaW1hcnksIFN0b3JpZXMsIHVzZU9mLCB9IGZyb20gJ0BzdG9yeWJvb2svYmxvY2tzJztcbmltcG9ydCB7IGdldENvbXBvbmVudERvY01ldGEgfSBmcm9tICcuL2NvbXBvbmVudERvY01ldGEnO1xuY29uc3QgUkVBRE1FX0ZJTEVTID0gaW1wb3J0Lm1ldGEuZ2xvYignLi4vLi4vY29tcG9uZW50cy8qL1JFQURNRS5tZCcsIHtcbiAgICBlYWdlcjogdHJ1ZSxcbiAgICBpbXBvcnQ6ICdkZWZhdWx0JyxcbiAgICBxdWVyeTogJz9yYXcnLFxufSk7XG5jb25zdCBSRUFETUVfQUxJQVNFUyA9IHtcbiAgICBDaGVja2JveEdyb3VwOiAnQ2hlY2tib3gnLFxufTtcbmZ1bmN0aW9uIHNsdWdpZnkodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAucmVwbGFjZSgvW15hLXowLTldKy9nLCAnLScpXG4gICAgICAgIC5yZXBsYWNlKC9eLSt8LSskL2csICcnKTtcbn1cbmZ1bmN0aW9uIHBhcnNlUmVhZG1lKG1hcmtkb3duKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGxpbmVzID0gbWFya2Rvd24ucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKS50cmltKCkuc3BsaXQoJ1xcbicpO1xuICAgIGlmICghbGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB7IHNlY3Rpb25zOiBbXSwgc3VtbWFyeTogJycgfTtcbiAgICB9XG4gICAgaWYgKC9eI1xccysvLnRlc3QobGluZXNbMF0pKSB7XG4gICAgICAgIGxpbmVzLnNoaWZ0KCk7XG4gICAgfVxuICAgIHdoaWxlIChsaW5lc1swXSA9PT0gJycpIHtcbiAgICAgICAgbGluZXMuc2hpZnQoKTtcbiAgICB9XG4gICAgY29uc3Qgc3VtbWFyeUxpbmVzID0gW107XG4gICAgd2hpbGUgKGxpbmVzLmxlbmd0aCAmJiAhL14jI1xccysvLnRlc3QobGluZXNbMF0pKSB7XG4gICAgICAgIHN1bW1hcnlMaW5lcy5wdXNoKChfYSA9IGxpbmVzLnNoaWZ0KCkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKTtcbiAgICB9XG4gICAgY29uc3QgY291bnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHNlY3Rpb25zID0gW107XG4gICAgbGV0IGhlYWRpbmcgPSAnJztcbiAgICBsZXQgY29udGVudCA9IFtdO1xuICAgIGNvbnN0IHB1c2hTZWN0aW9uID0gKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRDb250ZW50ID0gY29udGVudC5qb2luKCdcXG4nKS50cmltKCk7XG4gICAgICAgIGlmICghaGVhZGluZyB8fCAhdHJpbW1lZENvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBiYXNlSWQgPSBzbHVnaWZ5KGhlYWRpbmcpO1xuICAgICAgICBjb25zdCBjb3VudCA9IChfYSA9IGNvdW50cy5nZXQoYmFzZUlkKSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMDtcbiAgICAgICAgY291bnRzLnNldChiYXNlSWQsIGNvdW50ICsgMSk7XG4gICAgICAgIHNlY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgY29udGVudDogdHJpbW1lZENvbnRlbnQsXG4gICAgICAgICAgICBoZWFkaW5nLFxuICAgICAgICAgICAgaWQ6IGNvdW50ID09PSAwID8gYmFzZUlkIDogYCR7YmFzZUlkfS0ke2NvdW50ICsgMX1gLFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGxpbmVzLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBsaW5lLm1hdGNoKC9eIyNcXHMrKC4qKSQvKTtcbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBwdXNoU2VjdGlvbigpO1xuICAgICAgICAgICAgaGVhZGluZyA9IG1hdGNoWzFdLnRyaW0oKTtcbiAgICAgICAgICAgIGNvbnRlbnQgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZW50LnB1c2gobGluZSk7XG4gICAgfSk7XG4gICAgcHVzaFNlY3Rpb24oKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBzZWN0aW9ucyxcbiAgICAgICAgc3VtbWFyeTogc3VtbWFyeUxpbmVzLmpvaW4oJ1xcbicpLnRyaW0oKSxcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIENvbXBvbmVudERvY3NQYWdlKCkge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICBjb25zdCBkb2NzQ29udGV4dCA9IHVzZUNvbnRleHQoRG9jc0NvbnRleHQpO1xuICAgIGNvbnN0IHJlc29sdmVkTWV0YSA9IHVzZU9mKCdtZXRhJywgWydtZXRhJ10pO1xuICAgIGNvbnN0IHRpdGxlUGF0aCA9IChfYSA9IHJlc29sdmVkTWV0YS5wcmVwYXJlZE1ldGEudGl0bGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdDb21wb25lbnRzJztcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gKF9iID0gdGl0bGVQYXRoLnNwbGl0KCcvJykucG9wKCkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHRpdGxlUGF0aDtcbiAgICBjb25zdCByZWFkbWVOYW1lID0gKF9jID0gUkVBRE1FX0FMSUFTRVNbY29tcG9uZW50TmFtZV0pICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IGNvbXBvbmVudE5hbWU7XG4gICAgY29uc3QgcmVhZG1lQ29udGVudCA9IChfZCA9IFJFQURNRV9GSUxFU1tgLi4vLi4vY29tcG9uZW50cy8ke3JlYWRtZU5hbWV9L1JFQURNRS5tZGBdKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAnJztcbiAgICBjb25zdCBjb21wb25lbnREb2NNZXRhID0gZ2V0Q29tcG9uZW50RG9jTWV0YShjb21wb25lbnROYW1lKTtcbiAgICBjb25zdCBwYXJzZWRSZWFkbWUgPSB1c2VNZW1vKCgpID0+IHBhcnNlUmVhZG1lKHJlYWRtZUNvbnRlbnQpLCBbcmVhZG1lQ29udGVudF0pO1xuICAgIGNvbnN0IHN0b3JpZXMgPSBkb2NzQ29udGV4dC5jb21wb25lbnRTdG9yaWVzKCk7XG4gICAgY29uc3QgaGFzQ29tcG9uZW50ID0gQm9vbGVhbihyZXNvbHZlZE1ldGEucHJlcGFyZWRNZXRhLmNvbXBvbmVudCk7XG4gICAgcmV0dXJuIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2hlbGxcIiwgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1sYXlvdXRcIiwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3MtbWFpblwiLCBjaGlsZHJlbjogW19qc3hzKFwic2VjdGlvblwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLWhlcm9cIiwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLWhlcm8tY29weVwiLCBjaGlsZHJlbjogW19qc3goXCJwXCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mta2lja2VyXCIsIGNoaWxkcmVuOiB0aXRsZVBhdGggfSksIF9qc3goXCJoMVwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXRpdGxlXCIsIGNoaWxkcmVuOiBjb21wb25lbnROYW1lIH0pLCBwYXJzZWRSZWFkbWUuc3VtbWFyeSA/IChfanN4KFwicFwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLWxlYWRcIiwgY2hpbGRyZW46IHBhcnNlZFJlYWRtZS5zdW1tYXJ5IH0pKSA6IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3MtZGVzY3JpcHRpb25cIiwgY2hpbGRyZW46IF9qc3goRGVzY3JpcHRpb24sIHt9KSB9KSldIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLWhlcm8tcGFuZWxcIiwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXN0YXRcIiwgY2hpbGRyZW46IFtfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXN0YXQtbGFiZWxcIiwgY2hpbGRyZW46IFwiUGFja2FnZVwiIH0pLCBfanN4KFwic3Ryb25nXCIsIHsgY2hpbGRyZW46IFwiQDFtb25leS9jb21wb25lbnRzLXVpXCIgfSldIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXN0YXRcIiwgY2hpbGRyZW46IFtfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXN0YXQtbGFiZWxcIiwgY2hpbGRyZW46IFwiU3Rvcmllc1wiIH0pLCBfanN4KFwic3Ryb25nXCIsIHsgY2hpbGRyZW46IHN0b3JpZXMubGVuZ3RoIH0pXSB9KSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zdGF0XCIsIGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zdGF0LWxhYmVsXCIsIGNoaWxkcmVuOiBcIlJFQURNRVwiIH0pLCBfanN4KFwic3Ryb25nXCIsIHsgY2hpbGRyZW46IHJlYWRtZUNvbnRlbnQgPyAnQXZhaWxhYmxlJyA6ICdTdG9yeS1kcml2ZW4nIH0pXSB9KV0gfSldIH0pLCAoY29tcG9uZW50RG9jTWV0YSA9PT0gbnVsbCB8fCBjb21wb25lbnREb2NNZXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb21wb25lbnREb2NNZXRhLndoZW5Ub1VzZS5sZW5ndGgpID8gKF9qc3hzKFwic2VjdGlvblwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXNlY3Rpb25cIiwgaWQ6IFwid2hlbi10by11c2VcIiwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXNlY3Rpb24taGVhZGVyXCIsIGNoaWxkcmVuOiBbX2pzeChcInBcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zZWN0aW9uLWtpY2tlclwiLCBjaGlsZHJlbjogXCJHdWlkYW5jZVwiIH0pLCBfanN4KFwiaDJcIiwgeyBjaGlsZHJlbjogXCJXaGVuIFRvIFVzZVwiIH0pLCBfanN4KFwicFwiLCB7IGNoaWxkcmVuOiBcIktlZXAgdGhlIGNvbXBvbmVudCBjaG9pY2Ugb3BpbmlvbmF0ZWQgc28gdGhlIGxpYnJhcnkgcmVhZHMgY29uc2lzdGVudGx5IGFjcm9zcyBwcm9kdWN0cy5cIiB9KV0gfSksIF9qc3goXCJ1bFwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXVzZS1saXN0XCIsIGNoaWxkcmVuOiBjb21wb25lbnREb2NNZXRhLndoZW5Ub1VzZS5tYXAoKGl0ZW0pID0+IChfanN4KFwibGlcIiwgeyBjaGlsZHJlbjogaXRlbSB9LCBpdGVtKSkpIH0pXSB9KSkgOiBudWxsLCBfanN4cyhcInNlY3Rpb25cIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zZWN0aW9uXCIsIGlkOiBcImV4YW1wbGVzXCIsIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zZWN0aW9uLWhlYWRlclwiLCBjaGlsZHJlbjogW19qc3goXCJwXCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2VjdGlvbi1raWNrZXJcIiwgY2hpbGRyZW46IFwiUHJldmlld1wiIH0pLCBfanN4KFwiaDJcIiwgeyBjaGlsZHJlbjogXCJQcmltYXJ5IGV4YW1wbGVcIiB9KSwgX2pzeChcInBcIiwgeyBjaGlsZHJlbjogXCJTdGFydCB3aXRoIHRoZSBkZWZhdWx0IHN0YXRlLCB0aGVuIHVzZSB0aGUgc3RvcmllcyBiZWxvdyB0byBpbnNwZWN0IGVkZ2UgY2FzZXMsIHZhcmlhbnRzLCBhbmQgcmljaGVyIGNvbXBvc2l0aW9uIHBhdHRlcm5zLlwiIH0pXSB9KSwgX2pzeChQcmltYXJ5LCB7fSldIH0pLCBzdG9yaWVzLmxlbmd0aCA+IDEgPyAoX2pzeHMoXCJzZWN0aW9uXCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2VjdGlvblwiLCBpZDogXCJzdG9yaWVzXCIsIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zZWN0aW9uLWhlYWRlclwiLCBjaGlsZHJlbjogW19qc3goXCJwXCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2VjdGlvbi1raWNrZXJcIiwgY2hpbGRyZW46IFwiRXhhbXBsZXNcIiB9KSwgX2pzeChcImgyXCIsIHsgY2hpbGRyZW46IFwiVXNhZ2UgcGF0dGVybnNcIiB9KSwgX2pzeChcInBcIiwgeyBjaGlsZHJlbjogXCJFYWNoIHN0b3J5IGZvY3VzZXMgb24gb25lIGJlaGF2aW9yIHNvIHlvdSBjYW4gcmV2aWV3IHRoZSBBUEkgc3VyZmFjZSBxdWlja2x5LlwiIH0pXSB9KSwgX2pzeChTdG9yaWVzLCB7IGluY2x1ZGVQcmltYXJ5OiBmYWxzZSwgdGl0bGU6IFwiVXNhZ2UgcGF0dGVybnNcIiB9KV0gfSkpIDogbnVsbCwgaGFzQ29tcG9uZW50ID8gKF9qc3hzKFwic2VjdGlvblwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXNlY3Rpb25cIiwgaWQ6IFwiYXBpXCIsIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1zZWN0aW9uLWhlYWRlclwiLCBjaGlsZHJlbjogW19qc3goXCJwXCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2VjdGlvbi1raWNrZXJcIiwgY2hpbGRyZW46IFwiUmVmZXJlbmNlXCIgfSksIF9qc3goXCJoMlwiLCB7IGNoaWxkcmVuOiBcIkFQSVwiIH0pLCBfanN4KFwicFwiLCB7IGNoaWxkcmVuOiBcIkNvbnRyb2xzIGFuZCBwcm9wIHRhYmxlcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlIGNvbXBvbmVudCBtZXRhZGF0YSBpbiB0aGlzIHJlcG8uXCIgfSldIH0pLCBfanN4KENvbnRyb2xzLCB7fSldIH0pKSA6IG51bGwsIHBhcnNlZFJlYWRtZS5zZWN0aW9ucy5sZW5ndGggPyAoX2pzeHMoXCJzZWN0aW9uXCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2VjdGlvblwiLCBpZDogXCJndWlkYW5jZVwiLCBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBcInNiLWRvY3Mtc2VjdGlvbi1oZWFkZXJcIiwgY2hpbGRyZW46IFtfanN4KFwicFwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLXNlY3Rpb24ta2lja2VyXCIsIGNoaWxkcmVuOiBcIkd1aWRhbmNlXCIgfSksIF9qc3goXCJoMlwiLCB7IGNoaWxkcmVuOiBcIkRvY3VtZW50YXRpb24gbm90ZXNcIiB9KSwgX2pzeChcInBcIiwgeyBjaGlsZHJlbjogXCJUaGVzZSBzZWN0aW9ucyBjb21lIGZyb20gdGhlIGNvbXBvbmVudCBSRUFETUUgc28gcGFja2FnZSBkb2NzIGFuZCBTdG9yeWJvb2sgc3RheSBpbiBzeW5jLlwiIH0pXSB9KSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJzYi1kb2NzLW1hcmtkb3duLWdyaWRcIiwgY2hpbGRyZW46IHBhcnNlZFJlYWRtZS5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+IChfanN4cyhcImFydGljbGVcIiwgeyBjbGFzc05hbWU6IFwic2ItZG9jcy1tYXJrZG93bi1jYXJkXCIsIGlkOiBzZWN0aW9uLmlkLCBjaGlsZHJlbjogW19qc3goXCJoM1wiLCB7IGNoaWxkcmVuOiBzZWN0aW9uLmhlYWRpbmcgfSksIF9qc3goTWFya2Rvd24sIHsgY2hpbGRyZW46IHNlY3Rpb24uY29udGVudCB9KV0gfSwgc2VjdGlvbi5pZCkpKSB9KV0gfSkpIDogbnVsbF0gfSkgfSkgfSkpO1xufVxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50RG9jc1BhZ2U7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.COMPONENT_DOC_META = void 0;
|
|
7
|
+
exports.getComponentDocMeta = getComponentDocMeta;
|
|
8
|
+
var COMPONENT_DOC_META = exports.COMPONENT_DOC_META = {
|
|
9
|
+
Accordion: {
|
|
10
|
+
whenToUse: ['Use it when long-form content needs to stay collapsed by default and expand on demand.', 'Use it when multiple related sections share the same page but should not compete for vertical space.', 'Use it for FAQs, advanced settings, breakdown panels, and progressively disclosed help content.']
|
|
11
|
+
},
|
|
12
|
+
Alert: {
|
|
13
|
+
whenToUse: ['Use it for inline page-level feedback that should remain visible until the user acknowledges it or the state changes.', 'Use it when a form, workflow, or dashboard section needs contextual status messaging without opening an overlay.', 'Use it for warnings, errors, maintenance states, and informative reminders that sit inside layout content.']
|
|
14
|
+
},
|
|
15
|
+
Button: {
|
|
16
|
+
whenToUse: ['Use it for primary and secondary actions that trigger an immediate user operation.', 'Use it when an action needs clear emphasis, loading state, or icon affordances.', 'Use text buttons for lightweight inline actions and contained buttons for stronger decision points.']
|
|
17
|
+
},
|
|
18
|
+
Checkbox: {
|
|
19
|
+
whenToUse: ['Use it when users can independently turn options on or off.', 'Use it for consent, feature toggles inside forms, and non-exclusive multi-select inputs.', 'Use it when the checked state should be explicit and persist alongside labels or descriptions.']
|
|
20
|
+
},
|
|
21
|
+
CheckboxGroup: {
|
|
22
|
+
whenToUse: ['Use it when users need to select multiple options from the same option set.', 'Use it for preference pickers, permission sets, and grouped filter controls.', 'Use it when shared name, disabled state, or orientation should be applied consistently across related checkboxes.']
|
|
23
|
+
},
|
|
24
|
+
Drawer: {
|
|
25
|
+
whenToUse: ['Use it for secondary workflows that should slide over the current page without full navigation.', 'Use it when editing, inspecting, or confirming information while preserving the user’s existing context.', 'Use it for side panels, detail inspectors, and task flows that benefit from extra space but should not block the entire screen like a modal.']
|
|
26
|
+
},
|
|
27
|
+
Dropdown: {
|
|
28
|
+
whenToUse: ['Use it for anchored action menus and lightweight floating panels.', 'Use it when the trigger should reveal a short set of contextual commands near the originating element.', 'Use it for action menus, overflow menus, and compact confirmation content attached to a button or icon trigger.']
|
|
29
|
+
},
|
|
30
|
+
Empty: {
|
|
31
|
+
whenToUse: ['Use it when a list, table, or surface has no data and needs a clear zero-state message.', 'Use it to explain why content is missing and what users should do next.', 'Use it for first-run experiences, filtered-empty states, and unavailable-result messaging.']
|
|
32
|
+
},
|
|
33
|
+
Flex: {
|
|
34
|
+
whenToUse: ['Use it for one-dimensional layout problems where content is arranged in a row or column.', 'Use it for toolbars, action bars, inline alignment, and vertically stacked content blocks.', 'Use it when spacing, wrapping, justification, and alignment should be controlled without dropping into raw CSS.']
|
|
35
|
+
},
|
|
36
|
+
Form: {
|
|
37
|
+
whenToUse: ['Use it when field registration, validation rules, and submit/reset handling should be managed as a single form state.', 'Use it for standard data entry flows that need labels, rules, and predictable layout behavior.', 'Use it when multiple controls should share validation lifecycle and submission events.']
|
|
38
|
+
},
|
|
39
|
+
Grid: {
|
|
40
|
+
whenToUse: ['Use it for responsive multi-column page structure and content layouts.', 'Use it when cards, forms, or sections must align to a 12-column system across breakpoints.', 'Use it for dashboards, split panes, multi-column forms, and content areas that reflow between desktop and mobile.']
|
|
41
|
+
},
|
|
42
|
+
Icons: {
|
|
43
|
+
whenToUse: ['Use it whenever an interaction, status, or branded surface needs a consistent icon asset from the shared set.', 'Use it for buttons, inputs, alerts, navigation, and illustration-backed empty or modal states.', 'Use it when icon naming, sizing, and styling should remain consistent across the library.']
|
|
44
|
+
},
|
|
45
|
+
Input: {
|
|
46
|
+
whenToUse: ['Use it for single-line and text-entry scenarios where the user must type a value directly.', 'Use the family variants for password, search, textarea, and OTP workflows under the same visual shell.', 'Use it when labels, descriptions, validation status, prefix/suffix slots, and helper feedback all need to stay visually consistent.']
|
|
47
|
+
},
|
|
48
|
+
Dialog: {
|
|
49
|
+
whenToUse: ['Use it for blocking tasks that require focused attention before the user can continue.', 'Use it when confirmation, acknowledgement, or critical workflow steps should interrupt the current page.', 'Use it for dialogs that need dedicated title, body, illustration/media, and footer actions in a contained overlay.']
|
|
50
|
+
},
|
|
51
|
+
Notification: {
|
|
52
|
+
whenToUse: ['Use it for transient global feedback that appears above the page without changing layout.', 'Use it when a background operation, success state, warning, or error must be surfaced immediately to the user.', 'Use the static API when feedback should be triggered imperatively from actions, async events, or service responses.']
|
|
53
|
+
},
|
|
54
|
+
Pagination: {
|
|
55
|
+
whenToUse: ['Use it when large result sets are split across pages and users need to navigate predictably between them.', 'Use it for tables, activity feeds, and management screens where item count exceeds a single view.', 'Use it when page index, page size, and navigation affordances should stay explicit and reusable.']
|
|
56
|
+
},
|
|
57
|
+
Popconfirm: {
|
|
58
|
+
whenToUse: ['Use it when a destructive or irreversible action needs a lightweight confirmation without opening a full modal.', 'Use it for inline delete, archive, revoke, and remove flows that should stay anchored to the initiating control.', 'Use it when the interaction should feel contextual, fast, and visually tied to the trigger element.']
|
|
59
|
+
},
|
|
60
|
+
ProForm: {
|
|
61
|
+
whenToUse: ['Use it when you need higher-level, product-ready form composition rather than assembling every field manually.', 'Use it for search forms, dialog forms, and structured data-entry flows that benefit from field wrappers and layout helpers.', 'Use it when a page should move quickly from schema-like field configuration to working business forms.']
|
|
62
|
+
},
|
|
63
|
+
Radio: {
|
|
64
|
+
whenToUse: ['Use it when the user must choose exactly one option from a small, visible set.', 'Use it when all available choices should stay on screen for comparison.', 'Use it for mutually exclusive selections such as status mode, transfer type, or display preference.']
|
|
65
|
+
},
|
|
66
|
+
Segment: {
|
|
67
|
+
whenToUse: ['Use it for compact single-choice switching between closely related views or modes.', 'Use it when the options behave like a grouped control rather than a navigation tab set.', 'Use it for density-sensitive places such as chart mode switches, filter modes, or embedded content toggles.']
|
|
68
|
+
},
|
|
69
|
+
Select: {
|
|
70
|
+
whenToUse: ['Use it when users should choose from predefined options instead of typing a free-form value.', 'Use it for single-select and multi-select workflows with optional search, grouping, and rich option rendering.', 'Use it when the option list may be longer than a radio group can comfortably display inline.']
|
|
71
|
+
},
|
|
72
|
+
Space: {
|
|
73
|
+
whenToUse: ['Use it for quick, uniform spacing between inline or stacked elements.', 'Use it when components should be distributed with consistent preset gaps instead of manual margins.', 'Use it for button groups, tag rows, compact metadata blocks, and simple horizontal or vertical clusters.']
|
|
74
|
+
},
|
|
75
|
+
Spinner: {
|
|
76
|
+
whenToUse: ['Use it to communicate that a task is loading and a result is on the way.', 'Use it for button loading states, panel-level data fetches, and transitional waiting states.', 'Use it when the UI should acknowledge progress without yet showing a determinate percentage.']
|
|
77
|
+
},
|
|
78
|
+
Step: {
|
|
79
|
+
whenToUse: ['Use it when a workflow is divided into explicit sequential stages.', 'Use it for onboarding, identity verification, checkout, and other multi-step task progressions.', 'Use it when users benefit from seeing current progress, completed steps, and what remains.']
|
|
80
|
+
},
|
|
81
|
+
Switch: {
|
|
82
|
+
whenToUse: ['Use it for immediate binary toggles where the change takes effect as soon as the user flips the control.', 'Use it for settings, permissions, and feature activation patterns that do not require a submit button.', 'Use it when the mental model is “on/off” rather than selecting among multiple options.']
|
|
83
|
+
},
|
|
84
|
+
Tabs: {
|
|
85
|
+
whenToUse: ['Use it to switch between peer sections of content without leaving the current page.', 'Use it when several related panels share the same layout shell but only one should be visible at a time.', 'Use it for information architecture inside settings, detail pages, and modular dashboards.']
|
|
86
|
+
},
|
|
87
|
+
Tag: {
|
|
88
|
+
whenToUse: ['Use it to label entities, statuses, and short categorical metadata.', 'Use it for concise semantic markers such as state badges, asset labels, and filter chips.', 'Use it when the content should stay compact, highly scannable, and visually distinct from body text.']
|
|
89
|
+
},
|
|
90
|
+
Tooltip: {
|
|
91
|
+
whenToUse: ['Use it to reveal supplemental context without permanently occupying page space.', 'Use it for definitions, helper hints, truncated content disclosure, and icon-only explanations.', 'Use it when information is useful but not important enough to surface inline by default.']
|
|
92
|
+
},
|
|
93
|
+
Trigger: {
|
|
94
|
+
whenToUse: ['Use it when another surface should be shown or hidden in response to hover, click, or focus behavior.', 'Use it as the low-level interaction shell for popups, overlays, and anchored floating experiences.', 'Use it when trigger orchestration matters more than the visual treatment of the revealed content.']
|
|
95
|
+
},
|
|
96
|
+
Typography: {
|
|
97
|
+
whenToUse: ['Use it whenever product text should align to the semantic typography scale instead of ad hoc font styling.', 'Use it for headings, labels, body copy, links, and truncated or copyable text content.', 'Use it when text hierarchy, readability, and token-driven consistency matter across dense product surfaces.']
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
function getComponentDocMeta(componentName) {
|
|
101
|
+
var _a;
|
|
102
|
+
return (_a = COMPONENT_DOC_META[componentName]) !== null && _a !== void 0 ? _a : null;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0b3JpZXMvc3JjL3N0b3JpZXMvZG9jcy9jb21wb25lbnREb2NNZXRhLnRzIiwic3Rvcmllcy9kb2NzL2NvbXBvbmVudERvY01ldGEuanMiXSwibmFtZXMiOlsiQ09NUE9ORU5UX0RPQ19NRVRBIiwiZXhwb3J0cyIsIkFjY29yZGlvbiIsIndoZW5Ub1VzZSIsIkFsZXJ0IiwiQnV0dG9uIiwiQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiRHJhd2VyIiwiRHJvcGRvd24iLCJFbXB0eSIsIkZsZXgiLCJGb3JtIiwiR3JpZCIsIkljb25zIiwiSW5wdXQiLCJEaWFsb2ciLCJOb3RpZmljYXRpb24iLCJQYWdpbmF0aW9uIiwiUG9wY29uZmlybSIsIlByb0Zvcm0iLCJSYWRpbyIsIlNlZ21lbnQiLCJTZWxlY3QiLCJTcGFjZSIsIlNwaW5uZXIiLCJTdGVwIiwiU3dpdGNoIiwiVGFicyIsIlRhZyIsIlRvb2x0aXAiLCJUcmlnZ2VyIiwiVHlwb2dyYXBoeSIsImdldENvbXBvbmVudERvY01ldGEiLCJjb21wb25lbnROYW1lIiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJTyxJQUFNQSxrQkFBa0IsR0FBQUMsT0FBQSxDQUFBRCxrQkFBQSxHQUFxQztFQUNsRUUsU0FBUyxFQUFFO0lBQ1RDLFNBQVMsRUFBRSxDQUNULHdGQUF3RixFQUN4RixzR0FBc0csRUFDdEcsaUdBQWlHO0VDRm5HLENESUQ7RUFDREMsS0FBSyxFQUFFO0lBQ0xELFNBQVMsRUFBRSxDQUNULHVIQUF1SCxFQUN2SCxrSEFBa0gsRUFDbEgsNEdBQTRHO0VDRjlHLENESUQ7RUFDREUsTUFBTSxFQUFFO0lBQ05GLFNBQVMsRUFBRSxDQUNULG9GQUFvRixFQUNwRixpRkFBaUYsRUFDakYscUdBQXFHO0VDRnZHLENESUQ7RUFDREcsUUFBUSxFQUFFO0lBQ1JILFNBQVMsRUFBRSxDQUNULDZEQUE2RCxFQUM3RCwwRkFBMEYsRUFDMUYsZ0dBQWdHO0VDRmxHLENESUQ7RUFDREksYUFBYSxFQUFFO0lB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O0lBQ0gxQixTQUFTLEVBQUUsQ0FDVCxxRUFBcUUsRUFDckUsMkZBQTJGLEVBQzNGLHNHQUFzRztFQ0Z4RyxDRElEO0VBQ0QyQixPQUFPLEVBQUU7SUFDUDNCLFNBQVMsRUFBRSxDQUNULGlGQUFpRixFQUNqRixpR0FBaUcsRUFDakcsMEZBQTBGO0VDRjVGLENESUQ7RUFDRDRCLE9BQU8sRUFBRTtJQUNQNUIsU0FBUyxFQUFFLENBQ1QsdUdBQXVHLEVBQ3ZHLG9HQUFvRyxFQUNwRyxtR0FBbUc7RUNGckcsQ0RJRDtFQUNENkIsVUFBVSxFQUFFO0lBQ1Y3QixTQUFTLEVBQUUsQ0FDVCw0R0FBNEcsRUFDNUcsd0ZBQXdGLEVBQ3hGLDZHQUE2RztFQ0YvRztBQUNKLENESUM7QUFFSyxTQUFVOEIsbUJBQW1CQSxDQUFDQyxhQUFxQixFQUFBO0VDSnJELElBQUlDLEVBQUU7RURLUixPQUFPLENBQUFBLEVBQUEsR0FBQW5DLGtCQUFrQixDQUFDa0MsYUFBYSxDQUFDLE1BQUEsSUFBQSxJQUFBQyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxJQUFJO0FBQ2xEIiwiZmlsZSI6InN0b3JpZXMvZG9jcy9jb21wb25lbnREb2NNZXRhLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJleHBvcnQgY29uc3QgQ09NUE9ORU5UX0RPQ19NRVRBID0ge1xuICAgIEFjY29yZGlvbjoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiBsb25nLWZvcm0gY29udGVudCBuZWVkcyB0byBzdGF5IGNvbGxhcHNlZCBieSBkZWZhdWx0IGFuZCBleHBhbmQgb24gZGVtYW5kLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gbXVsdGlwbGUgcmVsYXRlZCBzZWN0aW9ucyBzaGFyZSB0aGUgc2FtZSBwYWdlIGJ1dCBzaG91bGQgbm90IGNvbXBldGUgZm9yIHZlcnRpY2FsIHNwYWNlLicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBGQVFzLCBhZHZhbmNlZCBzZXR0aW5ncywgYnJlYWtkb3duIHBhbmVscywgYW5kIHByb2dyZXNzaXZlbHkgZGlzY2xvc2VkIGhlbHAgY29udGVudC4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgQWxlcnQ6IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBpbmxpbmUgcGFnZS1sZXZlbCBmZWVkYmFjayB0aGF0IHNob3VsZCByZW1haW4gdmlzaWJsZSB1bnRpbCB0aGUgdXNlciBhY2tub3dsZWRnZXMgaXQgb3IgdGhlIHN0YXRlIGNoYW5nZXMuJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiBhIGZvcm0sIHdvcmtmbG93LCBvciBkYXNoYm9hcmQgc2VjdGlvbiBuZWVkcyBjb250ZXh0dWFsIHN0YXR1cyBtZXNzYWdpbmcgd2l0aG91dCBvcGVuaW5nIGFuIG92ZXJsYXkuJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIHdhcm5pbmdzLCBlcnJvcnMsIG1haW50ZW5hbmNlIHN0YXRlcywgYW5kIGluZm9ybWF0aXZlIHJlbWluZGVycyB0aGF0IHNpdCBpbnNpZGUgbGF5b3V0IGNvbnRlbnQuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIEJ1dHRvbjoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIHByaW1hcnkgYW5kIHNlY29uZGFyeSBhY3Rpb25zIHRoYXQgdHJpZ2dlciBhbiBpbW1lZGlhdGUgdXNlciBvcGVyYXRpb24uJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiBhbiBhY3Rpb24gbmVlZHMgY2xlYXIgZW1waGFzaXMsIGxvYWRpbmcgc3RhdGUsIG9yIGljb24gYWZmb3JkYW5jZXMuJyxcbiAgICAgICAgICAgICdVc2UgdGV4dCBidXR0b25zIGZvciBsaWdodHdlaWdodCBpbmxpbmUgYWN0aW9ucyBhbmQgY29udGFpbmVkIGJ1dHRvbnMgZm9yIHN0cm9uZ2VyIGRlY2lzaW9uIHBvaW50cy4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgQ2hlY2tib3g6IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gdXNlcnMgY2FuIGluZGVwZW5kZW50bHkgdHVybiBvcHRpb25zIG9uIG9yIG9mZi4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgY29uc2VudCwgZmVhdHVyZSB0b2dnbGVzIGluc2lkZSBmb3JtcywgYW5kIG5vbi1leGNsdXNpdmUgbXVsdGktc2VsZWN0IGlucHV0cy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHRoZSBjaGVja2VkIHN0YXRlIHNob3VsZCBiZSBleHBsaWNpdCBhbmQgcGVyc2lzdCBhbG9uZ3NpZGUgbGFiZWxzIG9yIGRlc2NyaXB0aW9ucy4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgQ2hlY2tib3hHcm91cDoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiB1c2VycyBuZWVkIHRvIHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGZyb20gdGhlIHNhbWUgb3B0aW9uIHNldC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgcHJlZmVyZW5jZSBwaWNrZXJzLCBwZXJtaXNzaW9uIHNldHMsIGFuZCBncm91cGVkIGZpbHRlciBjb250cm9scy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHNoYXJlZCBuYW1lLCBkaXNhYmxlZCBzdGF0ZSwgb3Igb3JpZW50YXRpb24gc2hvdWxkIGJlIGFwcGxpZWQgY29uc2lzdGVudGx5IGFjcm9zcyByZWxhdGVkIGNoZWNrYm94ZXMuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIERyYXdlcjoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIHNlY29uZGFyeSB3b3JrZmxvd3MgdGhhdCBzaG91bGQgc2xpZGUgb3ZlciB0aGUgY3VycmVudCBwYWdlIHdpdGhvdXQgZnVsbCBuYXZpZ2F0aW9uLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gZWRpdGluZywgaW5zcGVjdGluZywgb3IgY29uZmlybWluZyBpbmZvcm1hdGlvbiB3aGlsZSBwcmVzZXJ2aW5nIHRoZSB1c2Vy4oCZcyBleGlzdGluZyBjb250ZXh0LicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBzaWRlIHBhbmVscywgZGV0YWlsIGluc3BlY3RvcnMsIGFuZCB0YXNrIGZsb3dzIHRoYXQgYmVuZWZpdCBmcm9tIGV4dHJhIHNwYWNlIGJ1dCBzaG91bGQgbm90IGJsb2NrIHRoZSBlbnRpcmUgc2NyZWVuIGxpa2UgYSBtb2RhbC4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgRHJvcGRvd246IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBhbmNob3JlZCBhY3Rpb24gbWVudXMgYW5kIGxpZ2h0d2VpZ2h0IGZsb2F0aW5nIHBhbmVscy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHRoZSB0cmlnZ2VyIHNob3VsZCByZXZlYWwgYSBzaG9ydCBzZXQgb2YgY29udGV4dHVhbCBjb21tYW5kcyBuZWFyIHRoZSBvcmlnaW5hdGluZyBlbGVtZW50LicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBhY3Rpb24gbWVudXMsIG92ZXJmbG93IG1lbnVzLCBhbmQgY29tcGFjdCBjb25maXJtYXRpb24gY29udGVudCBhdHRhY2hlZCB0byBhIGJ1dHRvbiBvciBpY29uIHRyaWdnZXIuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIEVtcHR5OiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGEgbGlzdCwgdGFibGUsIG9yIHN1cmZhY2UgaGFzIG5vIGRhdGEgYW5kIG5lZWRzIGEgY2xlYXIgemVyby1zdGF0ZSBtZXNzYWdlLicsXG4gICAgICAgICAgICAnVXNlIGl0IHRvIGV4cGxhaW4gd2h5IGNvbnRlbnQgaXMgbWlzc2luZyBhbmQgd2hhdCB1c2VycyBzaG91bGQgZG8gbmV4dC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgZmlyc3QtcnVuIGV4cGVyaWVuY2VzLCBmaWx0ZXJlZC1lbXB0eSBzdGF0ZXMsIGFuZCB1bmF2YWlsYWJsZS1yZXN1bHQgbWVzc2FnaW5nLicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBGbGV4OiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCBmb3Igb25lLWRpbWVuc2lvbmFsIGxheW91dCBwcm9ibGVtcyB3aGVyZSBjb250ZW50IGlzIGFycmFuZ2VkIGluIGEgcm93IG9yIGNvbHVtbi4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgdG9vbGJhcnMsIGFjdGlvbiBiYXJzLCBpbmxpbmUgYWxpZ25tZW50LCBhbmQgdmVydGljYWxseSBzdGFja2VkIGNvbnRlbnQgYmxvY2tzLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gc3BhY2luZywgd3JhcHBpbmcsIGp1c3RpZmljYXRpb24sIGFuZCBhbGlnbm1lbnQgc2hvdWxkIGJlIGNvbnRyb2xsZWQgd2l0aG91dCBkcm9wcGluZyBpbnRvIHJhdyBDU1MuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIEZvcm06IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gZmllbGQgcmVnaXN0cmF0aW9uLCB2YWxpZGF0aW9uIHJ1bGVzLCBhbmQgc3VibWl0L3Jlc2V0IGhhbmRsaW5nIHNob3VsZCBiZSBtYW5hZ2VkIGFzIGEgc2luZ2xlIGZvcm0gc3RhdGUuJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIHN0YW5kYXJkIGRhdGEgZW50cnkgZmxvd3MgdGhhdCBuZWVkIGxhYmVscywgcnVsZXMsIGFuZCBwcmVkaWN0YWJsZSBsYXlvdXQgYmVoYXZpb3IuJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiBtdWx0aXBsZSBjb250cm9scyBzaG91bGQgc2hhcmUgdmFsaWRhdGlvbiBsaWZlY3ljbGUgYW5kIHN1Ym1pc3Npb24gZXZlbnRzLicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBHcmlkOiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgcmVzcG9uc2l2ZSBtdWx0aS1jb2x1bW4gcGFnZSBzdHJ1Y3R1cmUgYW5kIGNvbnRlbnQgbGF5b3V0cy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGNhcmRzLCBmb3Jtcywgb3Igc2VjdGlvbnMgbXVzdCBhbGlnbiB0byBhIDEyLWNvbHVtbiBzeXN0ZW0gYWNyb3NzIGJyZWFrcG9pbnRzLicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBkYXNoYm9hcmRzLCBzcGxpdCBwYW5lcywgbXVsdGktY29sdW1uIGZvcm1zLCBhbmQgY29udGVudCBhcmVhcyB0aGF0IHJlZmxvdyBiZXR3ZWVuIGRlc2t0b3AgYW5kIG1vYmlsZS4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgSWNvbnM6IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW5ldmVyIGFuIGludGVyYWN0aW9uLCBzdGF0dXMsIG9yIGJyYW5kZWQgc3VyZmFjZSBuZWVkcyBhIGNvbnNpc3RlbnQgaWNvbiBhc3NldCBmcm9tIHRoZSBzaGFyZWQgc2V0LicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBidXR0b25zLCBpbnB1dHMsIGFsZXJ0cywgbmF2aWdhdGlvbiwgYW5kIGlsbHVzdHJhdGlvbi1iYWNrZWQgZW1wdHkgb3IgbW9kYWwgc3RhdGVzLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gaWNvbiBuYW1pbmcsIHNpemluZywgYW5kIHN0eWxpbmcgc2hvdWxkIHJlbWFpbiBjb25zaXN0ZW50IGFjcm9zcyB0aGUgbGlicmFyeS4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgSW5wdXQ6IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBzaW5nbGUtbGluZSBhbmQgdGV4dC1lbnRyeSBzY2VuYXJpb3Mgd2hlcmUgdGhlIHVzZXIgbXVzdCB0eXBlIGEgdmFsdWUgZGlyZWN0bHkuJyxcbiAgICAgICAgICAgICdVc2UgdGhlIGZhbWlseSB2YXJpYW50cyBmb3IgcGFzc3dvcmQsIHNlYXJjaCwgdGV4dGFyZWEsIGFuZCBPVFAgd29ya2Zsb3dzIHVuZGVyIHRoZSBzYW1lIHZpc3VhbCBzaGVsbC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGxhYmVscywgZGVzY3JpcHRpb25zLCB2YWxpZGF0aW9uIHN0YXR1cywgcHJlZml4L3N1ZmZpeCBzbG90cywgYW5kIGhlbHBlciBmZWVkYmFjayBhbGwgbmVlZCB0byBzdGF5IHZpc3VhbGx5IGNvbnNpc3RlbnQuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIERpYWxvZzoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIGJsb2NraW5nIHRhc2tzIHRoYXQgcmVxdWlyZSBmb2N1c2VkIGF0dGVudGlvbiBiZWZvcmUgdGhlIHVzZXIgY2FuIGNvbnRpbnVlLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gY29uZmlybWF0aW9uLCBhY2tub3dsZWRnZW1lbnQsIG9yIGNyaXRpY2FsIHdvcmtmbG93IHN0ZXBzIHNob3VsZCBpbnRlcnJ1cHQgdGhlIGN1cnJlbnQgcGFnZS4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgZGlhbG9ncyB0aGF0IG5lZWQgZGVkaWNhdGVkIHRpdGxlLCBib2R5LCBpbGx1c3RyYXRpb24vbWVkaWEsIGFuZCBmb290ZXIgYWN0aW9ucyBpbiBhIGNvbnRhaW5lZCBvdmVybGF5LicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBOb3RpZmljYXRpb246IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IGZvciB0cmFuc2llbnQgZ2xvYmFsIGZlZWRiYWNrIHRoYXQgYXBwZWFycyBhYm92ZSB0aGUgcGFnZSB3aXRob3V0IGNoYW5naW5nIGxheW91dC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGEgYmFja2dyb3VuZCBvcGVyYXRpb24sIHN1Y2Nlc3Mgc3RhdGUsIHdhcm5pbmcsIG9yIGVycm9yIG11c3QgYmUgc3VyZmFjZWQgaW1tZWRpYXRlbHkgdG8gdGhlIHVzZXIuJyxcbiAgICAgICAgICAgICdVc2UgdGhlIHN0YXRpYyBBUEkgd2hlbiBmZWVkYmFjayBzaG91bGQgYmUgdHJpZ2dlcmVkIGltcGVyYXRpdmVseSBmcm9tIGFjdGlvbnMsIGFzeW5jIGV2ZW50cywgb3Igc2VydmljZSByZXNwb25zZXMuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFBhZ2luYXRpb246IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gbGFyZ2UgcmVzdWx0IHNldHMgYXJlIHNwbGl0IGFjcm9zcyBwYWdlcyBhbmQgdXNlcnMgbmVlZCB0byBuYXZpZ2F0ZSBwcmVkaWN0YWJseSBiZXR3ZWVuIHRoZW0uJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIHRhYmxlcywgYWN0aXZpdHkgZmVlZHMsIGFuZCBtYW5hZ2VtZW50IHNjcmVlbnMgd2hlcmUgaXRlbSBjb3VudCBleGNlZWRzIGEgc2luZ2xlIHZpZXcuJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiBwYWdlIGluZGV4LCBwYWdlIHNpemUsIGFuZCBuYXZpZ2F0aW9uIGFmZm9yZGFuY2VzIHNob3VsZCBzdGF5IGV4cGxpY2l0IGFuZCByZXVzYWJsZS4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgUG9wY29uZmlybToge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiBhIGRlc3RydWN0aXZlIG9yIGlycmV2ZXJzaWJsZSBhY3Rpb24gbmVlZHMgYSBsaWdodHdlaWdodCBjb25maXJtYXRpb24gd2l0aG91dCBvcGVuaW5nIGEgZnVsbCBtb2RhbC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgaW5saW5lIGRlbGV0ZSwgYXJjaGl2ZSwgcmV2b2tlLCBhbmQgcmVtb3ZlIGZsb3dzIHRoYXQgc2hvdWxkIHN0YXkgYW5jaG9yZWQgdG8gdGhlIGluaXRpYXRpbmcgY29udHJvbC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHRoZSBpbnRlcmFjdGlvbiBzaG91bGQgZmVlbCBjb250ZXh0dWFsLCBmYXN0LCBhbmQgdmlzdWFsbHkgdGllZCB0byB0aGUgdHJpZ2dlciBlbGVtZW50LicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBQcm9Gb3JtOiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHlvdSBuZWVkIGhpZ2hlci1sZXZlbCwgcHJvZHVjdC1yZWFkeSBmb3JtIGNvbXBvc2l0aW9uIHJhdGhlciB0aGFuIGFzc2VtYmxpbmcgZXZlcnkgZmllbGQgbWFudWFsbHkuJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIHNlYXJjaCBmb3JtcywgZGlhbG9nIGZvcm1zLCBhbmQgc3RydWN0dXJlZCBkYXRhLWVudHJ5IGZsb3dzIHRoYXQgYmVuZWZpdCBmcm9tIGZpZWxkIHdyYXBwZXJzIGFuZCBsYXlvdXQgaGVscGVycy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGEgcGFnZSBzaG91bGQgbW92ZSBxdWlja2x5IGZyb20gc2NoZW1hLWxpa2UgZmllbGQgY29uZmlndXJhdGlvbiB0byB3b3JraW5nIGJ1c2luZXNzIGZvcm1zLicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBSYWRpbzoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiB0aGUgdXNlciBtdXN0IGNob29zZSBleGFjdGx5IG9uZSBvcHRpb24gZnJvbSBhIHNtYWxsLCB2aXNpYmxlIHNldC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGFsbCBhdmFpbGFibGUgY2hvaWNlcyBzaG91bGQgc3RheSBvbiBzY3JlZW4gZm9yIGNvbXBhcmlzb24uJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIG11dHVhbGx5IGV4Y2x1c2l2ZSBzZWxlY3Rpb25zIHN1Y2ggYXMgc3RhdHVzIG1vZGUsIHRyYW5zZmVyIHR5cGUsIG9yIGRpc3BsYXkgcHJlZmVyZW5jZS4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgU2VnbWVudDoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIGNvbXBhY3Qgc2luZ2xlLWNob2ljZSBzd2l0Y2hpbmcgYmV0d2VlbiBjbG9zZWx5IHJlbGF0ZWQgdmlld3Mgb3IgbW9kZXMuJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiB0aGUgb3B0aW9ucyBiZWhhdmUgbGlrZSBhIGdyb3VwZWQgY29udHJvbCByYXRoZXIgdGhhbiBhIG5hdmlnYXRpb24gdGFiIHNldC4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgZGVuc2l0eS1zZW5zaXRpdmUgcGxhY2VzIHN1Y2ggYXMgY2hhcnQgbW9kZSBzd2l0Y2hlcywgZmlsdGVyIG1vZGVzLCBvciBlbWJlZGRlZCBjb250ZW50IHRvZ2dsZXMuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFNlbGVjdDoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiB1c2VycyBzaG91bGQgY2hvb3NlIGZyb20gcHJlZGVmaW5lZCBvcHRpb25zIGluc3RlYWQgb2YgdHlwaW5nIGEgZnJlZS1mb3JtIHZhbHVlLicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBzaW5nbGUtc2VsZWN0IGFuZCBtdWx0aS1zZWxlY3Qgd29ya2Zsb3dzIHdpdGggb3B0aW9uYWwgc2VhcmNoLCBncm91cGluZywgYW5kIHJpY2ggb3B0aW9uIHJlbmRlcmluZy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHRoZSBvcHRpb24gbGlzdCBtYXkgYmUgbG9uZ2VyIHRoYW4gYSByYWRpbyBncm91cCBjYW4gY29tZm9ydGFibHkgZGlzcGxheSBpbmxpbmUuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFNwYWNlOiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgcXVpY2ssIHVuaWZvcm0gc3BhY2luZyBiZXR3ZWVuIGlubGluZSBvciBzdGFja2VkIGVsZW1lbnRzLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gY29tcG9uZW50cyBzaG91bGQgYmUgZGlzdHJpYnV0ZWQgd2l0aCBjb25zaXN0ZW50IHByZXNldCBnYXBzIGluc3RlYWQgb2YgbWFudWFsIG1hcmdpbnMuJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIGJ1dHRvbiBncm91cHMsIHRhZyByb3dzLCBjb21wYWN0IG1ldGFkYXRhIGJsb2NrcywgYW5kIHNpbXBsZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGNsdXN0ZXJzLicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBTcGlubmVyOiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCB0byBjb21tdW5pY2F0ZSB0aGF0IGEgdGFzayBpcyBsb2FkaW5nIGFuZCBhIHJlc3VsdCBpcyBvbiB0aGUgd2F5LicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBidXR0b24gbG9hZGluZyBzdGF0ZXMsIHBhbmVsLWxldmVsIGRhdGEgZmV0Y2hlcywgYW5kIHRyYW5zaXRpb25hbCB3YWl0aW5nIHN0YXRlcy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHRoZSBVSSBzaG91bGQgYWNrbm93bGVkZ2UgcHJvZ3Jlc3Mgd2l0aG91dCB5ZXQgc2hvd2luZyBhIGRldGVybWluYXRlIHBlcmNlbnRhZ2UuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFN0ZXA6IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gYSB3b3JrZmxvdyBpcyBkaXZpZGVkIGludG8gZXhwbGljaXQgc2VxdWVudGlhbCBzdGFnZXMuJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIG9uYm9hcmRpbmcsIGlkZW50aXR5IHZlcmlmaWNhdGlvbiwgY2hlY2tvdXQsIGFuZCBvdGhlciBtdWx0aS1zdGVwIHRhc2sgcHJvZ3Jlc3Npb25zLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gdXNlcnMgYmVuZWZpdCBmcm9tIHNlZWluZyBjdXJyZW50IHByb2dyZXNzLCBjb21wbGV0ZWQgc3RlcHMsIGFuZCB3aGF0IHJlbWFpbnMuJyxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFN3aXRjaDoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIGltbWVkaWF0ZSBiaW5hcnkgdG9nZ2xlcyB3aGVyZSB0aGUgY2hhbmdlIHRha2VzIGVmZmVjdCBhcyBzb29uIGFzIHRoZSB1c2VyIGZsaXBzIHRoZSBjb250cm9sLicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBzZXR0aW5ncywgcGVybWlzc2lvbnMsIGFuZCBmZWF0dXJlIGFjdGl2YXRpb24gcGF0dGVybnMgdGhhdCBkbyBub3QgcmVxdWlyZSBhIHN1Ym1pdCBidXR0b24uJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiB0aGUgbWVudGFsIG1vZGVsIGlzIOKAnG9uL29mZuKAnSByYXRoZXIgdGhhbiBzZWxlY3RpbmcgYW1vbmcgbXVsdGlwbGUgb3B0aW9ucy4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgVGFiczoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgdG8gc3dpdGNoIGJldHdlZW4gcGVlciBzZWN0aW9ucyBvZiBjb250ZW50IHdpdGhvdXQgbGVhdmluZyB0aGUgY3VycmVudCBwYWdlLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gc2V2ZXJhbCByZWxhdGVkIHBhbmVscyBzaGFyZSB0aGUgc2FtZSBsYXlvdXQgc2hlbGwgYnV0IG9ubHkgb25lIHNob3VsZCBiZSB2aXNpYmxlIGF0IGEgdGltZS4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgaW5mb3JtYXRpb24gYXJjaGl0ZWN0dXJlIGluc2lkZSBzZXR0aW5ncywgZGV0YWlsIHBhZ2VzLCBhbmQgbW9kdWxhciBkYXNoYm9hcmRzLicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBUYWc6IHtcbiAgICAgICAgd2hlblRvVXNlOiBbXG4gICAgICAgICAgICAnVXNlIGl0IHRvIGxhYmVsIGVudGl0aWVzLCBzdGF0dXNlcywgYW5kIHNob3J0IGNhdGVnb3JpY2FsIG1ldGFkYXRhLicsXG4gICAgICAgICAgICAnVXNlIGl0IGZvciBjb25jaXNlIHNlbWFudGljIG1hcmtlcnMgc3VjaCBhcyBzdGF0ZSBiYWRnZXMsIGFzc2V0IGxhYmVscywgYW5kIGZpbHRlciBjaGlwcy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIHRoZSBjb250ZW50IHNob3VsZCBzdGF5IGNvbXBhY3QsIGhpZ2hseSBzY2FubmFibGUsIGFuZCB2aXN1YWxseSBkaXN0aW5jdCBmcm9tIGJvZHkgdGV4dC4nLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgVG9vbHRpcDoge1xuICAgICAgICB3aGVuVG9Vc2U6IFtcbiAgICAgICAgICAgICdVc2UgaXQgdG8gcmV2ZWFsIHN1cHBsZW1lbnRhbCBjb250ZXh0IHdpdGhvdXQgcGVybWFuZW50bHkgb2NjdXB5aW5nIHBhZ2Ugc3BhY2UuJyxcbiAgICAgICAgICAgICdVc2UgaXQgZm9yIGRlZmluaXRpb25zLCBoZWxwZXIgaGludHMsIHRydW5jYXRlZCBjb250ZW50IGRpc2Nsb3N1cmUsIGFuZCBpY29uLW9ubHkgZXhwbGFuYXRpb25zLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gaW5mb3JtYXRpb24gaXMgdXNlZnVsIGJ1dCBub3QgaW1wb3J0YW50IGVub3VnaCB0byBzdXJmYWNlIGlubGluZSBieSBkZWZhdWx0LicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBUcmlnZ2VyOiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuIGFub3RoZXIgc3VyZmFjZSBzaG91bGQgYmUgc2hvd24gb3IgaGlkZGVuIGluIHJlc3BvbnNlIHRvIGhvdmVyLCBjbGljaywgb3IgZm9jdXMgYmVoYXZpb3IuJyxcbiAgICAgICAgICAgICdVc2UgaXQgYXMgdGhlIGxvdy1sZXZlbCBpbnRlcmFjdGlvbiBzaGVsbCBmb3IgcG9wdXBzLCBvdmVybGF5cywgYW5kIGFuY2hvcmVkIGZsb2F0aW5nIGV4cGVyaWVuY2VzLicsXG4gICAgICAgICAgICAnVXNlIGl0IHdoZW4gdHJpZ2dlciBvcmNoZXN0cmF0aW9uIG1hdHRlcnMgbW9yZSB0aGFuIHRoZSB2aXN1YWwgdHJlYXRtZW50IG9mIHRoZSByZXZlYWxlZCBjb250ZW50LicsXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBUeXBvZ3JhcGh5OiB7XG4gICAgICAgIHdoZW5Ub1VzZTogW1xuICAgICAgICAgICAgJ1VzZSBpdCB3aGVuZXZlciBwcm9kdWN0IHRleHQgc2hvdWxkIGFsaWduIHRvIHRoZSBzZW1hbnRpYyB0eXBvZ3JhcGh5IHNjYWxlIGluc3RlYWQgb2YgYWQgaG9jIGZvbnQgc3R5bGluZy4nLFxuICAgICAgICAgICAgJ1VzZSBpdCBmb3IgaGVhZGluZ3MsIGxhYmVscywgYm9keSBjb3B5LCBsaW5rcywgYW5kIHRydW5jYXRlZCBvciBjb3B5YWJsZSB0ZXh0IGNvbnRlbnQuJyxcbiAgICAgICAgICAgICdVc2UgaXQgd2hlbiB0ZXh0IGhpZXJhcmNoeSwgcmVhZGFiaWxpdHksIGFuZCB0b2tlbi1kcml2ZW4gY29uc2lzdGVuY3kgbWF0dGVyIGFjcm9zcyBkZW5zZSBwcm9kdWN0IHN1cmZhY2VzLicsXG4gICAgICAgIF0sXG4gICAgfSxcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50RG9jTWV0YShjb21wb25lbnROYW1lKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2EgPSBDT01QT05FTlRfRE9DX01FVEFbY29tcG9uZW50TmFtZV0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGw7XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
.doc-article,.doc-home,.sb-docs-shell{--sb-doc-accent:#1677ff;--sb-doc-accent-soft:rgba(22,119,255,12%);--sb-doc-border:#e6ebf2;--sb-doc-border-strong:#d7deea;--sb-doc-text:#1f2329;--sb-doc-text-secondary:#5b667a;--sb-doc-surface:#fff;--sb-doc-surface-muted:#f7f9fc;--sb-doc-shadow:0 18px 48px rgba(15,23,42,8%);color:var(--sb-doc-text);font-family:Aeonik,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sb-docs-shell{padding:28px 24px 96px}.sb-docs-layout{max-width:1360px;margin:0 auto}.doc-article,.doc-home,.sb-docs-main{min-width:0}.doc-home-card,.doc-home-chip,.doc-home-hero,.doc-home-info-card,.doc-home-section,.sb-docs-hero,.sb-docs-section{background:var(--sb-doc-surface);border:1px solid var(--sb-doc-border);border-radius:24px;box-shadow:var(--sb-doc-shadow)}.doc-home-hero,.sb-docs-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:24px;margin-bottom:24px;padding:36px;background:radial-gradient(circle at top right,rgba(22,119,255,14%),transparent 38%),linear-gradient(180deg,#fff,#fbfcff)}.doc-home-card-kicker,.doc-home-kicker,.sb-docs-kicker,.sb-docs-section-kicker{margin:0 0 12px;color:var(--sb-doc-accent);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.doc-article h1,.doc-home h1,.sb-docs-title{margin:0 0 16px;color:#111827;font-weight:700;font-size:clamp(34px,4vw,52px);font-family:Aeonik,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.04;letter-spacing:-.04em}.doc-article-lead,.doc-home-lead,.sb-docs-description :where(p),.sb-docs-lead{max-width:760px;margin:0;color:var(--sb-doc-text-secondary);font-size:18px;line-height:1.72}.sb-docs-hero-panel{display:grid;gap:12px;align-content:start}.doc-home-chip,.doc-home-info-card,.doc-home-panel,.sb-docs-stat{padding:18px 20px;background:rgba(255,255,255,82%);border:1px solid var(--sb-doc-border);border-radius:18px}.sb-docs-stat-label{display:block;margin-bottom:6px;color:var(--sb-doc-text-secondary);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.doc-home-chip strong,.doc-home-info-card strong,.sb-docs-stat strong{color:var(--sb-doc-text);font-weight:600;font-size:16px}.doc-home-section,.sb-docs-section{margin-bottom:24px;padding:28px}.doc-home-section-header,.sb-docs-section-header{margin-bottom:20px}.doc-article h2,.doc-home-section h2,.sb-docs-section-header h2{margin:0 0 10px;color:#111827;font-weight:700;font-size:30px;line-height:1.15;letter-spacing:-.03em}.doc-article>p,.doc-home-section-header p,.doc-home-section>p,.sb-docs-section-header p{margin:0;color:var(--sb-doc-text-secondary);font-size:15px;line-height:1.7}.doc-home-card-grid,.doc-home-grid,.sb-docs-markdown-grid{display:grid;gap:16px}.sb-docs-use-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.sb-docs-use-list li{position:relative;padding:16px 18px 16px 48px;color:var(--sb-doc-text-secondary);font-size:15px;line-height:1.72;background:var(--sb-doc-surface-muted);border:1px solid var(--sb-doc-border);border-radius:18px}.sb-docs-use-list li:before{position:absolute;top:23px;left:20px;width:12px;height:12px;background:linear-gradient(180deg,#1677ff,#69a8ff);border-radius:999px;box-shadow:0 0 0 6px rgba(22,119,255,10%);content:""}.doc-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.doc-home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.doc-home-card,.sb-docs-markdown-card{min-width:0;padding:24px;background:var(--sb-doc-surface-muted);border:1px solid var(--sb-doc-border);border-radius:20px}.doc-article h3,.doc-home-card h3,.doc-home-section h3,.sb-docs-markdown-card h3{margin:0 0 12px;color:#111827;font-weight:700;font-size:21px;line-height:1.28}.doc-article li,.doc-home-card li,.doc-home-card p,.doc-home-section li,.sb-docs-markdown-card li,.sb-docs-markdown-card p{color:var(--sb-doc-text-secondary);font-size:14px;line-height:1.72}.doc-article :where(ul,ol),.doc-home-section :where(ul,ol),.sb-docs-markdown-card :where(ul,ol){padding-left:20px}.doc-article :where(pre,code),.doc-home-section :where(pre,code),.sb-docs-markdown-card :where(pre,code),.sb-docs-section :where(pre,code){font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,monospace}.doc-article :where(pre),.doc-home-section :where(pre),.sb-docs-markdown-card :where(pre),.sb-docs-section :where(pre){padding:16px 18px;overflow-x:auto;color:#dbe7ff;background:#0f172a;border-radius:16px}.doc-article :where(code:not(pre code)),.doc-home-section :where(code:not(pre code)),.sb-docs-markdown-card :where(code:not(pre code)),.sb-docs-section :where(code:not(pre code)){padding:.18em .45em;color:#1456b8;background:rgba(22,119,255,8%);border-radius:8px}.doc-article :where(table),.doc-home-section :where(table),.sb-docs-markdown-card :where(table),.sb-docs-section :where(table){width:100%;border-collapse:collapse}.doc-article :where(th,td),.doc-home-section :where(th,td),.sb-docs-markdown-card :where(th,td),.sb-docs-section :where(th,td){padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--sb-doc-border)}.doc-article :where(th),.doc-home-section :where(th),.sb-docs-markdown-card :where(th),.sb-docs-section :where(th){color:#111827;font-weight:700;font-size:13px;background:rgba(15,23,42,3%)}.doc-article :where(td),.doc-home-section :where(td),.sb-docs-markdown-card :where(td),.sb-docs-section :where(td){color:var(--sb-doc-text-secondary);font-size:14px;line-height:1.6}.doc-home-panel{display:grid;gap:14px;align-content:start}.doc-home-chip-list{display:flex;flex-wrap:wrap;gap:10px}.doc-home-chip{padding:10px 14px;background:var(--sb-doc-surface);border-radius:999px}.doc-home-card-grid .doc-home-card,.doc-home-grid .doc-home-card{margin:0}.doc-home-card p:last-child,.sb-docs-markdown-card p:last-child{margin-bottom:0}@media (width <= 960px){.doc-home-card-grid,.doc-home-grid,.doc-home-hero,.sb-docs-hero{grid-template-columns:minmax(0,1fr)}}@media (width <= 720px){.doc-article,.doc-home,.sb-docs-shell{padding-right:16px;padding-left:16px}.doc-home-card,.doc-home-hero,.doc-home-section,.sb-docs-hero,.sb-docs-markdown-card,.sb-docs-section{padding:20px;border-radius:20px}.doc-article h1,.doc-home h1,.sb-docs-title{font-size:34px}.doc-article h2,.doc-home-section h2,.sb-docs-section-header h2{font-size:26px}}round: rgba(15, 23, 42, 3%);
|
|
2
|
+
}
|
|
3
|
+
|
|
4
|
+
.doc-home-section :where(td),
|
|
5
|
+
.doc-article :where(td),
|
|
6
|
+
.sb-docs-markdown-card :where(td),
|
|
7
|
+
.sb-docs-section :where(td) {
|
|
8
|
+
color: var(--sb-doc-text-secondary);
|
|
9
|
+
font-size: 14px;
|
|
10
|
+
line-height: 1.6;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.doc-home-panel {
|
|
14
|
+
display: grid;
|
|
15
|
+
gap: 14px;
|
|
16
|
+
align-content: start;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.doc-home-chip-list {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-wrap: wrap;
|
|
22
|
+
gap: 10px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.doc-home-chip {
|
|
26
|
+
padding: 10px 14px;
|
|
27
|
+
background: var(--sb-doc-surface);
|
|
28
|
+
border-radius: 999px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.doc-home-card-grid .doc-home-card,
|
|
32
|
+
.doc-home-grid .doc-home-card {
|
|
33
|
+
margin: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.doc-home-card p:last-child,
|
|
37
|
+
.sb-docs-markdown-card p:last-child {
|
|
38
|
+
margin-bottom: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@media (width <= 960px) {
|
|
42
|
+
.sb-docs-hero,
|
|
43
|
+
.doc-home-hero,
|
|
44
|
+
.doc-home-grid,
|
|
45
|
+
.doc-home-card-grid {
|
|
46
|
+
grid-template-columns: minmax(0, 1fr);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@media (width <= 720px) {
|
|
51
|
+
.sb-docs-shell,
|
|
52
|
+
.doc-home,
|
|
53
|
+
.doc-article {
|
|
54
|
+
padding-right: 16px;
|
|
55
|
+
padding-left: 16px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.sb-docs-hero,
|
|
59
|
+
.doc-home-hero,
|
|
60
|
+
.sb-docs-section,
|
|
61
|
+
.doc-home-section,
|
|
62
|
+
.doc-home-card,
|
|
63
|
+
.sb-docs-markdown-card {
|
|
64
|
+
padding: 20px;
|
|
65
|
+
border-radius: 20px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.sb-docs-title,
|
|
69
|
+
.doc-home h1,
|
|
70
|
+
.doc-article h1 {
|
|
71
|
+
font-size: 34px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.sb-docs-section-header h2,
|
|
75
|
+
.doc-home-section h2,
|
|
76
|
+
.doc-article h2 {
|
|
77
|
+
font-size: 26px;
|
|
78
|
+
}
|
|
79
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1money/component-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"description": "React Components based on primereact for 1money front-end projects",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"1money-ui-mcp": "scripts/mcp-server/bin.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"es/",
|
|
12
|
+
"lib/",
|
|
13
|
+
"scripts/mcp-server/bin.mjs",
|
|
14
|
+
"scripts/mcp-server/index.mjs",
|
|
15
|
+
"scripts/mcp-server/index.d.mts",
|
|
16
|
+
"scripts/mcp-server/index.generated.json",
|
|
17
|
+
"scripts/mcp-server/examples.generated.json",
|
|
18
|
+
"scripts/mcp-server/drift.json",
|
|
19
|
+
"scripts/mcp-server/tools/*.mjs",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
7
23
|
"exports": {
|
|
8
24
|
".": {
|
|
9
25
|
"types": "./es/index.d.ts",
|
|
@@ -94,11 +110,6 @@
|
|
|
94
110
|
"import": "./es/components/Flex/index.js",
|
|
95
111
|
"require": "./lib/components/Flex/index.js"
|
|
96
112
|
},
|
|
97
|
-
"./Form": {
|
|
98
|
-
"types": "./es/components/Form/index.d.ts",
|
|
99
|
-
"import": "./es/components/Form/index.js",
|
|
100
|
-
"require": "./lib/components/Form/index.js"
|
|
101
|
-
},
|
|
102
113
|
"./Grid": {
|
|
103
114
|
"types": "./es/components/Grid/index.d.ts",
|
|
104
115
|
"import": "./es/components/Grid/index.js",
|
|
@@ -258,7 +269,10 @@
|
|
|
258
269
|
"scripts": {
|
|
259
270
|
"start": "omni dev",
|
|
260
271
|
"dev": "omni dev",
|
|
261
|
-
"dev:mcp": "node scripts/mcp-server/
|
|
272
|
+
"dev:mcp": "node scripts/mcp-server/bin.mjs",
|
|
273
|
+
"mcp:check": "node scripts/mcp-server/bin.mjs --selftest",
|
|
274
|
+
"build:mcp-index": "node scripts/mcp-server/indexer/build-index.mjs",
|
|
275
|
+
"test:mcp-index": "node --test scripts/mcp-server/indexer/__tests__/*.test.mjs scripts/mcp-server/tools/__tests__/*.test.mjs",
|
|
262
276
|
"test": "jest --passWithNoTests",
|
|
263
277
|
"test:snapshot": "jest --updateSnapshot",
|
|
264
278
|
"lint": "npm run lint:prettier && npm run lint:es && npm run lint:style",
|
|
@@ -271,6 +285,7 @@
|
|
|
271
285
|
"lint:style_fix": "stylelint \"src/**/*.{css,less,scss,sass}\" --fix --allow-empty-input",
|
|
272
286
|
"lint:commit": "commitlint -e $HUSKY_GIT_PARAMS",
|
|
273
287
|
"new": "omni new",
|
|
288
|
+
"prebuild": "pnpm build:mcp-index",
|
|
274
289
|
"build": "omni build",
|
|
275
290
|
"build:demo": "storybook build -c .storybook -o dist-story",
|
|
276
291
|
"release": "omni release",
|
|
@@ -305,6 +320,7 @@
|
|
|
305
320
|
"@dnd-kit/sortable": "^10.0.0",
|
|
306
321
|
"@dnd-kit/utilities": "^3.2.2",
|
|
307
322
|
"@floating-ui/react": "^0.27.19",
|
|
323
|
+
"@modelcontextprotocol/sdk": "^1.25.0",
|
|
308
324
|
"bignumber.js": "^9.3.0",
|
|
309
325
|
"classnames": "~2.2.6",
|
|
310
326
|
"clsx": "^2.1.1",
|
|
@@ -332,7 +348,6 @@
|
|
|
332
348
|
"@chromatic-com/storybook": "^1.9.0",
|
|
333
349
|
"@commitlint/cli": "8.3.5",
|
|
334
350
|
"@eslint/js": "^9.24.0",
|
|
335
|
-
"@modelcontextprotocol/sdk": "^1.25.0",
|
|
336
351
|
"@omni-door/cli": "^3.2.2",
|
|
337
352
|
"@storybook/addon-actions": "^8.6.12",
|
|
338
353
|
"@storybook/addon-console": "^3.0.0",
|