standby-design-mcp 0.1.4 → 0.1.5

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/dist/http.js CHANGED
@@ -2091,6 +2091,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2091
2091
  ...brandContrastWarnLight,
2092
2092
  ["primary-subtle", "brand", 100],
2093
2093
  ["primary-subtle-foreground", "brand", 950],
2094
+ ["primary-emphasis", "brand", 700],
2094
2095
  [null, null, "Secondary \u2014 softened brand"],
2095
2096
  ["secondary", "brand", 200],
2096
2097
  ["secondary-foreground", "brand", fgStep(brandMap[200]?.hex, brandMap, 100, 900, fgMode)],
@@ -2105,6 +2106,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2105
2106
  destFgLight,
2106
2107
  ["destructive-subtle", "error", 100],
2107
2108
  ["destructive-subtle-foreground", "error", 950],
2109
+ ["destructive-emphasis", "error", 700],
2108
2110
  ["destructive-border", "error-surface", 300],
2109
2111
  [null, null, "Border / Input / Ring"],
2110
2112
  ["border", "surface", 300],
@@ -2137,6 +2139,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2137
2139
  ...brandContrastWarnDark,
2138
2140
  ["primary-subtle", "brand", 850],
2139
2141
  ["primary-subtle-foreground", "brand", 50],
2142
+ ["primary-emphasis", "brand", 300],
2140
2143
  [null, null, "Secondary \u2014 softened brand"],
2141
2144
  ["secondary", "brand", 800],
2142
2145
  ["secondary-foreground", "brand", fgStep(brandMap[800]?.hex, brandMap, 100, 900, fgMode)],
@@ -2151,6 +2154,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2151
2154
  destFgDark,
2152
2155
  ["destructive-subtle", "error", 850],
2153
2156
  ["destructive-subtle-foreground", "error", 50],
2157
+ ["destructive-emphasis", "error", 300],
2154
2158
  ["destructive-border", "error-surface", 700],
2155
2159
  [null, null, "Border / Input / Ring"],
2156
2160
  ["border", "surface", 600],
@@ -2204,6 +2208,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2204
2208
  [`${n}-accent-foreground`, n, fgStep(aMap[100]?.hex, aMap, 50, 950, fgMode)],
2205
2209
  [`${n}-subtle`, n, 100],
2206
2210
  [`${n}-subtle-foreground`, n, 950],
2211
+ [`${n}-emphasis`, n, 700],
2207
2212
  [null, null, "Border / Input / Ring"],
2208
2213
  [`${n}-border`, `${n}-surface`, 300],
2209
2214
  [`${n}-border-muted`, `${n}-surface`, 200],
@@ -2231,6 +2236,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2231
2236
  [`${n}-accent-foreground`, n, fgStep(aMap[850]?.hex, aMap, 50, 950, fgMode)],
2232
2237
  [`${n}-subtle`, n, 850],
2233
2238
  [`${n}-subtle-foreground`, n, 50],
2239
+ [`${n}-emphasis`, n, 300],
2234
2240
  [null, null, "Border / Input / Ring"],
2235
2241
  [`${n}-border`, `${n}-surface`, 600],
2236
2242
  [`${n}-border-muted`, `${n}-surface`, 700],
