@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 ADDED
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit guidelines.
4
+
5
+ <!-- MONODEPLOY:BELOW -->
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
+ }