@volue/wave-cli 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/README.md +61 -0
- package/dist/index.js +44 -0
- package/package.json +55 -0
package/CHANGELOG.md
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# @volue/wave-cli
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> Experimental. Feedback welcome.
|
|
5
|
+
|
|
6
|
+
A simple CLI and Claude Code plugin for working with Wave Design System.
|
|
7
|
+
|
|
8
|
+
## CLI Usage
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @volue/wave-cli <command>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Commands
|
|
15
|
+
|
|
16
|
+
**Icons** - List, search, and get icon details:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx @volue/wave-cli icons list
|
|
20
|
+
npx @volue/wave-cli icons search arrow
|
|
21
|
+
npx @volue/wave-cli icons get ArrowRight
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Tokens** - List design tokens by category:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx @volue/wave-cli tokens
|
|
28
|
+
npx @volue/wave-cli tokens colors
|
|
29
|
+
npx @volue/wave-cli tokens space --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Media** - List responsive breakpoints:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx @volue/wave-cli media
|
|
36
|
+
npx @volue/wave-cli media --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Claude Code Plugin
|
|
40
|
+
|
|
41
|
+
This package also serves as a Claude Code plugin with skills and agents for AI-assisted development.
|
|
42
|
+
|
|
43
|
+
### Installation
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Add marketplace
|
|
47
|
+
/plugin marketplace add volue/wave
|
|
48
|
+
|
|
49
|
+
# Install plugin
|
|
50
|
+
/plugin install wave@wave-marketplace
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Skills
|
|
54
|
+
|
|
55
|
+
- `wave-docs` - Wave documentation lookup
|
|
56
|
+
- `wave-icons` - Icon lookup and usage guidance
|
|
57
|
+
- `wave-styling` - Styling APIs and design token usage
|
|
58
|
+
|
|
59
|
+
### Agents
|
|
60
|
+
|
|
61
|
+
- `wave-docs-explorer` - Explore and search Wave documentation
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var x=Object.defineProperty;var a=(o,n)=>x(o,"name",{value:n,configurable:!0});import{command as f,cli as A}from"cleye";import*as I from"@volue/design-icons";import*as k from"@volue/design-media-queries";var y="0.0.0",P={version:y};function d(o){return JSON.stringify(o,null,2)}a(d,"formatJson");function b(o){return o.map(n=>`- ${n}`).join(`
|
|
3
|
+
`)}a(b,"formatList");const L=f({name:"icons",parameters:["[action]","[query]"],flags:{json:{type:Boolean,description:"Output as JSON"}},help:{description:"List and search Wave Design System icons",examples:["wave-cli icons list","wave-cli icons search arrow","wave-cli icons get ArrowRight"]}},o=>{const n=o._.action??"list",e=o._.query,c=o.flags.json??!1;switch(n){case"list":{const t=u().map(r=>r.name);console.log(c?d(t):b(t));return}case"search":{e||(console.error("Usage: wave-cli icons search <term>"),process.exit(1));const r=z(u(),e).map(g=>g.name);r.length===0?console.log(`No icons found matching "${e}"`):console.log(c?d(r):b(r));return}case"get":{e||(console.error("Usage: wave-cli icons get <name>"),process.exit(1));const t=R(u(),e);t||(console.error(`Icon "${e}" not found`),process.exit(1)),G(t,c);return}}console.error(`Unknown action: ${n}. Use: list, search, get`),process.exit(1)});function u(){return Object.entries(I).map(([o,n])=>({name:o,svg:n}))}a(u,"listIcons");function R(o,n){const e=n.trim().toLowerCase();return o.find(c=>c.name.toLowerCase()===e)}a(R,"findIconByName");function z(o,n){const e=n.trim().toLowerCase();return o.filter(c=>c.name.toLowerCase().includes(e))}a(z,"searchIcons");function G(o,n){if(n){console.log(d({name:o.name,svg:o.svg,react:`<SvgIcon iconName="${o.name}" />`,html:`<div class="svgIcon svgIcon--stroked">
|
|
4
|
+
<svg focusable="false" aria-hidden="true">
|
|
5
|
+
<use xlink:href="#svg--${o.name}"></use>
|
|
6
|
+
</svg>
|
|
7
|
+
</div>`}));return}console.log(`# ${o.name}
|
|
8
|
+
|
|
9
|
+
## React component:
|
|
10
|
+
|
|
11
|
+
\`\`\`tsx
|
|
12
|
+
<SvgIcon iconName="${o.name}" />
|
|
13
|
+
\`\`\`
|
|
14
|
+
|
|
15
|
+
## HTML markup:
|
|
16
|
+
|
|
17
|
+
\`\`\`html
|
|
18
|
+
<div class="svgIcon svgIcon--stroked">
|
|
19
|
+
<svg focusable="false" aria-hidden="true">
|
|
20
|
+
<use xlink:href="#svg--${o.name}"></use>
|
|
21
|
+
</svg>
|
|
22
|
+
</div>
|
|
23
|
+
\`\`\`
|
|
24
|
+
|
|
25
|
+
## Raw SVG:
|
|
26
|
+
|
|
27
|
+
\`\`\`svg
|
|
28
|
+
${o.svg}
|
|
29
|
+
\`\`\``)}a(G,"printIconDetails");const O=f({name:"media",flags:{json:{type:Boolean,description:"Output as JSON"}},help:{description:"List media query breakpoints for responsive styling",examples:["wave-cli media","wave-cli media --json"]}},o=>{const{json:n}=o.flags;if(n){console.log(d(k));return}console.log(b(Object.entries(k).map(([e,c])=>`@${String(e)}: ${c}`)))});function s(){return s=Object.assign?Object.assign.bind():function(o){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var c in e)({}).hasOwnProperty.call(e,c)&&(o[c]=e[c])}return o},s.apply(null,arguments)}a(s,"_extends");const T="#ffffff",M="#f9fafb",W="#f3f5f6",N="#e6ebec",C="#c2cdd0",H="#9dafb3",$="#789297",j="#53747b",E="#2f565e",q="#223f44",_="#1c353a",U="#082d35",J="#f8fbfc",F="#f3f8f9",V="#e8f1f3",X="#c4dbe0",Y="#a8cbd3",K="#7eb0bc",Q="#5b9ba9",Z="#388597",oo="#157084",no="#11596a",eo="#0c4957",co="#f0fcff",ao="#e1f9ff",to="#d0f6ff",ro="#bff3ff",so="#9aecff",lo="#00cceb",io="#00a7c2",go="#008299",fo="#006c80",bo="#005766",uo="#eeffef",mo="#dbffdf",po="#c6ffcd",ko="#b0ffbb",vo="#7dfd95",So="#31d962",ho="#1eb84f",Bo="#1d873c",Do="#187233",wo="#125426",xo="#fff9ed",Ao="#fff2da",Io="#ffecc8",yo="#ffdd99",Po="#ffd787",Lo="#ffcd61",Ro="#ffb900",zo="#dc9f00",Go="#b17600",Oo="#805400",To="#fff7f8",Mo="#ffeff0",Wo="#ffdbde",No="#ffbfc1",Co="#ffadb1",Ho="#ff7d89",$o="#ff3b3d",jo="#df001f",Eo="#b20016",qo="#9d0012",_o="#f7e6e8",Uo="#ecc7c9",Jo="#e6a1a5",Fo="#eb7072",Vo="#bb3a42",Xo="#faebdc",Yo="#f5caa3",Ko="#eda35e",Qo="#e57b1a",Zo="#a4540a",on="#f4edde",nn="#e8cf96",en="#d8b155",cn="#b89749",an="#7f672e",tn="#fcfcdb",rn="#e8e54c",sn="#cbc920",dn="#afad07",ln="#767605",gn="#f1fcdc",fn="#cbed7a",bn="#a7d441",un="#84ba12",mn="#587d0c",pn="#dff5e1",kn="#ade2b0",vn="#76ce7a",Sn="#3fb845",hn="#2a792e",Bn="#dcf4ef",Dn="#a7dfd6",wn="#6fc9ba",xn="#3ab19e",An="#25796b",In="#e3f1f6",yn="#b1dae4",Pn="#7ac4d3",Ln="#42abc2",Rn="#297585",zn="#e6eff7",Gn="#bfd5e9",On="#93bbdf",Tn="#60a1df",Mn="#346da2",Wn="#ecedf9",Nn="#cccfee",Cn="#aab2e9",Hn="#7f94f2",$n="#4b5cdd",jn="#f4eaf8",En="#e2c6ec",qn="#d2a1e3",_n="#c574e4",Un="#9e3dc2",Jn="#f8e9f2",Fn="#ebc5de",Vn="#e29dc9",Xn="#e26ab5",Yn="#b53b8c",Kn="#ffffff",Qn="#f9fafb",Zn="#f3f5f6",oe="#e6ebec",ne="#53747b",ee="#223f44",ce="#082d35",ae="#f8fbfc",te="#f3f8f9",re="#e8f1f3",se="#f3f8f9",de="#e8f1f3",le="#c4dbe0",ie="#e8f1f3",ge="#c4dbe0",fe="#a8cbd3",be="#5b9ba9",ue="#388597",me="#157084",pe="#157084",ke="#11596a",ve="#0c4957",Se="#fff7f8",he="#ffeff0",Be="#ffdbde",De="#ffeff0",we="#ffdbde",xe="#ffbfc1",Ae="#ff3b3d",Ie="#df001f",ye="#b20016",Pe="#df001f",Le="#b20016",Re="#9d0012",ze="#fff9ed",Ge="#fff2da",Oe="#ffecc8",Te="#fff2da",Me="#ffecc8",We="#ffdd99",Ne="#ffb900",Ce="#dc9f00",He="#b17600",$e="#dc9f00",je="#b17600",Ee="#805400",qe="#eeffef",_e="#dbffdf",Ue="#c6ffcd",Je="#dbffdf",Fe="#c6ffcd",Ve="#b0ffbb",Xe="#1eb84f",Ye="#1d873c",Ke="#187233",Qe="#1d873c",Ze="#187233",oc="#125426",nc="#f0fcff",ec="#e1f9ff",cc="#d0f6ff",ac="#e1f9ff",tc="#d0f6ff",rc="#bff3ff",sc="#00a7c2",dc="#008299",lc="#006c80",ic="#008299",gc="#006c80",fc="#005766",bc="#e6ebec",uc="#f3f5f6",mc="#082d35",pc="#223f44",kc="#53747b",vc="#9dafb3",Sc="#0c4957",hc="#157084",Bc="#388597",Dc="#9d0012",wc="#b20016",xc="#ff3b3d",Ac="#805400",Ic="#b17600",yc="#ffb900",Pc="#082d35",Lc="#125426",Rc="#187233",zc="#1eb84f",Gc="#005766",Oc="#006c80",Tc="#00a7c2",Mc="#9dafb3",Wc="#c2cdd0",Nc="#ffffff",Cc="#e6ebec",Hc="#c2cdd0",$c="#9dafb3",jc="#2f565e",Ec="#082d35",qc="#c4dbe0",_c="#a8cbd3",Uc="#7eb0bc",Jc="#5b9ba9",Fc="#388597",Vc="#11596a",Xc="#ffbfc1",Yc="#df001f",Kc="#b20016",Qc="#ffd787",Zc="#dc9f00",oa="#b17600",na="#7dfd95",ea="#1d873c",ca="#187233",aa="#9aecff",ta="#008299",ra="#006c80",sa="#e6ebec",da="#f3f5f6",la="rgba(255, 255, 255, 0.85)",ia="255, 255, 255",ga="230, 235, 236",fa="83, 116, 123",ba="34, 63, 68",ua="232, 241, 243",ma="91, 155, 169",pa="21, 112, 132",ka="255, 239, 240",va="255, 59, 61",Sa="223, 0, 31",ha="255, 242, 218",Ba="255, 185, 0",Da="220, 159, 0",wa="219, 255, 223",xa="30, 184, 79",Aa="29, 135, 60",Ia="225, 249, 255",ya="0, 167, 194",Pa="0, 130, 153",La="220, 244, 239",Ra="167, 223, 214",za="111, 201, 186",Ga="58, 177, 158",Oa="37, 121, 107",Ta="244, 234, 248",Ma="226, 198, 236",Wa="210, 161, 227",Na="197, 116, 228",Ca="158, 61, 194",Ha="248, 233, 242",$a="235, 197, 222",ja="226, 157, 201",Ea="226, 106, 181",qa="181, 59, 140",_a="227, 241, 246",Ua="177, 218, 228",Ja="122, 196, 211",Fa="66, 171, 194",Va="41, 117, 133",Xa="230, 239, 247",Ya="191, 213, 233",Ka="147, 187, 223",Qa="96, 161, 223",Za="52, 109, 162",ot="236, 237, 249",nt="204, 207, 238",et="170, 178, 233",ct="127, 148, 242",at="75, 92, 221",tt="223, 245, 225",rt="173, 226, 176",st="118, 206, 122",dt="63, 184, 69",lt="42, 121, 46",it="241, 252, 220",gt="203, 237, 122",ft="167, 212, 65",bt="132, 186, 18",ut="88, 125, 12",mt="250, 235, 220",pt="245, 202, 163",kt="237, 163, 94",vt="229, 123, 26",St="164, 84, 10",ht="252, 252, 219",Bt="232, 229, 76",Dt="203, 201, 32",wt="175, 173, 7",xt="118, 118, 5",At="244, 237, 222",It="232, 207, 150",yt="216, 177, 85",Pt="184, 151, 73",Lt="127, 103, 46",Rt="247, 230, 232",zt="236, 199, 201",Gt="230, 161, 165",Ot="235, 112, 114",Tt="187, 58, 66",Mt={colorWhite:T,colorGray0:M,colorGray5:W,colorGray10:N,colorGray20:C,colorGray30:H,colorGray40:$,colorGray60:j,colorGray70:E,colorGray80:q,colorGray90:_,colorGray100:U,colorAccent0:J,colorAccent5:F,colorAccent10:V,colorAccent20:X,colorAccent30:Y,colorAccent40:K,colorAccent60:Q,colorAccent70:Z,colorAccent80:oo,colorAccent90:no,colorAccent100:eo,colorBlue5:co,colorBlue10:ao,colorBlue20:to,colorBlue30:ro,colorBlue40:so,colorBlue60:lo,colorBlue70:io,colorBlue80:go,colorBlue90:fo,colorBlue100:bo,colorGreen5:uo,colorGreen10:mo,colorGreen20:po,colorGreen30:ko,colorGreen40:vo,colorGreen60:So,colorGreen70:ho,colorGreen80:Bo,colorGreen90:Do,colorGreen100:wo,colorOrange5:xo,colorOrange10:Ao,colorOrange20:Io,colorOrange30:yo,colorOrange40:Po,colorOrange60:Lo,colorOrange70:Ro,colorOrange80:zo,colorOrange90:Go,colorOrange100:Oo,colorRed5:To,colorRed10:Mo,colorRed20:Wo,colorRed30:No,colorRed40:Co,colorRed60:Ho,colorRed70:$o,colorRed80:jo,colorRed90:Eo,colorRed100:qo},Wt={dataRed20:_o,dataRed40:Uo,dataRed60:Jo,dataRed80:Fo,dataRed100:Vo,dataOrange20:Xo,dataOrange40:Yo,dataOrange60:Ko,dataOrange80:Qo,dataOrange100:Zo,dataBrown20:on,dataBrown40:nn,dataBrown60:en,dataBrown80:cn,dataBrown100:an,dataPear20:tn,dataPear40:rn,dataPear60:sn,dataPear80:dn,dataPear100:ln,dataLime20:gn,dataLime40:fn,dataLime60:bn,dataLime80:un,dataLime100:mn,dataGreen20:pn,dataGreen40:kn,dataGreen60:vn,dataGreen80:Sn,dataGreen100:hn,dataTeal20:Bn,dataTeal40:Dn,dataTeal60:wn,dataTeal80:xn,dataTeal100:An,dataAqua20:In,dataAqua40:yn,dataAqua60:Pn,dataAqua80:Ln,dataAqua100:Rn,dataBlue20:zn,dataBlue40:Gn,dataBlue60:On,dataBlue80:Tn,dataBlue100:Mn,dataLazuli20:Wn,dataLazuli40:Nn,dataLazuli60:Cn,dataLazuli80:Hn,dataLazuli100:$n,dataPurple20:jn,dataPurple40:En,dataPurple60:qn,dataPurple80:_n,dataPurple100:Un,dataPink20:Jn,dataPink40:Fn,dataPink60:Vn,dataPink80:Xn,dataPink100:Yn},Nt={backgroundNeutralMinimal:Kn,backgroundNeutralSubtle:Qn,backgroundNeutralModerate:Zn,backgroundNeutral:oe,backgroundNeutralBold:ne,backgroundNeutralStrong:ee,backgroundNeutralContrast:ce,backgroundAccentMinimal:ae,backgroundAccentMinimalHover:te,backgroundAccentMinimalActive:re,backgroundAccentSubtle:se,backgroundAccentSubtleHover:de,backgroundAccentSubtleActive:le,backgroundAccent:ie,backgroundAccentHover:ge,backgroundAccentActive:fe,backgroundAccentBold:be,backgroundAccentBoldHover:ue,backgroundAccentBoldActive:me,backgroundAccentStrong:pe,backgroundAccentStrongHover:ke,backgroundAccentStrongActive:ve,backgroundDangerSubtle:Se,backgroundDangerSubtleHover:he,backgroundDangerSubtleActive:Be,backgroundDanger:De,backgroundDangerHover:we,backgroundDangerActive:xe,backgroundDangerBold:Ae,backgroundDangerBoldHover:Ie,backgroundDangerBoldActive:ye,backgroundDangerStrong:Pe,backgroundDangerStrongHover:Le,backgroundDangerStrongActive:Re,backgroundWarningSubtle:ze,backgroundWarningSubtleHover:Ge,backgroundWarningSubtleActive:Oe,backgroundWarning:Te,backgroundWarningHover:Me,backgroundWarningActive:We,backgroundWarningBold:Ne,backgroundWarningBoldHover:Ce,backgroundWarningBoldActive:He,backgroundWarningStrong:$e,backgroundWarningStrongHover:je,backgroundWarningStrongActive:Ee,backgroundSuccessSubtle:qe,backgroundSuccessSubtleHover:_e,backgroundSuccessSubtleActive:Ue,backgroundSuccess:Je,backgroundSuccessHover:Fe,backgroundSuccessActive:Ve,backgroundSuccessBold:Xe,backgroundSuccessBoldHover:Ye,backgroundSuccessBoldActive:Ke,backgroundSuccessStrong:Qe,backgroundSuccessStrongHover:Ze,backgroundSuccessStrongActive:oc,backgroundInfoSubtle:nc,backgroundInfoSubtleHover:ec,backgroundInfoSubtleActive:cc,backgroundInfo:ac,backgroundInfoHover:tc,backgroundInfoActive:rc,backgroundInfoBold:sc,backgroundInfoBoldHover:dc,backgroundInfoBoldActive:lc,backgroundInfoStrong:ic,backgroundInfoStrongHover:gc,backgroundInfoStrongActive:fc,backgroundDisabled:bc,backgroundDisabledSubtle:uc},Ct={foregroundNeutral:mc,foregroundNeutralModerate:pc,foregroundNeutralSubtle:kc,foregroundNeutralMinimal:vc,foregroundAccent:Sc,foregroundAccentModerate:hc,foregroundAccentSubtle:Bc,foregroundDanger:Dc,foregroundDangerModerate:wc,foregroundDangerSubtle:xc,foregroundWarning:Ac,foregroundWarningModerate:Ic,foregroundWarningSubtle:yc,foregroundWarningInverse:Pc,foregroundSuccess:Lc,foregroundSuccessModerate:Rc,foregroundSuccessSubtle:zc,foregroundInfo:Gc,foregroundInfoModerate:Oc,foregroundInfoSubtle:Tc,foregroundDisabled:Mc,foregroundDisabledSubtle:Wc,foregroundInverse:Nc},Ht={borderNeutralSubtle:Cc,borderNeutralModerate:Hc,borderNeutral:$c,borderNeutralBold:jc,borderNeutralContrast:Ec,borderAccentModerate:qc,borderAccent:_c,borderAccentHover:Uc,borderAccentActive:Jc,borderAccentBold:Fc,borderAccentStrong:Vc,borderDanger:Xc,borderDangerBold:Yc,borderDangerStrong:Kc,borderWarning:Qc,borderWarningBold:Zc,borderWarningStrong:oa,borderSuccess:na,borderSuccessBold:ea,borderSuccessStrong:ca,borderInfo:aa,borderInfoBold:ta,borderInfoStrong:ra,borderDisabled:sa,borderDisabledSubtle:da,borderInverse:la},$t={rgbBackgroundNeutralMinimal:ia,rgbBackgroundNeutral:ga,rgbBackgroundNeutralBold:fa,rgbBackgroundNeutralStrong:ba,rgbBackgroundAccent:ua,rgbBackgroundAccentBold:ma,rgbBackgroundAccentStrong:pa,rgbBackgroundDanger:ka,rgbBackgroundDangerBold:va,rgbBackgroundDangerStrong:Sa,rgbBackgroundWarning:ha,rgbBackgroundWarningBold:Ba,rgbBackgroundWarningStrong:Da,rgbBackgroundSuccess:wa,rgbBackgroundSuccessBold:xa,rgbBackgroundSuccessStrong:Aa,rgbBackgroundInfo:Ia,rgbBackgroundInfoBold:ya,rgbBackgroundInfoStrong:Pa,rgbDataTeal20:La,rgbDataTeal40:Ra,rgbDataTeal60:za,rgbDataTeal80:Ga,rgbDataTeal100:Oa,rgbDataPurple20:Ta,rgbDataPurple40:Ma,rgbDataPurple60:Wa,rgbDataPurple80:Na,rgbDataPurple100:Ca,rgbDataPink20:Ha,rgbDataPink40:$a,rgbDataPink60:ja,rgbDataPink80:Ea,rgbDataPink100:qa,rgbDataAqua20:_a,rgbDataAqua40:Ua,rgbDataAqua60:Ja,rgbDataAqua80:Fa,rgbDataAqua100:Va,rgbDataBlue20:Xa,rgbDataBlue40:Ya,rgbDataBlue60:Ka,rgbDataBlue80:Qa,rgbDataBlue100:Za,rgbDataLazuli20:ot,rgbDataLazuli40:nt,rgbDataLazuli60:et,rgbDataLazuli80:ct,rgbDataLazuli100:at,rgbDataGreen20:tt,rgbDataGreen40:rt,rgbDataGreen60:st,rgbDataGreen80:dt,rgbDataGreen100:lt,rgbDataLime20:it,rgbDataLime40:gt,rgbDataLime60:ft,rgbDataLime80:bt,rgbDataLime100:ut,rgbDataOrange20:mt,rgbDataOrange40:pt,rgbDataOrange60:kt,rgbDataOrange80:vt,rgbDataOrange100:St,rgbDataPear20:ht,rgbDataPear40:Bt,rgbDataPear60:Dt,rgbDataPear80:wt,rgbDataPear100:xt,rgbDataBrown20:At,rgbDataBrown40:It,rgbDataBrown60:yt,rgbDataBrown80:Pt,rgbDataBrown100:Lt,rgbDataRed20:Rt,rgbDataRed40:zt,rgbDataRed60:Gt,rgbDataRed80:Ot,rgbDataRed100:Tt},jt="0 1px 2.5px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.08)), 0 3px 9px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.048))",Et="0 0.4px 2.2px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.022)), 0 1.4px 5px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.04)), 0 5px 14px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.06))",qt="0 0.3px 2px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.015)), 0 1.5px 8px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.024)), 0 4px 16px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.04)), 0 8px 24px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.07))",_t="0 0.7px 2px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.015)), 0 1.6px 8px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.024)), 0 3.3px 16px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.034)), 0 5px 26px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.06)), 0 12px 42px hsla(var(--shadow-color, 191, 74%, 6%), calc(var(--shadow-intensity, 1) * 0.08))";var Ut=Object.freeze({__proto__:null,elevationL:_t,elevationM:qt,elevationS:Et,elevationXs:jt}),i={base:{2:"0.125rem",4:"0.25rem",6:"0.375rem",8:"0.5rem",12:"0.75rem",14:"0.875rem",16:"1rem",20:"1.25rem",24:"1.5rem",28:"1.75rem",32:"2rem",36:"2.25rem",40:"2.5rem",44:"2.75rem",48:"3rem",64:"4rem",72:"4.5rem",80:"5rem",96:"6rem",112:"7rem",128:"8rem"},borderRadius:{xs:"0.25rem",s:"0.375rem",m:"0.5rem",l:"0.75rem",xl:"1rem",full:"100vh"},spacing:{xs:"0.25rem",s:"0.5rem",m:"1rem",l:"1.5rem",xl:"2rem",xxl:"3rem",xxxl:"4.5rem"}},l={font:{family:{base:"'Source Sans Pro', system-ui, -apple-system, 'Segoe UI'",display:"'FK Display', 'Source Sans Pro', system-ui, -apple-system, 'Segoe UI', sans-serif",mono:"ui-monospace, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace"},weight:{normal:"400",semibold:"600"}},size:{font:{base:"16px",eta:"12px",zeta:"14px",epsilon:"16px",delta:"19px",gamma:"21px",beta:"28px",alpha:"38px",giga:"51px"},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"normal",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",body:"1.5",base:"1.5rem",small:"1.25rem",xSmall:"1.125rem",zeta:"1.714286",epsilon:"1.5",delta:"1.263158",gamma:"1.52381",beta:"1.714286",alpha:"1.263158",giga:"1.411765"}}};function Jt(o){return o.charAt(0).toUpperCase()+o.slice(1)}a(Jt,"capitalizeFirstLetter");var v=Object.keys(i.spacing).reduce(function(o,n){var e;return s({},o,(e={},e["spacing"+Jt(n)]=i.spacing[n],e))},{}),m={colors:s({},Mt,Wt,Nt,Ct,Ht,$t),space:v,zIndices:{auto:"auto",0:"0",1:"100",2:"200",3:"300",4:"400",5:"500",9:"900"},fonts:l.font.family,fontWeights:l.font.weight,fontSizes:l.size.font,lineHeights:l.size.lineHeight,letterSpacings:l.size.letterSpacing,sizes:s({},i.base,{measureNarrow:"30ch",measureMedium:"60ch",measureWide:"90ch",containerNarrow:"32rem",containerMedium:"48rem",containerWide:"74rem"}),radii:s({},i.borderRadius,v),shadows:s({},Ut,{lift:"0 10px 20px -5px rgba(0, 0, 0, 0.15)"})};const p=Object.keys(m),S={colors:"Background, border, text, and fill colors",fonts:"Font family definitions",fontSizes:"Typography scale sizes",fontWeights:"Font weight values",lineHeights:"Line height values",letterSpacings:"Letter spacing values",radii:"Border radius values",sizes:"Width, height, and flex sizing",space:"Margins, padding, and gaps",zIndices:"Z-index layering values",shadows:"Box and text shadow definitions"},h={colors:["background","backgroundColor","backgroundImage","border","borderBlock","borderBlockEnd","borderBlockStart","borderBottom","borderBottomColor","borderColor","borderInline","borderInlineEnd","borderInlineStart","borderLeft","borderLeftColor","borderRight","borderRightColor","borderTop","borderTopColor","caretColor","color","columnRuleColor","fill","outlineColor","stroke","textDecorationColor"],fonts:["fontFamily"],fontSizes:["fontSize"],fontWeights:["fontWeight"],lineHeights:["lineHeight"],letterSpacings:["letterSpacing"],radii:["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],sizes:["blockSize","minBlockSize","maxBlockSize","inlineSize","minInlineSize","maxInlineSize","width","minWidth","maxWidth","height","minHeight","maxHeight","flexBasis","gridTemplateColumns","gridTemplateRows"],space:["gap","gridGap","columnGap","gridColumnGap","rowGap","gridRowGap","inset","insetBlock","insetBlockEnd","insetBlockStart","insetInline","insetInlineEnd","insetInlineStart","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockEnd","marginBlockStart","marginInline","marginInlineEnd","marginInlineStart","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockEnd","paddingBlockStart","paddingInline","paddingInlineEnd","paddingInlineStart","top","right","bottom","left","scrollMargin","scrollMarginTop","scrollMarginRight","scrollMarginBottom","scrollMarginLeft","scrollMarginX","scrollMarginY","scrollMarginBlock","scrollMarginBlockEnd","scrollMarginBlockStart","scrollMarginInline","scrollMarginInlineEnd","scrollMarginInlineStart","scrollPadding","scrollPaddingTop","scrollPaddingRight","scrollPaddingBottom","scrollPaddingLeft","scrollPaddingX","scrollPaddingY","scrollPaddingBlock","scrollPaddingBlockEnd","scrollPaddingBlockStart","scrollPaddingInline","scrollPaddingInlineEnd","scrollPaddingInlineStart"],zIndices:["zIndex"],shadows:["boxShadow","textShadow"]},Ft=f({name:"tokens",parameters:["[category]"],flags:{json:{type:Boolean,description:"Output as JSON"},mappings:{type:Boolean,description:"Include CSS property name mappings"}},help:{description:`List Wave Design System design tokens
|
|
30
|
+
|
|
31
|
+
Categories:
|
|
32
|
+
${p.map(o=>` ${o.padEnd(15)} ${S[o]}`).join(`
|
|
33
|
+
`)}`,examples:["wave-cli tokens","wave-cli tokens colors","wave-cli tokens space --mappings"]}},o=>{const{category:n}=o._,{json:e,mappings:c}=o.flags;if(!n){w({title:"Wave Design Tokens",tokens:B(),tokenMappings:c?D():void 0,json:e});return}Vt(n)||(console.error(`Invalid category "${n}".
|
|
34
|
+
|
|
35
|
+
Valid categories:
|
|
36
|
+
${p.map(t=>` ${t.padEnd(15)} ${S[t]}`).join(`
|
|
37
|
+
`)}`),process.exit(1)),w({title:`Wave Design Tokens - ${n}`,tokens:B(n),tokenMappings:c?D(n):void 0,json:e})});function Vt(o){return p.includes(o)}a(Vt,"isValidCategory");function B(o){return o?m[o]:m}a(B,"getTokens");function D(o){return o?h[o]:h}a(D,"getTokenMappings");function w({title:o,tokens:n,tokenMappings:e,json:c}){if(c){console.log(d(e?{tokens:n,mappings:e}:n));return}if(console.log(`# ${o}
|
|
38
|
+
`),console.log(d(n)),e){const t=Array.isArray(e)?`Property names: ${e.join(", ")}`:Object.entries(e).map(([r,g])=>`### ${r}
|
|
39
|
+
Property names: ${g.join(", ")}`).join(`
|
|
40
|
+
|
|
41
|
+
`);console.log(`
|
|
42
|
+
## CSS Property Name Mappings
|
|
43
|
+
|
|
44
|
+
${t}`)}}a(w,"printTokens"),A({name:"wave-cli",version:P.version,commands:[L,O,Ft]});
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@volue/wave-cli",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "CLI tool for Wave Design System",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/Volue/wave",
|
|
9
|
+
"directory": "cli"
|
|
10
|
+
},
|
|
11
|
+
"type": "module",
|
|
12
|
+
"bin": "./dist/index.js",
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=22"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"lint": "eslint . --cache",
|
|
24
|
+
"lint:fix": "yarn run lint --fix",
|
|
25
|
+
"lint:types": "tsc",
|
|
26
|
+
"_prettier": "prettier \"**/*.{json,md,yml}\"",
|
|
27
|
+
"format": "yarn run _prettier --write",
|
|
28
|
+
"test": "run-p lint:types lint \"_prettier --check\" jest",
|
|
29
|
+
"jest": "yarn node --experimental-vm-modules $(yarn bin jest)",
|
|
30
|
+
"clean": "premove dist",
|
|
31
|
+
"build": "yarn run clean && pkgroll --minify",
|
|
32
|
+
"prepack": "yarn run build"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@volue/design-icons": "1.9.7-next.1",
|
|
36
|
+
"@volue/design-media-queries": "1.3.16-next.1",
|
|
37
|
+
"cleye": "1.3.4"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@jest/globals": "30.2.0",
|
|
41
|
+
"@types/jest": "30.0.0",
|
|
42
|
+
"@types/node": "22.19.3",
|
|
43
|
+
"@volue/eslint-config": "1.3.12",
|
|
44
|
+
"@volue/wave-react": "1.5.0-next.3",
|
|
45
|
+
"eslint": "9.39.2",
|
|
46
|
+
"jest": "30.2.0",
|
|
47
|
+
"npm-run-all2": "8.0.4",
|
|
48
|
+
"pkgroll": "2.21.5",
|
|
49
|
+
"premove": "4.0.0",
|
|
50
|
+
"prettier": "3.7.4",
|
|
51
|
+
"ts-jest": "29.4.6",
|
|
52
|
+
"tsx": "4.21.0",
|
|
53
|
+
"typescript": "5.9.3"
|
|
54
|
+
}
|
|
55
|
+
}
|