@volue/wave-mcp 0.1.3-next.1 → 0.1.3-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  ## Available Tools
6
6
 
7
+ The following tools are available in the Wave MCP server and can be executed by LLMs using agent mode:
8
+
7
9
  | Tool Name | Description |
8
10
  | ------------------------ | -------------------------------------------------------------------------------- |
9
11
  | `init` | Initialize the Wave Design System in your project |
@@ -21,7 +23,7 @@
21
23
 
22
24
  Add configuration code that tells your MCP-compatible client how to connect to the Wave MCP server.
23
25
 
24
- ### VS Code
26
+ ### VS Code (Copilot)
25
27
 
26
28
  [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Wave_MCP-0098FF?style=plastic)](https://insiders.vscode.dev/redirect/mcp/install?name=Wave%20Design%20System&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40volue%2Fwave-mcp%40latest%22%5D%7D)
27
29
 
@@ -65,6 +67,27 @@ Or manually add to your Claude Code MCP servers configuration:
65
67
  }
66
68
  ```
67
69
 
70
+ > **Windows Users**: On native Windows (not WSL), you must use the `cmd /c` wrapper for npx commands to work correctly:
71
+ >
72
+ > CLI:
73
+ >
74
+ > ```bash
75
+ > claude mcp add wave --scope project -- cmd /c npx -y @volue/wave-mcp@latest
76
+ > ```
77
+ >
78
+ > Manual configuration:
79
+ >
80
+ > ```json
81
+ > {
82
+ > "mcpServers": {
83
+ > "wave": {
84
+ > "command": "cmd",
85
+ > "args": ["/c", "npx", "-y", "@volue/wave-mcp@latest"]
86
+ > }
87
+ > }
88
+ > }
89
+ > ```
90
+
68
91
  ### Cursor
69
92
 
70
93
  [![Install in Cursor](https://img.shields.io/badge/Cursor-Install_Wave_MCP-000000?style=plastic)](https://cursor.com/en/install-mcp?name=wave&config=eyJ0eXBlIjoic3RkaW8iLCJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB2b2x1ZS93YXZlLW1jcEBsYXRlc3QiXX0=)
@@ -0,0 +1,292 @@
1
+ var I=Object.defineProperty;var c=(o,e)=>I(o,"name",{value:e,configurable:!0});import{a as g,f as v,u as w,g as d}from"./server-Bc4VJYhQ.js";import V from"remark-parse";import T from"unified";import{z as b}from"zod";var W={core:[{value:"#ffffff",name:"colorWhite",path:["color","core","white"]},{value:"#f9fafb",name:"colorGray0",path:["color","core","gray0"]},{value:"#f3f5f6",name:"colorGray5",path:["color","core","gray5"]},{value:"#e6ebec",name:"colorGray10",path:["color","core","gray10"]},{value:"#c2cdd0",name:"colorGray20",path:["color","core","gray20"]},{value:"#9dafb3",name:"colorGray30",path:["color","core","gray30"]},{value:"#789297",name:"colorGray40",path:["color","core","gray40"]},{value:"#53747b",name:"colorGray60",path:["color","core","gray60"]},{value:"#2f565e",name:"colorGray70",path:["color","core","gray70"]},{value:"#223f44",name:"colorGray80",path:["color","core","gray80"]},{value:"#1c353a",name:"colorGray90",path:["color","core","gray90"]},{value:"#082d35",name:"colorGray100",path:["color","core","gray100"]},{value:"#f8fbfc",name:"colorAccent0",path:["color","core","accent0"]},{value:"#f3f8f9",name:"colorAccent5",path:["color","core","accent5"]},{value:"#e8f1f3",name:"colorAccent10",path:["color","core","accent10"]},{value:"#c4dbe0",name:"colorAccent20",path:["color","core","accent20"]},{value:"#a8cbd3",name:"colorAccent30",path:["color","core","accent30"]},{value:"#7eb0bc",name:"colorAccent40",path:["color","core","accent40"]},{value:"#5b9ba9",name:"colorAccent60",path:["color","core","accent60"]},{value:"#388597",name:"colorAccent70",path:["color","core","accent70"]},{value:"#157084",name:"colorAccent80",path:["color","core","accent80"]},{value:"#11596a",name:"colorAccent90",path:["color","core","accent90"]},{value:"#0c4957",name:"colorAccent100",path:["color","core","accent100"]},{value:"#f0fcff",name:"colorBlue5",path:["color","core","blue5"]},{value:"#e1f9ff",name:"colorBlue10",path:["color","core","blue10"]},{value:"#d0f6ff",name:"colorBlue20",path:["color","core","blue20"]},{value:"#bff3ff",name:"colorBlue30",path:["color","core","blue30"]},{value:"#9aecff",name:"colorBlue40",path:["color","core","blue40"]},{value:"#00cceb",name:"colorBlue60",path:["color","core","blue60"]},{value:"#00a7c2",name:"colorBlue70",path:["color","core","blue70"]},{value:"#008299",name:"colorBlue80",path:["color","core","blue80"]},{value:"#006c80",name:"colorBlue90",path:["color","core","blue90"]},{value:"#005766",name:"colorBlue100",path:["color","core","blue100"]},{value:"#eeffef",name:"colorGreen5",path:["color","core","green5"]},{value:"#dbffdf",name:"colorGreen10",path:["color","core","green10"]},{value:"#c6ffcd",name:"colorGreen20",path:["color","core","green20"]},{value:"#b0ffbb",name:"colorGreen30",path:["color","core","green30"]},{value:"#7dfd95",name:"colorGreen40",path:["color","core","green40"]},{value:"#31d962",name:"colorGreen60",path:["color","core","green60"]},{value:"#1eb84f",name:"colorGreen70",path:["color","core","green70"]},{value:"#1d873c",name:"colorGreen80",path:["color","core","green80"]},{value:"#187233",name:"colorGreen90",path:["color","core","green90"]},{value:"#125426",name:"colorGreen100",path:["color","core","green100"]},{value:"#fff9ed",name:"colorOrange5",path:["color","core","orange5"]},{value:"#fff2da",name:"colorOrange10",path:["color","core","orange10"]},{value:"#ffecc8",name:"colorOrange20",path:["color","core","orange20"]},{value:"#ffdd99",name:"colorOrange30",path:["color","core","orange30"]},{value:"#ffd787",name:"colorOrange40",path:["color","core","orange40"]},{value:"#ffcd61",name:"colorOrange60",path:["color","core","orange60"]},{value:"#ffb900",name:"colorOrange70",path:["color","core","orange70"]},{value:"#dc9f00",name:"colorOrange80",path:["color","core","orange80"]},{value:"#b17600",name:"colorOrange90",path:["color","core","orange90"]},{value:"#805400",name:"colorOrange100",path:["color","core","orange100"]},{value:"#fff7f8",name:"colorRed5",path:["color","core","red5"]},{value:"#ffeff0",name:"colorRed10",path:["color","core","red10"]},{value:"#ffdbde",name:"colorRed20",path:["color","core","red20"]},{value:"#ffbfc1",name:"colorRed30",path:["color","core","red30"]},{value:"#ffadb1",name:"colorRed40",path:["color","core","red40"]},{value:"#ff7d89",name:"colorRed60",path:["color","core","red60"]},{value:"#ff3b3d",name:"colorRed70",path:["color","core","red70"]},{value:"#df001f",name:"colorRed80",path:["color","core","red80"]},{value:"#b20016",name:"colorRed90",path:["color","core","red90"]},{value:"#9d0012",name:"colorRed100",path:["color","core","red100"]}],data:[{value:"#f7e6e8",name:"dataRed20",path:["color","data","red20"]},{value:"#ecc7c9",name:"dataRed40",path:["color","data","red40"]},{value:"#e6a1a5",name:"dataRed60",path:["color","data","red60"]},{value:"#eb7072",name:"dataRed80",path:["color","data","red80"]},{value:"#bb3a42",name:"dataRed100",path:["color","data","red100"]},{value:"#faebdc",name:"dataOrange20",path:["color","data","orange20"]},{value:"#f5caa3",name:"dataOrange40",path:["color","data","orange40"]},{value:"#eda35e",name:"dataOrange60",path:["color","data","orange60"]},{value:"#e57b1a",name:"dataOrange80",path:["color","data","orange80"]},{value:"#a4540a",name:"dataOrange100",path:["color","data","orange100"]},{value:"#f4edde",name:"dataBrown20",path:["color","data","brown20"]},{value:"#e8cf96",name:"dataBrown40",path:["color","data","brown40"]},{value:"#d8b155",name:"dataBrown60",path:["color","data","brown60"]},{value:"#b89749",name:"dataBrown80",path:["color","data","brown80"]},{value:"#7f672e",name:"dataBrown100",path:["color","data","brown100"]},{value:"#fcfcdb",name:"dataPear20",path:["color","data","pear20"]},{value:"#e8e54c",name:"dataPear40",path:["color","data","pear40"]},{value:"#cbc920",name:"dataPear60",path:["color","data","pear60"]},{value:"#afad07",name:"dataPear80",path:["color","data","pear80"]},{value:"#767605",name:"dataPear100",path:["color","data","pear100"]},{value:"#f1fcdc",name:"dataLime20",path:["color","data","lime20"]},{value:"#cbed7a",name:"dataLime40",path:["color","data","lime40"]},{value:"#a7d441",name:"dataLime60",path:["color","data","lime60"]},{value:"#84ba12",name:"dataLime80",path:["color","data","lime80"]},{value:"#587d0c",name:"dataLime100",path:["color","data","lime100"]},{value:"#dff5e1",name:"dataGreen20",path:["color","data","green20"]},{value:"#ade2b0",name:"dataGreen40",path:["color","data","green40"]},{value:"#76ce7a",name:"dataGreen60",path:["color","data","green60"]},{value:"#3fb845",name:"dataGreen80",path:["color","data","green80"]},{value:"#2a792e",name:"dataGreen100",path:["color","data","green100"]},{value:"#dcf4ef",name:"dataTeal20",path:["color","data","teal20"]},{value:"#a7dfd6",name:"dataTeal40",path:["color","data","teal40"]},{value:"#6fc9ba",name:"dataTeal60",path:["color","data","teal60"]},{value:"#3ab19e",name:"dataTeal80",path:["color","data","teal80"]},{value:"#25796b",name:"dataTeal100",path:["color","data","teal100"]},{value:"#e3f1f6",name:"dataAqua20",path:["color","data","aqua20"]},{value:"#b1dae4",name:"dataAqua40",path:["color","data","aqua40"]},{value:"#7ac4d3",name:"dataAqua60",path:["color","data","aqua60"]},{value:"#42abc2",name:"dataAqua80",path:["color","data","aqua80"]},{value:"#297585",name:"dataAqua100",path:["color","data","aqua100"]},{value:"#e6eff7",name:"dataBlue20",path:["color","data","blue20"]},{value:"#bfd5e9",name:"dataBlue40",path:["color","data","blue40"]},{value:"#93bbdf",name:"dataBlue60",path:["color","data","blue60"]},{value:"#60a1df",name:"dataBlue80",path:["color","data","blue80"]},{value:"#346da2",name:"dataBlue100",path:["color","data","blue100"]},{value:"#ecedf9",name:"dataLazuli20",path:["color","data","lazuli20"]},{value:"#cccfee",name:"dataLazuli40",path:["color","data","lazuli40"]},{value:"#aab2e9",name:"dataLazuli60",path:["color","data","lazuli60"]},{value:"#7f94f2",name:"dataLazuli80",path:["color","data","lazuli80"]},{value:"#4b5cdd",name:"dataLazuli100",path:["color","data","lazuli100"]},{value:"#f4eaf8",name:"dataPurple20",path:["color","data","purple20"]},{value:"#e2c6ec",name:"dataPurple40",path:["color","data","purple40"]},{value:"#d2a1e3",name:"dataPurple60",path:["color","data","purple60"]},{value:"#c574e4",name:"dataPurple80",path:["color","data","purple80"]},{value:"#9e3dc2",name:"dataPurple100",path:["color","data","purple100"]},{value:"#f8e9f2",name:"dataPink20",path:["color","data","pink20"]},{value:"#ebc5de",name:"dataPink40",path:["color","data","pink40"]},{value:"#e29dc9",name:"dataPink60",path:["color","data","pink60"]},{value:"#e26ab5",name:"dataPink80",path:["color","data","pink80"]},{value:"#b53b8c",name:"dataPink100",path:["color","data","pink100"]}],background:[{value:"#ffffff",name:"backgroundNeutralMinimal",description:"Minimal neutral background. Used for the background area of your app and UI components like cards, inputs etc.",originalName:"colorWhite",path:["color","background","neutral","minimal"]},{value:"#f9fafb",name:"backgroundNeutralSubtle",description:"Subtle neutral background. Used for the background of your app, e.g. when you create a card-based layout.",originalName:"colorGray0",path:["color","background","neutral","subtle"]},{value:"#f3f5f6",name:"backgroundNeutralModerate",description:"Moderate neutral background. Used for the background area of components that should stand out somewhat against minimal neutral surfaces.",originalName:"colorGray5",path:["color","background","neutral","moderate"]},{value:"#e6ebec",name:"backgroundNeutral",description:"Default neutral background.",originalName:"colorGray10",path:["color","background","neutral","@"]},{value:"#53747b",name:"backgroundNeutralBold",description:"Bold neutral background.",originalName:"colorGray60",path:["color","background","neutral","bold"]},{value:"#223f44",name:"backgroundNeutralStrong",description:"Strong neutral background.",originalName:"colorGray80",path:["color","background","neutral","strong"]},{value:"#082d35",name:"backgroundNeutralContrast",description:"Contrast neutral background. Used for backgrounds of components that should stand out from the rest of the content, such as app header or tooltips.",originalName:"colorGray100",path:["color","background","neutral","contrast"]},{value:"#f8fbfc",name:"backgroundAccentMinimal",description:"Minimal accent background.",originalName:"colorAccent0",path:["color","background","accent","minimal","@"]},{value:"#f3f8f9",name:"backgroundAccentMinimalHover",description:"Minimal accent background hover state.",originalName:"colorAccent5",path:["color","background","accent","minimal","hover"]},{value:"#e8f1f3",name:"backgroundAccentMinimalActive",description:"Minimal accent background active state.",originalName:"colorAccent10",path:["color","background","accent","minimal","active"]},{value:"#f3f8f9",name:"backgroundAccentSubtle",description:"Subtle accent background.",originalName:"colorAccent5",path:["color","background","accent","subtle","@"]},{value:"#e8f1f3",name:"backgroundAccentSubtleHover",description:"Subtle accent background hover state.",originalName:"colorAccent10",path:["color","background","accent","subtle","hover"]},{value:"#c4dbe0",name:"backgroundAccentSubtleActive",description:"Subtle accent background active state.",originalName:"colorAccent20",path:["color","background","accent","subtle","active"]},{value:"#e8f1f3",name:"backgroundAccent",description:"Default accent background.",originalName:"colorAccent10",path:["color","background","accent","@"]},{value:"#c4dbe0",name:"backgroundAccentHover",description:"Default accent background hover state.",originalName:"colorAccent20",path:["color","background","accent","hover"]},{value:"#a8cbd3",name:"backgroundAccentActive",description:"Default accent background active state.",originalName:"colorAccent30",path:["color","background","accent","active"]},{value:"#5b9ba9",name:"backgroundAccentBold",description:"Bold accent background.",originalName:"colorAccent60",path:["color","background","accent","bold","@"]},{value:"#388597",name:"backgroundAccentBoldHover",description:"Bold accent background hover state.",originalName:"colorAccent70",path:["color","background","accent","bold","hover"]},{value:"#157084",name:"backgroundAccentBoldActive",description:"Bold accent background active state.",originalName:"colorAccent80",path:["color","background","accent","bold","active"]},{value:"#157084",name:"backgroundAccentStrong",description:"Strong accent background.",originalName:"colorAccent80",path:["color","background","accent","strong","@"]},{value:"#11596a",name:"backgroundAccentStrongHover",description:"Strong accent background hover state.",originalName:"colorAccent90",path:["color","background","accent","strong","hover"]},{value:"#0c4957",name:"backgroundAccentStrongActive",description:"Strong accent background active state.",originalName:"colorAccent100",path:["color","background","accent","strong","active"]},{value:"#fff7f8",name:"backgroundDangerSubtle",description:"Subtle danger background.",originalName:"colorRed5",path:["color","background","danger","subtle","@"]},{value:"#ffeff0",name:"backgroundDangerSubtleHover",description:"Subtle danger background hover state.",originalName:"colorRed10",path:["color","background","danger","subtle","hover"]},{value:"#ffdbde",name:"backgroundDangerSubtleActive",description:"Subtle danger background active state.",originalName:"colorRed20",path:["color","background","danger","subtle","active"]},{value:"#ffeff0",name:"backgroundDanger",description:"Default danger background.",originalName:"colorRed10",path:["color","background","danger","@"]},{value:"#ffdbde",name:"backgroundDangerHover",description:"Default danger background hover state.",originalName:"colorRed20",path:["color","background","danger","hover"]},{value:"#ffbfc1",name:"backgroundDangerActive",description:"Default danger background active state.",originalName:"colorRed30",path:["color","background","danger","active"]},{value:"#ff3b3d",name:"backgroundDangerBold",description:"Bold danger background.",originalName:"colorRed70",path:["color","background","danger","bold","@"]},{value:"#df001f",name:"backgroundDangerBoldHover",description:"Bold danger background hover state.",originalName:"colorRed80",path:["color","background","danger","bold","hover"]},{value:"#b20016",name:"backgroundDangerBoldActive",description:"Bold danger background active state.",originalName:"colorRed90",path:["color","background","danger","bold","active"]},{value:"#df001f",name:"backgroundDangerStrong",description:"Strong danger background state.",originalName:"colorRed80",path:["color","background","danger","strong","@"]},{value:"#b20016",name:"backgroundDangerStrongHover",description:"Strong danger background hover state.",originalName:"colorRed90",path:["color","background","danger","strong","hover"]},{value:"#9d0012",name:"backgroundDangerStrongActive",description:"Strong danger background active state.",originalName:"colorRed100",path:["color","background","danger","strong","active"]},{value:"#fff9ed",name:"backgroundWarningSubtle",description:"Subtle warning background.",originalName:"colorOrange5",path:["color","background","warning","subtle","@"]},{value:"#fff2da",name:"backgroundWarningSubtleHover",description:"Subtle warning background hover state.",originalName:"colorOrange10",path:["color","background","warning","subtle","hover"]},{value:"#ffecc8",name:"backgroundWarningSubtleActive",description:"Subtle warning background active state.",originalName:"colorOrange20",path:["color","background","warning","subtle","active"]},{value:"#fff2da",name:"backgroundWarning",description:"Default warning background.",originalName:"colorOrange10",path:["color","background","warning","@"]},{value:"#ffecc8",name:"backgroundWarningHover",description:"Default warning background hover state.",originalName:"colorOrange20",path:["color","background","warning","hover"]},{value:"#ffdd99",name:"backgroundWarningActive",description:"Default warning background active state.",originalName:"colorOrange30",path:["color","background","warning","active"]},{value:"#ffb900",name:"backgroundWarningBold",description:"Bold warning background.",originalName:"colorOrange70",path:["color","background","warning","bold","@"]},{value:"#dc9f00",name:"backgroundWarningBoldHover",description:"Bold warning background hover state.",originalName:"colorOrange80",path:["color","background","warning","bold","hover"]},{value:"#b17600",name:"backgroundWarningBoldActive",description:"Bold warning background active state.",originalName:"colorOrange90",path:["color","background","warning","bold","active"]},{value:"#dc9f00",name:"backgroundWarningStrong",description:"Strong warning background state.",originalName:"colorOrange80",path:["color","background","warning","strong","@"]},{value:"#b17600",name:"backgroundWarningStrongHover",description:"Strong warning background hover state.",originalName:"colorOrange90",path:["color","background","warning","strong","hover"]},{value:"#805400",name:"backgroundWarningStrongActive",description:"Strong warning background active state.",originalName:"colorOrange100",path:["color","background","warning","strong","active"]},{value:"#eeffef",name:"backgroundSuccessSubtle",description:"Subtle success background.",originalName:"colorGreen5",path:["color","background","success","subtle","@"]},{value:"#dbffdf",name:"backgroundSuccessSubtleHover",description:"Subtle success background hover state.",originalName:"colorGreen10",path:["color","background","success","subtle","hover"]},{value:"#c6ffcd",name:"backgroundSuccessSubtleActive",description:"Subtle success background active state.",originalName:"colorGreen20",path:["color","background","success","subtle","active"]},{value:"#dbffdf",name:"backgroundSuccess",description:"Default success background.",originalName:"colorGreen10",path:["color","background","success","@"]},{value:"#c6ffcd",name:"backgroundSuccessHover",description:"Default success background hover state.",originalName:"colorGreen20",path:["color","background","success","hover"]},{value:"#b0ffbb",name:"backgroundSuccessActive",description:"Default success background active state.",originalName:"colorGreen30",path:["color","background","success","active"]},{value:"#1eb84f",name:"backgroundSuccessBold",description:"Bold success background.",originalName:"colorGreen70",path:["color","background","success","bold","@"]},{value:"#1d873c",name:"backgroundSuccessBoldHover",description:"Bold success background hover state.",originalName:"colorGreen80",path:["color","background","success","bold","hover"]},{value:"#187233",name:"backgroundSuccessBoldActive",description:"Bold success background active state.",originalName:"colorGreen90",path:["color","background","success","bold","active"]},{value:"#1d873c",name:"backgroundSuccessStrong",description:"Strong success background state.",originalName:"colorGreen80",path:["color","background","success","strong","@"]},{value:"#187233",name:"backgroundSuccessStrongHover",description:"Strong success background hover state.",originalName:"colorGreen90",path:["color","background","success","strong","hover"]},{value:"#125426",name:"backgroundSuccessStrongActive",description:"Strong success background active state.",originalName:"colorGreen100",path:["color","background","success","strong","active"]},{value:"#f0fcff",name:"backgroundInfoSubtle",description:"Subtle info background.",originalName:"colorBlue5",path:["color","background","info","subtle","@"]},{value:"#e1f9ff",name:"backgroundInfoSubtleHover",description:"Subtle info background hover state.",originalName:"colorBlue10",path:["color","background","info","subtle","hover"]},{value:"#d0f6ff",name:"backgroundInfoSubtleActive",description:"Subtle info background active state.",originalName:"colorBlue20",path:["color","background","info","subtle","active"]},{value:"#e1f9ff",name:"backgroundInfo",description:"Default info background.",originalName:"colorBlue10",path:["color","background","info","@"]},{value:"#d0f6ff",name:"backgroundInfoHover",description:"Default info background hover state.",originalName:"colorBlue20",path:["color","background","info","hover"]},{value:"#bff3ff",name:"backgroundInfoActive",description:"Default info background active state.",originalName:"colorBlue30",path:["color","background","info","active"]},{value:"#00a7c2",name:"backgroundInfoBold",description:"Bold info background.",originalName:"colorBlue70",path:["color","background","info","bold","@"]},{value:"#008299",name:"backgroundInfoBoldHover",description:"Bold info background hover state.",originalName:"colorBlue80",path:["color","background","info","bold","hover"]},{value:"#006c80",name:"backgroundInfoBoldActive",description:"Bold info background active state.",originalName:"colorBlue90",path:["color","background","info","bold","active"]},{value:"#008299",name:"backgroundInfoStrong",description:"Strong info background state.",originalName:"colorBlue80",path:["color","background","info","strong","@"]},{value:"#006c80",name:"backgroundInfoStrongHover",description:"Strong info background hover state.",originalName:"colorBlue90",path:["color","background","info","strong","hover"]},{value:"#005766",name:"backgroundInfoStrongActive",description:"Strong info background active state.",originalName:"colorBlue100",path:["color","background","info","strong","active"]},{value:"#e6ebec",name:"backgroundDisabled",description:"Disabled background.",originalName:"colorGray10",path:["color","background","disabled","@"]},{value:"#f3f5f6",name:"backgroundDisabledSubtle",description:"Subtle disabled background.",originalName:"colorGray5",path:["color","background","disabled","subtle"]}],foreground:[{value:"#082d35",name:"foregroundNeutral",description:"Default neutral foreground. Used for primary, high-contrast text.",originalName:"colorGray100",path:["color","foreground","neutral","@"]},{value:"#223f44",name:"foregroundNeutralModerate",description:"Moderate neutral foreground. Used for secondary text.",originalName:"colorGray80",path:["color","foreground","neutral","moderate"]},{value:"#53747b",name:"foregroundNeutralSubtle",description:"Subtle neutral border. Used for tertiary, low-contrast text.",originalName:"colorGray60",path:["color","foreground","neutral","subtle"]},{value:"#9dafb3",name:"foregroundNeutralMinimal",description:"Minimal neutral foreground. Used for disabled text.",originalName:"colorGray30",path:["color","foreground","neutral","minimal"]},{value:"#0c4957",name:"foregroundAccent",description:"Default accent foreground.",originalName:"colorAccent100",path:["color","foreground","accent","@"]},{value:"#157084",name:"foregroundAccentModerate",description:"Moderate accent foreground.",originalName:"colorAccent80",path:["color","foreground","accent","moderate"]},{value:"#388597",name:"foregroundAccentSubtle",description:"Subtle accent foreground.",originalName:"colorAccent70",path:["color","foreground","accent","subtle"]},{value:"#9d0012",name:"foregroundDanger",description:"Default danger foreground.",originalName:"colorRed100",path:["color","foreground","danger","@"]},{value:"#b20016",name:"foregroundDangerModerate",description:"Moderate danger foreground.",originalName:"colorRed90",path:["color","foreground","danger","moderate"]},{value:"#ff3b3d",name:"foregroundDangerSubtle",description:"Subtle danger foreground.",originalName:"colorRed70",path:["color","foreground","danger","subtle"]},{value:"#805400",name:"foregroundWarning",description:"Default warning foreground.",originalName:"colorOrange100",path:["color","foreground","warning","@"]},{value:"#b17600",name:"foregroundWarningModerate",description:"Moderate warning foreground.",originalName:"colorOrange90",path:["color","foreground","warning","moderate"]},{value:"#ffb900",name:"foregroundWarningSubtle",description:"Subtle danger foreground.",originalName:"colorOrange70",path:["color","foreground","warning","subtle"]},{value:"#082d35",name:"foregroundWarningInverse",description:"Inverse warning foreground. Used on strong warning background for optimal contrast.",originalName:"colorGray100",path:["color","foreground","warning","inverse"]},{value:"#125426",name:"foregroundSuccess",description:"Default success foreground.",originalName:"colorGreen100",path:["color","foreground","success","@"]},{value:"#187233",name:"foregroundSuccessModerate",description:"Moderate success foreground.",originalName:"colorGreen90",path:["color","foreground","success","moderate"]},{value:"#1eb84f",name:"foregroundSuccessSubtle",description:"Subtle success foreground.",originalName:"colorGreen70",path:["color","foreground","success","subtle"]},{value:"#005766",name:"foregroundInfo",description:"Default info foreground.",originalName:"colorBlue100",path:["color","foreground","info","@"]},{value:"#006c80",name:"foregroundInfoModerate",description:"Moderate info foreground.",originalName:"colorBlue90",path:["color","foreground","info","moderate"]},{value:"#00a7c2",name:"foregroundInfoSubtle",description:"Subtle info foreground.",originalName:"colorBlue70",path:["color","foreground","info","subtle"]},{value:"#9dafb3",name:"foregroundDisabled",description:"Disabled foreground.",originalName:"colorGray30",path:["color","foreground","disabled","@"]},{value:"#c2cdd0",name:"foregroundDisabledSubtle",description:"Subtle disabled foreground.",originalName:"colorGray20",path:["color","foreground","disabled","subtle"]},{value:"#ffffff",name:"foregroundInverse",description:"Inverse foreground. Used for text on strong backgrounds.",originalName:"colorWhite",path:["color","foreground","inverse"]}],border:[{value:"#e6ebec",name:"borderNeutralSubtle",description:"Subtle neutral border.",originalName:"colorGray10",path:["color","border","neutral","subtle"]},{value:"#c2cdd0",name:"borderNeutralModerate",description:"Moderate neutral border.",originalName:"colorGray20",path:["color","border","neutral","moderate"]},{value:"#9dafb3",name:"borderNeutral",description:"Default neutral border.",originalName:"colorGray30",path:["color","border","neutral","@"]},{value:"#2f565e",name:"borderNeutralBold",description:"Bold neutral border.",originalName:"colorGray70",path:["color","border","neutral","bold"]},{value:"#082d35",name:"borderNeutralContrast",description:"Contrast neutral border.",originalName:"colorGray100",path:["color","border","neutral","contrast"]},{value:"#c4dbe0",name:"borderAccentModerate",description:"Moderate accent border.",originalName:"colorAccent20",path:["color","border","accent","moderate"]},{value:"#a8cbd3",name:"borderAccent",description:"Default accent border.",originalName:"colorAccent30",path:["color","border","accent","@"]},{value:"#7eb0bc",name:"borderAccentHover",description:"Default accent border hover state.",originalName:"colorAccent40",path:["color","border","accent","hover"]},{value:"#5b9ba9",name:"borderAccentActive",description:"Default accent border active state.",originalName:"colorAccent60",path:["color","border","accent","active"]},{value:"#388597",name:"borderAccentBold",description:"Bold accent border.",originalName:"colorAccent70",path:["color","border","accent","bold"]},{value:"#11596a",name:"borderAccentStrong",description:"Strong accent border.",originalName:"colorAccent90",path:["color","border","accent","strong"]},{value:"#ffbfc1",name:"borderDanger",description:"Default danger border.",originalName:"colorRed30",path:["color","border","danger","@"]},{value:"#df001f",name:"borderDangerBold",description:"Bold danger border.",originalName:"colorRed80",path:["color","border","danger","bold"]},{value:"#b20016",name:"borderDangerStrong",description:"Strong danger border.",originalName:"colorRed90",path:["color","border","danger","strong"]},{value:"#ffd787",name:"borderWarning",description:"Default warning border.",originalName:"colorOrange40",path:["color","border","warning","@"]},{value:"#dc9f00",name:"borderWarningBold",description:"Bold warning border.",originalName:"colorOrange80",path:["color","border","warning","bold"]},{value:"#b17600",name:"borderWarningStrong",description:"Strong warning border.",originalName:"colorOrange90",path:["color","border","warning","strong"]},{value:"#7dfd95",name:"borderSuccess",description:"Default success border.",originalName:"colorGreen40",path:["color","border","success","@"]},{value:"#1d873c",name:"borderSuccessBold",description:"Bold success border.",originalName:"colorGreen80",path:["color","border","success","bold"]},{value:"#187233",name:"borderSuccessStrong",description:"Strong success border.",originalName:"colorGreen90",path:["color","border","success","strong"]},{value:"#9aecff",name:"borderInfo",description:"Default info border.",originalName:"colorBlue40",path:["color","border","info","@"]},{value:"#008299",name:"borderInfoBold",description:"Bold info border.",originalName:"colorBlue80",path:["color","border","info","bold"]},{value:"#006c80",name:"borderInfoStrong",description:"Strong info border.",originalName:"colorBlue90",path:["color","border","info","strong"]},{value:"#e6ebec",name:"borderDisabled",description:"Disabled border.",originalName:"colorGray10",path:["color","border","disabled","@"]},{value:"#f3f5f6",name:"borderDisabledSubtle",description:"Subtle disabled border.",originalName:"colorGray5",path:["color","border","disabled","subtle"]},{value:"rgba(255, 255, 255, 0.85)",name:"borderInverse",description:"Inverse border. Used for borders on strong backgrounds.",originalName:"colorWhite",path:["color","border","inverse"]}],rgb:[{value:"255, 255, 255",name:"rgbBackgroundNeutralMinimal",originalName:"backgroundNeutralMinimal",path:["color","rgb","background","neutral","minimal"]},{value:"230, 235, 236",name:"rgbBackgroundNeutral",originalName:"backgroundNeutral",path:["color","rgb","background","neutral","@"]},{value:"83, 116, 123",name:"rgbBackgroundNeutralBold",originalName:"backgroundNeutralBold",path:["color","rgb","background","neutral","bold"]},{value:"34, 63, 68",name:"rgbBackgroundNeutralStrong",originalName:"backgroundNeutralStrong",path:["color","rgb","background","neutral","strong"]},{value:"232, 241, 243",name:"rgbBackgroundAccent",originalName:"backgroundAccent",path:["color","rgb","background","accent","@"]},{value:"91, 155, 169",name:"rgbBackgroundAccentBold",originalName:"backgroundAccentBold",path:["color","rgb","background","accent","bold"]},{value:"21, 112, 132",name:"rgbBackgroundAccentStrong",originalName:"backgroundAccentStrong",path:["color","rgb","background","accent","strong"]},{value:"255, 239, 240",name:"rgbBackgroundDanger",originalName:"backgroundDanger",path:["color","rgb","background","danger","@"]},{value:"255, 59, 61",name:"rgbBackgroundDangerBold",originalName:"backgroundDangerBold",path:["color","rgb","background","danger","bold"]},{value:"223, 0, 31",name:"rgbBackgroundDangerStrong",originalName:"backgroundDangerStrong",path:["color","rgb","background","danger","strong"]},{value:"255, 242, 218",name:"rgbBackgroundWarning",originalName:"backgroundWarning",path:["color","rgb","background","warning","@"]},{value:"255, 185, 0",name:"rgbBackgroundWarningBold",originalName:"backgroundWarningBold",path:["color","rgb","background","warning","bold"]},{value:"220, 159, 0",name:"rgbBackgroundWarningStrong",originalName:"backgroundWarningStrong",path:["color","rgb","background","warning","strong"]},{value:"219, 255, 223",name:"rgbBackgroundSuccess",originalName:"backgroundSuccess",path:["color","rgb","background","success","@"]},{value:"30, 184, 79",name:"rgbBackgroundSuccessBold",originalName:"backgroundSuccessBold",path:["color","rgb","background","success","bold"]},{value:"29, 135, 60",name:"rgbBackgroundSuccessStrong",originalName:"backgroundSuccessStrong",path:["color","rgb","background","success","strong"]},{value:"225, 249, 255",name:"rgbBackgroundInfo",originalName:"backgroundInfo",path:["color","rgb","background","info","@"]},{value:"0, 167, 194",name:"rgbBackgroundInfoBold",originalName:"backgroundInfoBold",path:["color","rgb","background","info","bold"]},{value:"0, 130, 153",name:"rgbBackgroundInfoStrong",originalName:"backgroundInfoStrong",path:["color","rgb","background","info","strong"]},{value:"220, 244, 239",name:"rgbDataTeal20",originalName:"dataTeal20",path:["color","rgb","data","teal20"]},{value:"167, 223, 214",name:"rgbDataTeal40",originalName:"dataTeal40",path:["color","rgb","data","teal40"]},{value:"111, 201, 186",name:"rgbDataTeal60",originalName:"dataTeal60",path:["color","rgb","data","teal60"]},{value:"58, 177, 158",name:"rgbDataTeal80",originalName:"dataTeal80",path:["color","rgb","data","teal80"]},{value:"37, 121, 107",name:"rgbDataTeal100",originalName:"dataTeal100",path:["color","rgb","data","teal100"]},{value:"244, 234, 248",name:"rgbDataPurple20",originalName:"dataPurple20",path:["color","rgb","data","purple20"]},{value:"226, 198, 236",name:"rgbDataPurple40",originalName:"dataPurple40",path:["color","rgb","data","purple40"]},{value:"210, 161, 227",name:"rgbDataPurple60",originalName:"dataPurple60",path:["color","rgb","data","purple60"]},{value:"197, 116, 228",name:"rgbDataPurple80",originalName:"dataPurple80",path:["color","rgb","data","purple80"]},{value:"158, 61, 194",name:"rgbDataPurple100",originalName:"dataPurple100",path:["color","rgb","data","purple100"]},{value:"248, 233, 242",name:"rgbDataPink20",originalName:"dataPink20",path:["color","rgb","data","pink20"]},{value:"235, 197, 222",name:"rgbDataPink40",originalName:"dataPink40",path:["color","rgb","data","pink40"]},{value:"226, 157, 201",name:"rgbDataPink60",originalName:"dataPink60",path:["color","rgb","data","pink60"]},{value:"226, 106, 181",name:"rgbDataPink80",originalName:"dataPink80",path:["color","rgb","data","pink80"]},{value:"181, 59, 140",name:"rgbDataPink100",originalName:"dataPink100",path:["color","rgb","data","pink100"]},{value:"227, 241, 246",name:"rgbDataAqua20",originalName:"dataAqua20",path:["color","rgb","data","aqua20"]},{value:"177, 218, 228",name:"rgbDataAqua40",originalName:"dataAqua40",path:["color","rgb","data","aqua40"]},{value:"122, 196, 211",name:"rgbDataAqua60",originalName:"dataAqua60",path:["color","rgb","data","aqua60"]},{value:"66, 171, 194",name:"rgbDataAqua80",originalName:"dataAqua80",path:["color","rgb","data","aqua80"]},{value:"41, 117, 133",name:"rgbDataAqua100",originalName:"dataAqua100",path:["color","rgb","data","aqua100"]},{value:"230, 239, 247",name:"rgbDataBlue20",originalName:"dataBlue20",path:["color","rgb","data","blue20"]},{value:"191, 213, 233",name:"rgbDataBlue40",originalName:"dataBlue40",path:["color","rgb","data","blue40"]},{value:"147, 187, 223",name:"rgbDataBlue60",originalName:"dataBlue60",path:["color","rgb","data","blue60"]},{value:"96, 161, 223",name:"rgbDataBlue80",originalName:"dataBlue80",path:["color","rgb","data","blue80"]},{value:"52, 109, 162",name:"rgbDataBlue100",originalName:"dataBlue100",path:["color","rgb","data","blue100"]},{value:"236, 237, 249",name:"rgbDataLazuli20",originalName:"dataLazuli20",path:["color","rgb","data","lazuli20"]},{value:"204, 207, 238",name:"rgbDataLazuli40",originalName:"dataLazuli40",path:["color","rgb","data","lazuli40"]},{value:"170, 178, 233",name:"rgbDataLazuli60",originalName:"dataLazuli60",path:["color","rgb","data","lazuli60"]},{value:"127, 148, 242",name:"rgbDataLazuli80",originalName:"dataLazuli80",path:["color","rgb","data","lazuli80"]},{value:"75, 92, 221",name:"rgbDataLazuli100",originalName:"dataLazuli100",path:["color","rgb","data","lazuli100"]},{value:"223, 245, 225",name:"rgbDataGreen20",originalName:"dataGreen20",path:["color","rgb","data","green20"]},{value:"173, 226, 176",name:"rgbDataGreen40",originalName:"dataGreen40",path:["color","rgb","data","green40"]},{value:"118, 206, 122",name:"rgbDataGreen60",originalName:"dataGreen60",path:["color","rgb","data","green60"]},{value:"63, 184, 69",name:"rgbDataGreen80",originalName:"dataGreen80",path:["color","rgb","data","green80"]},{value:"42, 121, 46",name:"rgbDataGreen100",originalName:"dataGreen100",path:["color","rgb","data","green100"]},{value:"241, 252, 220",name:"rgbDataLime20",originalName:"dataLime20",path:["color","rgb","data","lime20"]},{value:"203, 237, 122",name:"rgbDataLime40",originalName:"dataLime40",path:["color","rgb","data","lime40"]},{value:"167, 212, 65",name:"rgbDataLime60",originalName:"dataLime60",path:["color","rgb","data","lime60"]},{value:"132, 186, 18",name:"rgbDataLime80",originalName:"dataLime80",path:["color","rgb","data","lime80"]},{value:"88, 125, 12",name:"rgbDataLime100",originalName:"dataLime100",path:["color","rgb","data","lime100"]},{value:"250, 235, 220",name:"rgbDataOrange20",originalName:"dataOrange20",path:["color","rgb","data","orange20"]},{value:"245, 202, 163",name:"rgbDataOrange40",originalName:"dataOrange40",path:["color","rgb","data","orange40"]},{value:"237, 163, 94",name:"rgbDataOrange60",originalName:"dataOrange60",path:["color","rgb","data","orange60"]},{value:"229, 123, 26",name:"rgbDataOrange80",originalName:"dataOrange80",path:["color","rgb","data","orange80"]},{value:"164, 84, 10",name:"rgbDataOrange100",originalName:"dataOrange100",path:["color","rgb","data","orange100"]},{value:"252, 252, 219",name:"rgbDataPear20",originalName:"dataPear20",path:["color","rgb","data","pear20"]},{value:"232, 229, 76",name:"rgbDataPear40",originalName:"dataPear40",path:["color","rgb","data","pear40"]},{value:"203, 201, 32",name:"rgbDataPear60",originalName:"dataPear60",path:["color","rgb","data","pear60"]},{value:"175, 173, 7",name:"rgbDataPear80",originalName:"dataPear80",path:["color","rgb","data","pear80"]},{value:"118, 118, 5",name:"rgbDataPear100",originalName:"dataPear100",path:["color","rgb","data","pear100"]},{value:"244, 237, 222",name:"rgbDataBrown20",originalName:"dataBrown20",path:["color","rgb","data","brown20"]},{value:"232, 207, 150",name:"rgbDataBrown40",originalName:"dataBrown40",path:["color","rgb","data","brown40"]},{value:"216, 177, 85",name:"rgbDataBrown60",originalName:"dataBrown60",path:["color","rgb","data","brown60"]},{value:"184, 151, 73",name:"rgbDataBrown80",originalName:"dataBrown80",path:["color","rgb","data","brown80"]},{value:"127, 103, 46",name:"rgbDataBrown100",originalName:"dataBrown100",path:["color","rgb","data","brown100"]},{value:"247, 230, 232",name:"rgbDataRed20",originalName:"dataRed20",path:["color","rgb","data","red20"]},{value:"236, 199, 201",name:"rgbDataRed40",originalName:"dataRed40",path:["color","rgb","data","red40"]},{value:"230, 161, 165",name:"rgbDataRed60",originalName:"dataRed60",path:["color","rgb","data","red60"]},{value:"235, 112, 114",name:"rgbDataRed80",originalName:"dataRed80",path:["color","rgb","data","red80"]},{value:"187, 58, 66",name:"rgbDataRed100",originalName:"dataRed100",path:["color","rgb","data","red100"]}]};const O='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg>',$='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5m-7 7h14"/></svg>',U='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 3v9m0 9v-5M12 3v5m0 4v9m-8 0v-7m0-4V3M1 14h6m2-6h6m2 8h6"/></svg>',q='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18m-3 4H6m-3 4h18m-3 4H6"/></svg>',E='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18m0 4H3m0 4h18m0 4H3"/></svg>',_='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 6H3m0 4h14m4 4H3m0 4h14"/></svg>',F='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18m0 4H7m-4 4h18m0 4H7"/></svg>',X='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 12h4m7-4v13H3V8H1h22V3H1m2 5v13h18V8h2H1V3h22"/></svg>',J='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7v10M2 3a1 1 0 1 0 1-1m1 1a1 1 0 1 1-1-1m4 1h10m4 4v10m-4 4H7m-4-1a1 1 0 1 1-1 1m1-1a1 1 0 1 0 1 1m16 0a1 1 0 1 0 1-1m1 1a1 1 0 1 1-1-1M20 3a1 1 0 1 0 1-1m1 1a1 1 0 1 1-1-1"/></svg>',Q='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5m7 7-7 7-7-7"/></svg>',Y='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14m-7 7-7-7 7-7"/></svg>',K='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5m7-7 7 7-7 7"/></svg>',Z='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14m-7-7 7-7 7 7"/></svg>',oo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.44 11.05-9.19 9.19a6.003 6.003 0 1 1-8.49-8.49l9.19-9.19a4.002 4.002 0 0 1 5.66 5.66l-9.2 9.19a2.001 2.001 0 0 1-2.83-2.83l8.49-8.48"/></svg>',eo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10v10m-6 0V4M6 14v6"/></svg>',ro='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 20v-4m6-6v10m6 0V4"/></svg>',no='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8c0 7 3 9 3 9H3s3-2 3-9a6 6 0 1 1 12 0m-4.27 13a2 2 0 0 1-3.46 0"/></svg>',ao='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12m10 10C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10M4.93 4.93l14.14 14.14"/></svg>',to='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 4h8a4 4 0 1 1 0 8H6h9a4 4 0 1 1 0 8H6z"/></svg>',co='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2"/></svg>',lo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m19 21-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg>',so='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 14V6a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 0 6v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 18 14" transform="translate(3.000000, 2.000000)"/><path d="M.27 4.96 9 10.01l8.73-5.05M9 20.08V10" transform="translate(3.000000, 2.000000)"/></svg>',io='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m8 9 5 5v7H8v-4m0 4H3v-7l5-5m1 1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v17h-8m0-14v.01M17 7v.01M17 11v.01M17 15v.01"/></svg>',go='<svg xmlns="http://www.w3.org/2000/svg" class="feather feather-package" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m16.5 9.4-9-5.19M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16"/><path d="M3.27 6.96 12 12.01l8.73-5.05M12 22.08V12"/></svg>',uo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H5m16 16a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14m-3-2v4M8 6V2m-5 8h18"/></svg>',vo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 8a2 2 0 0 0-2-2h-4l-2-3H9L7 6H3a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2M1 8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2m11-2a4 4 0 1 0-4-4m4 4a4 4 0 1 1 4-4"/></svg>',mo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>',po='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2v4l-4-4H9a2 2 0 0 1-1.414-.586m0 0L11 13h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2v4z"/></svg>',ho='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',wo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2M8 12l2.5 2.5L16 9"/></svg>',bo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13.333 12 20l-6-6.667M6 4l6 6.667L18 4"/></svg>',ko='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.667 6 4 12l6.667 6M20 18l-6.667-6L20 6"/></svg>',fo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13.333 6 20 12l-6.667 6M4 18l6.667-6L4 6"/></svg>',xo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 10.667 12 4l6 6.667M18 20l-6-6.667L6 20"/></svg>',Bo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m4 8 8 8 8-8"/></svg>',Mo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m16 20-8-8 8-8"/></svg>',So='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m8 20 8-8-8-8"/></svg>',yo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m20 16-8-8-8 8"/></svg>',Co='<svg xmlns="http://www.w3.org/2000/svg" class="feather feather-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/></svg>',Ao='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 18 18 6M6 6l12 12"/></svg>',No='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.001 10.001h-1.26A7.998 7.998 0 0 0 1.03 12.678a8 8 0 0 0 7.975 7.323h8.997a5 5 0 0 0 4.999-5 5 5 0 0 0-4.999-5"/></svg>',Do='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m16 18 6-6-6-6M8 6l-6 6 6 6"/></svg>',jo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>',Ho='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10M2 12c0 5.523 4.477 10 10 10m4.24-14.24-2.12 6.36-6.36 2.12 2.12-6.36z"/></svg>',Lo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m22 22-3.636-3.636m3.636 0L18.364 22m-1.819-5.455L12 12.91V8.364v4.545l-4.545 3.636M2 18.364h3.636L2 22h3.636M12 5.636V3.818L10.182 2 12 3.818 13.818 2"/></svg>',zo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1m-4 4h9a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2M20 9h-9a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2"/></svg>',Ro='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4v7a4 4 0 0 0 4 4h12l-5-5 5 5-5 5"/></svg>',Go='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H3m20 14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h18M1 10h22"/></svg>',Po='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m3 3 7.486 17.968 2.658-7.824 7.824-2.658zm10.59 10.59 6.35 6.35"/></svg>',Io='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 5v14c0 1.66-4 3-9 3s-9-1.34-9-3V5c0-1.657 4.03-3 9-3s9 1.343 9 3-4.03 3-9 3-9-1.343-9-3 4.03-3 9-3 9 1.343 9 3v7c0 1.66-4 3-9 3s-9-1.34-9-3"/></svg>',Vo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10v8m-3.5 0a3.5 3.5 0 1 0-3.5-3.5m3.5 3.5a3.5 3.5 0 0 1-3.5-3.5M13 18 7.5 7 2 18l2.063-4.125h6.875"/></svg>',To='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.951 16 22 12l-4.049-4L22 12H2l4.049-4L2 12l4.049 4"/></svg>',Wo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 23V1m5 4H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>',Oo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.01 12.012v9l-4-4 4 4 4-4m4.88 1.09a5 5 0 0 0-2.88-9.09h-1.26a8 8 0 1 0-13.74 7.29"/></svg>',$o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4m4-5 5 5 5-5m-5 5V3"/></svg>',Uo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 15.5h14m0-6H5"/></svg>',qo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m8 10 4 4 4-4z"/><rect x="3" y="3" width="18" height="18" rx="2"/></svg>',Eo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5z"/></svg>',_o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.121 2.121 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>',Fo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10m3-13-6 6m0-6 6 6"/></svg>',Xo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"/></svg>',Jo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15v6h6M21 9V3h-6 6l-7 7m-4 4-7 7"/></svg>',Qo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6m4-3h6v6-6L10 14"/></svg>',Yo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m11 5-9 7 9 7zm11 0-9 7 9 7z"/></svg>',Ko='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m13 5 9 7-9 7zM2 5l9 7-9 7z"/></svg>',Zo='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 9v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7v7zl-7-7"/></svg>',oe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17H2V7h5m10-5v20H7V2H4.18h15.64A2.18 2.18 0 0 1 22 4.18v15.64A2.18 2.18 0 0 1 19.82 22H4.18A2.18 2.18 0 0 1 2 19.82M7 2v20h10V2h2.82H4.18A2.18 2.18 0 0 0 2 4.18v15.64A2.18 2.18 0 0 0 4.18 22h15.64A2.18 2.18 0 0 0 22 19.82M2 12h20v5h-5V7h5"/></svg>',ee='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 3H2l8 9.46V19l4 2v-8.54z"/></svg>',re='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 22v-7s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1v12"/></svg>',ne='<svg xmlns="http://www.w3.org/2000/svg" class="feather feather-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>',ae='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2.061 10.889h2.161c1.228 0 2.222.995 2.222 2.222v1.111c0 1.228.995 2.222 2.223 2.222s2.222.995 2.222 2.223v3.272m-3.333-18.9v1.739a2.78 2.78 0 0 0 2.777 2.778h.556c1.227 0 2.222.994 2.222 2.222a2.222 2.222 0 1 0 4.445 0 2.22 2.22 0 0 1 2.222-2.222h1.183M15.333 21.43v-2.764c0-1.228.995-2.223 2.223-2.223h3.405M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10"/></svg>',te='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12h20M12 22C6.477 22 2 17.523 2 12M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10"/></svg>',ce='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 21h7v-7h-7m7 7h-7v-7h7m-7-4h7V3h-7m7 7h-7V3h7M3 3h7v7H3m7-7H3v7h7m-7 4h7v7H3m7-7H3v7h7"/></svg>',le='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 19.583v-.916c0-1.013 1.026-1.834 2.292-1.834h2.291M4.667 9.5A1.833 1.833 0 1 0 6.5 11.333M4.667 9.5a1.833 1.833 0 1 1-1.834 1.833M12 4a3.667 3.667 0 1 0 3.667 3.667M12 4a3.667 3.667 0 1 1-3.667 3.667m11 1.833a1.833 1.833 0 1 0 1.834 1.833M19.333 9.5a1.833 1.833 0 1 1-1.833 1.833m.917 8.25V17.14c0-1.688-1.437-3.056-3.209-3.056H8.792c-1.772 0-3.209 1.368-3.209 3.056v2.444m12.834-2.75h2.291c1.266 0 2.292.821 2.292 1.834v.916"/></svg>',se='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.318 5.318a4.5 4.5 0 0 0 0 6.364L12 19.364l7.682-7.682a4.5 4.5 0 0 0-6.364-6.364L12 6.636l-1.318-1.318a4.5 4.5 0 0 0-6.364 0"/></svg>',ie='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01"/></svg>',de='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.12 14.12a3 3 0 1 1-4.24-4.24M6.06 6.06A18.45 18.45 0 0 0 1 12s4 8 11 8a10.07 10.07 0 0 0 5.94-2.06c1.59-1.211 1.613-1.221 2.9-2.75A18.5 18.5 0 0 0 23 12s-4-8-11-8a9 9 0 0 0-2.1.24M1 1l22 22"/></svg>',ge='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.543 15.08A9 9 0 1 0 9.922 3.546M21.49 9.002a9 9 0 0 0-14.85-3.36L2 10.002v-6 6h6M12 7v6l4 2"/></svg>',ue='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2M21 9l-9-7-9 7v11a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2M9 22V12h6v10"/></svg>',ve='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8.5 10A1.5 1.5 0 1 0 7 8.5M8.5 10A1.5 1.5 0 0 1 7 8.5M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2M5 3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2m0 0 11-11 5 5"/></svg>',me='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-6l-2 3h-4l-2-3H2m0 0v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24M22 12v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6l3.45-6.89A2 2 0 0 1 7.24 4h9.52"/></svg>',pe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10m0-6v-4m0-4h.01"/></svg>',he='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 20h9M10 4h9-4L9 20"/></svg>',we='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m12 2 10 5-10 5L2 7zM2 17l10 5 10-5m0-5-10 5-10-5"/></svg>',be='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 9H3m2-6h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2M5 3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2m4 0V9"/></svg>',ke='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.414 6.414h-13m0 6h13m0 6h-13m-5-10.586 1.414-1.414L3.414 5 2 6.414m1.414 1.414L2 6.414m.414 7v-2h2v2m-2 0h2m-2 5a1 1 0 1 1 1 1m-1-1a1 1 0 0 0 1 1"/></svg>',fe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m11.75 5.18 1.72-1.71a5 5 0 0 1 7.07 7.07l-3 3A5 5 0 0 1 10 13m4-2a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>',xe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 6H9m0 6h13m0 6H9M4.01 6H4m0 6h.01zm.01 6H4"/></svg>',Be='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m4.93 19.07 2.83-2.83M2 12h4M4.93 4.93l2.83 2.83M12 2v4m0 12v4m4.24-5.76 2.83 2.83M18 12h4m-5.76-4.24 2.83-2.83"/></svg>',Me='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22v-4m10-6h-4m-6 10c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12h4m6 10C6.477 22 2 17.523 2 12m10-6V2"/></svg>',Se='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m3 11 19-9-9 19-2-8z"/></svg>',ye='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2m2 9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h14M5 11h2V7a5 5 0 1 1 10 0v4"/></svg>',Ce='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 18.5h12m4-4H4m16-4H4m16-4H4"/></svg>',Ae='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2M2 6l10 7 10-7"/></svg>',Ne='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 16h22V8H1h3.5v2.867M1 16V8m0 8h22V8H1h3.5v2.867m3.7 0V8h3.7v2.867m3.7 0V8h3.7v2.867"/></svg>',De='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 18h18m0-6H3m0-6h18"/></svg>',je='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 21V8a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H8zm8-13v3m0 3v.01"/></svg>',He='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m3 21 7-7H4h6v6m10-10h-6V4v6l7-7"/></svg>',Le='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/></svg>',ze='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.5 2h8.763a1.5 1.5 0 0 1 1.5 1.5v17a1.5 1.5 0 0 1-1.5 1.5H7.5A1.5 1.5 0 0 1 6 20.5M16.263 2H7.5A1.5 1.5 0 0 0 6 3.5v17A1.5 1.5 0 0 0 7.5 22h8.763a1.5 1.5 0 0 0 1.5-1.5M12 19h.01z"/></svg>',Re='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 13a1 1 0 1 0-1-1m1 1a1 1 0 1 1 1-1m-8 1a1 1 0 1 0-1-1m1 1a1 1 0 1 1 1-1m-8 1a1 1 0 1 0-1-1m1 1a1 1 0 1 1 1-1"/></svg>',Ge='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20l3-3-3 3-3-3m-4-4-3-3 3-3m4-4 3-3 3 3m4 4 3 3-3 3 3-3H2"/></svg>',Pe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10m10-10c0-5.523-4.477-10-10-10S2 6.477 2 12s4.477 10 10 10m0-6 4-4-4-4m-4 4h8"/></svg>',Ie='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m18 4 5 9.5H13zm0 0-5 9.5h10zM7 20h10V10H7zm10 0H7V10h10zM6 14a5 5 0 1 0-5-5m8.536-3.536a5 5 0 1 0 0 7.072"/></svg>',Ve='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 20h4V4H6m4 16H6V4h4m4 0h4v16h-4m4-16h-4v16h4"/></svg>',Te='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2M4 3a2 2 0 0 0-2 2v10m6 6h8-4v-4"/></svg>',We='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92"/></svg>',Oe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.488 9H15V3.512zM11 3.055A9.001 9.001 0 1 0 20.945 13H11z"/></svg>',$e='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.273 15.182H5q0-3.651 3.182-5.91l.454-3.181H6.818V3a1 1 0 0 1 1-1h8.909a1 1 0 0 1 1 1v3.09h-1.818l.455 3.183q3.18 2.258 3.181 5.909zV22"/></svg>',Ue='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10a9 9 0 0 0-18 0c0 7 9 13 9 13s9-6 9-13m-9 3a3 3 0 1 0-3-3m3 3a3 3 0 1 1 3-3"/></svg>',qe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 3 14 9-14 9z"/></svg>',Ee='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10m2.588-19.66c5.335 1.43 8.5 6.914 7.071 12.248-1.43 5.335-6.913 8.5-12.247 7.071-5.335-1.43-8.5-6.913-7.071-12.247M12 16l-4-4 4-4m4 4H8"/></svg>',_e='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 14h12v8H6z"/><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 9V2h12v7"/></svg>',Fe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 20h-1m3.992 0c-.11.009.119 0 .01 0zM16 14h-2m3 3h3m-6 0v1m5-4h1m-6-4h6V4h-6m6 6h-6V4h6M4 4h6v6H4m6-6H4v6h6m-6 4h6v6H4m6-6H4v6h6"/></svg>',Xe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="7"/><circle cx="12" cy="12" r="9"/></svg>',Je='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 14h6V8"/><path d="M3 17.2c0-5 4-9 9-9 2.4 0 4.7.9 6.4 2.6L21 14"/></svg>',Qe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 20v-6h-6M7 10H1V4v6l4.64-4.36A9 9 0 0 1 20.49 9M23 14l-4.64 4.36A9 9 0 0 1 3.51 15"/></svg>',Ye='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m17 1 4 4-4 4"/><path d="M3 11V9a4 4 0 0 1 4-4h14M7 23l-4-4 4-4"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/></svg>',Ke='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 21v-2a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v2M9 11a4 4 0 1 0-4-4m4 4a4 4 0 1 1 4-4m7 8.13A4 4 0 0 1 23 19v2m-7-10.12a4 4 0 0 0 0-7.75"/></svg>',Ze='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.51 14.99a9 9 0 1 0 2.13-9.36L2 9.99v-6 6h6"/></svg>',or='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 23h13c2 0 5 0 5-3s-2-3-4-3-6.5.5-6.5-3 4.5-3 6.5-3m4-5.91C23 8.274 19 11 19 11s-4-2.727-4-5.91C15 2.833 16.79 1 19 1s4 1.832 4 4.09m-14 12C9 14.833 7.21 13 5 13s-4 1.832-4 4.09C1 20.274 5 23 5 23s4-2.727 4-5.91M5 18a1 1 0 1 0-1-1m1 1a1 1 0 1 1 1-1M18 5a1 1 0 1 1 1 1m1-1a1 1 0 1 0-1 1"/></svg>',er='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3v5h8m6 11V8l-5-5H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14-2v-8H7v8M21 9v10a2 2 0 0 1-2 2H8"/></svg>',rr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.556 2H4.222A2.22 2.22 0 0 0 2 4.222v3.334m20 0V4.222A2.22 2.22 0 0 0 19.778 2h-3.334m0 20h3.334A2.22 2.22 0 0 0 22 19.778v-3.334m-20 0v3.334C2 21.005 2.995 22 4.222 22h3.334M2 12h20"/></svg>',nr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.556 2H4.222A2.22 2.22 0 0 0 2 4.222v3.334m20 0V4.222A2.22 2.22 0 0 0 19.778 2h-3.334m0 20h3.334A2.22 2.22 0 0 0 22 19.778v-3.334m-20 0v3.334C2 21.005 2.995 22 4.222 22h3.334M6 18h4v-4H6m4 4H6v-4h4m-4-4h4V6H6m4 4H6V6h4m4 0h4v4h-4m4-4h-4v4h4m-4.08 8c-.11.009.119 0 .01 0zm0-4c-.11.009.119 0 .01 0zm4 0c-.11.009.119 0 .01 0zm0 4c-.11.009.119 0 .01 0zm-2-2c-.11.009.119 0 .01 0z"/></svg>',ar='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21 21-4.35-4.35M11 19a8 8 0 1 0-8-8m8 8a8 8 0 1 1 8-8"/></svg>',tr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 13 22 2l-7 20zL2 9l20-7"/></svg>',cr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 12a3 3 0 1 1 3 3m3-3a3 3 0 1 0-3 3M4.541 8.92c.207-.732.2-1.258-.271-1.74l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33 1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09A1.65 1.65 0 0 0 15 4.6a1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82c.26.604.852.997 1.51 1H21a2 2 0 1 1 0 4h-.09A1.65 1.65 0 0 0 19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33H15a1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82V15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09q1.244-.348 1.451-1.08"/></svg>',lr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15.41 6.51-6.82 3.98m0 3.02 6.83 3.98M18 22a3 3 0 1 0-3-3m3 3a3 3 0 1 1 3-3M18 8a3 3 0 1 0-3-3m3 3a3 3 0 1 1 3-3M6 15a3 3 0 1 0-3-3m3 3a3 3 0 1 1 3-3"/></svg>',sr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10"/></svg>',ir='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 14.5h12m4-4H4"/></svg>',dr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8m11-8s-4-8-11-8-11 8-11 8 4 8 11 8m0-5a3 3 0 1 0-3-3m3 3a3 3 0 1 1 3-3"/></svg>',gr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4m-5-4 5-5-5-5m5 5H3"/></svg>',ur='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4m7-4 5-5-5-5 5 5H9"/></svg>',vr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 8a7 7 0 1 1 7 7m7-7a7 7 0 1 0-7 7m-3.79-1.11L7 23l5-3 5 3-1.21-9.12"/></svg>',mr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 4v16L9 12zM5 5v14"/></svg>',pr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4v16l10-8zm14 1v14"/></svg>',hr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.5 2v19.5M10 17l-4.5 5L1 17m15-2h6l-6 7h6m1-12-4-8-4 8 1.5-3h5"/></svg>',wr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.5 2v19.5M10 17l-4.5 5L1 17M16 2h6l-6 7h6m1 13-4-8-4 8 1.5-3h5"/></svg>',br='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 5h4m-4 4h7m-7 4h10M3 17l3 3 3-3m-3 1V4"/></svg>',kr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 5h10M11 9h7m-7 4h4M3 17l3 3 3-3m-3 1V4"/></svg>',fr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 7h12m0 0-4-4m4 4-4 4m0 6H4m0 0 4 4m-4-4 4-4"/></svg>',xr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 16V4m0 0L3 8m4-4 4 4m6 0v12m0 0 4-4m-4 4-4-4"/></svg>',Br='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z"/></svg>',Mr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.222 15.208C2.232 15.955 1 16.986 1 18.125c0 2.278 4.925 4.125 11 4.125s11-1.847 11-4.125c0-1.14-1.231-2.17-3.222-2.917M12 19.5h2.333a1 1 0 0 0 1-1V14H16a1 1 0 0 0 1-1v-3a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v3a1 1 0 0 0 1 1h.667v4.5a1 1 0 0 0 1 1zM12 7a3 3 0 1 0-3-3m3 3a3 3 0 0 1-3-3"/></svg>',Sr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2M6 2a2 2 0 0 0-2 2v16m8-2h.01z"/></svg>',yr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m2 0H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M8 5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9m7 3a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h6"/></svg>',Cr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 6v14l7-2.5 8 2.5 7-2V4l-7 2.5L8 4zl7-2v13.5l8 2.5V6.5"/></svg>',Ar='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 14a8 8 0 1 1 8 8m8-8a8 8 0 1 0-8 8m6-13.793 1.06-1.06M12 10v5m0-9V2h-2 4"/></svg>',Nr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h16m-1 .952C18.333 9.62 15 12 12 12S5.667 9.619 5 2.952m0 18.572c.667-6.667 4-9.048 7-9.048s6.333 2.381 7 9.048M20 22H4"/></svg>',Dr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 6v6l4 2m-4 8c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12m10 10C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10"/></svg>',jr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21a2 2 0 1 0-2-2m2 2a2 2 0 1 1 2-2m-1.125-1.798 4.254-6.401m1.827-.045 3.57 4.886M7 9a2 2 0 1 1 2 2m2-2a2 2 0 1 0-2 2m6 8a2 2 0 1 0-2-2m2 2a2 2 0 1 1 2-2m-1-1.735 4-7.534M21 8a2 2 0 1 0-2-2m2 2a2 2 0 1 1 2-2m-2 2a2 2 0 1 0-2-2m2 2a2 2 0 1 1 2-2"/></svg>',Hr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18-2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6h3V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m-6 5v6m4 0v-6"/></svg>',Lr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m1 6 7.5 7.5 5-5L23 18h-6 6v-6"/></svg>',zr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m1 18 7.5-7.5 5 5L23 6h-6 6v6"/></svg>',Rr='<svg xmlns="http://www.w3.org/2000/svg" class="feather feather-aperture" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m14.31 8 5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16 3.95 6.06M14.31 16H2.83m13.79-4-5.74 9.94"/></svg>',Gr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 7V4H4v3m5 13h6-3V4"/></svg>',Pr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 3v7a6 6 0 1 1-12 0V3M4 21h16"/></svg>',Ir='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 14H3V8"/><path d="M21 17.2c0-5-4-9-9-9-2.4 0-4.7.9-6.4 2.6L3 14"/></svg>',Vr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m11.75 5.18 1.72-1.71a5 5 0 0 1 7.07 7.07l-1.5 1.5M6.46 10.46l-3 3a5 5 0 0 0 7.07 7.07M21 22l-6-6m0 5.933L21 16"/></svg>',Tr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-6.998a2 2 0 0 0-2-2m2 8.999A2 2 0 0 1 19 22H5a2 2 0 0 1-2-2v-6.998a2 2 0 0 1 2-2h14m-14 0h2V7.005a5 5 0 0 1 9.9-1"/></svg>',Wr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.004 20.996v-9l-4 4 4-4m8.39 6.39a5 5 0 0 0-2.39-9.389h-1.26a7.999 7.999 0 1 0-13.739 7.3m5-.3 4-4 3.999 4"/></svg>',Or='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v12m5-7-5-5-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/></svg>',$r='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 21v-2a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v2m-8-10a4 4 0 1 0-4-4m4 4a4 4 0 1 1 4-4"/></svg>',Ur='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14M22 4 12 14.01l-3-3"/></svg>',qr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 7v10l-7-5zM3 5h11a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2M14 5H3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2"/></svg>',Er='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0M12 9v4m0 4h.01"/></svg>',_r='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m16.51 17.35-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83M5 12a7 7 0 1 1 7 7m-7-7a7 7 0 0 0 7 7m1.5-5.5L12 12V9M7.49 6.65l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83"/></svg>',Fr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 23 1 1m10.992 19c-.11.009.119 0 .01 0zM5 12.55a10.94 10.94 0 0 1 5.17-2.39M6.12 6.12A15.9 15.9 0 0 0 1.42 9m7.11 7.11a6 6 0 0 1 6.95 0M19 12.55a11 11 0 0 0-2.28-1.49M22.58 9a16 16 0 0 0-11.87-3.95"/></svg>',Xr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1.42 8c6-5.33 15-5.33 21 0m-3.474 3.55a10.85 10.85 0 0 0-13.973 0m3.503 3.56a5.92 5.92 0 0 1 6.898 0M11.92 19c-.11.009.119 0 .01 0z"/></svg>',Jr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21 21-4.35-4.35M11 19a8 8 0 1 0-8-8m8 8a8 8 0 1 1 8-8m-8-3v6m-3-3h6"/></svg>',Qr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21 21-4.35-4.35M11 19a8 8 0 1 0-8-8m8 8a8 8 0 1 1 8-8M8 11h6"/></svg>';var Yr=Object.freeze({__proto__:null,activity:O,add:$,adjust:U,alignCenter:q,alignJustify:E,alignLeft:_,alignRight:F,archive:X,area:J,arrowDown:Q,arrowLeft:Y,arrowRight:K,arrowUp:Z,attachment:oo,barChart1:eo,barChart2:ro,bell:no,block:ao,bold:to,book:co,bookmark:lo,box:so,building:io,bundle:go,calendar:uo,camera:vo,cases:mo,chat:po,check:ho,checkbox:wo,chevronDoubleDown:bo,chevronDoubleLeft:ko,chevronDoubleRight:fo,chevronDoubleUp:xo,chevronDown:Bo,chevronLeft:Mo,chevronRight:So,chevronUp:yo,circle:Co,close:Ao,cloud:No,code:Do,comment:jo,compas:Ho,coordinates3d:Lo,copy:zo,cornerDownRight:Ro,creditCard:Go,cursor:Po,database:Io,description:Vo,distance:To,dollar:Wo,download:$o,downloadCloud:Oo,dragAndDrop:Uo,dropdown:qo,edit:Eo,equipment:_o,error:Fo,expand:Jo,expand2:Xo,externalLink:Qo,fastBack:Yo,fastForward:Ko,file:Zo,film:oe,filter:ee,flag:re,folder:ne,globe:te,globe2:ae,grid:ce,group:le,heart:se,help:ie,hide:de,history:ge,home:ue,image:ve,inbox:me,info:pe,italic:he,layers:we,layout:be,legend:ke,link:fe,list:xe,loading:Be,locate:Me,location:Se,lock:ye,longParagraph:Ce,mail:Ae,measure:Ne,menu:De,messageAlert:je,minimize:He,minus:Le,mobile:ze,more:Re,move:Ge,next:Pe,objects:Ie,pause:Ve,pc:Te,phone:We,pieChart:Oe,pin:Ue,pinBookmark:$e,play:qe,previous:Ee,print:_e,qrcode:Fe,radio:Xe,redo:Je,reload:Qe,repeat:Ye,roles:Ke,rotate:Ze,route:or,save:er,scanCode:rr,scanQrCode:nr,search:ar,send:tr,settings:cr,share:lr,shield:sr,shortParagraph:ir,show:dr,signIn:gr,signOut:ur,skills:vr,skipBack:mr,skipForward:pr,sortAlphaAsc:hr,sortAlphaDesc:wr,sortAsc:br,sortDesc:kr,sortHorizontal:fr,sortVertical:xr,star:Br,streetview:Mr,tablet:Sr,tasks:yr,themeMap:Cr,time:Dr,timeAlarm:Ar,timeHistory:Nr,timeseries:jr,trash:Hr,trendingDown:Lr,trendingUp:zr,turbine:Rr,type:Gr,underline:Pr,undo:Ir,unlink:Vr,unlock:Tr,upload:Or,uploadCloud:Wr,user:$r,validation:Ur,videoCamera:qr,warning:Er,watch:_r,wifi:Xr,wifiOff:Fr,zoomIn:Jr,zoomOut:Qr});const Kr="screen and ( max-width: 31.1875em )",Zr="screen and ( min-width: 31.25em )",on="screen and ( min-width: 31.25em ) and ( max-width: 48.75em )",en="screen and ( max-width: 48.6875em )",rn="screen and ( min-width: 0 ) and ( max-width: 48.6875em )",nn="screen and ( min-width: 48.75em )",an="screen and ( max-width: 87.4375em )",tn="screen and ( min-width: 87.5em )";var cn=Object.freeze({__proto__:null,mqLargeAndBelow:an,mqLargeAndUp:nn,mqMediumAndBelow:en,mqMediumAndUp:Zr,mqMediumOnly:on,mqSmallOnly:Kr,mqXlargeAndUp:tn,mqZeroToLarge:rn});function u(){return u=Object.assign?Object.assign.bind():function(o){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(o[n]=r[n])}return o},u.apply(null,arguments)}c(u,"_extends");const ln="#ffffff",sn="#f9fafb",dn="#f3f5f6",gn="#e6ebec",un="#c2cdd0",vn="#9dafb3",mn="#789297",pn="#53747b",hn="#2f565e",wn="#223f44",bn="#1c353a",kn="#082d35",fn="#f8fbfc",xn="#f3f8f9",Bn="#e8f1f3",Mn="#c4dbe0",Sn="#a8cbd3",yn="#7eb0bc",Cn="#5b9ba9",An="#388597",Nn="#157084",Dn="#11596a",jn="#0c4957",Hn="#f0fcff",Ln="#e1f9ff",zn="#d0f6ff",Rn="#bff3ff",Gn="#9aecff",Pn="#00cceb",In="#00a7c2",Vn="#008299",Tn="#006c80",Wn="#005766",On="#eeffef",$n="#dbffdf",Un="#c6ffcd",qn="#b0ffbb",En="#7dfd95",_n="#31d962",Fn="#1eb84f",Xn="#1d873c",Jn="#187233",Qn="#125426",Yn="#fff9ed",Kn="#fff2da",Zn="#ffecc8",oa="#ffdd99",ea="#ffd787",ra="#ffcd61",na="#ffb900",aa="#dc9f00",ta="#b17600",ca="#805400",la="#fff7f8",sa="#ffeff0",ia="#ffdbde",da="#ffbfc1",ga="#ffadb1",ua="#ff7d89",va="#ff3b3d",ma="#df001f",pa="#b20016",ha="#9d0012",wa="#f7e6e8",ba="#ecc7c9",ka="#e6a1a5",fa="#eb7072",xa="#bb3a42",Ba="#faebdc",Ma="#f5caa3",Sa="#eda35e",ya="#e57b1a",Ca="#a4540a",Aa="#f4edde",Na="#e8cf96",Da="#d8b155",ja="#b89749",Ha="#7f672e",La="#fcfcdb",za="#e8e54c",Ra="#cbc920",Ga="#afad07",Pa="#767605",Ia="#f1fcdc",Va="#cbed7a",Ta="#a7d441",Wa="#84ba12",Oa="#587d0c",$a="#dff5e1",Ua="#ade2b0",qa="#76ce7a",Ea="#3fb845",_a="#2a792e",Fa="#dcf4ef",Xa="#a7dfd6",Ja="#6fc9ba",Qa="#3ab19e",Ya="#25796b",Ka="#e3f1f6",Za="#b1dae4",ot="#7ac4d3",et="#42abc2",rt="#297585",nt="#e6eff7",at="#bfd5e9",tt="#93bbdf",ct="#60a1df",lt="#346da2",st="#ecedf9",it="#cccfee",dt="#aab2e9",gt="#7f94f2",ut="#4b5cdd",vt="#f4eaf8",mt="#e2c6ec",pt="#d2a1e3",ht="#c574e4",wt="#9e3dc2",bt="#f8e9f2",kt="#ebc5de",ft="#e29dc9",xt="#e26ab5",Bt="#b53b8c",Mt="#ffffff",St="#f9fafb",yt="#f3f5f6",Ct="#e6ebec",At="#53747b",Nt="#223f44",Dt="#082d35",jt="#f8fbfc",Ht="#f3f8f9",Lt="#e8f1f3",zt="#f3f8f9",Rt="#e8f1f3",Gt="#c4dbe0",Pt="#e8f1f3",It="#c4dbe0",Vt="#a8cbd3",Tt="#5b9ba9",Wt="#388597",Ot="#157084",$t="#157084",Ut="#11596a",qt="#0c4957",Et="#fff7f8",_t="#ffeff0",Ft="#ffdbde",Xt="#ffeff0",Jt="#ffdbde",Qt="#ffbfc1",Yt="#ff3b3d",Kt="#df001f",Zt="#b20016",oc="#df001f",ec="#b20016",rc="#9d0012",nc="#fff9ed",ac="#fff2da",tc="#ffecc8",cc="#fff2da",lc="#ffecc8",sc="#ffdd99",ic="#ffb900",dc="#dc9f00",gc="#b17600",uc="#dc9f00",vc="#b17600",mc="#805400",pc="#eeffef",hc="#dbffdf",wc="#c6ffcd",bc="#dbffdf",kc="#c6ffcd",fc="#b0ffbb",xc="#1eb84f",Bc="#1d873c",Mc="#187233",Sc="#1d873c",yc="#187233",Cc="#125426",Ac="#f0fcff",Nc="#e1f9ff",Dc="#d0f6ff",jc="#e1f9ff",Hc="#d0f6ff",Lc="#bff3ff",zc="#00a7c2",Rc="#008299",Gc="#006c80",Pc="#008299",Ic="#006c80",Vc="#005766",Tc="#e6ebec",Wc="#f3f5f6",Oc="#082d35",$c="#223f44",Uc="#53747b",qc="#9dafb3",Ec="#0c4957",_c="#157084",Fc="#388597",Xc="#9d0012",Jc="#b20016",Qc="#ff3b3d",Yc="#805400",Kc="#b17600",Zc="#ffb900",ol="#082d35",el="#125426",rl="#187233",nl="#1eb84f",al="#005766",tl="#006c80",cl="#00a7c2",ll="#9dafb3",sl="#c2cdd0",il="#ffffff",dl="#e6ebec",gl="#c2cdd0",ul="#9dafb3",vl="#2f565e",ml="#082d35",pl="#c4dbe0",hl="#a8cbd3",wl="#7eb0bc",bl="#5b9ba9",kl="#388597",fl="#11596a",xl="#ffbfc1",Bl="#df001f",Ml="#b20016",Sl="#ffd787",yl="#dc9f00",Cl="#b17600",Al="#7dfd95",Nl="#1d873c",Dl="#187233",jl="#9aecff",Hl="#008299",Ll="#006c80",zl="#e6ebec",Rl="#f3f5f6",Gl="rgba(255, 255, 255, 0.85)",Pl="255, 255, 255",Il="230, 235, 236",Vl="83, 116, 123",Tl="34, 63, 68",Wl="232, 241, 243",Ol="91, 155, 169",$l="21, 112, 132",Ul="255, 239, 240",ql="255, 59, 61",El="223, 0, 31",_l="255, 242, 218",Fl="255, 185, 0",Xl="220, 159, 0",Jl="219, 255, 223",Ql="30, 184, 79",Yl="29, 135, 60",Kl="225, 249, 255",Zl="0, 167, 194",o0="0, 130, 153",e0="220, 244, 239",r0="167, 223, 214",n0="111, 201, 186",a0="58, 177, 158",t0="37, 121, 107",c0="244, 234, 248",l0="226, 198, 236",s0="210, 161, 227",i0="197, 116, 228",d0="158, 61, 194",g0="248, 233, 242",u0="235, 197, 222",v0="226, 157, 201",m0="226, 106, 181",p0="181, 59, 140",h0="227, 241, 246",w0="177, 218, 228",b0="122, 196, 211",k0="66, 171, 194",f0="41, 117, 133",x0="230, 239, 247",B0="191, 213, 233",M0="147, 187, 223",S0="96, 161, 223",y0="52, 109, 162",C0="236, 237, 249",A0="204, 207, 238",N0="170, 178, 233",D0="127, 148, 242",j0="75, 92, 221",H0="223, 245, 225",L0="173, 226, 176",z0="118, 206, 122",R0="63, 184, 69",G0="42, 121, 46",P0="241, 252, 220",I0="203, 237, 122",V0="167, 212, 65",T0="132, 186, 18",W0="88, 125, 12",O0="250, 235, 220",$0="245, 202, 163",U0="237, 163, 94",q0="229, 123, 26",E0="164, 84, 10",_0="252, 252, 219",F0="232, 229, 76",X0="203, 201, 32",J0="175, 173, 7",Q0="118, 118, 5",Y0="244, 237, 222",K0="232, 207, 150",Z0="216, 177, 85",os="184, 151, 73",es="127, 103, 46",rs="247, 230, 232",ns="236, 199, 201",as="230, 161, 165",ts="235, 112, 114",cs="187, 58, 66",ls={colorWhite:ln,colorGray0:sn,colorGray5:dn,colorGray10:gn,colorGray20:un,colorGray30:vn,colorGray40:mn,colorGray60:pn,colorGray70:hn,colorGray80:wn,colorGray90:bn,colorGray100:kn,colorAccent0:fn,colorAccent5:xn,colorAccent10:Bn,colorAccent20:Mn,colorAccent30:Sn,colorAccent40:yn,colorAccent60:Cn,colorAccent70:An,colorAccent80:Nn,colorAccent90:Dn,colorAccent100:jn,colorBlue5:Hn,colorBlue10:Ln,colorBlue20:zn,colorBlue30:Rn,colorBlue40:Gn,colorBlue60:Pn,colorBlue70:In,colorBlue80:Vn,colorBlue90:Tn,colorBlue100:Wn,colorGreen5:On,colorGreen10:$n,colorGreen20:Un,colorGreen30:qn,colorGreen40:En,colorGreen60:_n,colorGreen70:Fn,colorGreen80:Xn,colorGreen90:Jn,colorGreen100:Qn,colorOrange5:Yn,colorOrange10:Kn,colorOrange20:Zn,colorOrange30:oa,colorOrange40:ea,colorOrange60:ra,colorOrange70:na,colorOrange80:aa,colorOrange90:ta,colorOrange100:ca,colorRed5:la,colorRed10:sa,colorRed20:ia,colorRed30:da,colorRed40:ga,colorRed60:ua,colorRed70:va,colorRed80:ma,colorRed90:pa,colorRed100:ha},ss={dataRed20:wa,dataRed40:ba,dataRed60:ka,dataRed80:fa,dataRed100:xa,dataOrange20:Ba,dataOrange40:Ma,dataOrange60:Sa,dataOrange80:ya,dataOrange100:Ca,dataBrown20:Aa,dataBrown40:Na,dataBrown60:Da,dataBrown80:ja,dataBrown100:Ha,dataPear20:La,dataPear40:za,dataPear60:Ra,dataPear80:Ga,dataPear100:Pa,dataLime20:Ia,dataLime40:Va,dataLime60:Ta,dataLime80:Wa,dataLime100:Oa,dataGreen20:$a,dataGreen40:Ua,dataGreen60:qa,dataGreen80:Ea,dataGreen100:_a,dataTeal20:Fa,dataTeal40:Xa,dataTeal60:Ja,dataTeal80:Qa,dataTeal100:Ya,dataAqua20:Ka,dataAqua40:Za,dataAqua60:ot,dataAqua80:et,dataAqua100:rt,dataBlue20:nt,dataBlue40:at,dataBlue60:tt,dataBlue80:ct,dataBlue100:lt,dataLazuli20:st,dataLazuli40:it,dataLazuli60:dt,dataLazuli80:gt,dataLazuli100:ut,dataPurple20:vt,dataPurple40:mt,dataPurple60:pt,dataPurple80:ht,dataPurple100:wt,dataPink20:bt,dataPink40:kt,dataPink60:ft,dataPink80:xt,dataPink100:Bt},is={backgroundNeutralMinimal:Mt,backgroundNeutralSubtle:St,backgroundNeutralModerate:yt,backgroundNeutral:Ct,backgroundNeutralBold:At,backgroundNeutralStrong:Nt,backgroundNeutralContrast:Dt,backgroundAccentMinimal:jt,backgroundAccentMinimalHover:Ht,backgroundAccentMinimalActive:Lt,backgroundAccentSubtle:zt,backgroundAccentSubtleHover:Rt,backgroundAccentSubtleActive:Gt,backgroundAccent:Pt,backgroundAccentHover:It,backgroundAccentActive:Vt,backgroundAccentBold:Tt,backgroundAccentBoldHover:Wt,backgroundAccentBoldActive:Ot,backgroundAccentStrong:$t,backgroundAccentStrongHover:Ut,backgroundAccentStrongActive:qt,backgroundDangerSubtle:Et,backgroundDangerSubtleHover:_t,backgroundDangerSubtleActive:Ft,backgroundDanger:Xt,backgroundDangerHover:Jt,backgroundDangerActive:Qt,backgroundDangerBold:Yt,backgroundDangerBoldHover:Kt,backgroundDangerBoldActive:Zt,backgroundDangerStrong:oc,backgroundDangerStrongHover:ec,backgroundDangerStrongActive:rc,backgroundWarningSubtle:nc,backgroundWarningSubtleHover:ac,backgroundWarningSubtleActive:tc,backgroundWarning:cc,backgroundWarningHover:lc,backgroundWarningActive:sc,backgroundWarningBold:ic,backgroundWarningBoldHover:dc,backgroundWarningBoldActive:gc,backgroundWarningStrong:uc,backgroundWarningStrongHover:vc,backgroundWarningStrongActive:mc,backgroundSuccessSubtle:pc,backgroundSuccessSubtleHover:hc,backgroundSuccessSubtleActive:wc,backgroundSuccess:bc,backgroundSuccessHover:kc,backgroundSuccessActive:fc,backgroundSuccessBold:xc,backgroundSuccessBoldHover:Bc,backgroundSuccessBoldActive:Mc,backgroundSuccessStrong:Sc,backgroundSuccessStrongHover:yc,backgroundSuccessStrongActive:Cc,backgroundInfoSubtle:Ac,backgroundInfoSubtleHover:Nc,backgroundInfoSubtleActive:Dc,backgroundInfo:jc,backgroundInfoHover:Hc,backgroundInfoActive:Lc,backgroundInfoBold:zc,backgroundInfoBoldHover:Rc,backgroundInfoBoldActive:Gc,backgroundInfoStrong:Pc,backgroundInfoStrongHover:Ic,backgroundInfoStrongActive:Vc,backgroundDisabled:Tc,backgroundDisabledSubtle:Wc},ds={foregroundNeutral:Oc,foregroundNeutralModerate:$c,foregroundNeutralSubtle:Uc,foregroundNeutralMinimal:qc,foregroundAccent:Ec,foregroundAccentModerate:_c,foregroundAccentSubtle:Fc,foregroundDanger:Xc,foregroundDangerModerate:Jc,foregroundDangerSubtle:Qc,foregroundWarning:Yc,foregroundWarningModerate:Kc,foregroundWarningSubtle:Zc,foregroundWarningInverse:ol,foregroundSuccess:el,foregroundSuccessModerate:rl,foregroundSuccessSubtle:nl,foregroundInfo:al,foregroundInfoModerate:tl,foregroundInfoSubtle:cl,foregroundDisabled:ll,foregroundDisabledSubtle:sl,foregroundInverse:il},gs={borderNeutralSubtle:dl,borderNeutralModerate:gl,borderNeutral:ul,borderNeutralBold:vl,borderNeutralContrast:ml,borderAccentModerate:pl,borderAccent:hl,borderAccentHover:wl,borderAccentActive:bl,borderAccentBold:kl,borderAccentStrong:fl,borderDanger:xl,borderDangerBold:Bl,borderDangerStrong:Ml,borderWarning:Sl,borderWarningBold:yl,borderWarningStrong:Cl,borderSuccess:Al,borderSuccessBold:Nl,borderSuccessStrong:Dl,borderInfo:jl,borderInfoBold:Hl,borderInfoStrong:Ll,borderDisabled:zl,borderDisabledSubtle:Rl,borderInverse:Gl},us={rgbBackgroundNeutralMinimal:Pl,rgbBackgroundNeutral:Il,rgbBackgroundNeutralBold:Vl,rgbBackgroundNeutralStrong:Tl,rgbBackgroundAccent:Wl,rgbBackgroundAccentBold:Ol,rgbBackgroundAccentStrong:$l,rgbBackgroundDanger:Ul,rgbBackgroundDangerBold:ql,rgbBackgroundDangerStrong:El,rgbBackgroundWarning:_l,rgbBackgroundWarningBold:Fl,rgbBackgroundWarningStrong:Xl,rgbBackgroundSuccess:Jl,rgbBackgroundSuccessBold:Ql,rgbBackgroundSuccessStrong:Yl,rgbBackgroundInfo:Kl,rgbBackgroundInfoBold:Zl,rgbBackgroundInfoStrong:o0,rgbDataTeal20:e0,rgbDataTeal40:r0,rgbDataTeal60:n0,rgbDataTeal80:a0,rgbDataTeal100:t0,rgbDataPurple20:c0,rgbDataPurple40:l0,rgbDataPurple60:s0,rgbDataPurple80:i0,rgbDataPurple100:d0,rgbDataPink20:g0,rgbDataPink40:u0,rgbDataPink60:v0,rgbDataPink80:m0,rgbDataPink100:p0,rgbDataAqua20:h0,rgbDataAqua40:w0,rgbDataAqua60:b0,rgbDataAqua80:k0,rgbDataAqua100:f0,rgbDataBlue20:x0,rgbDataBlue40:B0,rgbDataBlue60:M0,rgbDataBlue80:S0,rgbDataBlue100:y0,rgbDataLazuli20:C0,rgbDataLazuli40:A0,rgbDataLazuli60:N0,rgbDataLazuli80:D0,rgbDataLazuli100:j0,rgbDataGreen20:H0,rgbDataGreen40:L0,rgbDataGreen60:z0,rgbDataGreen80:R0,rgbDataGreen100:G0,rgbDataLime20:P0,rgbDataLime40:I0,rgbDataLime60:V0,rgbDataLime80:T0,rgbDataLime100:W0,rgbDataOrange20:O0,rgbDataOrange40:$0,rgbDataOrange60:U0,rgbDataOrange80:q0,rgbDataOrange100:E0,rgbDataPear20:_0,rgbDataPear40:F0,rgbDataPear60:X0,rgbDataPear80:J0,rgbDataPear100:Q0,rgbDataBrown20:Y0,rgbDataBrown40:K0,rgbDataBrown60:Z0,rgbDataBrown80:os,rgbDataBrown100:es,rgbDataRed20:rs,rgbDataRed40:ns,rgbDataRed60:as,rgbDataRed80:ts,rgbDataRed100:cs},vs="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))",ms="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))",ps="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))",hs="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 ws=Object.freeze({__proto__:null,elevationL:hs,elevationM:ps,elevationS:ms,elevationXs:vs}),p={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"}},m={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 bs(o){return o.charAt(0).toUpperCase()+o.slice(1)}c(bs,"capitalizeFirstLetter");var y=Object.keys(p.spacing).reduce(function(o,e){var r;return u({},o,(r={},r["spacing"+bs(e)]=p.spacing[e],r))},{}),C={colors:u({},ls,ss,is,ds,gs,us),space:y,zIndices:{auto:"auto",0:"0",1:"100",2:"200",3:"300",4:"400",5:"500",9:"900"},fonts:m.font.family,fontWeights:m.font.weight,fontSizes:m.size.font,lineHeights:m.size.lineHeight,letterSpacings:m.size.letterSpacing,sizes:u({},p.base,{measureNarrow:"30ch",measureMedium:"60ch",measureWide:"90ch",containerNarrow:"32rem",containerMedium:"48rem",containerWide:"74rem"}),radii:u({},p.borderRadius,y),shadows:u({},ws,{lift:"0 10px 20px -5px rgba(0, 0, 0, 0.15)"})};const ks=T().use(V),A={Components:"component","UX patterns":"pattern"};function fs(o,e){const r=ks.parse(o);let n=null;return r.children.reduce((a,t)=>{if(g(t,"heading")&&t.depth===2)return n=xs(t),a;if(!n||!g(t,"list"))return a;const l=n,s=t.children.map(i=>Bs(i,l,e)).filter(i=>i!==null);return a.concat(s)},[])}c(fs,"parseLlmsIndex");function xs(o){const[e]=o.children;if(!e||!g(e,"text"))return null;const r=e.value.trim();if(!(r in A))return null;const n=A[r];return{title:r,type:n}}c(xs,"extractSectionContext");function Bs(o,e,r){const[n]=o.children;if(!n||!g(n,"paragraph")||n.children.length!==2)return null;const[a,t]=n.children;if(!g(a,"link")||!g(t,"text")||a.children.length!==1)return null;const l=a.children[0];if(!g(l,"text"))return null;const s=l.value.trim(),i=a.url.replace(/^\//,""),z=new URL(i,`${r}/`).toString(),R=Ms(i),G=Ss(e.title,i,e.type),P=Cs(t.value);return{name:s,slug:R,category:G,section:e.title,type:e.type,url:z,description:P??void 0}}c(Bs,"listItemToResource");function Ms(o){return o.replace(/\.md$/,"").split("/").pop()??""}c(Ms,"deriveSlug");function Ss(o,e,r){const n=e.replace(/\.md$/,"").split("/");if(r==="component"||r==="pattern"){const a=n.length>=3?n[n.length-2]:null;return a?`${o} / ${ys(a)}`:o}return o}c(Ss,"deriveCategory");function ys(o){return o.split("-").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}c(ys,"formatSegment");function Cs(o){if(!o)return null;const e=o.replace(/^\s*:\s*/,"").trim();return e.toLowerCase()==="no description available"?null:e}c(Cs,"normalizeDescription");const k=process.env.USE_STABLE_DOCS==="true"||process.env.USE_STABLE_DOCS==="1"?"https://wave.volue.com":"https://wave-design-system.vercel.app",As=`${k}/llms.txt`,Ns=1e3*60*15,Ds=process.env.WAVE_RESOURCES_CACHE_TIME?Number.parseInt(process.env.WAVE_RESOURCES_CACHE_TIME,10):Ns;function f(o){const e=new URL(o,k);return e.pathname.endsWith(".md")||(e.pathname+=".md"),e.toString()}c(f,"createUrl");let x=null,N=0;async function js(){if(x!==null&&Date.now()<N)return x;const o=await Hs();return x=o,N=Date.now()+Ds,o}c(js,"listCachedResources");let h=null;async function Hs(){return h||(h=Ls().finally(()=>{h=null})),h}c(Hs,"idempotentLoadResourcesFromLlms");async function Ls(){const o=await v(As,void 0,"fetch llms.txt");return fs(o,k)}c(Ls,"loadResourcesFromLlms");async function zs(o){return v(o.url,void 0,`fetch ${o.name} documentation`)}c(zs,"fetchComponent");function Rs(o){return v(o.url,void 0,`fetch ${o.name} pattern`)}c(Rs,"fetchPattern");async function Gs(){return v(f("get-started/developing"),void 0,"fetch developing guide")}c(Gs,"fetchDevelopingGuide");async function Ps(){return v(f("tokens/colors"),void 0,"fetch color usage guidelines")}c(Ps,"fetchColorUsageGuidelines");function B(){return Object.entries(Yr).map(([o,e])=>({name:o,svg:e}))}c(B,"listIcons");function Is(){const o=B();return w(o.map(e=>e.name))}c(Is,"getIconNames");function Vs(o,e){const r=e.trim().toLowerCase();return o.find(n=>n.name.toLowerCase()===r)}c(Vs,"findIconByName");async function D(o){return(await js()).filter(r=>r.type===o)}c(D,"listResourcesByType");function j(o,e){const r=e.trim().toLowerCase();return o.find(n=>n.name.toLowerCase()===r)}c(j,"findResourceByName");function M(){return D("component")}c(M,"listComponents");async function Ts(){const o=await M();return w(o.map(e=>e.name))}c(Ts,"getComponentNames");function S(){return D("pattern")}c(S,"listPatterns");async function Ws(){const o=await S();return w(o.map(e=>e.name))}c(Ws,"getPatternNames");function H(o){return o.reduce((e,r)=>(e[r.category]||(e[r.category]=[]),e[r.category].push(r),e),{})}c(H,"groupResourcesByCategory");const Os={name:"get_color_usage",description:"Retrieve the Wave Design System color tokens and guidelines for applying color in user interfaces.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>{try{const n=await Ps();return{content:[{type:"text",text:JSON.stringify(W)},{type:"text",text:`Here are the Wave Design System color usage guidelines:
2
+
3
+ ${n}
4
+
5
+ ---
6
+ Source: ${f("tokens/colors")}`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve color usage guidelines: ${d(n)}`}]}}})}},$s={name:"get_component",description:"Retrieve comprehensive documentation for a specific Wave Design System component by name. This tool retrieves the import instructions, basic usage and advanced configuration examples, code snippets for common scenarios, available props/properties table and some general guidelines for a given Wave Design System component.",async ctx(){try{return{componentNames:await Ts()}}catch(o){throw new Error(`Failed to initialize component tool: ${d(o)}`)}},exec(o,{ctx:e,name:r,description:n}){o.tool(r,n,{name:b.enum(e.componentNames).describe("The name of the component to retrieve documentation for. This can be derived from calling the `get_components` tool.")},async({name:a})=>{try{const t=await M(),l=j(t,a);if(!l)throw new Error("Component not found");const s=await zs(l);return s?{content:[{type:"text",text:`Here is the documentation for the \`${l.name}\` component from the Wave Design System:
7
+
8
+ ${s}
9
+
10
+ ---
11
+ Source: ${l.url}`}]}:{content:[{type:"text",text:`No documentation content found for the \`${l.name}\` component.`}]}}catch(t){return{isError:!0,content:[{type:"text",text:`Failed to retrieve documentation for \`${a}\`: ${d(t)}`}]}}})}},Us={name:"get_icon",description:"Retrieve a specific icon information by name from Wave Design System.",exec(o,{name:e,description:r}){o.tool(e,r,{name:b.enum(Is()).describe("The icon name to retrieve. This can be derived from calling the `list_icon` tool.")},async({name:n})=>{try{const a=B(),t=Vs(a,n);if(!t)throw new Error("Icon not found.");const l=`<SvgIcon iconName="${t.name}" />`,s=`<div class="svgIcon svgIcon--stroked">
12
+ <svg focusable="false" aria-hidden="true">
13
+ <use xlink:href="#svg--${t.name}"></use>
14
+ </svg>
15
+ </div>`;return{content:[{type:"text",text:`# ${t.name} icon
16
+
17
+ ## React component:
18
+
19
+ \`\`\`tsx
20
+ ${l}
21
+ \`\`\`
22
+
23
+ ## HTML markup:
24
+
25
+ \`\`\`html
26
+ ${s}
27
+ \`\`\`
28
+
29
+ ## Raw SVG code:
30
+
31
+ \`\`\`svg
32
+ ${t.svg}
33
+ \`\`\``}]}}catch(a){return{isError:!0,content:[{type:"text",text:`Failed to retrieve icon \`${n}\`: ${d(a)}`}]}}})}},qs={name:"get_pattern",description:"Retrieve documentation for a specific Wave Design System UX pattern by name. This tool provides guidance, examples and components that implement the selected pattern.",async ctx(){try{return{patternNames:await Ws()}}catch(o){throw new Error(`Failed to initialize pattern tool: ${d(o)}`)}},exec(o,{ctx:e,name:r,description:n}){o.tool(r,n,{name:b.enum(e.patternNames).describe("The name of the UX pattern to retrieve documentation for. This can be derived from calling the `list_patterns` tool.")},async({name:a})=>{try{const t=await S(),l=j(t,a);if(!l)throw new Error("Pattern not found");const s=await Rs(l);return{content:[{type:"text",text:`Here are the guidelines for the \`${l.name}\` UX pattern from the Wave Design System:
34
+
35
+ ${s}
36
+
37
+ ---
38
+ Source: ${l.url}`}]}}catch(t){return{isError:!0,content:[{type:"text",text:`Failed to retrieve documentation for \`${a}\`: ${d(t)}`}]}}})}},Es={name:"get_styling_guidelines",description:"Retrieve guidelines for styling Wave Design System components and creating custom styled components.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>({content:[{type:"text",text:`Wave Design System components can be styled using standard React approaches (className, style prop), but Wave provides specialized styling APIs for customizing component styles and creating custom styled components. These APIs are powered by Stitches.js, a CSS-in-JS library with near-zero runtime. They are the recommended approach because they integrate seamlessly with Wave's design tokens and provide type-safe styles.
39
+
40
+ ## Styling APIs
41
+
42
+ ### CSS Prop
43
+
44
+ The \`css\` property is available on all Wave components for styling. It generates CSS class names from the style object, supporting all standard CSS properties and selectors, plus design tokens and responsive breakpoints.
45
+
46
+ Example:
47
+
48
+ \`\`\`tsx
49
+ import { Box } from '@volue/wave-react';
50
+
51
+ <Box
52
+ css={{
53
+ display: 'flex',
54
+ color: '$foregroundInverse',
55
+ backgroundColor: '$backgroundAccentStrong',
56
+ padding: '$spacingM'
57
+ }}
58
+ />
59
+ \`\`\`
60
+
61
+ The \`css\` prop works best for one-off style customizations of specific component instances.
62
+
63
+ ### Styled Function
64
+
65
+ Use \`styled()\` to create reusable styled components with semantic names. It supports all \`css\` prop features, variants for conditional styling, and provides better performance than the \`css\` prop.
66
+
67
+ \`\`\`tsx
68
+ import { styled } from '@volue/wave-react';
69
+
70
+ // Create a simple styled component
71
+ const Container = styled('div', {
72
+ padding: '$spacingM',
73
+ backgroundColor: '$backgroundNeutralSubtle',
74
+ borderRadius: '$borderRadiusM'
75
+ });
76
+
77
+ // Create a styled component with variants
78
+ const SectionTitle = styled('h2', {
79
+ fontWeight: '$semibold',
80
+ color: '$foregroundAccent',
81
+
82
+ variants: {
83
+ size: {
84
+ medium: {
85
+ fontSize: '$gamma',
86
+ },
87
+ large: {
88
+ fontSize: '$beta',
89
+ }
90
+ }
91
+ },
92
+
93
+ // optional defaultVariants
94
+ defaultVariants: {
95
+ size: 'medium'
96
+ }
97
+ });
98
+
99
+ // Use with a specific variant
100
+ <SectionTitle size="large">Analytics Overview</SectionTitle>
101
+
102
+ // Extend an existing Wave component
103
+ import { AppFrame } from '@volue/wave-react';
104
+
105
+ const StyledAppFrame = styled(AppFrame.Root, {
106
+ backgroundColor: '$backgroundNeutralMinimal'
107
+ });
108
+ \`\`\`
109
+
110
+ ## Design Tokens
111
+
112
+ Wave provides a comprehensive set of design tokens for colors, spacing, typography, border radii, shadows, and more. All tokens are available in both \`css\` prop and \`styled()\` function using the \`$tokenName\` syntax (as shown in the examples above).
113
+
114
+ **Use the \`get_tokens\` tool to discover all available design tokens** including their values and usage examples.
115
+
116
+ ## Media Query Tokens
117
+
118
+ Wave provides media query tokens for responsive design. Use these tokens to create breakpoint-based styles:
119
+
120
+ ${Object.entries(cn).map(([a,t])=>`- \`@${a}\`: ${t}`).join(`
121
+ `)}
122
+
123
+ ### Responsive Styling Examples
124
+
125
+ **Using media queries with the css prop:**
126
+
127
+ \`\`\`tsx
128
+ import { Box } from '@volue/wave-react';
129
+
130
+ <Box
131
+ css={{
132
+ padding: '$spacingS',
133
+
134
+ '@mqMediumAndUp': {
135
+ padding: '$spacingM'
136
+ },
137
+ '@mqLargeAndUp': {
138
+ padding: '$spacingL'
139
+ }
140
+ }}
141
+ >
142
+ Responsive padding
143
+ </Box>
144
+ \`\`\`
145
+
146
+ **Using media queries with styled function:**
147
+
148
+ \`\`\`tsx
149
+ import { styled } from '@volue/wave-react';
150
+
151
+ const ResponsiveContainer = styled('div', {
152
+ display: 'flex',
153
+ flexDirection: 'column',
154
+ gap: '$spacingS',
155
+
156
+ '@mqMediumAndUp': {
157
+ flexDirection: 'row',
158
+ gap: '$spacingM'
159
+ }
160
+ });
161
+ \`\`\`
162
+
163
+ **Responsive variants:**
164
+
165
+ \`\`\`tsx
166
+ import { styled } from '@volue/wave-react';
167
+
168
+ const Button = styled('button', {
169
+ variants: {
170
+ size: {
171
+ small: { padding: '$spacingS' },
172
+ large: { padding: '$spacingL' }
173
+ }
174
+ }
175
+ });
176
+
177
+ // Apply different variants at different breakpoints
178
+ <Button
179
+ size={{
180
+ '@initial': 'small',
181
+ '@mqLargeAndUp': 'large'
182
+ }}
183
+ >
184
+ Responsive Button
185
+ </Button>
186
+ \`\`\`
187
+
188
+ ## Best Practices
189
+
190
+ 1. **Use design tokens**: Always prefer design tokens (prefixed with \`$\`) over hardcoded values for consistency. Use the \`get_tokens\` tool to discover available tokens.
191
+ 2. **Choose the right API**: Use \`css\` prop for one-off styles, \`styled()\` for reusable components
192
+ 3. **Semantic breakpoints**: Use Wave's semantic media query tokens rather than arbitrary pixel values
193
+ `}]}))}},_s={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"],transitions:["transition"],borderWidths:["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],borderStyles:["borderStyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"]},Fs={name:"get_tokens",description:"Retrieve the Wave Design System design tokens (colors, fonts, spacing, font styles, etc.) exposed by the `@volue/wave-react` package. Includes token type mappings to CSS properties and usage examples.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>{const n=Object.entries(_s).map(([a,t])=>`| ${a} | ${t.join(", ")} |`).join(`
194
+ `);return{content:[{type:"text",text:`Below is a list of design tokens available from Wave Design System.
195
+ There are ${Object.keys(C).length} token types available:
196
+
197
+ ${JSON.stringify(C)}`},{type:"text",text:`## Token Type to CSS Property Mapping
198
+
199
+ Token types are automatically mapped to CSS Properties:
200
+
201
+ | Token | Properties |
202
+ |-------|------------|
203
+ ${n}
204
+
205
+ ## Using tokens
206
+
207
+ Tokens can be used to style components.
208
+
209
+ \`\`\`tsx
210
+ import { styled } from '@volue/wave-react';
211
+
212
+ const Button = styled('button', {
213
+ backgroundColor: '$backgroundAccentStrong'
214
+ });
215
+
216
+ () => <Button>Button</Button>;
217
+ \`\`\`
218
+
219
+ Tokens also work inside the \`css\` prop.
220
+
221
+ \`\`\`tsx
222
+ const Button = styled('button', {});
223
+
224
+ () => (
225
+ <Button
226
+ css={{
227
+ backgroundColor: '$backgroundAccentStrong'
228
+ }}
229
+ >
230
+ Button
231
+ </Button>
232
+ );
233
+ \`\`\`
234
+
235
+ You can pick a token from any of available token types by prefixing them with the type name, in case they aren't automatically mapped.
236
+
237
+ \`\`\`tsx
238
+ const Button = styled('button', {
239
+ // use a token from the sizes scale
240
+ marginTop: '$sizes$6'
241
+ });
242
+ \`\`\`
243
+
244
+ For more comprehensive styling guidelines including responsive design, variants, and best practices, use the \`get_styling_guidelines\` tool.
245
+
246
+ ## Programmatic theme access
247
+
248
+ \`\`\`tsx
249
+ import { theme } from '@volue/wave-react';
250
+
251
+ // .value returns raw values ("#0c4957", "0.5rem") for JavaScript operations
252
+ const rawColor = theme.colors.foregroundAccent.value;
253
+ const rawSpacing = theme.space.spacingS.value;
254
+ const rawSize = theme.sizes['20'].value;
255
+
256
+ // .computedValue (or default) returns serialized CSS variables ("var(--colors-foregroundAccent)")
257
+ const cssVar = theme.colors.foregroundAccent.computedValue;
258
+ \`\`\`
259
+ `}]}})}},Xs={name:"init",description:"Get guide on how to setup or create a project that includes Wave Design System.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>{try{return{content:[{type:"text",text:`The getting started documentation for developing with Wave Design System is included below.
260
+
261
+ It's **important** that if the project is using a tool like Vite or Next.js, one of the pre-configured starter templates should be used instead of manual configuration:
262
+
263
+ - https://github.com/Volue/wave-vite-example (Vite template)
264
+ - https://github.com/Volue/wave-nextjs-app-router-example (Next.js App Router template)
265
+
266
+ ---
267
+
268
+ ${await Gs()}
269
+ `}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve getting started documentation: ${d(n)}`}]}}})}},Js={name:"list_components",description:"List all components available from the Wave Design System. This tool retrieves the names of all available Wave Design System components grouped by category.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>{try{const n=await M(),a=H(n);return{content:[{type:"text",text:`The following components are available in the Wave Design System:
270
+
271
+ ${Object.entries(a).map(([l,s])=>`## ${l}
272
+ ${s.map(i=>`- ${i.name}`).join(`
273
+ `)}`).join(`
274
+
275
+ `)}
276
+
277
+ Use the \`get_component\` tool to get more information about a specific component.
278
+
279
+ Use these components from the @volue/wave-react package.`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve the component index: ${d(n)}`}]}}})}},Qs={name:"list_icons",description:"List all icons available from the Wave Design System. Icons are sourced directly from the `@volue/design-icons` package.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>{try{return{content:[{type:"text",text:`The following icons are available in the Wave Design System:
280
+
281
+ ${B().map(t=>`- ${t.name}`).join(`
282
+ `)}
283
+
284
+ Use the \`get_icon\` tool to retrieve the SVG markup and usage guidelines for a specific icon.`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve the icon data: ${d(n)}`}]}}})}},Ys={name:"list_patterns",description:"List all UX patterns available from the Wave Design System. This tool retrieves the names of all available Wave Design System patterns grouped by category.",exec(o,{name:e,description:r}){o.tool(e,r,async()=>{try{const n=await S(),a=H(n);return{content:[{type:"text",text:`The following UX patterns are available in the Wave Design System:
285
+
286
+ ${Object.entries(a).map(([l,s])=>`## ${l}
287
+ ${s.map(i=>`- ${i.name}`).join(`
288
+ `)}`).join(`
289
+
290
+ `)}
291
+
292
+ Use the \`get_pattern\` tool to access detailed guidance for a specific pattern.`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve the pattern index: ${d(n)}`}]}}})}},Ks=[Xs,Js,$s,Ys,qs,Os,Qs,Us,Fs,Es],L=new Set;async function Zs(o){await Promise.all(Ks.map(async e=>{if(L.has(e.name))return;const r=await e.ctx?.();L.add(e.name),e.exec(o,{name:e.name,description:e.description,ctx:r})}))}c(Zs,"initializeTools");export{Zs as i};
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var e=Object.defineProperty;var t=(o,r)=>e(o,"name",{value:r,configurable:!0});import{i}from"./server-4exaheDz.js";import{s as g}from"./server-4exaheDz.js";import"node:fs";import"node:url";import"@modelcontextprotocol/sdk/server/mcp.js";if(i(import.meta.url)){const r=process.argv.slice(2)[0]||"stdio";async function s(){try{switch(r){case"stdio":await import("./transports/stdio.js");break;case"http":process.argv.push("--auto-run"),await import("./transports/http.js");break;default:console.error(`Unknown transport: ${r}`),console.error("Available transports: stdio, http"),process.exit(1)}}catch(a){console.error("Error running transport:",a),process.exit(1)}}t(s,"run"),s()}export{g as server};
2
+ var e=Object.defineProperty;var t=(o,r)=>e(o,"name",{value:r,configurable:!0});import{i}from"./server-Bc4VJYhQ.js";import{s as g}from"./server-Bc4VJYhQ.js";import"node:fs";import"node:url";import"@modelcontextprotocol/sdk/server/mcp.js";if(i(import.meta.url)){const r=process.argv.slice(2)[0]||"stdio";async function s(){try{switch(r){case"stdio":await import("./transports/stdio.js");break;case"http":process.argv.push("--auto-run"),await import("./transports/http.js");break;default:console.error(`Unknown transport: ${r}`),console.error("Available transports: stdio, http"),process.exit(1)}}catch(a){console.error("Error running transport:",a),process.exit(1)}}t(s,"run"),s()}export{g as server};
@@ -1 +1 @@
1
- var i=Object.defineProperty;var t=(e,r)=>i(e,"name",{value:r,configurable:!0});import{realpathSync as c}from"node:fs";import{pathToFileURL as f}from"node:url";import{McpServer as p}from"@modelcontextprotocol/sdk/server/mcp.js";async function u(e,r,n){const s=await fetch(e,r);if(!s.ok){const a=n??`fetch ${e}`;throw new Error(`Failed to ${a}: ${s.status} ${s.statusText}`)}return s.text()}t(u,"fetchMarkdown");function m(e,r){return e.type===r}t(m,"isNodeType");function v(e){return Array.from(new Set(e))}t(v,"uniq");function h(e){return e instanceof Error?e.message:"Unknown error"}t(h,"getErrorMessage");function g(e){if(!process.argv[1])return!1;const r=c(process.argv[1]),n=f(r);return e===n.href}t(g,"isEntryFile");var l="0.1.3-next.1",o={version:l};const w=new p({name:"Wave Design System",version:o.version,capabilities:{prompts:{},resources:{},tools:{}}});export{m as a,u as f,h as g,g as i,o as p,w as s,v as u};
1
+ var i=Object.defineProperty;var t=(e,r)=>i(e,"name",{value:r,configurable:!0});import{realpathSync as c}from"node:fs";import{pathToFileURL as f}from"node:url";import{McpServer as p}from"@modelcontextprotocol/sdk/server/mcp.js";async function u(e,r,n){const s=await fetch(e,r);if(!s.ok){const a=n??`fetch ${e}`;throw new Error(`Failed to ${a}: ${s.status} ${s.statusText}`)}return s.text()}t(u,"fetchMarkdown");function m(e,r){return e.type===r}t(m,"isNodeType");function v(e){return Array.from(new Set(e))}t(v,"uniq");function h(e){return e instanceof Error?e.message:"Unknown error"}t(h,"getErrorMessage");function g(e){if(!process.argv[1])return!1;const r=c(process.argv[1]),n=f(r);return e===n.href}t(g,"isEntryFile");var l="0.1.3-next.2",o={version:l};const w=new p({name:"Wave Design System",version:o.version,capabilities:{prompts:{},resources:{},tools:{}}});export{m as a,u as f,h as g,g as i,o as p,w as s,v as u};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var h=Object.defineProperty;var i=(e,s)=>h(e,"name",{value:s,configurable:!0});import{StreamableHTTPServerTransport as f}from"@modelcontextprotocol/sdk/server/streamableHttp.js";import{isInitializeRequest as g}from"@modelcontextprotocol/sdk/types.js";import I from"cors";import l from"express";import{randomUUID as S}from"node:crypto";import{s as m,p as T,i as w}from"../server-4exaheDz.js";import{i as y}from"../index-CS97aye0.js";import"node:fs";import"node:url";import"@modelcontextprotocol/sdk/server/mcp.js";import"@volue/design-colors/generic";import"@volue/design-icons";import"@volue/design-media-queries";import"@volue/wave-react/tokens";import"remark-parse";import"unified";import"zod";const t=l(),P=process.env.CORS_ORIGIN?.split(",")??"*";t.use(I({origin:P,exposedHeaders:["Mcp-Session-Id"],allowedHeaders:["Content-Type","mcp-session-id"]})),t.use(l.json());const r=new Map;t.post("/mcp",async(e,s)=>{const n=e.headers["mcp-session-id"];let o;if(n&&r.has(n))o=r.get(n);else if(!n&&g(e.body))o=new f({sessionIdGenerator:i(()=>S(),"sessionIdGenerator"),onsessioninitialized:i(v=>{r.set(v,o)},"onsessioninitialized")}),o.onclose=()=>{o.sessionId&&r.has(o.sessionId)&&r.delete(o.sessionId)},await y(m),await m.connect(o);else return s.status(400).json({error:{message:"Bad Request: No valid session ID provided"}});await o.handleRequest(e,s,e.body)});const d=i(async(e,s)=>{const n=e.headers["mcp-session-id"];if(!n||!r.has(n))return s.status(404).send("Invalid or missing session ID");await r.get(n).handleRequest(e,s)},"handleSessionRequest");t.get("/mcp",d),t.delete("/mcp",d),t.get("/",(e,s)=>{s.json({name:"Wave MCP Server",version:T.version,description:"MCP server for Wave Design System",endpoints:{"/":"Server information (this response)","/mcp":"Streamable HTTP endpoint for MCP connection","/health":"Health check endpoint"}})}),t.get("/health",(e,s)=>{s.json({status:"healthy",timestamp:new Date().toISOString(),uptime:process.uptime()})});const a=process.env.HOST??"localhost",p=process.env.PORT?Number(process.env.PORT):3e3;let c=null;(process.argv.includes("--auto-run")||w(import.meta.url))&&(c=t.listen(p,a,e=>{e&&(console.error("\u274C Failed to start server:",e),process.exit(1)),console.log(`\u{1F680} Wave MCP Server running on http://${a}:${p}`),console.log(`\u{1F517} Connect via http://${a}:${p}/mcp`)}));const u=i(async()=>{const e=Array.from(r.values()).map(s=>s.close());c&&e.push(new Promise(s=>c.close(()=>s()))),await Promise.allSettled(e),console.log("\u{1F44B} Server shut down gracefully"),process.exit(0)},"cleanup");process.on("SIGTERM",u),process.on("SIGINT",u);export{t as default};
2
+ var h=Object.defineProperty;var i=(e,s)=>h(e,"name",{value:s,configurable:!0});import{StreamableHTTPServerTransport as f}from"@modelcontextprotocol/sdk/server/streamableHttp.js";import{isInitializeRequest as g}from"@modelcontextprotocol/sdk/types.js";import I from"cors";import l from"express";import{randomUUID as S}from"node:crypto";import{s as m,p as T,i as w}from"../server-Bc4VJYhQ.js";import{i as y}from"../index-CcxEm4dV.js";import"node:fs";import"node:url";import"@modelcontextprotocol/sdk/server/mcp.js";import"remark-parse";import"unified";import"zod";const t=l(),P=process.env.CORS_ORIGIN?.split(",")??"*";t.use(I({origin:P,exposedHeaders:["Mcp-Session-Id"],allowedHeaders:["Content-Type","mcp-session-id"]})),t.use(l.json());const r=new Map;t.post("/mcp",async(e,s)=>{const n=e.headers["mcp-session-id"];let o;if(n&&r.has(n))o=r.get(n);else if(!n&&g(e.body))o=new f({sessionIdGenerator:i(()=>S(),"sessionIdGenerator"),onsessioninitialized:i(v=>{r.set(v,o)},"onsessioninitialized")}),o.onclose=()=>{o.sessionId&&r.has(o.sessionId)&&r.delete(o.sessionId)},await y(m),await m.connect(o);else return s.status(400).json({error:{message:"Bad Request: No valid session ID provided"}});await o.handleRequest(e,s,e.body)});const d=i(async(e,s)=>{const n=e.headers["mcp-session-id"];if(!n||!r.has(n))return s.status(404).send("Invalid or missing session ID");await r.get(n).handleRequest(e,s)},"handleSessionRequest");t.get("/mcp",d),t.delete("/mcp",d),t.get("/",(e,s)=>{s.json({name:"Wave MCP Server",version:T.version,description:"MCP server for Wave Design System",endpoints:{"/":"Server information (this response)","/mcp":"Streamable HTTP endpoint for MCP connection","/health":"Health check endpoint"}})}),t.get("/health",(e,s)=>{s.json({status:"healthy",timestamp:new Date().toISOString(),uptime:process.uptime()})});const a=process.env.HOST??"localhost",p=process.env.PORT?Number(process.env.PORT):3e3;let c=null;(process.argv.includes("--auto-run")||w(import.meta.url))&&(c=t.listen(p,a,e=>{e&&(console.error("\u274C Failed to start server:",e),process.exit(1)),console.log(`\u{1F680} Wave MCP Server running on http://${a}:${p}`),console.log(`\u{1F517} Connect via http://${a}:${p}/mcp`)}));const u=i(async()=>{const e=Array.from(r.values()).map(s=>s.close());c&&e.push(new Promise(s=>c.close(()=>s()))),await Promise.allSettled(e),console.log("\u{1F44B} Server shut down gracefully"),process.exit(0)},"cleanup");process.on("SIGTERM",u),process.on("SIGINT",u);export{t as default};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var s=Object.defineProperty;var t=(o,r)=>s(o,"name",{value:r,configurable:!0});import{StdioServerTransport as e}from"@modelcontextprotocol/sdk/server/stdio.js";import{s as i}from"../server-4exaheDz.js";import{i as p}from"../index-CS97aye0.js";import"node:fs";import"node:url";import"@modelcontextprotocol/sdk/server/mcp.js";import"@volue/design-colors/generic";import"@volue/design-icons";import"@volue/design-media-queries";import"@volue/wave-react/tokens";import"remark-parse";import"unified";import"zod";async function a(){await p(i);const o=new e;await i.connect(o);const r=t(async()=>{await o.close(),process.exit(0)},"cleanup");process.on("SIGTERM",r),process.on("SIGINT",r)}t(a,"main"),a().catch(o=>{console.error("\u274C Failed to start server:",o),process.exit(1)});
2
+ var s=Object.defineProperty;var t=(o,r)=>s(o,"name",{value:r,configurable:!0});import{StdioServerTransport as e}from"@modelcontextprotocol/sdk/server/stdio.js";import{s as i}from"../server-Bc4VJYhQ.js";import{i as a}from"../index-CcxEm4dV.js";import"node:fs";import"node:url";import"@modelcontextprotocol/sdk/server/mcp.js";import"remark-parse";import"unified";import"zod";async function n(){await a(i);const o=new e;await i.connect(o);const r=t(async()=>{await o.close(),process.exit(0)},"cleanup");process.on("SIGTERM",r),process.on("SIGINT",r)}t(n,"main"),n().catch(o=>{console.error("\u274C Failed to start server:",o),process.exit(1)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volue/wave-mcp",
3
- "version": "0.1.3-next.1",
3
+ "version": "0.1.3-next.2",
4
4
  "description": "An MCP server that connects AI tools to the Wave Design System",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -51,14 +51,10 @@
51
51
  "inspect:http": "yarn dlx -q @modelcontextprotocol/inspector --transport http --server-url http://localhost:3000/mcp"
52
52
  },
53
53
  "dependencies": {
54
- "@modelcontextprotocol/sdk": "1.20.2",
54
+ "@modelcontextprotocol/sdk": "1.21.0",
55
55
  "@types/cors": "2.8.19",
56
56
  "@types/express": "5.0.5",
57
57
  "@types/express-serve-static-core": "5.1.0",
58
- "@volue/design-colors": "^3.0.11-next.0",
59
- "@volue/design-icons": "^1.9.5-next.0",
60
- "@volue/design-media-queries": "^1.3.14-next.0",
61
- "@volue/wave-react": "^1.3.2-next.0",
62
58
  "cors": "2.8.5",
63
59
  "express": "5.1.0",
64
60
  "remark-parse": "8.0.3",
@@ -68,8 +64,12 @@
68
64
  },
69
65
  "devDependencies": {
70
66
  "@types/mdast": "3.0.15",
71
- "@types/node": "22.18.13",
72
- "@volue/eslint-config": "1.3.11",
67
+ "@types/node": "22.19.0",
68
+ "@volue/design-colors": "^3.0.11-next.0",
69
+ "@volue/design-icons": "^1.9.5-next.0",
70
+ "@volue/design-media-queries": "^1.3.14-next.0",
71
+ "@volue/eslint-config": "1.3.12",
72
+ "@volue/wave-react": "^1.3.2-next.0",
73
73
  "eslint": "9.39.0",
74
74
  "npm-run-all2": "8.0.4",
75
75
  "pkgroll": "2.20.1",
@@ -1,292 +0,0 @@
1
- var _=Object.defineProperty;var s=(e,t)=>_(e,"name",{value:t,configurable:!0});import{a as p,f as m,u as g,g as d}from"./server-4exaheDz.js";import U from"@volue/design-colors/generic";import*as A from"@volue/design-icons";import*as P from"@volue/design-media-queries";import k from"@volue/wave-react/tokens";import z from"remark-parse";import D from"unified";import{z as f}from"zod";const M=D().use(z),w={Components:"component","UX patterns":"pattern"};function N(e,t){const o=M.parse(e);let n=null;return o.children.reduce((r,i)=>{if(p(i,"heading")&&i.depth===2)return n=j(i),r;if(!n||!p(i,"list"))return r;const a=n,c=i.children.map(l=>F(l,a,t)).filter(l=>l!==null);return r.concat(c)},[])}s(N,"parseLlmsIndex");function j(e){const[t]=e.children;if(!t||!p(t,"text"))return null;const o=t.value.trim();if(!(o in w))return null;const n=w[o];return{title:o,type:n}}s(j,"extractSectionContext");function F(e,t,o){const[n]=e.children;if(!n||!p(n,"paragraph")||n.children.length!==2)return null;const[r,i]=n.children;if(!p(r,"link")||!p(i,"text")||r.children.length!==1)return null;const a=r.children[0];if(!p(a,"text"))return null;const c=a.value.trim(),l=r.url.replace(/^\//,""),R=new URL(l,`${o}/`).toString(),I=O(l),L=V(t.title,l,t.type),W=H(i.value);return{name:c,slug:I,category:L,section:t.title,type:t.type,url:R,description:W??void 0}}s(F,"listItemToResource");function O(e){return e.replace(/\.md$/,"").split("/").pop()??""}s(O,"deriveSlug");function V(e,t,o){const n=t.replace(/\.md$/,"").split("/");if(o==="component"||o==="pattern"){const r=n.length>=3?n[n.length-2]:null;return r?`${e} / ${G(r)}`:e}return e}s(V,"deriveCategory");function G(e){return e.split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}s(G,"formatSegment");function H(e){if(!e)return null;const t=e.replace(/^\s*:\s*/,"").trim();return t.toLowerCase()==="no description available"?null:t}s(H,"normalizeDescription");const h=process.env.USE_STABLE_DOCS==="true"||process.env.USE_STABLE_DOCS==="1"?"https://wave.volue.com":"https://wave-design-system.vercel.app",q=`${h}/llms.txt`,X=1e3*60*15,J=process.env.WAVE_RESOURCES_CACHE_TIME?Number.parseInt(process.env.WAVE_RESOURCES_CACHE_TIME,10):X;function y(e){const t=new URL(e,h);return t.pathname.endsWith(".md")||(t.pathname+=".md"),t.toString()}s(y,"createUrl");let v=null,$=0;async function Q(){if(v!==null&&Date.now()<$)return v;const e=await Y();return v=e,$=Date.now()+J,e}s(Q,"listCachedResources");let u=null;async function Y(){return u||(u=K().finally(()=>{u=null})),u}s(Y,"idempotentLoadResourcesFromLlms");async function K(){const e=await m(q,void 0,"fetch llms.txt");return N(e,h)}s(K,"loadResourcesFromLlms");async function Z(e){return m(e.url,void 0,`fetch ${e.name} documentation`)}s(Z,"fetchComponent");function ee(e){return m(e.url,void 0,`fetch ${e.name} pattern`)}s(ee,"fetchPattern");async function te(){return m(y("get-started/developing"),void 0,"fetch developing guide")}s(te,"fetchDevelopingGuide");async function ne(){return m(y("tokens/colors"),void 0,"fetch color usage guidelines")}s(ne,"fetchColorUsageGuidelines");function b(){return Object.entries(A).map(([e,t])=>({name:e,svg:t}))}s(b,"listIcons");function oe(){const e=b();return g(e.map(t=>t.name))}s(oe,"getIconNames");function re(e,t){const o=t.trim().toLowerCase();return e.find(n=>n.name.toLowerCase()===o)}s(re,"findIconByName");async function T(e){return(await Q()).filter(o=>o.type===e)}s(T,"listResourcesByType");function C(e,t){const o=t.trim().toLowerCase();return e.find(n=>n.name.toLowerCase()===o)}s(C,"findResourceByName");function S(){return T("component")}s(S,"listComponents");async function ie(){const e=await S();return g(e.map(t=>t.name))}s(ie,"getComponentNames");function x(){return T("pattern")}s(x,"listPatterns");async function se(){const e=await x();return g(e.map(t=>t.name))}s(se,"getPatternNames");function B(e){return e.reduce((t,o)=>(t[o.category]||(t[o.category]=[]),t[o.category].push(o),t),{})}s(B,"groupResourcesByCategory");const ae={name:"get_color_usage",description:"Retrieve the Wave Design System color tokens and guidelines for applying color in user interfaces.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>{try{const n=await ne();return{content:[{type:"text",text:JSON.stringify(U)},{type:"text",text:`Here are the Wave Design System color usage guidelines:
2
-
3
- ${n}
4
-
5
- ---
6
- Source: ${y("tokens/colors")}`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve color usage guidelines: ${d(n)}`}]}}})}},ce={name:"get_component",description:"Retrieve comprehensive documentation for a specific Wave Design System component by name. This tool retrieves the import instructions, basic usage and advanced configuration examples, code snippets for common scenarios, available props/properties table and some general guidelines for a given Wave Design System component.",async ctx(){try{return{componentNames:await ie()}}catch(e){throw new Error(`Failed to initialize component tool: ${d(e)}`)}},exec(e,{ctx:t,name:o,description:n}){e.tool(o,n,{name:f.enum(t.componentNames).describe("The name of the component to retrieve documentation for. This can be derived from calling the `get_components` tool.")},async({name:r})=>{try{const i=await S(),a=C(i,r);if(!a)throw new Error("Component not found");const c=await Z(a);return c?{content:[{type:"text",text:`Here is the documentation for the \`${a.name}\` component from the Wave Design System:
7
-
8
- ${c}
9
-
10
- ---
11
- Source: ${a.url}`}]}:{content:[{type:"text",text:`No documentation content found for the \`${a.name}\` component.`}]}}catch(i){return{isError:!0,content:[{type:"text",text:`Failed to retrieve documentation for \`${r}\`: ${d(i)}`}]}}})}},le={name:"get_icon",description:"Retrieve a specific icon information by name from Wave Design System.",exec(e,{name:t,description:o}){e.tool(t,o,{name:f.enum(oe()).describe("The icon name to retrieve. This can be derived from calling the `list_icon` tool.")},async({name:n})=>{try{const r=b(),i=re(r,n);if(!i)throw new Error("Icon not found.");const a=`<SvgIcon iconName="${i.name}" />`,c=`<div class="svgIcon svgIcon--stroked">
12
- <svg focusable="false" aria-hidden="true">
13
- <use xlink:href="#svg--${i.name}"></use>
14
- </svg>
15
- </div>`;return{content:[{type:"text",text:`# ${i.name} icon
16
-
17
- ## React component:
18
-
19
- \`\`\`tsx
20
- ${a}
21
- \`\`\`
22
-
23
- ## HTML markup:
24
-
25
- \`\`\`html
26
- ${c}
27
- \`\`\`
28
-
29
- ## Raw SVG code:
30
-
31
- \`\`\`svg
32
- ${i.svg}
33
- \`\`\``}]}}catch(r){return{isError:!0,content:[{type:"text",text:`Failed to retrieve icon \`${n}\`: ${d(r)}`}]}}})}},de={name:"get_pattern",description:"Retrieve documentation for a specific Wave Design System UX pattern by name. This tool provides guidance, examples and components that implement the selected pattern.",async ctx(){try{return{patternNames:await se()}}catch(e){throw new Error(`Failed to initialize pattern tool: ${d(e)}`)}},exec(e,{ctx:t,name:o,description:n}){e.tool(o,n,{name:f.enum(t.patternNames).describe("The name of the UX pattern to retrieve documentation for. This can be derived from calling the `list_patterns` tool.")},async({name:r})=>{try{const i=await x(),a=C(i,r);if(!a)throw new Error("Pattern not found");const c=await ee(a);return{content:[{type:"text",text:`Here are the guidelines for the \`${a.name}\` UX pattern from the Wave Design System:
34
-
35
- ${c}
36
-
37
- ---
38
- Source: ${a.url}`}]}}catch(i){return{isError:!0,content:[{type:"text",text:`Failed to retrieve documentation for \`${r}\`: ${d(i)}`}]}}})}},pe={name:"get_styling_guidelines",description:"Retrieve guidelines for styling Wave Design System components and creating custom styled components.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>({content:[{type:"text",text:`Wave Design System components can be styled using standard React approaches (className, style prop), but Wave provides specialized styling APIs for customizing component styles and creating custom styled components. These APIs are powered by Stitches.js, a CSS-in-JS library with near-zero runtime. They are the recommended approach because they integrate seamlessly with Wave's design tokens and provide type-safe styles.
39
-
40
- ## Styling APIs
41
-
42
- ### CSS Prop
43
-
44
- The \`css\` property is available on all Wave components for styling. It generates CSS class names from the style object, supporting all standard CSS properties and selectors, plus design tokens and responsive breakpoints.
45
-
46
- Example:
47
-
48
- \`\`\`tsx
49
- import { Box } from '@volue/wave-react';
50
-
51
- <Box
52
- css={{
53
- display: 'flex',
54
- color: '$foregroundInverse',
55
- backgroundColor: '$backgroundAccentStrong',
56
- padding: '$spacingM'
57
- }}
58
- />
59
- \`\`\`
60
-
61
- The \`css\` prop works best for one-off style customizations of specific component instances.
62
-
63
- ### Styled Function
64
-
65
- Use \`styled()\` to create reusable styled components with semantic names. It supports all \`css\` prop features, variants for conditional styling, and provides better performance than the \`css\` prop.
66
-
67
- \`\`\`tsx
68
- import { styled } from '@volue/wave-react';
69
-
70
- // Create a simple styled component
71
- const Container = styled('div', {
72
- padding: '$spacingM',
73
- backgroundColor: '$backgroundNeutralSubtle',
74
- borderRadius: '$borderRadiusM'
75
- });
76
-
77
- // Create a styled component with variants
78
- const SectionTitle = styled('h2', {
79
- fontWeight: '$semibold',
80
- color: '$foregroundAccent',
81
-
82
- variants: {
83
- size: {
84
- medium: {
85
- fontSize: '$gamma',
86
- },
87
- large: {
88
- fontSize: '$beta',
89
- }
90
- }
91
- },
92
-
93
- // optional defaultVariants
94
- defaultVariants: {
95
- size: 'medium'
96
- }
97
- });
98
-
99
- // Use with a specific variant
100
- <SectionTitle size="large">Analytics Overview</SectionTitle>
101
-
102
- // Extend an existing Wave component
103
- import { AppFrame } from '@volue/wave-react';
104
-
105
- const StyledAppFrame = styled(AppFrame.Root, {
106
- backgroundColor: '$backgroundNeutralMinimal'
107
- });
108
- \`\`\`
109
-
110
- ## Design Tokens
111
-
112
- Wave provides a comprehensive set of design tokens for colors, spacing, typography, border radii, shadows, and more. All tokens are available in both \`css\` prop and \`styled()\` function using the \`$tokenName\` syntax (as shown in the examples above).
113
-
114
- **Use the \`get_tokens\` tool to discover all available design tokens** including their values and usage examples.
115
-
116
- ## Media Query Tokens
117
-
118
- Wave provides media query tokens for responsive design. Use these tokens to create breakpoint-based styles:
119
-
120
- ${Object.entries(P).map(([r,i])=>`- \`@${r}\`: ${i}`).join(`
121
- `)}
122
-
123
- ### Responsive Styling Examples
124
-
125
- **Using media queries with the css prop:**
126
-
127
- \`\`\`tsx
128
- import { Box } from '@volue/wave-react';
129
-
130
- <Box
131
- css={{
132
- padding: '$spacingS',
133
-
134
- '@mqMediumAndUp': {
135
- padding: '$spacingM'
136
- },
137
- '@mqLargeAndUp': {
138
- padding: '$spacingL'
139
- }
140
- }}
141
- >
142
- Responsive padding
143
- </Box>
144
- \`\`\`
145
-
146
- **Using media queries with styled function:**
147
-
148
- \`\`\`tsx
149
- import { styled } from '@volue/wave-react';
150
-
151
- const ResponsiveContainer = styled('div', {
152
- display: 'flex',
153
- flexDirection: 'column',
154
- gap: '$spacingS',
155
-
156
- '@mqMediumAndUp': {
157
- flexDirection: 'row',
158
- gap: '$spacingM'
159
- }
160
- });
161
- \`\`\`
162
-
163
- **Responsive variants:**
164
-
165
- \`\`\`tsx
166
- import { styled } from '@volue/wave-react';
167
-
168
- const Button = styled('button', {
169
- variants: {
170
- size: {
171
- small: { padding: '$spacingS' },
172
- large: { padding: '$spacingL' }
173
- }
174
- }
175
- });
176
-
177
- // Apply different variants at different breakpoints
178
- <Button
179
- size={{
180
- '@initial': 'small',
181
- '@mqLargeAndUp': 'large'
182
- }}
183
- >
184
- Responsive Button
185
- </Button>
186
- \`\`\`
187
-
188
- ## Best Practices
189
-
190
- 1. **Use design tokens**: Always prefer design tokens (prefixed with \`$\`) over hardcoded values for consistency. Use the \`get_tokens\` tool to discover available tokens.
191
- 2. **Choose the right API**: Use \`css\` prop for one-off styles, \`styled()\` for reusable components
192
- 3. **Semantic breakpoints**: Use Wave's semantic media query tokens rather than arbitrary pixel values
193
- `}]}))}},me={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"],transitions:["transition"],borderWidths:["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],borderStyles:["borderStyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"]},ue={name:"get_tokens",description:"Retrieve the Wave Design System design tokens (colors, fonts, spacing, font styles, etc.) exposed by the `@volue/wave-react` package. Includes token type mappings to CSS properties and usage examples.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>{const n=Object.entries(me).map(([r,i])=>`| ${r} | ${i.join(", ")} |`).join(`
194
- `);return{content:[{type:"text",text:`Below is a list of design tokens available from Wave Design System.
195
- There are ${Object.keys(k).length} token types available:
196
-
197
- ${JSON.stringify(k)}`},{type:"text",text:`## Token Type to CSS Property Mapping
198
-
199
- Token types are automatically mapped to CSS Properties:
200
-
201
- | Token | Properties |
202
- |-------|------------|
203
- ${n}
204
-
205
- ## Using tokens
206
-
207
- Tokens can be used to style components.
208
-
209
- \`\`\`tsx
210
- import { styled } from '@volue/wave-react';
211
-
212
- const Button = styled('button', {
213
- backgroundColor: '$backgroundAccentStrong'
214
- });
215
-
216
- () => <Button>Button</Button>;
217
- \`\`\`
218
-
219
- Tokens also work inside the \`css\` prop.
220
-
221
- \`\`\`tsx
222
- const Button = styled('button', {});
223
-
224
- () => (
225
- <Button
226
- css={{
227
- backgroundColor: '$backgroundAccentStrong'
228
- }}
229
- >
230
- Button
231
- </Button>
232
- );
233
- \`\`\`
234
-
235
- You can pick a token from any of available token types by prefixing them with the type name, in case they aren't automatically mapped.
236
-
237
- \`\`\`tsx
238
- const Button = styled('button', {
239
- // use a token from the sizes scale
240
- marginTop: '$sizes$6'
241
- });
242
- \`\`\`
243
-
244
- For more comprehensive styling guidelines including responsive design, variants, and best practices, use the \`get_styling_guidelines\` tool.
245
-
246
- ## Programmatic theme access
247
-
248
- \`\`\`tsx
249
- import { theme } from '@volue/wave-react';
250
-
251
- // .value returns raw values ("#0c4957", "0.5rem") for JavaScript operations
252
- const rawColor = theme.colors.foregroundAccent.value;
253
- const rawSpacing = theme.space.spacingS.value;
254
- const rawSize = theme.sizes['20'].value;
255
-
256
- // .computedValue (or default) returns serialized CSS variables ("var(--colors-foregroundAccent)")
257
- const cssVar = theme.colors.foregroundAccent.computedValue;
258
- \`\`\`
259
- `}]}})}},ge={name:"init",description:"Get guide on how to setup or create a project that includes Wave Design System.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>{try{return{content:[{type:"text",text:`The getting started documentation for developing with Wave Design System is included below.
260
-
261
- It's **important** that if the project is using a tool like Vite or Next.js, one of the pre-configured starter templates should be used instead of manual configuration:
262
-
263
- - https://github.com/Volue/wave-vite-example (Vite template)
264
- - https://github.com/Volue/wave-nextjs-app-router-example (Next.js App Router template)
265
-
266
- ---
267
-
268
- ${await te()}
269
- `}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve getting started documentation: ${d(n)}`}]}}})}},fe={name:"list_components",description:"List all components available from the Wave Design System. This tool retrieves the names of all available Wave Design System components grouped by category.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>{try{const n=await S(),r=B(n);return{content:[{type:"text",text:`The following components are available in the Wave Design System:
270
-
271
- ${Object.entries(r).map(([a,c])=>`## ${a}
272
- ${c.map(l=>`- ${l.name}`).join(`
273
- `)}`).join(`
274
-
275
- `)}
276
-
277
- Use the \`get_component\` tool to get more information about a specific component.
278
-
279
- Use these components from the @volue/wave-react package.`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve the component index: ${d(n)}`}]}}})}},he={name:"list_icons",description:"List all icons available from the Wave Design System. Icons are sourced directly from the `@volue/design-icons` package.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>{try{return{content:[{type:"text",text:`The following icons are available in the Wave Design System:
280
-
281
- ${b().map(i=>`- ${i.name}`).join(`
282
- `)}
283
-
284
- Use the \`get_icon\` tool to retrieve the SVG markup and usage guidelines for a specific icon.`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve the icon data: ${d(n)}`}]}}})}},ye={name:"list_patterns",description:"List all UX patterns available from the Wave Design System. This tool retrieves the names of all available Wave Design System patterns grouped by category.",exec(e,{name:t,description:o}){e.tool(t,o,async()=>{try{const n=await x(),r=B(n);return{content:[{type:"text",text:`The following UX patterns are available in the Wave Design System:
285
-
286
- ${Object.entries(r).map(([a,c])=>`## ${a}
287
- ${c.map(l=>`- ${l.name}`).join(`
288
- `)}`).join(`
289
-
290
- `)}
291
-
292
- Use the \`get_pattern\` tool to access detailed guidance for a specific pattern.`}]}}catch(n){return{isError:!0,content:[{type:"text",text:`Failed to retrieve the pattern index: ${d(n)}`}]}}})}},ve=[ge,fe,ce,ye,de,ae,he,le,ue,pe],E=new Set;async function be(e){await Promise.all(ve.map(async t=>{if(E.has(t.name))return;const o=await t.ctx?.();E.add(t.name),t.exec(e,{name:t.name,description:t.description,ctx:o})}))}s(be,"initializeTools");export{be as i};