@@ -2288,11 +2294,13 @@ ${pinnedNote}${pinnedContrastWarning}
2288
2294
  | \`--popover\` | surface-25 | surface-800 | Popover/dropdown |
2289
2295
  | \`--primary\` | brand-600 | brand-400 | Primary buttons, links |
2290
2296
  | \`--primary-subtle\` | brand-100 | brand-850 | Tinted brand fills: callouts, selected items |
2297
+ | \`--primary-emphasis\` | brand-700 | brand-300 | Brand-colored text, links, icons on background |
2291
2298
  | \`--secondary\` | brand-200 | brand-800 | Secondary buttons |
2292
2299
  | \`--muted\` | surface-75 | surface-850 | Muted backgrounds |
2293
2300
  | \`--accent\` | brand-100 | brand-850 | Interaction highlights (hover, selected) |
2294
2301
  | \`--destructive\` | error-600 | error-400 | Error/delete actions |
2295
2302
  | \`--destructive-subtle\` | error-100 | error-850 | Inline errors, alert backgrounds |
2303
+ | \`--destructive-emphasis\` | error-700 | error-300 | Error text and icons on background |
2296
2304
  | \`--destructive-border\` | error-surface-300 | error-surface-700 | Error borders |
2297
2305
  | \`--border\` | surface-300 | surface-600 | Default borders |
2298
2306
  | \`--border-muted\` | surface-200 | surface-700 | Subtle separators |
@@ -2314,7 +2322,7 @@ ${accentPalettes.length > 0 ? `
2314
2322
  ### Accent Scopes
2315
2323
 
2316
2324
  Each accent color provides a full semantic scope:
2317
- ${accentPalettes.map((a) => `- **${a.name}** (\`--${a.cssName}\`): \`-foreground\`, \`-background\`, \`-card\`, \`-popover\`, \`-secondary\`, \`-muted\`, \`-accent\`, \`-subtle\`, \`-border\`, \`-border-muted\`, \`-input\`, \`-ring\` \u2014 each with light/dark variants.`).join("\n")}
2325
+ ${accentPalettes.map((a) => `- **${a.name}** (\`--${a.cssName}\`): \`-foreground\`, \`-background\`, \`-card\`, \`-popover\`, \`-secondary\`, \`-muted\`, \`-accent\`, \`-subtle\`, \`-emphasis\`, \`-border\`, \`-border-muted\`, \`-input\`, \`-ring\` \u2014 each with light/dark variants.`).join("\n")}
2318
2326
  ` : ""}
2319
2327
  ## How to Use
2320
2328
 
@@ -2322,7 +2330,8 @@ ${accentPalettes.map((a) => `- **${a.name}** (\`--${a.cssName}\`): \`-foreground
2322
2330
  2. **Tailwind v4**: The export ships plain CSS custom properties. To get utilities like \`bg-primary\` or \`text-foreground\`, map the variables once via \`@theme inline { --color-primary: var(--primary); \u2026 }\` \u2014 see tailwindcss.com/docs/theme.
2323
2331
  3. **Dark mode**: Add \`.dark\` to \`<html>\` or a container. All semantic tokens remap automatically.
2324
2332
  4. **Borders**: Default to \`--border-muted\` for subtle separation (dividers, table rows). Use \`--border\` for visible borders (cards, panels). Form controls (\`input\`, \`select\`, \`textarea\`) always use \`--input\` \u2014 never \`--border\`.
2325
- 5. **Shadows and radii**: see standby.design/shape for hue-matched shadow tokens and border-radius scales.
2333
+ 5. **Colored text**: For links, icons, and indicators placed directly on \`--background\` or \`--card\`, use \`--primary-emphasis\` / \`--destructive-emphasis\` / \`--{name}-emphasis\` \u2014 never the button colors (\`--primary\`, 600/400 steps), which may lack text contrast there.
2334
+ 6. **Shadows and radii**: see standby.design/shape for hue-matched shadow tokens and border-radius scales.
2326
2335
 
2327
2336
  ## Primitive Scale Reference
2328
2337
 
@@ -3457,7 +3466,7 @@ ${output}`);
3457
3466
  }
3458
3467
 
3459
3468
  // src/server.ts
