@uxelle/skills 0.2.0-beta.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/LICENSE +674 -0
- package/README.md +58 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +586 -0
- package/index.json +573 -0
- package/package.json +57 -0
- package/skills/uxelle-components/Accordion.md +51 -0
- package/skills/uxelle-components/AccordionGroup.md +39 -0
- package/skills/uxelle-components/Banner.md +73 -0
- package/skills/uxelle-components/BannerAnnouncement.md +63 -0
- package/skills/uxelle-components/Breadcrumb.md +38 -0
- package/skills/uxelle-components/Breadcrumbs.md +32 -0
- package/skills/uxelle-components/Bubble.md +34 -0
- package/skills/uxelle-components/Button.md +54 -0
- package/skills/uxelle-components/ButtonGroup.md +43 -0
- package/skills/uxelle-components/Card.md +35 -0
- package/skills/uxelle-components/Checkbox.md +57 -0
- package/skills/uxelle-components/CheckboxGroup.md +47 -0
- package/skills/uxelle-components/ChoiceChip.md +44 -0
- package/skills/uxelle-components/ChoiceChipGroup.md +50 -0
- package/skills/uxelle-components/DatePicker.md +59 -0
- package/skills/uxelle-components/DatePickerRange.md +73 -0
- package/skills/uxelle-components/Dialog.md +83 -0
- package/skills/uxelle-components/Divider.md +37 -0
- package/skills/uxelle-components/DynamicAngleLine.md +36 -0
- package/skills/uxelle-components/DynamicAngleLineCombo.md +30 -0
- package/skills/uxelle-components/DynamicAngleShape.md +32 -0
- package/skills/uxelle-components/DynamicAngleShapeSurface.md +35 -0
- package/skills/uxelle-components/DynamicAngleTexture.md +29 -0
- package/skills/uxelle-components/DynamicAngleTextureText.md +35 -0
- package/skills/uxelle-components/FieldMessage.md +31 -0
- package/skills/uxelle-components/FileUpload.md +53 -0
- package/skills/uxelle-components/FilterChip.md +35 -0
- package/skills/uxelle-components/FilterChipGroup.md +42 -0
- package/skills/uxelle-components/Footer.md +34 -0
- package/skills/uxelle-components/Hero.md +61 -0
- package/skills/uxelle-components/Icon.md +43 -0
- package/skills/uxelle-components/IconButton.md +44 -0
- package/skills/uxelle-components/Image.md +40 -0
- package/skills/uxelle-components/Label.md +35 -0
- package/skills/uxelle-components/LabelBadge.md +58 -0
- package/skills/uxelle-components/LanguageSelector.md +38 -0
- package/skills/uxelle-components/LanguageSelectorButton.md +34 -0
- package/skills/uxelle-components/Layout.md +81 -0
- package/skills/uxelle-components/LinearProgress.md +53 -0
- package/skills/uxelle-components/Link.md +52 -0
- package/skills/uxelle-components/List.md +35 -0
- package/skills/uxelle-components/ListControls.md +100 -0
- package/skills/uxelle-components/ListItem.md +69 -0
- package/skills/uxelle-components/Lockup.md +50 -0
- package/skills/uxelle-components/Logo.md +39 -0
- package/skills/uxelle-components/Menu.md +48 -0
- package/skills/uxelle-components/MultiSelect.md +54 -0
- package/skills/uxelle-components/NavLink.md +44 -0
- package/skills/uxelle-components/Navigation.md +61 -0
- package/skills/uxelle-components/NavigationSide.md +51 -0
- package/skills/uxelle-components/NavigationSideGroup.md +36 -0
- package/skills/uxelle-components/NavigationSideItem.md +56 -0
- package/skills/uxelle-components/NavigationSideSubItem.md +39 -0
- package/skills/uxelle-components/NotificationBadge.md +62 -0
- package/skills/uxelle-components/Pagination.md +49 -0
- package/skills/uxelle-components/PaginationComplex.md +51 -0
- package/skills/uxelle-components/PaginationSimple.md +44 -0
- package/skills/uxelle-components/ProductCard.md +46 -0
- package/skills/uxelle-components/Quantity.md +45 -0
- package/skills/uxelle-components/Radio.md +55 -0
- package/skills/uxelle-components/RadioGroup.md +49 -0
- package/skills/uxelle-components/SKILL.md +242 -0
- package/skills/uxelle-components/Scrim.md +28 -0
- package/skills/uxelle-components/SegmentedControl.md +118 -0
- package/skills/uxelle-components/Select.md +55 -0
- package/skills/uxelle-components/Sheet.md +31 -0
- package/skills/uxelle-components/Skeleton.md +35 -0
- package/skills/uxelle-components/Spinner.md +33 -0
- package/skills/uxelle-components/StatTile.md +150 -0
- package/skills/uxelle-components/Stepper.md +73 -0
- package/skills/uxelle-components/Switch.md +41 -0
- package/skills/uxelle-components/Tab.md +41 -0
- package/skills/uxelle-components/Table.md +55 -0
- package/skills/uxelle-components/TabsCompact.md +37 -0
- package/skills/uxelle-components/TabsStretch.md +35 -0
- package/skills/uxelle-components/Text.md +56 -0
- package/skills/uxelle-components/Textarea.md +77 -0
- package/skills/uxelle-components/Textfield.md +62 -0
- package/skills/uxelle-components/Tooltip.md +33 -0
- package/skills/uxelle-design-harness/SKILL.md +149 -0
- package/skills/uxelle-design-harness/a2ui.md +73 -0
- package/skills/uxelle-design-harness/how-to-accessibility.md +31 -0
- package/skills/uxelle-design-harness/how-to-color.md +82 -0
- package/skills/uxelle-design-harness/how-to-host.md +108 -0
- package/skills/uxelle-design-harness/how-to-page-layout.md +203 -0
- package/skills/uxelle-design-harness/principles.md +72 -0
- package/skills/uxelle-design-harness/recipe-app-chrome.md +168 -0
- package/skills/uxelle-design-harness/recipe-card-grid.md +104 -0
- package/skills/uxelle-design-harness/recipe-cta-band.md +91 -0
- package/skills/uxelle-design-harness/recipe-dashboard-overview.md +118 -0
- package/skills/uxelle-design-harness/recipe-data-table-page.md +323 -0
- package/skills/uxelle-design-harness/recipe-feature-section.md +96 -0
- package/skills/uxelle-design-harness/recipe-footer.md +156 -0
- package/skills/uxelle-design-harness/recipe-form-section.md +163 -0
- package/skills/uxelle-design-harness/recipe-hero.md +89 -0
- package/skills/uxelle-design-harness/recipe-landing-page.md +94 -0
- package/skills/uxelle-design-harness/recipe-logo-wall.md +80 -0
- package/skills/uxelle-design-harness/recipe-multi-step-flow.md +108 -0
- package/skills/uxelle-design-harness/recipe-page-header.md +102 -0
- package/skills/uxelle-design-harness/recipe-page-shell.md +82 -0
- package/skills/uxelle-design-harness/recipe-pricing.md +83 -0
- package/skills/uxelle-design-harness/recipe-query-bar.md +108 -0
- package/skills/uxelle-design-harness/recipe-record-detail.md +96 -0
- package/skills/uxelle-design-harness/recipe-settings-page.md +170 -0
- package/skills/uxelle-design-harness/recipe-stat-callouts.md +111 -0
- package/skills/uxelle-design-harness/recipe-states.md +119 -0
- package/skills/uxelle-design-harness/recipe-summary-list.md +88 -0
- package/skills/uxelle-design-harness/recipe-template.md +62 -0
- package/skills/uxelle-design-harness/recipe-testimonial.md +73 -0
- package/skills/uxelle-design-harness/spacing-steps.md +57 -0
- package/skills/uxelle-design-harness/tokens.md +101 -0
package/README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# `@uxelle/skills`
|
|
2
|
+
|
|
3
|
+
Versioned generate-UI agent skills for uxElle: component API reference (`uxelle-components`) and composition recipes (`uxelle-design-harness`), plus a machine-readable manifest.
|
|
4
|
+
|
|
5
|
+
The version of this package tracks `@uxelle/components`. Pin them to the same version so generated props match the installed component API.
|
|
6
|
+
|
|
7
|
+
Prerelease versions (`0.2.0-beta.*`) are published on the `beta` dist-tag. Untagged `@uxelle/skills` looks up `latest`.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @uxelle/skills@beta
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Exports
|
|
14
|
+
|
|
15
|
+
| Specifier | What it is |
|
|
16
|
+
| --------------------------- | -------------------------------------------------- |
|
|
17
|
+
| `@uxelle/skills` | Typed `SKILLS` manifest and `skillFileSpecifier()` |
|
|
18
|
+
| `@uxelle/skills/index.json` | Same manifest as JSON |
|
|
19
|
+
| `@uxelle/skills/skills/*` | Raw markdown (`SKILL.md`, `Button.md`, recipes, …) |
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { readFileSync } from "node:fs";
|
|
23
|
+
import { fileURLToPath } from "node:url";
|
|
24
|
+
import { SKILLS, skillFileSpecifier } from "@uxelle/skills";
|
|
25
|
+
|
|
26
|
+
for (const skill of SKILLS.skills) {
|
|
27
|
+
const specifier = skillFileSpecifier(skill.name, "SKILL.md");
|
|
28
|
+
const markdown = readFileSync(fileURLToPath(import.meta.resolve(specifier)), "utf8");
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Vite / webpack can load the same files with `?raw` (`import x from "@uxelle/skills/skills/uxelle-components/SKILL.md?raw"`). Node cannot `import()` `.md`.
|
|
33
|
+
|
|
34
|
+
Load `SKILL.md` for each skill plus the manifest up front. Fetch individual component or recipe files on demand — `uxelle-components/SKILL.md` tells agents not to preload every component file.
|
|
35
|
+
|
|
36
|
+
The two skill folders are siblings. The harness links into component docs with relative paths such as `../uxelle-components/Table.md`; do not split them.
|
|
37
|
+
|
|
38
|
+
## `index.json`
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"schemaVersion": 1,
|
|
43
|
+
"version": "0.2.0-beta.2",
|
|
44
|
+
"skills": [
|
|
45
|
+
{
|
|
46
|
+
"name": "uxelle-components",
|
|
47
|
+
"description": "…",
|
|
48
|
+
"files": [{ "path": "SKILL.md", "size": 12345, "hash": "sha256:…" }]
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`files[].path` is POSIX, relative to that skill folder. `hash` is `sha256:` plus 64 hex digits.
|
|
55
|
+
|
|
56
|
+
## Tests and pack checks (this repo)
|
|
57
|
+
|
|
58
|
+
Staged content under `packages/skills/skills/` and `index.json` are gitignored build output. `npm test -w @uxelle/skills` stages and sanitizes before Vitest. `npm run pack:check -w @uxelle/skills` builds, sanitizes, then dry-runs `npm pack`.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type SkillFile = {
|
|
2
|
+
path: string;
|
|
3
|
+
size: number;
|
|
4
|
+
hash: string;
|
|
5
|
+
};
|
|
6
|
+
type SkillEntry = {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
files: SkillFile[];
|
|
10
|
+
};
|
|
11
|
+
type SkillsManifest = {
|
|
12
|
+
schemaVersion: 1;
|
|
13
|
+
version: string;
|
|
14
|
+
skills: SkillEntry[];
|
|
15
|
+
};
|
|
16
|
+
declare const SKILLS: SkillsManifest;
|
|
17
|
+
declare const SKILL_NAMES: string[];
|
|
18
|
+
/**
|
|
19
|
+
* Package specifier for a skill markdown file
|
|
20
|
+
* (`@uxelle/skills/skills/<skill>/<relativePath>`).
|
|
21
|
+
* Resolve with `import.meta.resolve` then `fs`; Node cannot `import()` `.md`.
|
|
22
|
+
* Bundlers may load the same specifier with `?raw`.
|
|
23
|
+
*/
|
|
24
|
+
declare function skillFileSpecifier(skill: string, relativePath: string): string;
|
|
25
|
+
|
|
26
|
+
export { SKILLS, SKILL_NAMES, type SkillEntry, type SkillFile, type SkillsManifest, skillFileSpecifier };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
// src/manifest.generated.ts
|
|
2
|
+
var manifest = {
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"version": "0.2.0-beta.2",
|
|
5
|
+
"skills": [
|
|
6
|
+
{
|
|
7
|
+
"name": "uxelle-components",
|
|
8
|
+
"description": "Reference for uxElle Generative Product Foundation (GPF) components. Use when generating UI with uxElle, implementing designs, building layouts, or when the user mentions uxElle components, design system, or enterprise UI.",
|
|
9
|
+
"files": [
|
|
10
|
+
{
|
|
11
|
+
"path": "Accordion.md",
|
|
12
|
+
"size": 3166,
|
|
13
|
+
"hash": "sha256:206b170ddf62f8a29ad56ad1084ba890de57a3e59aa6aec5f34d01bb0484bf83"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"path": "AccordionGroup.md",
|
|
17
|
+
"size": 997,
|
|
18
|
+
"hash": "sha256:313877bbe6d225b6bbe243e34afbb66fc302c70f7dadce9c1821a49f5e9a6808"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "Banner.md",
|
|
22
|
+
"size": 6891,
|
|
23
|
+
"hash": "sha256:ed6ef1e333f88fcde8f132ed336de99899024ceb1651ad56073f4aef8e5ff6e7"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"path": "BannerAnnouncement.md",
|
|
27
|
+
"size": 5223,
|
|
28
|
+
"hash": "sha256:9ad6a79b3d7a3b6bcbd03bb8715d6c294b105769fb3986b9cdf87a7de0211d58"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "Breadcrumb.md",
|
|
32
|
+
"size": 2218,
|
|
33
|
+
"hash": "sha256:174b83d6058df3c37e1193788b37b41d27dcc6341cfedf8f8478c7d3f25ed914"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "Breadcrumbs.md",
|
|
37
|
+
"size": 1651,
|
|
38
|
+
"hash": "sha256:fcb52ddd8650c7baec56311227f5ea4864a829afbc1a592b5f9a864598403930"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "Bubble.md",
|
|
42
|
+
"size": 1837,
|
|
43
|
+
"hash": "sha256:7f8aa8f4632053d18010d502d258daa21984a90233cc4aba02f51bed01afbdd6"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"path": "Button.md",
|
|
47
|
+
"size": 4593,
|
|
48
|
+
"hash": "sha256:cc0ccac068f5aeeb6b9ad86ca6899730eaa3529279a821ac155380dc9c8029c3"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"path": "ButtonGroup.md",
|
|
52
|
+
"size": 2382,
|
|
53
|
+
"hash": "sha256:ef9db011faa4045e54d8fb29462a1bf30a33f56caf8b0580445de4b464900c54"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"path": "Card.md",
|
|
57
|
+
"size": 1409,
|
|
58
|
+
"hash": "sha256:4dae3d00467b7330e8c78282cd9256666ebc48ac36f1d541f512b74abb5882e5"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"path": "Checkbox.md",
|
|
62
|
+
"size": 7283,
|
|
63
|
+
"hash": "sha256:bb08508d9ba7a060eeca285d68df6d8c46b393edf120b6252212b3119dcb3e4a"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "CheckboxGroup.md",
|
|
67
|
+
"size": 4467,
|
|
68
|
+
"hash": "sha256:88b92a775f3521907b872c5623171834cf591a732a563288ad174ddf65bb511d"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"path": "ChoiceChip.md",
|
|
72
|
+
"size": 3796,
|
|
73
|
+
"hash": "sha256:9c2dc57310d28631817bb75acd151a9c23ff5644d19cb345c7bd65fa8d75797a"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"path": "ChoiceChipGroup.md",
|
|
77
|
+
"size": 4756,
|
|
78
|
+
"hash": "sha256:91de9bc2984cbfb640e1ba117661fcfd7633bb9c16ef3f3b2b9fd7c2d1f0c032"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"path": "DatePicker.md",
|
|
82
|
+
"size": 7432,
|
|
83
|
+
"hash": "sha256:4f42a2c7a17ff9eb025aebda1295ae5164888150681e835343bcbc85b95f96f9"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"path": "DatePickerRange.md",
|
|
87
|
+
"size": 8833,
|
|
88
|
+
"hash": "sha256:8c664d0fbe855d428c0e89fb288d4c3d8ac5e81c08ad063512cbdc621ec7ac1d"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"path": "Dialog.md",
|
|
92
|
+
"size": 5943,
|
|
93
|
+
"hash": "sha256:daeccdf2089b713b530d8f33aa3c7b109947468880eb7326ee80f3af0a053479"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "Divider.md",
|
|
97
|
+
"size": 1974,
|
|
98
|
+
"hash": "sha256:2ddbd235175bf8e36d043261e32dd9ccf3f4806009a9d4807bafa093fbdb4c22"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"path": "DynamicAngleLine.md",
|
|
102
|
+
"size": 2173,
|
|
103
|
+
"hash": "sha256:86660fc704be3d78d5011c3668a883c8f45ec7c3d23975eea6a4c341a50fc244"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"path": "DynamicAngleLineCombo.md",
|
|
107
|
+
"size": 1869,
|
|
108
|
+
"hash": "sha256:4d0d00fca38ddc2a3b3e71635e83033141f057942ff0021aeee0cbdfe3a87c07"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "DynamicAngleShape.md",
|
|
112
|
+
"size": 2418,
|
|
113
|
+
"hash": "sha256:f400ef14468e4dd433783594869ab008b8c36cbb24bde30744caf8ebfd91b448"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"path": "DynamicAngleShapeSurface.md",
|
|
117
|
+
"size": 2223,
|
|
118
|
+
"hash": "sha256:a2480104972331ac3fa759e073a5166a5c18b1d6bfa384ccb1792beccee3de61"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"path": "DynamicAngleTexture.md",
|
|
122
|
+
"size": 1633,
|
|
123
|
+
"hash": "sha256:b56acf13041d81a41ca573af423fd2b7408e8047d0e835541a679c4144e0abbf"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"path": "DynamicAngleTextureText.md",
|
|
127
|
+
"size": 2025,
|
|
128
|
+
"hash": "sha256:563ab33ead3eee347296a175daca6055793dab258f2ac0fee1a0f601f3b6ae00"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"path": "FieldMessage.md",
|
|
132
|
+
"size": 1491,
|
|
133
|
+
"hash": "sha256:2dd66b48dc780b86e0d0c6bfb13dbc1eaf18787105cbb853f06025e45ede1494"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"path": "FileUpload.md",
|
|
137
|
+
"size": 5949,
|
|
138
|
+
"hash": "sha256:5863b435101fb94abf08ec047fa9801680428a317469b5735f2e6506b04947c5"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"path": "FilterChip.md",
|
|
142
|
+
"size": 2891,
|
|
143
|
+
"hash": "sha256:da8c799773f8f94c82a29f777015d1516cedec9bb53d042fd079ff2b4dd25a41"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"path": "FilterChipGroup.md",
|
|
147
|
+
"size": 4369,
|
|
148
|
+
"hash": "sha256:fa8e1c2544071de8fc268c0c4aceda4ddea9aebe62f63b4bc32894632d857aa5"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"path": "Footer.md",
|
|
152
|
+
"size": 1276,
|
|
153
|
+
"hash": "sha256:e2ca30ae7eba1e8c206d70791f4636a66e4f654059dbddda1b508bfd08e7b5c2"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"path": "Hero.md",
|
|
157
|
+
"size": 3330,
|
|
158
|
+
"hash": "sha256:56619429625460a459b3ea7c37379769342628b35e461ed2614fe233fb99ebbc"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"path": "Icon.md",
|
|
162
|
+
"size": 2218,
|
|
163
|
+
"hash": "sha256:bfde859f04937c40b1ce2f3b386e9b059e3781878b1bb91471e688de605ccf1b"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"path": "IconButton.md",
|
|
167
|
+
"size": 3435,
|
|
168
|
+
"hash": "sha256:5d783be90eb071f936c1e544a881742377654ca561007d52c8cfe21375be5109"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"path": "Image.md",
|
|
172
|
+
"size": 2065,
|
|
173
|
+
"hash": "sha256:75ee6ba8c65372ecbbf013c264b2bafaac509847949fb08d571538179c053560"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"path": "Label.md",
|
|
177
|
+
"size": 1793,
|
|
178
|
+
"hash": "sha256:aa7988352f5797f63f0468c6ce9e447bf0a102a69990f298666de7191dc1ba96"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"path": "LabelBadge.md",
|
|
182
|
+
"size": 4264,
|
|
183
|
+
"hash": "sha256:8b1d05f05cfeaa3aed8a7a87fd92884c4d81ef8679483035dff7170d6c948424"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"path": "LanguageSelector.md",
|
|
187
|
+
"size": 1634,
|
|
188
|
+
"hash": "sha256:2b60e81a4efeda5acc9066d33aa4564a21cd8b956730092be08be04558cd9c8c"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"path": "LanguageSelectorButton.md",
|
|
192
|
+
"size": 1610,
|
|
193
|
+
"hash": "sha256:e2b94c54cb1ff9e6f21e983e77df1a683689033376ff794727bce3e8bddac835"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"path": "Layout.md",
|
|
197
|
+
"size": 8424,
|
|
198
|
+
"hash": "sha256:45d6c3ccfd4e22c29e9cbd2b30826bb6b2c3088dab5e55332b564d46501ea71d"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"path": "LinearProgress.md",
|
|
202
|
+
"size": 5804,
|
|
203
|
+
"hash": "sha256:969f73158b98bf54d3a03a1697ebfad8925cfd9fe3fc9b3ad1376e993abcacfb"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"path": "Link.md",
|
|
207
|
+
"size": 1760,
|
|
208
|
+
"hash": "sha256:ed64b4d88e56b94476d47ff480002b9c4088561f17ca7aaca13ee7f4dbf918e7"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"path": "List.md",
|
|
212
|
+
"size": 1227,
|
|
213
|
+
"hash": "sha256:b3e63988a6ac1a8bcd5130027b5744010694076b3823445b9fcce64b4c4ddae8"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"path": "ListControls.md",
|
|
217
|
+
"size": 7187,
|
|
218
|
+
"hash": "sha256:a8e4974dcefd3979f5f0e84839a9a9ddef94295fc74458829ca0ca67accc9e14"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"path": "ListItem.md",
|
|
222
|
+
"size": 6274,
|
|
223
|
+
"hash": "sha256:76fd4020b60baa307aac95166a5cee2306062edffbea6dafea9f88afeeba849c"
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"path": "Lockup.md",
|
|
227
|
+
"size": 2045,
|
|
228
|
+
"hash": "sha256:ad45c25a8d81581d0462b2dd04d1e91e88142713e43307a0aac5fbbb84c94e99"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"path": "Logo.md",
|
|
232
|
+
"size": 3312,
|
|
233
|
+
"hash": "sha256:3ad0ce347065a7d21b9a3f8eef965d0edfdb394c6692d579bf8b9adf6cc8561c"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"path": "Menu.md",
|
|
237
|
+
"size": 3567,
|
|
238
|
+
"hash": "sha256:e8926edc847864a6cbdcedc8f2c83a4ab589e5fd29e5725bd599d01a96de94f7"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"path": "MultiSelect.md",
|
|
242
|
+
"size": 5923,
|
|
243
|
+
"hash": "sha256:2bf934ef37ddb1a39867fa5167bfc6693477b2dff72b37684446315570e2562e"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"path": "Navigation.md",
|
|
247
|
+
"size": 2626,
|
|
248
|
+
"hash": "sha256:ed38f63fc2728c5de857bcc891807c628103e30b7381e4b4b3e7576980b672e4"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"path": "NavigationSide.md",
|
|
252
|
+
"size": 5005,
|
|
253
|
+
"hash": "sha256:32386fd82517e9d74561b4c05b8a7b0951532fcf1ab80b038fe7bde376b96752"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"path": "NavigationSideGroup.md",
|
|
257
|
+
"size": 2147,
|
|
258
|
+
"hash": "sha256:571d2c42e0ec885f8802780116aba51e44fce27f43faf678eb919a14eed0eacd"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"path": "NavigationSideItem.md",
|
|
262
|
+
"size": 5839,
|
|
263
|
+
"hash": "sha256:a57473d0c207155e48e34e495a9a8b195357442871132c04e3a51b0130044cc9"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"path": "NavigationSideSubItem.md",
|
|
267
|
+
"size": 2350,
|
|
268
|
+
"hash": "sha256:f3da7ff70aac2a0568ff6831efd18bd2849d459f88ba41a76006432a33245b02"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"path": "NavLink.md",
|
|
272
|
+
"size": 2567,
|
|
273
|
+
"hash": "sha256:46d020ef5c1a46874e8fb89df9af5c96b0a2cc9b778fe8d64ceaaa1522df8047"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"path": "NotificationBadge.md",
|
|
277
|
+
"size": 5464,
|
|
278
|
+
"hash": "sha256:47827b5bb9e7d90828087b836fd49dff04cd8bf527188ea8cc343d443efb19db"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"path": "Pagination.md",
|
|
282
|
+
"size": 3968,
|
|
283
|
+
"hash": "sha256:b5c4176f69cfbbcbd4ba771b2e59cd3bf983cb172af52a71965d1a5354393068"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"path": "PaginationComplex.md",
|
|
287
|
+
"size": 4329,
|
|
288
|
+
"hash": "sha256:d52b26a45a311ceae64715bd1cd130396486a276c9d0b84e4da701875b7b692c"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"path": "PaginationSimple.md",
|
|
292
|
+
"size": 3042,
|
|
293
|
+
"hash": "sha256:c61f93baa4c090d8589935e43bb68b831643558e95974355163caf312e4239ff"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"path": "ProductCard.md",
|
|
297
|
+
"size": 2749,
|
|
298
|
+
"hash": "sha256:04adff625369cf595c1e9e751db04af15e6c89e0eb5a275db586b3cc8c4e0f56"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"path": "Quantity.md",
|
|
302
|
+
"size": 4442,
|
|
303
|
+
"hash": "sha256:d2e435403394cee7ccff1f2fae152978238c33e8e1a66868715144cb3dce3e37"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"path": "Radio.md",
|
|
307
|
+
"size": 7161,
|
|
308
|
+
"hash": "sha256:4d1d3f1ca69e4f02b6386d7ee4dc43f108c20c68ca5c73feca0b3b122ad59dba"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"path": "RadioGroup.md",
|
|
312
|
+
"size": 4872,
|
|
313
|
+
"hash": "sha256:762b06f2838a376744ac687b79e2624f96bd1edf25b3cd1530d274cf2e0a29a5"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"path": "Scrim.md",
|
|
317
|
+
"size": 957,
|
|
318
|
+
"hash": "sha256:5fed692a27aad2da728b1accf85d5383956e2b60f419e3cd237a4531faa8e71b"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"path": "SegmentedControl.md",
|
|
322
|
+
"size": 11570,
|
|
323
|
+
"hash": "sha256:3ce094d8e22dd7508af96a0da9a6cd6e4d0082e65755dcef68b52dc1d8b3aaa3"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"path": "Select.md",
|
|
327
|
+
"size": 6032,
|
|
328
|
+
"hash": "sha256:546f35666100ff9e3fc65c9b8a07908e3f73182abca021518f34b6f9b4118e47"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"path": "Sheet.md",
|
|
332
|
+
"size": 2836,
|
|
333
|
+
"hash": "sha256:99f8bab5c3d9ee1b89be6e7cfdb1ab79606900ee4c8418ecb149419a6b15e0b1"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"path": "Skeleton.md",
|
|
337
|
+
"size": 2189,
|
|
338
|
+
"hash": "sha256:f6d653ca65e0e46f4e5536ea1afab92967ffd65eb58b6ec6a444fff1f872f328"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"path": "SKILL.md",
|
|
342
|
+
"size": 13949,
|
|
343
|
+
"hash": "sha256:ea3ea17c6e11456ace3d1890d9cacdadd2eac8f2ff2e6ec4e68e697184928944"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"path": "Spinner.md",
|
|
347
|
+
"size": 2346,
|
|
348
|
+
"hash": "sha256:d9e9bca11b149bf5da817aaaa527e363dad54bddbbf81c2f31347e5db5568fa1"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"path": "StatTile.md",
|
|
352
|
+
"size": 7820,
|
|
353
|
+
"hash": "sha256:e9330341336d46ab38724a17e76548d8cd4081b06b1a483bfea6be642718ea9e"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"path": "Stepper.md",
|
|
357
|
+
"size": 6408,
|
|
358
|
+
"hash": "sha256:f6d1e5918ae89e1ac1c7df11dd0d6eca11f9c39f74cbfc534c8c8cbb43087ac3"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"path": "Switch.md",
|
|
362
|
+
"size": 3278,
|
|
363
|
+
"hash": "sha256:b909ceec7215ccdbda80bf3d9850e68bfd95ea1732c830c20cbc0901dc82a70d"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"path": "Tab.md",
|
|
367
|
+
"size": 3216,
|
|
368
|
+
"hash": "sha256:be8fc417473525c28c8dcb919b733163b0df79a45f96b374bb52b49a89154b0c"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"path": "Table.md",
|
|
372
|
+
"size": 2727,
|
|
373
|
+
"hash": "sha256:bfe8aa99f3cd9ee3bea87f151c5f42f091f93d4dd47006c76e0ed456a18b7af8"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"path": "TabsCompact.md",
|
|
377
|
+
"size": 2988,
|
|
378
|
+
"hash": "sha256:cd47f851b8ae1caa126bd6844127eda961a82938ad61dd68df936e0915661737"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"path": "TabsStretch.md",
|
|
382
|
+
"size": 2605,
|
|
383
|
+
"hash": "sha256:578c5ba9236661e33372b2afea9d16d3fbf47cc051836e01bea59ae27785f52c"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"path": "Text.md",
|
|
387
|
+
"size": 4131,
|
|
388
|
+
"hash": "sha256:4334c44a3abf6cc4ba1bb0f3480b837337b333870f842c2fc0f6f42c1b1cc83a"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"path": "Textarea.md",
|
|
392
|
+
"size": 4478,
|
|
393
|
+
"hash": "sha256:38d0ccca1f1533f74d68ec20d48789103029e2d5f5e0afe6577623470b608ef3"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"path": "Textfield.md",
|
|
397
|
+
"size": 5548,
|
|
398
|
+
"hash": "sha256:5fecf238dc2b82708e514a317d11a0128c2f3d52abe7fb82c48d83ac8ee70944"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"path": "Tooltip.md",
|
|
402
|
+
"size": 2300,
|
|
403
|
+
"hash": "sha256:54e54a65b9191cb9bcb586ced6e918a008b9e8a6787d1ceab42a543a8a7ba001"
|
|
404
|
+
}
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "uxelle-design-harness",
|
|
409
|
+
"description": "The single home for building on-brand, enterprise uxElle experiences: Swiss design principles, the --uxl-* variable foundation (layout spacing, page chrome, color-switcher palettes, radius, elevation, type), first-class mobile responsiveness, WCAG AA, and composition recipes for product and marketing surfaces (app chrome, dashboards, data tables, record detail, settings, multi-step flows, states, landing pages, heroes, pricing, CTAs) across React (@uxelle/components) and A2UI (@uxelle/a2ui). Use when generating pages, apps, forms, layouts, dashboards, marketing/landing pages, greenfield React, or A2UI surfaces, or when writing CSS / inline styles that need --uxl-* tokens.",
|
|
410
|
+
"files": [
|
|
411
|
+
{
|
|
412
|
+
"path": "a2ui.md",
|
|
413
|
+
"size": 3438,
|
|
414
|
+
"hash": "sha256:79acf8d1fb2df2dd82bf979f05807c4d2d0f75b4fafd94e32b31a103bdac86f4"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"path": "how-to-accessibility.md",
|
|
418
|
+
"size": 3160,
|
|
419
|
+
"hash": "sha256:d84f9acbb4f9e55420f355acaeabca61533f5febc8d0ec688a4c9072b95ae501"
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"path": "how-to-color.md",
|
|
423
|
+
"size": 3724,
|
|
424
|
+
"hash": "sha256:de6a183f582582cf43f4eb901706dca062f36b8d27601fc442c8ada4f56d2bf8"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"path": "how-to-host.md",
|
|
428
|
+
"size": 3080,
|
|
429
|
+
"hash": "sha256:b3cbd747f0913075e0db35747dc47e088b291bcf7a128a14648b6bf5c12e7009"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"path": "how-to-page-layout.md",
|
|
433
|
+
"size": 8414,
|
|
434
|
+
"hash": "sha256:9f6eb01b3a160d0ef6bc809fa416d2134869b3da31c3cc95039e906798454603"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"path": "principles.md",
|
|
438
|
+
"size": 4174,
|
|
439
|
+
"hash": "sha256:1d1a83cf5af7a32e4758cf1c7cd3da54f711ff6aae15dd12a8c1ad4a554c9fbe"
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"path": "recipe-app-chrome.md",
|
|
443
|
+
"size": 9152,
|
|
444
|
+
"hash": "sha256:8d42d4fba9c8df38a72394a2512c584ad271855edf58013116f598c232d6b777"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"path": "recipe-card-grid.md",
|
|
448
|
+
"size": 3411,
|
|
449
|
+
"hash": "sha256:1ceb77d6de97f560b34c2de166142fc78fb3eb7c81e9af40262f59c2c1ceeffd"
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"path": "recipe-cta-band.md",
|
|
453
|
+
"size": 3033,
|
|
454
|
+
"hash": "sha256:5d3973dc04c2cffd8beeb2c1e0c8f20eaefe9c047f090e70b6e01641cc84eb1a"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"path": "recipe-dashboard-overview.md",
|
|
458
|
+
"size": 4004,
|
|
459
|
+
"hash": "sha256:ab2e8a60dc61444564eb352a35d2a9a2be152e8b493d898e0f0aadbd87676d6e"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"path": "recipe-data-table-page.md",
|
|
463
|
+
"size": 14766,
|
|
464
|
+
"hash": "sha256:45dfcc1ef9ba681715e9a1b34e7e691870966d09f9851d5d416f6753c389bf55"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"path": "recipe-feature-section.md",
|
|
468
|
+
"size": 3239,
|
|
469
|
+
"hash": "sha256:8f77b15b331599bb384c02567fee0b2215691c69a76d364c29580b0930de1a7b"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"path": "recipe-footer.md",
|
|
473
|
+
"size": 7107,
|
|
474
|
+
"hash": "sha256:534369d865b44b752c51cc60d0c141c9e8f476ac59462e7d2013c5c0dc8dab9b"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"path": "recipe-form-section.md",
|
|
478
|
+
"size": 8676,
|
|
479
|
+
"hash": "sha256:ef5c72a29137302c7c939c666574c639abe3f737d32eccc6e8218e13bd4cbbf1"
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"path": "recipe-hero.md",
|
|
483
|
+
"size": 3138,
|
|
484
|
+
"hash": "sha256:a3276a485257f8ba745482b75d9ca368812918d6f6a3e9dc351c2ddedffcc817"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"path": "recipe-landing-page.md",
|
|
488
|
+
"size": 3513,
|
|
489
|
+
"hash": "sha256:fdab8439e7a21ba901cc86c577092f9765a33d822044b66384b4c02c473a18cf"
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"path": "recipe-logo-wall.md",
|
|
493
|
+
"size": 2702,
|
|
494
|
+
"hash": "sha256:d9ffed408a5dd0adeab19bc425413432db143fc12c2b58b73b49c31b5c608c40"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"path": "recipe-multi-step-flow.md",
|
|
498
|
+
"size": 3712,
|
|
499
|
+
"hash": "sha256:4921735a867d6635bc7a0152e2045fbcffb94b5ba047004fbbd5720e46080077"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"path": "recipe-page-header.md",
|
|
503
|
+
"size": 3483,
|
|
504
|
+
"hash": "sha256:83728fd741f2518ef97d927ea5bb33969b1609a1fca38ceb836ed733178cb42f"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"path": "recipe-page-shell.md",
|
|
508
|
+
"size": 3537,
|
|
509
|
+
"hash": "sha256:1392b86cafabeeb375b62d791804f8d4012345a72716cac6f80824253beb842e"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"path": "recipe-pricing.md",
|
|
513
|
+
"size": 3106,
|
|
514
|
+
"hash": "sha256:babee8bad4e2a8ddaf3baf5fbbddf82914a2f910be0c52e2b4df2e191407a084"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"path": "recipe-query-bar.md",
|
|
518
|
+
"size": 4024,
|
|
519
|
+
"hash": "sha256:caeb50b6bf583bc55963fa225677d9adb0701db7e705219f380490e450767739"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"path": "recipe-record-detail.md",
|
|
523
|
+
"size": 3249,
|
|
524
|
+
"hash": "sha256:8322cff9a5a1b344e10b7e63f25297d5cdfe58e21b6d53419910ef75acb2ef53"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"path": "recipe-settings-page.md",
|
|
528
|
+
"size": 7978,
|
|
529
|
+
"hash": "sha256:837984d7079f0334b5c3f12a7490f7febdca050ecb4ec675284f4e17259a7ec4"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"path": "recipe-stat-callouts.md",
|
|
533
|
+
"size": 3684,
|
|
534
|
+
"hash": "sha256:b0f0c70364f797265413b40b741e349f1e88429bf3e1bd9fc9c020cce37730ee"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"path": "recipe-states.md",
|
|
538
|
+
"size": 3684,
|
|
539
|
+
"hash": "sha256:9d25de854ed1ea06a74412aa26f3e238d559977075aa02877ef17f2a398b8605"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"path": "recipe-summary-list.md",
|
|
543
|
+
"size": 2808,
|
|
544
|
+
"hash": "sha256:c3ee287cdac7986994d53041cf2d6cf461018d039dca6224bd01e01275ef3b9a"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"path": "recipe-template.md",
|
|
548
|
+
"size": 3268,
|
|
549
|
+
"hash": "sha256:9117d2cfccb0c1d33ebb05272b7fac5d98f92570f44dff06b0072e7a72a1d45e"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"path": "recipe-testimonial.md",
|
|
553
|
+
"size": 2324,
|
|
554
|
+
"hash": "sha256:ee43cacccda063d1843759d117153e5ae658d2a0f0130c504e3d62dabedc9171"
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"path": "SKILL.md",
|
|
558
|
+
"size": 9065,
|
|
559
|
+
"hash": "sha256:e9b12497656c5258cb88968548689a8e4a960b701861012c853c0b969dc946d4"
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"path": "spacing-steps.md",
|
|
563
|
+
"size": 2379,
|
|
564
|
+
"hash": "sha256:f2b089b1575994f2f15b6220e76436e475c45c57efa6951aecbf497fa31bdb81"
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"path": "tokens.md",
|
|
568
|
+
"size": 4547,
|
|
569
|
+
"hash": "sha256:de72dee7c0334a6dc074f02223e5142a53742c8889baac4402a18d3d74a5bba3"
|
|
570
|
+
}
|
|
571
|
+
]
|
|
572
|
+
}
|
|
573
|
+
]
|
|
574
|
+
};
|
|
575
|
+
|
|
576
|
+
// src/index.ts
|
|
577
|
+
var SKILLS = manifest;
|
|
578
|
+
var SKILL_NAMES = SKILLS.skills.map((skill) => skill.name);
|
|
579
|
+
function skillFileSpecifier(skill, relativePath) {
|
|
580
|
+
return `@uxelle/skills/skills/${skill}/${relativePath}`;
|
|
581
|
+
}
|
|
582
|
+
export {
|
|
583
|
+
SKILLS,
|
|
584
|
+
SKILL_NAMES,
|
|
585
|
+
skillFileSpecifier
|
|
586
|
+
};
|