3460
- var SERVER_VERSION = "0.1.4";
3469
+ var SERVER_VERSION = "0.1.5";
3461
3470
  function createServer() {
3462
3471
  const server = new McpServer(
3463
3472
  { name: "standby-design", version: SERVER_VERSION },
package/dist/index.js CHANGED
@@ -2090,6 +2090,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2090
2090
  ...brandContrastWarnLight,
2091
2091
  ["primary-subtle", "brand", 100],
2092
2092
  ["primary-subtle-foreground", "brand", 950],
2093
+ ["primary-emphasis", "brand", 700],
2093
2094
  [null, null, "Secondary \u2014 softened brand"],
2094
2095
  ["secondary", "brand", 200],
2095
2096
  ["secondary-foreground", "brand", fgStep(brandMap[200]?.hex, brandMap, 100, 900, fgMode)],
@@ -2104,6 +2105,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2104
2105
  destFgLight,
2105
2106
  ["destructive-subtle", "error", 100],
2106
2107
  ["destructive-subtle-foreground", "error", 950],
2108
+ ["destructive-emphasis", "error", 700],
2107
2109
  ["destructive-border", "error-surface", 300],
2108
2110
  [null, null, "Border / Input / Ring"],
2109
2111
  ["border", "surface", 300],
@@ -2136,6 +2138,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2136
2138
  ...brandContrastWarnDark,
2137
2139
  ["primary-subtle", "brand", 850],
2138
2140
  ["primary-subtle-foreground", "brand", 50],
2141
+ ["primary-emphasis", "brand", 300],
2139
2142
  [null, null, "Secondary \u2014 softened brand"],
2140
2143
  ["secondary", "brand", 800],
2141
2144
  ["secondary-foreground", "brand", fgStep(brandMap[800]?.hex, brandMap, 100, 900, fgMode)],
@@ -2150,6 +2153,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2150
2153
  destFgDark,
2151
2154
  ["destructive-subtle", "error", 850],
2152
2155
  ["destructive-subtle-foreground", "error", 50],
2156
+ ["destructive-emphasis", "error", 300],
2153
2157
  ["destructive-border", "error-surface", 700],
2154
2158
  [null, null, "Border / Input / Ring"],
2155
2159
  ["border", "surface", 600],
@@ -2203,6 +2207,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2203
2207
  [`${n}-accent-foreground`, n, fgStep(aMap[100]?.hex, aMap, 50, 950, fgMode)],
2204
2208
  [`${n}-subtle`, n, 100],
2205
2209
  [`${n}-subtle-foreground`, n, 950],
2210
+ [`${n}-emphasis`, n, 700],
2206
2211
  [null, null, "Border / Input / Ring"],
2207
2212
  [`${n}-border`, `${n}-surface`, 300],
2208
2213
  [`${n}-border-muted`, `${n}-surface`, 200],
@@ -2230,6 +2235,7 @@ function generateSemantic(accentPalettes, brandPal, errPal, errSurfPal, surfaceP
2230
2235
  [`${n}-accent-foreground`, n, fgStep(aMap[850]?.hex, aMap, 50, 950, fgMode)],
2231
2236
  [`${n}-subtle`, n, 850],
2232
2237
  [`${n}-subtle-foreground`, n, 50],
2238
+ [`${n}-emphasis`, n, 300],
2233
2239
  [null, null, "Border / Input / Ring"],
2234
2240
  [`${n}-border`, `${n}-surface`, 600],
2235
2241
  [`${n}-border-muted`, `${n}-surface`, 700],
@@ -2287,11 +2293,13 @@ ${pinnedNote}${pinnedContrastWarning}
2287
2293
  | \`--popover\` | surface-25 | surface-800 | Popover/dropdown |
2288
2294
  | \`--primary\` | brand-600 | brand-400 | Primary buttons, links |
2289
2295
  | \`--primary-subtle\` | brand-100 | brand-850 | Tinted brand fills: callouts, selected items |
2296
+ | \`--primary-emphasis\` | brand-700 | brand-300 | Brand-colored text, links, icons on background |
2290
2297
  | \`--secondary\` | brand-200 | brand-800 | Secondary buttons |
2291
2298
  | \`--muted\` | surface-75 | surface-850 | Muted backgrounds |
2292
2299
  | \`--accent\` | brand-100 | brand-850 | Interaction highlights (hover, selected) |
2293
2300
  | \`--destructive\` | error-600 | error-400 | Error/delete actions |
2294
2301
  | \`--destructive-subtle\` | error-100 | error-850 | Inline errors, alert backgrounds |
2302
+ | \`--destructive-emphasis\` | error-700 | error-300 | Error text and icons on background |
2295
2303
  | \`--destructive-border\` | error-surface-300 | error-surface-700 | Error borders |
2296
2304
  | \`--border\` | surface-300 | surface-600 | Default borders |
2297
2305
  | \`--border-muted\` | surface-200 | surface-700 | Subtle separators |
@@ -2313,7 +2321,7 @@ ${accentPalettes.length > 0 ? `
2313
2321
  ### Accent Scopes
2314
2322
 
2315
2323
  Each accent color provides a full semantic scope:
2316
- ${accentPalettes.map((a) => `- **${a.name}** (\`--${a.cssName}\`): \`-foreground\`, \`-background\`, \`-card\`, \`-popover\`, \`-secondary\`, \`-muted\`, \`-accent\`, \`-subtle\`, \`-border\`, \`-border-muted\`, \`-input\`, \`-ring\` \u2014 each with light/dark variants.`).join("\n")}
2324
+ ${accentPalettes.map((a) => `- **${a.name}** (\`--${a.cssName}\`): \`-foreground\`, \`-background\`, \`-card\`, \`-popover\`, \`-secondary\`, \`-muted\`, \`-accent\`, \`-subtle\`, \`-emphasis\`, \`-border\`, \`-border-muted\`, \`-input\`, \`-ring\` \u2014 each with light/dark variants.`).join("\n")}
2317
2325
  ` : ""}
2318
2326
  ## How to Use
2319
2327
 
@@ -2321,7 +2329,8 @@ ${accentPalettes.map((a) => `- **${a.name}** (\`--${a.cssName}\`): \`-foreground
2321
2329
  2. **Tailwind v4**: The export ships plain CSS custom properties. To get utilities like \`bg-primary\` or \`text-foreground\`, map the variables once via \`@theme inline { --color-primary: var(--primary); \u2026 }\` \u2014 see tailwindcss.com/docs/theme.
2322
2330
  3. **Dark mode**: Add \`.dark\` to \`<html>\` or a container. All semantic tokens remap automatically.
2323
2331
  4. **Borders**: Default to \`--border-muted\` for subtle separation (dividers, table rows). Use \`--border\` for visible borders (cards, panels). Form controls (\`input\`, \`select\`, \`textarea\`) always use \`--input\` \u2014 never \`--border\`.
2324
- 5. **Shadows and radii**: see standby.design/shape for hue-matched shadow tokens and border-radius scales.
2332
+ 5. **Colored text**: For links, icons, and indicators placed directly on \`--background\` or \`--card\`, use \`--primary-emphasis\` / \`--destructive-emphasis\` / \`--{name}-emphasis\` \u2014 never the button colors (\`--primary\`, 600/400 steps), which may lack text contrast there.
2333
+ 6. **Shadows and radii**: see standby.design/shape for hue-matched shadow tokens and border-radius scales.
2325
2334
 
2326
2335
  ## Primitive Scale Reference
2327
2336
 
@@ -3456,7 +3465,7 @@ ${output}`);
3456
3465
  }
3457
3466
 
3458
3467
  // src/server.ts
3459
- var SERVER_VERSION = "0.1.4";
3468
+ var SERVER_VERSION = "0.1.5";
3460
3469
  function createServer() {
3461
3470
  const server2 = new McpServer(
3462
3471
  { name: "standby-design", version: SERVER_VERSION },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "standby-design-mcp",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "mcpName": "io.github.KarstenKreh/standby-design-mcp",
5
5
  "description": "MCP server for standby.design — generate production-ready design systems (OKLCH color palettes, fluid type scales, spacing & layout, shape and icon tokens) and export them as CSS, Tailwind v4, or W3C design tokens. Every result links back to the standby.design web UI for visual fine-tuning.",
6
6
  "license": "MIT",