@baseline-ui/mcp 0.58.0 → 0.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -8,7 +8,662 @@
8
8
  * This notice may not be removed from this file.
9
9
  *
10
10
  */
11
- var o={Accordion:{id:"core-navigation-accordion",breadcrumb:"Core/Navigation/Accordion",importStatement:'import { Accordion, AccordionExample } from "@baseline-ui/core";',description:"`Accordion` is a component that allows users to toggle the visibility of content. It\u2019s composed of an `Accordion` component and an `AccordionItem` component. The `Accordion` component is a container for the `AccordionItem` components.",documentation:`\`Accordion\` is a component that allows users to toggle the visibility of content. It\u2019s composed of an \`Accordion\` component and an \`AccordionItem\` component. The \`Accordion\` component is a container for the \`AccordionItem\` components.
11
+ var o={BarChart:{id:"charts-barchart",breadcrumb:"Charts/BarChart",importStatement:`import { BarChart } from "@baseline-ui/charts";
12
+ import { Box } from "@baseline-ui/core";`,description:"The `BarChart` component renders a responsive bar chart for categorical data. It is built on top of [Recharts](https://recharts.org/) and styled with Baseline UI design tokens so it picks up the active theme automatically.",documentation:`The \`BarChart\` component renders a responsive bar chart for categorical data. It is built on top of [Recharts](https://recharts.org/) and styled with Baseline UI design tokens so it picks up the active theme automatically.
13
+
14
+ * Renders one or more bar series from a single dataset, keyed by \`xAxisDataKey\` and the per-bar \`dataKey\`.
15
+ * Themed axes, grid, tooltip, and legend styled with Baseline UI tokens \u2014 adapts to light, dark, and high-contrast themes.
16
+ * Default bar colors cycle through theme support colors (\`info\`, \`success\`, \`warning\`, \`error\`); each bar can override with a custom \`color\`.
17
+ * Toggleable tooltip, legend, grid, and axes for compact layouts.
18
+ * Grouped bars by default, with an opt-in \`stacked\` variant. The topmost bar in each stack keeps its rounded corners; inner segments stay flat.
19
+ * Responsive by default \u2014 fills the parent container width while preserving the configured \`height\`.
20
+ * Built-in keyboard navigation across data points via Recharts' accessibility layer.
21
+
22
+ \`\`\`jsx
23
+ import { BarChart } from "@baseline-ui/charts";
24
+
25
+ const data = [
26
+ { year: "2020", revenue: 14_000_000, expenses: 12_000_000 },
27
+ { year: "2021", revenue: 24_000_000, expenses: 6_000_000 },
28
+ { year: "2022", revenue: 26_000_000, expenses: 13_000_000 },
29
+ ];
30
+
31
+ <BarChart
32
+ data={data}
33
+ xAxisDataKey="year"
34
+ bars={[
35
+ { dataKey: "revenue", name: "Revenue" },
36
+ { dataKey: "expenses", name: "Expenses" },
37
+ ]}
38
+ />;
39
+ \`\`\`
40
+
41
+ The default variant renders bar series side-by-side within each X-axis category. Use \`showLegend\` to also render a legend above the chart.
42
+
43
+ \`\`\`jsx
44
+ <BarChart
45
+ data={data}
46
+ xAxisDataKey="year"
47
+ bars={[
48
+ { dataKey: "revenue", name: "Revenue" },
49
+ { dataKey: "expenses", name: "Expenses" },
50
+ ]}
51
+ showLegend
52
+ />
53
+ \`\`\`
54
+
55
+ Set \`variant="stacked"\` to stack bars on top of each other within each category. The topmost bar keeps its rounded top corners; inner segments are flat so the stack reads as a single continuous bar.
56
+
57
+ \`\`\`jsx
58
+ <BarChart
59
+ variant="stacked"
60
+ data={data}
61
+ xAxisDataKey="year"
62
+ bars={[
63
+ { dataKey: "revenue", name: "Revenue" },
64
+ { dataKey: "expenses", name: "Expenses" },
65
+ ]}
66
+ showLegend
67
+ />
68
+ \`\`\`
69
+
70
+ For mixed grouped/stacked layouts, set a custom \`stackId\` per bar \u2014 bars sharing the same \`stackId\` are stacked together; bars with different (or no) \`stackId\` are grouped beside the stack.
71
+
72
+ Pass a single entry in \`bars\` to render a single-series chart.
73
+
74
+ \`\`\`jsx
75
+ <BarChart
76
+ data={data}
77
+ xAxisDataKey="year"
78
+ bars={[{ dataKey: "revenue", name: "Revenue" }]}
79
+ />
80
+ \`\`\`
81
+
82
+ Default colors cycle through \`info\` \u2192 \`success\` \u2192 \`warning\` \u2192 \`error\` and wrap modulo four. Provide a \`color\` per bar to override the default.
83
+
84
+ \`\`\`jsx
85
+ <BarChart
86
+ data={data}
87
+ xAxisDataKey="year"
88
+ bars={[
89
+ { dataKey: "revenue", name: "Revenue" },
90
+ { dataKey: "expenses", name: "Expenses" },
91
+ { dataKey: "profit", name: "Profit" },
92
+ { dataKey: "tax", name: "Tax" },
93
+ { dataKey: "fees", name: "Fees" },
94
+ ]}
95
+ showLegend
96
+ />
97
+ \`\`\`
98
+
99
+ Override the default theme colors by passing \`color\` per bar.
100
+
101
+ \`\`\`jsx
102
+ <BarChart
103
+ data={data}
104
+ xAxisDataKey="year"
105
+ bars={[
106
+ { dataKey: "revenue", name: "Revenue", color: "#7c3aed" },
107
+ { dataKey: "expenses", name: "Expenses", color: "#f59e0b" },
108
+ ]}
109
+ showLegend
110
+ />
111
+ \`\`\`
112
+
113
+ \`barSize\` controls the bar width in pixels (default \`12\`). \`barRadius\` controls the rounded top-corner radius in pixels (default \`2\`).
114
+
115
+ \`\`\`jsx
116
+ <BarChart
117
+ data={data}
118
+ xAxisDataKey="year"
119
+ bars={[...]}
120
+ barSize={24}
121
+ />
122
+ \`\`\`
123
+
124
+ \`showTooltip\`, \`showGrid\`, \`showXAxis\`, and \`showYAxis\` toggle the corresponding chart chrome individually. They all default to \`true\`.
125
+
126
+ \`\`\`jsx
127
+ <BarChart
128
+ data={data}
129
+ xAxisDataKey="year"
130
+ bars={[...]}
131
+ showXAxis={false}
132
+ showYAxis={false}
133
+ showGrid={false}
134
+ />
135
+ \`\`\`
136
+
137
+ The chart surface is keyboard-focusable. When focused via keyboard, the surface shows a focus ring and arrow keys move an indicator across data points, opening the tooltip at each step.
138
+
139
+ | Key | Function |
140
+ | ------------- | --------------------------------------------------------------------------- |
141
+ | \`Tab\` | Moves focus to the chart surface. |
142
+ | \`Arrow Right\` | Advances the active data point one step to the right and shows the tooltip. |
143
+ | \`Arrow Left\` | Advances the active data point one step to the left and shows the tooltip. |
144
+ | \`Escape\` | Dismisses the tooltip and clears the active data point. |
145
+
146
+ BarChart shares its legend, tooltip, and surface markup with every other chart in the package. The \`BaselineUI-Chart-*\` selectors are stable shared hooks; the kind-specific \`BaselineUI-BarChart\` class lets you scope styles to bar charts only. Internal Recharts class names are not part of the public API.
147
+
148
+ | Selector | Description |
149
+ | ---------------------------------------------- | ------------------------------------------------------------------- |
150
+ | \`.BaselineUI-BarChart\` | The bar-chart root identifier. |
151
+ | \`.BaselineUI-BarChart[data-variant="default"]\` | Targets only the default variant. |
152
+ | \`.BaselineUI-BarChart[data-variant="stacked"]\` | Targets only the stacked variant. |
153
+ | \`.BaselineUI-Chart-Surface\` | The chart drawing area that wraps the SVG. |
154
+ | \`.BaselineUI-Chart-Legend\` | The legend list element. Only rendered when \`showLegend\` is \`true\`. |
155
+ | \`.BaselineUI-Chart-LegendItem\` | A single legend entry \u2014 one per series. |
156
+ | \`.BaselineUI-Chart-LegendSwatch\` | The colored swatch in a legend entry. |
157
+ | \`.BaselineUI-Chart-Tooltip\` | The hover/focus tooltip container. |
158
+ | \`.BaselineUI-Chart-TooltipItem\` | A single series entry in the tooltip. |
159
+ | \`.BaselineUI-Chart-TooltipSwatch\` | The colored swatch in a tooltip entry. |`,props:`interface BarChartProps {
160
+ /**
161
+ * Additional class name for the chart root.
162
+ */
163
+ className?: string
164
+ /**
165
+ * Additional inline styles for the chart root.
166
+ */
167
+ style?: CSSProperties
168
+ /**
169
+ * Chart width. @default "100%"
170
+ */
171
+ width?: number | \`\${number}%\`
172
+ /**
173
+ * Chart height. @default 300
174
+ */
175
+ height?: number
176
+ /**
177
+ * Whether to show the tooltip on hover. @default true
178
+ */
179
+ showTooltip?: boolean
180
+ /**
181
+ * Whether to show the legend.
182
+ */
183
+ showLegend?: boolean
184
+ /**
185
+ * Defaults to the ambient \`I18nProvider\` locale direction.
186
+ */
187
+ dir?: "ltr" | "rtl"
188
+ /**
189
+ * Whether to show the grid lines. @default true
190
+ */
191
+ showGrid?: boolean
192
+ /**
193
+ * Whether to show the X axis. @default true
194
+ */
195
+ showXAxis?: boolean
196
+ /**
197
+ * Whether to show the Y axis. @default true
198
+ */
199
+ showYAxis?: boolean
200
+ /**
201
+ * The data array to render. Each item is an object keyed by \`xAxisDataKey\` and bar \`dataKey\` values.
202
+ */
203
+ data: unknown
204
+ /**
205
+ * Configuration for each bar series to render.
206
+ */
207
+ bars: unknown
208
+ /**
209
+ * The data key for the X axis.
210
+ */
211
+ xAxisDataKey: string
212
+ /**
213
+ * Visual variant. \`"stacked"\` stacks every series on top of each other; the
214
+ * default groups them side-by-side. Per-bar \`stackId\` overrides the variant
215
+ * default for that bar.
216
+ * @default "default"
217
+ */
218
+ variant?: "default" | "stacked"
219
+ /**
220
+ * Fixed width of each bar in pixels. @default 12
221
+ */
222
+ barSize?: number
223
+ /**
224
+ * Maximum gap in pixels between adjacent bars within the same X-axis
225
+ * category. Falls back toward a 1px floor when there isn't enough room
226
+ * to fit every bar at the requested gap.
227
+ * @default 4
228
+ */
229
+ barGap?: number
230
+ /**
231
+ * Border radius applied to the top of each bar in pixels. @default 2
232
+ */
233
+ barRadius?: number
234
+ }`,stories:{usage:[{id:"charts-barchart--basic",name:"Basic",snippet:`const Basic = () => <BarChart
235
+ data={yearlyData}
236
+ xAxisDataKey="year"
237
+ bars={[
238
+ { dataKey: "revenue", name: "Revenue" },
239
+ { dataKey: "expenses", name: "Expenses" },
240
+ ]}
241
+ height={320} />;`},{id:"charts-barchart--single-series",name:"Single Series",snippet:`const SingleSeries = () => <BarChart
242
+ data={yearlyData}
243
+ xAxisDataKey="year"
244
+ bars={[{ dataKey: "revenue", name: "Revenue" }]}
245
+ height={320} />;`},{id:"charts-barchart--with-legend",name:"With Legend",snippet:`const WithLegend = () => <BarChart
246
+ data={yearlyData}
247
+ xAxisDataKey="year"
248
+ bars={[
249
+ { dataKey: "revenue", name: "Revenue" },
250
+ { dataKey: "expenses", name: "Expenses" },
251
+ ]}
252
+ height={320}
253
+ showLegend />;`},{id:"charts-barchart--stacked",name:"Stacked",snippet:`const Stacked = () => <BarChart
254
+ data={yearlyData}
255
+ xAxisDataKey="year"
256
+ bars={[
257
+ { dataKey: "revenue", name: "Revenue" },
258
+ { dataKey: "expenses", name: "Expenses" },
259
+ ]}
260
+ height={320}
261
+ variant="stacked"
262
+ showLegend />;`},{id:"charts-barchart--stacked-with-three-series",name:"Stacked With Three Series",snippet:`const StackedWithThreeSeries = () => <BarChart
263
+ data={yearlyData.map((row) => ({
264
+ ...row,
265
+ profit: row.revenue - row.expenses,
266
+ }))}
267
+ xAxisDataKey="year"
268
+ bars={[
269
+ { dataKey: "revenue", name: "Revenue" },
270
+ { dataKey: "expenses", name: "Expenses" },
271
+ { dataKey: "profit", name: "Profit" },
272
+ ]}
273
+ height={320}
274
+ variant="stacked"
275
+ showLegend />;`},{id:"charts-barchart--custom-colors",name:"Custom Colors",snippet:`const CustomColors = () => <BarChart
276
+ data={yearlyData}
277
+ xAxisDataKey="year"
278
+ bars={[
279
+ { dataKey: "revenue", name: "Revenue", color: "#7c3aed" },
280
+ { dataKey: "expenses", name: "Expenses", color: "#f59e0b" },
281
+ ]}
282
+ height={320}
283
+ showLegend />;`},{id:"charts-barchart--many-series",name:"Many Series",snippet:`const ManySeries = () => <BarChart
284
+ data={yearlyData.map((row) => ({
285
+ ...row,
286
+ profit: row.revenue - row.expenses,
287
+ tax: Math.round(row.revenue * 0.18),
288
+ fees: Math.round(row.revenue * 0.05),
289
+ }))}
290
+ xAxisDataKey="year"
291
+ bars={[
292
+ { dataKey: "revenue", name: "Revenue" },
293
+ { dataKey: "expenses", name: "Expenses" },
294
+ { dataKey: "profit", name: "Profit" },
295
+ { dataKey: "tax", name: "Tax" },
296
+ { dataKey: "fees", name: "Fees" },
297
+ ]}
298
+ height={320}
299
+ showLegend />;`},{id:"charts-barchart--thicker-bars",name:"Thicker Bars",snippet:`const ThickerBars = () => <BarChart
300
+ data={yearlyData}
301
+ xAxisDataKey="year"
302
+ bars={[
303
+ { dataKey: "revenue", name: "Revenue" },
304
+ { dataKey: "expenses", name: "Expenses" },
305
+ ]}
306
+ height={320}
307
+ barSize={24} />;`},{id:"charts-barchart--mixed-stacking",name:"Mixed Stacking",snippet:`const MixedStacking = () => <BarChart
308
+ data={yearlyData.map((row) => ({
309
+ ...row,
310
+ other: Math.round(row.revenue * 0.15),
311
+ }))}
312
+ xAxisDataKey="year"
313
+ bars={[
314
+ { dataKey: "revenue", name: "Revenue", stackId: "income" },
315
+ { dataKey: "other", name: "Other income", stackId: "income" },
316
+ { dataKey: "expenses", name: "Expenses" },
317
+ ]}
318
+ height={320}
319
+ showLegend />;`},{id:"charts-barchart--hidden-axes",name:"Hidden Axes",snippet:`const HiddenAxes = () => <BarChart
320
+ data={yearlyData}
321
+ xAxisDataKey="year"
322
+ bars={[
323
+ { dataKey: "revenue", name: "Revenue" },
324
+ { dataKey: "expenses", name: "Expenses" },
325
+ ]}
326
+ height={320}
327
+ showXAxis={false}
328
+ showYAxis={false}
329
+ showGrid={false} />;`}],implementation:`import { I18nProvider } from "@baseline-ui/core";
330
+ import React from "react";
331
+
332
+ import { BarChart } from "../BarChart";
333
+
334
+ import type { BarChartProps } from "../BarChart.types";
335
+
336
+ const data = [
337
+ { year: "2020", revenue: 14_000_000 },
338
+ { year: "2021", revenue: 24_000_000 },
339
+ { year: "2022", revenue: 26_000_000 },
340
+ ];
341
+
342
+ const bars = [{ dataKey: "revenue", name: "Revenue" }];
343
+
344
+ /**
345
+ * Wraps BarChart in a sized parent so the default \`width: "100%"\` resolves
346
+ * to a measurable size for layout-dependent assertions.
347
+ */
348
+ export function SizedBarChart(
349
+ props: Partial<Pick<BarChartProps, "className" | "style">>,
350
+ ) {
351
+ return (
352
+ <div style={{ width: 480, height: 300 }}>
353
+ <BarChart data={data} bars={bars} xAxisDataKey="year" {...props} />
354
+ </div>
355
+ );
356
+ }
357
+
358
+ /** Verifies ambient-locale RTL detection (no explicit \`dir\`). */
359
+ export function ArabicLocaleBarChart() {
360
+ return (
361
+ <I18nProvider locale="ar-EG">
362
+ <BarChart data={data} bars={bars} width={480} xAxisDataKey="year" />
363
+ </I18nProvider>
364
+ );
365
+ }
366
+
367
+ /** Verifies the explicit \`dir\` prop wins over the ambient locale. */
368
+ export function ArabicLocaleLtrOverrideBarChart() {
369
+ return (
370
+ <I18nProvider locale="ar-EG">
371
+ <BarChart
372
+ data={data}
373
+ bars={bars}
374
+ dir="ltr"
375
+ width={480}
376
+ xAxisDataKey="year"
377
+ />
378
+ </I18nProvider>
379
+ );
380
+ }`},similarTo:[],figmaUrl:null},LineChart:{id:"charts-linechart",breadcrumb:"Charts/LineChart",importStatement:`import { Box } from "@baseline-ui/core";
381
+ import { LineChart } from "@baseline-ui/charts";`,description:"The `LineChart` component renders a responsive line chart for time series or other ordered data. It is built on top of [Recharts](https://recharts.org/) and styled with Baseline UI design tokens so it picks up the active theme automatically.",documentation:'The `LineChart` component renders a responsive line chart for time series or other ordered data. It is built on top of [Recharts](https://recharts.org/) and styled with Baseline UI design tokens so it picks up the active theme automatically.\n\n* Renders one or more lines from a single dataset, keyed by `xAxisDataKey` and the per-line `dataKey`.\n* Themed axes, grid, tooltip, and legend styled with Baseline UI tokens \u2014 adapts to light, dark, and high-contrast themes.\n* Default line colors cycle through theme support colors (`info`, `success`, `warning`, `error`); each line can override with a custom `color`.\n* Toggleable tooltip, legend, grid, and axes for compact or sparkline-style charts.\n* Configurable curve interpolation (`monotone`, `linear`, etc.) and per-line stroke width.\n* Responsive by default \u2014 fills the parent container width while preserving the configured `height`.\n* Built-in keyboard navigation across data points via Recharts\' accessibility layer.\n\n```jsx\nimport { LineChart } from "@baseline-ui/charts";\n\nconst data = [\n { month: "Jan", revenue: 4000, expenses: 2400 },\n { month: "Feb", revenue: 3000, expenses: 1398 },\n { month: "Mar", revenue: 5000, expenses: 3200 },\n];\n\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[\n { dataKey: "revenue", name: "Revenue" },\n { dataKey: "expenses", name: "Expenses" },\n ]}\n/>;\n```\n\nThe default variant renders a full-width line chart with grid, axes, and tooltip enabled. Use `showLegend` to also render a legend above the chart.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[\n { dataKey: "revenue", name: "Revenue" },\n { dataKey: "expenses", name: "Expenses" },\n ]}\n showLegend\n/>\n```\n\nSet `variant="sparkline"` for a compact 40\xD720 inline trend indicator. Grid, axes, tooltip, and legend are hidden by default, the stroke is thinner, and chart margins are reduced to a 1px inset (just enough to prevent stroke clipping) so the line fills the box. Each chrome flag can still be re-enabled individually \u2014 for example, `showTooltip` re-enables the tooltip on a sparkline.\n\n```jsx\n<LineChart\n variant="sparkline"\n data={data}\n xAxisDataKey="month"\n lines={[{ dataKey: "revenue" }]}\n/>\n```\n\nPass a single entry in `lines` to render a single-series chart.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[{ dataKey: "revenue", name: "Revenue" }]}\n/>\n```\n\nDefault line colors cycle through `info` \u2192 `success` \u2192 `warning` \u2192 `error` and wrap modulo four. Provide a `color` per line to override the default.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[\n { dataKey: "revenue", name: "Revenue" },\n { dataKey: "expenses", name: "Expenses" },\n { dataKey: "profit", name: "Profit" },\n { dataKey: "tax", name: "Tax" },\n { dataKey: "fees", name: "Fees" },\n ]}\n showLegend\n/>\n```\n\nSet `dot` to `true` on a line to render a marker at each data point.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[\n { dataKey: "revenue", name: "Revenue", dot: true },\n { dataKey: "expenses", name: "Expenses", dot: true },\n ]}\n/>\n```\n\nThe `type` prop on each line controls the curve interpolation. The default is `monotone`; use `linear` for straight segments between points. Any [Recharts curve type](https://recharts.org/en-US/api/Line#type) is supported.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[\n { dataKey: "revenue", name: "Revenue", type: "linear" },\n { dataKey: "expenses", name: "Expenses", type: "linear" },\n ]}\n/>\n```\n\nOverride the default theme colors by passing `color` and `strokeWidth` per line.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[\n { dataKey: "revenue", name: "Revenue", color: "#7c3aed", strokeWidth: 3 },\n { dataKey: "expenses", name: "Expenses", color: "#f59e0b", strokeWidth: 3 },\n ]}\n showLegend\n/>\n```\n\n`showTooltip`, `showGrid`, `showXAxis`, and `showYAxis` toggle the corresponding chart chrome individually. They default to `true` for the default variant and `false` for the `sparkline` variant. Pass an explicit value to override the variant default.\n\n```jsx\n<LineChart\n data={data}\n xAxisDataKey="month"\n lines={[...]}\n showXAxis={false}\n showYAxis={false}\n showGrid={false}\n/>\n```\n\nThe chart surface is keyboard-focusable on the default variant. When focused via keyboard, the surface shows a focus ring and arrow keys move an indicator across data points, opening the tooltip at each step. The `sparkline` variant disables the accessibility layer and is not focusable.\n\n| Key | Function |\n| ------------- | --------------------------------------------------------------------------- |\n| `Tab` | Moves focus to the chart surface (default variant only). |\n| `Arrow Right` | Advances the active data point one step to the right and shows the tooltip. |\n| `Arrow Left` | Advances the active data point one step to the left and shows the tooltip. |\n| `Escape` | Dismisses the tooltip and clears the active data point. |\n\nThe `sparkline` variant disables the accessibility layer and is not keyboard-navigable.\n\nLineChart shares its legend, tooltip, and surface markup with every other chart in the package. The `BaselineUI-Chart-*` selectors are stable shared hooks; the kind-specific `BaselineUI-LineChart` class lets you scope styles to line charts only. Internal Recharts class names are not part of the public API.\n\n| Selector | Description |\n| ------------------------------------------------- | ------------------------------------------------------------------- |\n| `.BaselineUI-LineChart` | The line-chart root identifier. |\n| `.BaselineUI-LineChart[data-variant="default"]` | Targets only the default variant. |\n| `.BaselineUI-LineChart[data-variant="sparkline"]` | Targets only the sparkline variant. |\n| `.BaselineUI-Chart-Surface` | The chart drawing area that wraps the SVG. |\n| `.BaselineUI-Chart-Legend` | The legend list element. Only rendered when `showLegend` is `true`. |\n| `.BaselineUI-Chart-LegendItem` | A single legend entry \u2014 one per series. |\n| `.BaselineUI-Chart-LegendSwatch` | The colored swatch in a legend entry. |\n| `.BaselineUI-Chart-Tooltip` | The hover/focus tooltip container. |\n| `.BaselineUI-Chart-TooltipItem` | A single series entry in the tooltip. |\n| `.BaselineUI-Chart-TooltipSwatch` | The colored swatch in a tooltip entry. |',props:`interface LineChartProps {
382
+ /**
383
+ * Additional class name for the chart root.
384
+ */
385
+ className?: string
386
+ /**
387
+ * Additional inline styles for the chart root.
388
+ */
389
+ style?: CSSProperties
390
+ /**
391
+ * Chart width. @default "100%"
392
+ */
393
+ width?: number | \`\${number}%\`
394
+ /**
395
+ * Chart height. @default 300
396
+ */
397
+ height?: number
398
+ /**
399
+ * Whether to show the tooltip on hover. @default true
400
+ */
401
+ showTooltip?: boolean
402
+ /**
403
+ * Whether to show the legend.
404
+ */
405
+ showLegend?: boolean
406
+ /**
407
+ * Defaults to the ambient \`I18nProvider\` locale direction.
408
+ */
409
+ dir?: "ltr" | "rtl"
410
+ /**
411
+ * Whether to show the grid lines. @default true
412
+ */
413
+ showGrid?: boolean
414
+ /**
415
+ * Whether to show the X axis. @default true
416
+ */
417
+ showXAxis?: boolean
418
+ /**
419
+ * Whether to show the Y axis. @default true
420
+ */
421
+ showYAxis?: boolean
422
+ /**
423
+ * The data array to render. Each item is an object keyed by \`xAxisDataKey\` and line \`dataKey\` values.
424
+ */
425
+ data: unknown
426
+ /**
427
+ * Configuration for each line to render.
428
+ */
429
+ lines: unknown
430
+ /**
431
+ * The data key for the X axis.
432
+ */
433
+ xAxisDataKey: string
434
+ /**
435
+ * Visual variant. \`"sparkline"\` renders a compact 40\xD720 line with no axes,
436
+ * grid, tooltip, or legend \u2014 suitable for inline trend indicators.
437
+ * @default "default"
438
+ */
439
+ variant?: "default" | "sparkline"
440
+ }`,stories:{usage:[{id:"charts-linechart--basic",name:"Basic",snippet:`const Basic = () => <LineChart
441
+ data={monthlyData}
442
+ xAxisDataKey="month"
443
+ lines={[
444
+ { dataKey: "revenue", name: "Revenue" },
445
+ { dataKey: "expenses", name: "Expenses" },
446
+ ]}
447
+ height={320} />;`},{id:"charts-linechart--single-line",name:"Single Line",snippet:`const SingleLine = () => <LineChart
448
+ data={monthlyData}
449
+ xAxisDataKey="month"
450
+ lines={[{ dataKey: "revenue", name: "Revenue" }]}
451
+ height={320} />;`},{id:"charts-linechart--with-legend",name:"With Legend",snippet:`const WithLegend = () => <LineChart
452
+ data={monthlyData}
453
+ xAxisDataKey="month"
454
+ lines={[
455
+ { dataKey: "revenue", name: "Revenue" },
456
+ { dataKey: "expenses", name: "Expenses" },
457
+ ]}
458
+ height={320}
459
+ showLegend />;`},{id:"charts-linechart--with-dots",name:"With Dots",snippet:`const WithDots = () => <LineChart
460
+ data={monthlyData}
461
+ xAxisDataKey="month"
462
+ lines={[
463
+ { dataKey: "revenue", name: "Revenue", dot: true },
464
+ { dataKey: "expenses", name: "Expenses", dot: true },
465
+ ]}
466
+ height={320} />;`},{id:"charts-linechart--linear-curve",name:"Linear Curve",snippet:`const LinearCurve = () => <LineChart
467
+ data={monthlyData}
468
+ xAxisDataKey="month"
469
+ lines={[
470
+ { dataKey: "revenue", name: "Revenue", type: "linear" },
471
+ { dataKey: "expenses", name: "Expenses", type: "linear" },
472
+ ]}
473
+ height={320} />;`},{id:"charts-linechart--custom-colors",name:"Custom Colors",snippet:`const CustomColors = () => <LineChart
474
+ data={monthlyData}
475
+ xAxisDataKey="month"
476
+ lines={[
477
+ { dataKey: "revenue", name: "Revenue", color: "#7c3aed", strokeWidth: 3 },
478
+ {
479
+ dataKey: "expenses",
480
+ name: "Expenses",
481
+ color: "#f59e0b",
482
+ strokeWidth: 3,
483
+ },
484
+ ]}
485
+ height={320}
486
+ showLegend />;`},{id:"charts-linechart--many-lines",name:"Many Lines",snippet:`const ManyLines = () => <LineChart
487
+ data={monthlyData.map((row) => ({
488
+ ...row,
489
+ profit: row.revenue - row.expenses,
490
+ tax: Math.round(row.revenue * 0.18),
491
+ fees: Math.round(row.revenue * 0.05),
492
+ }))}
493
+ xAxisDataKey="month"
494
+ lines={[
495
+ { dataKey: "revenue", name: "Revenue" },
496
+ { dataKey: "expenses", name: "Expenses" },
497
+ { dataKey: "profit", name: "Profit" },
498
+ { dataKey: "tax", name: "Tax" },
499
+ { dataKey: "fees", name: "Fees" },
500
+ ]}
501
+ height={320}
502
+ showLegend />;`},{id:"charts-linechart--hidden-axes",name:"Hidden Axes",snippet:`const HiddenAxes = () => <LineChart
503
+ data={monthlyData}
504
+ xAxisDataKey="month"
505
+ lines={[
506
+ { dataKey: "revenue", name: "Revenue" },
507
+ { dataKey: "expenses", name: "Expenses" },
508
+ ]}
509
+ height={320}
510
+ showXAxis={false}
511
+ showYAxis={false}
512
+ showGrid={false} />;`},{id:"charts-linechart--sparkline",name:"Sparkline",snippet:`const Sparkline = () => <LineChart
513
+ data={monthlyData}
514
+ xAxisDataKey="month"
515
+ lines={[{ dataKey: "revenue" }]}
516
+ height={64}
517
+ variant="sparkline"
518
+ width={320} />;`}],implementation:`import React from "react";
519
+
520
+ import { LineChart } from "../LineChart";
521
+
522
+ import type { LineChartProps } from "../LineChart.types";
523
+
524
+ const data = [
525
+ { month: "Jan", revenue: 4000 },
526
+ { month: "Feb", revenue: 3000 },
527
+ { month: "Mar", revenue: 5000 },
528
+ ];
529
+
530
+ const lines = [{ dataKey: "revenue", name: "Revenue" }];
531
+
532
+ /**
533
+ * Wraps LineChart in a sized parent so the default \`width: "100%"\` resolves
534
+ * to a measurable size for layout-dependent assertions.
535
+ */
536
+ export function SizedLineChart(
537
+ props: Partial<Pick<LineChartProps, "className" | "style">>,
538
+ ) {
539
+ return (
540
+ <div style={{ width: 480, height: 300 }}>
541
+ <LineChart data={data} lines={lines} xAxisDataKey="month" {...props} />
542
+ </div>
543
+ );
544
+ }`},similarTo:[],figmaUrl:null},PieChart:{id:"charts-piechart",breadcrumb:"Charts/PieChart",importStatement:`import { Box } from "@baseline-ui/core";
545
+ import { PieChart } from "@baseline-ui/charts";`,description:"The `PieChart` component renders a responsive pie chart for proportional data. It is built on top of [Recharts](https://recharts.org/) and styled with Baseline UI design tokens so it picks up the active theme automatically.",documentation:'The `PieChart` component renders a responsive pie chart for proportional data. It is built on top of [Recharts](https://recharts.org/) and styled with Baseline UI design tokens so it picks up the active theme automatically.\n\n* Renders one wedge per slice, sized proportionally to its `value`.\n* Slices are sorted in descending value order \u2014 largest first, regardless of input order. Default colors are assigned by sorted index, so the largest slice always gets the first theme color.\n* Themed slices, tooltip, and legend styled with Baseline UI tokens \u2014 adapts to light, dark, and high-contrast themes.\n* Default slice colors cycle through theme support colors (`info`, `success`, `error`, `warning`); each slice can override with a custom `color`.\n* Inline percentage labels rendered inside each slice, with small slices (under 5%) automatically suppressed.\n* Hover or focus highlights a slice with an enlarged outline rendered behind it; the highlighted slice is brought to the front so its outline isn\'t clipped by neighbors.\n* Donut variant via the `innerRadius` prop.\n* Toggleable tooltip, legend, and labels.\n* Responsive by default \u2014 fills the parent container width while preserving the configured `height`.\n* Built-in keyboard navigation across slices via Recharts\' accessibility layer.\n\n```jsx\nimport { PieChart } from "@baseline-ui/charts";\n\nconst data = [\n { name: "Water", value: 46 },\n { name: "Earth", value: 26 },\n { name: "Wind", value: 18 },\n { name: "Fire", value: 10 },\n];\n\n<PieChart data={data} />;\n```\n\nPass `innerRadius` to render a donut chart instead of a solid pie.\n\n```jsx\n<PieChart data={data} innerRadius={50} />\n```\n\nOverride the default theme colors by passing `color` per slice.\n\n```jsx\n<PieChart\n data={[\n { name: "Water", value: 46, color: "#0ea5e9" },\n { name: "Earth", value: 26, color: "#65a30d" },\n { name: "Wind", value: 18, color: "#a855f7" },\n { name: "Fire", value: 10, color: "#f97316" },\n ]}\n/>\n```\n\nDefault colors cycle through `info` \u2192 `success` \u2192 `error` \u2192 `warning` and wrap modulo four. Provide a `color` per slice to override.\n\nLong names wrap within legend entries.\n\nSlices contributing less than 5% of the total automatically have their inline label suppressed; their value is still visible via the tooltip and legend.\n\nWhen a slice is hovered with a pointer, focused via keyboard, or activated via the accessibility layer, an enlarged copy of the slice is rendered behind the original \u2014 visible as a thin outline that follows the slice\'s outer arc. The active slice is also reordered to render on top of its neighbors so the outline isn\'t clipped.\n\nThe chart surface is keyboard-focusable (single tab stop \u2014 only the SVG surface, not the inner pie group). When focused, arrow keys move an active indicator across slices and open the tooltip at each step.\n\n```jsx\n<PieChart data={data} showTooltip={false} />\n```\n\n```jsx\n<PieChart data={data} showLabels={false} />\n```\n\n```jsx\n<PieChart data={data} showLegend={false} />\n```\n\n| Key | Function |\n| ------------- | ------------------------------------------------------------------ |\n| `Tab` | Moves focus to the chart surface. |\n| `Arrow Right` | Advances the active slice clockwise and shows the tooltip. |\n| `Arrow Left` | Advances the active slice counter-clockwise and shows the tooltip. |\n| `Escape` | Dismisses the tooltip and clears the active slice. |\n\nPieChart shares its legend, tooltip, and surface markup with every other chart in the package. The `BaselineUI-Chart-*` selectors are stable shared hooks; the kind-specific `BaselineUI-PieChart` class lets you scope styles to pie charts only. Internal Recharts class names are not part of the public API.\n\n| Selector | Description |\n| --------------------------------- | ------------------------------------------------------------------- |\n| `.BaselineUI-PieChart` | The pie-chart root identifier. |\n| `.BaselineUI-Chart-Surface` | The chart drawing area that wraps the SVG. |\n| `.BaselineUI-Chart-Legend` | The legend list element. Only rendered when `showLegend` is `true`. |\n| `.BaselineUI-Chart-LegendItem` | A single legend entry \u2014 one per slice. |\n| `.BaselineUI-Chart-LegendSwatch` | The colored swatch in a legend entry. |\n| `.BaselineUI-Chart-Tooltip` | The hover/focus tooltip container. |\n| `.BaselineUI-Chart-TooltipItem` | A single slice entry in the tooltip. |\n| `.BaselineUI-Chart-TooltipSwatch` | The colored swatch in a tooltip entry. |',props:`interface PieChartProps {
546
+ /**
547
+ * Additional class name for the chart root.
548
+ */
549
+ className?: string
550
+ /**
551
+ * Additional inline styles for the chart root.
552
+ */
553
+ style?: CSSProperties
554
+ /**
555
+ * Chart width. @default "100%"
556
+ */
557
+ width?: number | \`\${number}%\`
558
+ /**
559
+ * Chart height. @default 300
560
+ */
561
+ height?: number
562
+ /**
563
+ * Whether to show the tooltip on hover. @default true
564
+ */
565
+ showTooltip?: boolean
566
+ /**
567
+ * Whether to show the legend.
568
+ */
569
+ showLegend?: boolean
570
+ /**
571
+ * Defaults to the ambient \`I18nProvider\` locale direction.
572
+ */
573
+ dir?: "ltr" | "rtl"
574
+ /**
575
+ * The slices to render. Each slice contributes a wedge proportional to \`value\`.
576
+ */
577
+ data: unknown
578
+ /**
579
+ * Inner radius in pixels. @default 0
580
+ */
581
+ innerRadius?: number
582
+ /**
583
+ * Outer radius in pixels. When omitted, the chart fits the smaller of its
584
+ * width and height.
585
+ */
586
+ outerRadius?: number
587
+ /**
588
+ * Whether to render percentage labels inside each slice. @default true
589
+ */
590
+ showLabels?: boolean
591
+ }`,stories:{usage:[{id:"charts-piechart--basic",name:"Basic",snippet:"const Basic = () => <PieChart data={elementsData} height={257} />;"},{id:"charts-piechart--no-labels",name:"No Labels",snippet:"const NoLabels = () => <PieChart data={elementsData} height={257} showLabels={false} />;"},{id:"charts-piechart--no-legend",name:"No Legend",snippet:"const NoLegend = () => <PieChart data={elementsData} height={257} showLegend={false} />;"},{id:"charts-piechart--custom-colors",name:"Custom Colors",snippet:`const CustomColors = () => <PieChart
592
+ data={[
593
+ { name: "Water", value: 46, color: "#0ea5e9" },
594
+ { name: "Earth", value: 26, color: "#65a30d" },
595
+ { name: "Wind", value: 18, color: "#a855f7" },
596
+ { name: "Fire", value: 10, color: "#f97316" },
597
+ ]}
598
+ height={257} />;`},{id:"charts-piechart--many-slices",name:"Many Slices",snippet:`const ManySlices = () => <PieChart
599
+ data={[
600
+ { name: "Water", value: 30 },
601
+ { name: "Earth", value: 22 },
602
+ { name: "Wind", value: 16 },
603
+ { name: "Fire", value: 12 },
604
+ { name: "Aether", value: 10 },
605
+ { name: "Void", value: 6 },
606
+ { name: "Light", value: 4 },
607
+ ]}
608
+ height={257} />;`},{id:"charts-piechart--donut",name:"Donut",snippet:"const Donut = () => <PieChart data={elementsData} height={257} innerRadius={50} />;"},{id:"charts-piechart--no-tooltip",name:"No Tooltip",snippet:"const NoTooltip = () => <PieChart data={elementsData} height={257} showTooltip={false} />;"},{id:"charts-piechart--long-legend-names",name:"Long Legend Names",snippet:`const LongLegendNames = () => <PieChart
609
+ data={[
610
+ { name: "Atmospheric water vapor", value: 46 },
611
+ { name: "Subterranean rock formations", value: 26 },
612
+ { name: "High-altitude jet streams", value: 18 },
613
+ { name: "Volcanic core temperatures", value: 10 },
614
+ ]}
615
+ height={257} />;`},{id:"charts-piechart--small-slices-below-five-percent",name:"Small Slices Below Five Percent",snippet:`const SmallSlicesBelowFivePercent = () => <PieChart
616
+ data={[
617
+ { name: "Major", value: 92 },
618
+ { name: "Minor", value: 4 },
619
+ { name: "Trace", value: 3 },
620
+ { name: "Edge", value: 1 },
621
+ ]}
622
+ height={257} />;`}],implementation:`import { I18nProvider } from "@baseline-ui/core";
623
+ import React from "react";
624
+
625
+ import { PieChart } from "../PieChart";
626
+
627
+ import type { PieChartProps } from "../PieChart.types";
628
+
629
+ const data = [
630
+ { name: "Water", value: 46 },
631
+ { name: "Earth", value: 26 },
632
+ { name: "Wind", value: 18 },
633
+ { name: "Fire", value: 10 },
634
+ ];
635
+
636
+ /**
637
+ * Wraps PieChart in a sized parent so the default \`width: "100%"\` resolves
638
+ * to a measurable size for layout-dependent assertions.
639
+ */
640
+ export function SizedPieChart(
641
+ props: Partial<Pick<PieChartProps, "className" | "style">>,
642
+ ) {
643
+ return (
644
+ <div style={{ width: 320, height: 280 }}>
645
+ <PieChart data={data} {...props} />
646
+ </div>
647
+ );
648
+ }
649
+
650
+ /** Verifies ambient-locale RTL detection (no explicit \`dir\`). */
651
+ export function ArabicLocalePieChart() {
652
+ return (
653
+ <I18nProvider locale="ar-EG">
654
+ <PieChart data={data} width={320} />
655
+ </I18nProvider>
656
+ );
657
+ }
658
+
659
+ /** Verifies the explicit \`dir\` prop wins over the ambient locale. */
660
+ export function ArabicLocaleLtrOverridePieChart() {
661
+ return (
662
+ <I18nProvider locale="ar-EG">
663
+ <PieChart data={data} dir="ltr" width={320} />
664
+ </I18nProvider>
665
+ );
666
+ }`},similarTo:[],figmaUrl:null},Accordion:{id:"core-navigation-accordion",breadcrumb:"Core/Navigation/Accordion",importStatement:'import { Accordion, AccordionExample } from "@baseline-ui/core";',description:"`Accordion` is a component that allows users to toggle the visibility of content. It\u2019s composed of an `Accordion` component and an `AccordionItem` component. The `Accordion` component is a container for the `AccordionItem` components.",documentation:`\`Accordion\` is a component that allows users to toggle the visibility of content. It\u2019s composed of an \`Accordion\` component and an \`AccordionItem\` component. The \`Accordion\` component is a container for the \`AccordionItem\` components.
12
667
 
13
668
  * Full keyboard navigation
14
669
  * It can expand one or multiple items
@@ -1938,11 +2593,10 @@ Boxes can be composed to create layered layouts:
1938
2593
  | ----------------- | ------------------------------------ |
1939
2594
  | \`.BaselineUI-Box\` | Targets all Box component instances. |`,props:`interface BoxProps {
1940
2595
  /**
1941
- * The HTML element to use for the box.
1942
- *
1943
2596
  * @default "div"
1944
2597
  */
1945
2598
  elementType?: any
2599
+ children?: ReactNode
1946
2600
  }`,stories:{usage:[{id:"core-utilities-box--basic",name:"Basic",snippet:`const Basic = () => <Box
1947
2601
  borderRadius="md"
1948
2602
  backgroundColor="background.primary.medium"
@@ -2948,6 +3602,18 @@ children: React.ReactNode
2948
3602
  "test:e2e": "cross-env BABEL_ENV=test jest --testPathPattern=e2e --testPathIgnorePatterns='examples,/packages/components/,/packages/react/'"
2949
3603
  }
2950
3604
  }\`}</Code>;`}],implementation:""},similarTo:[],figmaUrl:null},ColorInput:{id:"core-forms-colorinput",breadcrumb:"Core/Forms/ColorInput",importStatement:'import { ColorInput, CustomTriggerButton, IndeterminateExample } from "@baseline-ui/core";',description:"The `ColorInput` component is used to select a color. You can use the `ColorInput` component to select a color from a predefined set of colors, or to select a custom color.",documentation:'The `ColorInput` component is used to select a color. You can use the `ColorInput` component to select a color from a predefined set of colors, or to select a custom color.\n\n* Includes custom color picker with color area, hue slider, and optional alpha slider\n* Supports alpha channel\n* Exposed to screen readers using ARIA attributes\n* Supports keyboard, touch and mouse interaction\n* Supports disabled and indeterminate states\n* Supports HEX and RGB color modes\n* Persists custom colors in local storage\n* Supports lazy picker mode for adding custom colors without live updates\n\n```jsx\nimport { ColorInput } from "@baseline-ui/core";\n\nconst presets = [\n { label: "Red", color: "#ff0000" },\n { label: "Green", color: "#00ff00" },\n { label: "Blue", color: "#0000ff" },\n { label: "Yellow", color: "#ffff00" },\n { label: "Cyan", color: "#00ffff" },\n { label: "Magenta", color: "#ff00ff" },\n { label: "Black", color: "#000000" },\n { label: "White", color: "#ffffff" },\n { label: "Gray", color: "#808080" },\n { label: "Orange", color: "#ffa500" },\n { label: "Brown", color: "#a52a2a" },\n { label: "Purple", color: "#800080" },\n];\n\n<ColorInput presets={presets} label="Color" />;\n```\n\nBy default, the label is placed above the trigger. Use `labelPosition="start"` to place it inline.\n\n```jsx\n<ColorInput\n presets={presets}\n label="Label"\n labelPosition="start"\n defaultValue="#ff0000"\n/>\n```\n\nHide the visible color name text next to the swatch by setting `colorLabel={false}`.\n\n```jsx\n<ColorInput presets={presets} colorLabel={false} aria-label="Color" />\n```\n\nShow only the preset list without the custom color picker by setting `includePicker={false}`.\n\n```jsx\n<ColorInput presets={presets} includePicker={false} label="Color" />\n```\n\nShow only the custom color picker without any presets.\n\n```jsx\n<ColorInput presets={[]} label="Color" />\n```\n\nYou can enable the alpha channel in the color picker by setting the `allowAlpha` prop to `true`.\n\n```jsx\n<ColorInput presets={presets} allowAlpha />\n```\n\nDisable the alpha slider by setting `allowAlpha={false}`.\n\n```jsx\n<ColorInput presets={presets} allowAlpha={false} label="Color" />\n```\n\n```jsx\n<ColorInput presets={presets} isDisabled label="Color" />\n```\n\nThe `ColorInput` component supports an indeterminate state. This is useful when you want to show a loading state or an unknown state. This property is always controlled and only makes a visual difference. If set to true, the color input trigger button will show "Indeterminate" as the color name. Apart from this, all the other functionality will work as expected.\n\n```jsx\n<ColorInput isIndeterminate presets={presets} />\n```\n\nBy default, you can add colors picked from the picker to the list of custom color presets. These are persisted in local storage under the key specified by the `storePickedColorKey` prop (defaults to `"baselinePickedColor"`). To use a separate storage key per instance, pass a unique value:\n\n```jsx\n<ColorInput storePickedColorKey="my-custom-key" />\n```\n\nBy default, you cannot unset the color. You can enable the ability to unset the color by setting the `allowRemoval` prop to `true`.\n\n```jsx\n<ColorInput presets={presets} allowRemoval />\n```\n\nYou can set the default color by setting the `defaultValue` prop to a color value.\n\n```jsx\n<ColorInput presets={presets} defaultValue="#ff0000" />\n```\n\nYou can make the `ColorInput` component controlled by setting the `value` prop to a color value. You can use the `onChange` prop to update the value.\n\n```jsx\n<ColorInput presets={presets} value="#ff0000" onChange={console.log} />\n```\n\nYou can use the `renderTriggerButton` prop to render a custom trigger.\n\n```jsx\n<ColorInput\n label="label"\n renderTriggerButton={({ colorName, ref, triggerProps }) => (\n <ActionIconButton\n {...triggerProps}\n aria-label={typeof colorName === "string" ? colorName : "Color"}\n icon={EllipseIcon}\n ref={ref}\n aria-haspopup="true"\n />\n )}\n/>\n```\n\nYou can use the `pickerMode="lazy"` prop to render the color picker only to add a custom color to the list of custom color presets. This is useful when you want to prevent the `onChange` event from firing while the user is picking a color from the picker. In case of mobile the picker opens in a modal.\n\n```jsx\n<ColorInput presets={presets} pickerMode="lazy" aria-label="Color" />\n```\n\nThe following CSS class selectors and data attributes are available for styling:\n\n| Selector | Description |\n| -------------------------------------------- | ------------------------------------------------------------------------- |\n| `.BaselineUI-ColorInput-Trigger` | The outer wrapper containing the label and trigger button |\n| `.BaselineUI-ColorInputButton` | The trigger button |\n| `.BaselineUI-ColorInput-Popover` | The popover container |\n| `.BaselineUI-ColorInput-ColorArea` | The color area (saturation/lightness) |\n| `.BaselineUI-ColorInput-ColorAreaThumb` | The draggable thumb on the color area |\n| `.BaselineUI-ColorInput-ColorSlider` | The hue/alpha slider |\n| `.BaselineUI-ColorInput-ColorSliderThumb` | The draggable thumb on a slider |\n| `.BaselineUI-ColorInput-FieldInput` | The hex/RGB text input |\n| `.BaselineUI-ColorInput-Presets` | The preset color list |\n| `.BaselineUI-ColorInput-CustomColors` | The custom colors header |\n| `.BaselineUI-ColorInput-CustomColorsListBox` | The custom colors list |\n| `[data-disabled]` | Applied when the button is disabled |\n| `[data-hovered]` | Applied when the button is hovered |\n| `[data-pressed]` | Applied when the button is pressed |\n| `[data-focus-visible]` | Applied when the button has keyboard focus |\n| `[data-color-mode="hexa"]` | Applied to hex field input when alpha is enabled |\n| `[data-color-mode="hex"]` | Applied to hex field input when alpha is disabled |\n| `[data-color-mode="rgba"]` | Applied to RGB field inputs when alpha is enabled |\n| `[data-color-mode="rgb"]` | Applied to RGB field inputs when alpha is disabled |\n| `[data-channel]` | Applied to color sliders, value is the channel name (e.g. `hue`, `alpha`) |\n\n| Key | Description |\n| ---------- | -------------------------------------------------------------------- |\n| Enter | Opens the popover or selects the focused color if popover is open |\n| Space | Opens the popover or selects the focused color if popover is open |\n| Escape | Closes the popover if open |\n| ArrowRight | Moves focus to the next preset color in the list |\n| ArrowLeft | Moves focus to the previous preset color in the list |\n| Tab | Moves focus between the color area, sliders, fields, and preset list |\n\nThe following strings are used by the `ColorInput` component and can be overridden via `I18nProvider`:\n\n| Key | Default (en) |\n| ------------------------------ | ---------------- |\n| `bui.colorInput.addColor` | Add Color |\n| `bui.colorInput.removeColor` | Remove Color |\n| `bui.colorInput.customColors` | Custom Colors |\n| `bui.colorInput.noColor` | None |\n| `bui.colorInput.transparent` | Transparent |\n| `bui.colorInput.add` | Add |\n| `bui.colorInput.cancel` | Cancel |\n| `bui.colorInput.colorFormat` | Color Format |\n| `bui.colorInput.colorPresets` | Color Presets |\n| `bui.colorInput.newColor` | New Custom Color |\n| `bui.colorInput.indeterminate` | Indeterminate |\n\n> **Note:** `bui.colorInput.indeterminate` is not present in the bundled locale JSON files \u2014 it relies on its `defaultMessage` as fallback. Override it via `I18nProvider.messages` when you need a custom string for the indeterminate state.\n\n```jsx\nimport { I18nProvider, ColorInput } from "@baseline-ui/core";\n\n<I18nProvider\n locale="en"\n messages={{\n en: {\n "bui.colorInput.addColor": "Pick a Color",\n "bui.colorInput.cancel": "Dismiss",\n },\n }}\n>\n <ColorInput />\n</I18nProvider>;\n```\n\nThe `IconColorInput` component is a wrapper around the `ColorInput` component that allows you to render an icon next to the color input. This basically overrides the `renderTriggerButton` prop of the `ColorInput` component to\nprovide a predefined trigger button with an icon.\n\n```jsx\nimport { IconColorInput } from "@baseline-ui/core";\nimport { BorderColorIcon } from "@baseline-ui/icons/24";\n\n<IconColorInput icon={BorderColorIcon} aria-label="Color Picker" />;\n```\n\nYou can use the `variant` prop to change the appearance of the `IconColorInput` component. The `variant` prop accepts the following values: `standard` and `compact`.\n\n```jsx\n<IconColorInput icon={BorderColorIcon} aria-label="Color Picker" isDisabled />\n```\n\nThe `IconColorInput` component supports adding tooltip to the trigger button which is enabled by default. The tooltip will be the same as the `aria-label` of the trigger button. If you want to disable the tooltip, you can set the `tooltip` and `iconTooltip` props to `false`.\n\nThe `ColorSwatch` component is used to display a color swatch. The `ColorSwatch` component is used in the `ColorInput` component to display the selected color.\n\n```jsx\nimport { ColorSwatch } from "@baseline-ui/core";\n\n<ColorSwatch color="#ff0000" />;\n```',props:`interface ColorInputProps {
3605
+ /**
3606
+ * Whether the overlay is open by default (controlled).
3607
+ */
3608
+ isOpen?: boolean
3609
+ /**
3610
+ * Whether the overlay is open by default (uncontrolled).
3611
+ */
3612
+ defaultOpen?: boolean
3613
+ /**
3614
+ * Handler that is called when the overlay's open state changes.
3615
+ */
3616
+ onOpenChange?: (isOpen: boolean) => void
2951
3617
  /**
2952
3618
  * The unique identifier for the block. This is used to identify the block in
2953
3619
  * the DOM and in the block map. It is added as a data attribute
@@ -5151,6 +5817,11 @@ By default, the \`Dialog\` component traps focus within the dialog. This means t
5151
5817
  | -------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
5152
5818
  | <kbd>Esc</kbd> | Close the dialog |
5153
5819
  | <kbd>Tab</kbd> | Move focus to the next focusable element in the dialog. If focus is on the last element, move focus to the first focusable element. |`,props:`interface DialogProps {
5820
+ /**
5821
+ * The accessibility role for the dialog.
5822
+ * @default 'dialog'
5823
+ */
5824
+ role?: 'dialog' | 'alertdialog'
5154
5825
  /**
5155
5826
  * The unique identifier for the block. This is used to identify the block in
5156
5827
  * the DOM and in the block map. It is added as a data attribute
@@ -5931,6 +6602,11 @@ className?: string
5931
6602
  * The style applied to the root element of the component.
5932
6603
  */
5933
6604
  style?: React.CSSProperties
6605
+ /**
6606
+ * The accessibility role for the dialog.
6607
+ * @default 'dialog'
6608
+ */
6609
+ role?: 'dialog' | 'alertdialog'
5934
6610
  /**
5935
6611
  * The children to render.
5936
6612
  */
@@ -7925,18 +8601,8 @@ children: React.ReactNode
7925
8601
  * The locale to apply to the children.
7926
8602
  */
7927
8603
  locale?: string
8604
+ messages?: LocalizedStrings
7928
8605
  /**
7929
- * The messages to use for internationalization.
7930
- */
7931
- messages?: {
7932
- [lang: string]: {
7933
- [key: string]: string
7934
- }
7935
- }
7936
- /**
7937
- * Whether to log messages when translations in the current locale are
7938
- * missing.
7939
- *
7940
8606
  * @default true
7941
8607
  */
7942
8608
  shouldLogMissingMessages?: boolean
@@ -10882,6 +11548,23 @@ const items = [
10882
11548
  The \`Menu\` component can be controlled or uncontrolled. When uncontrolled, the component manages its own state internally. When controlled, the state is managed by the parent component. To control the component, set the \`selectedKeys\` prop to an array of item IDs. The value of the selected keys must match the \`id\` prop of the items.
10883
11549
 
10884
11550
  The \`Menu\` component can be controlled or uncontrolled. When uncontrolled, the component manages its own state internally. When controlled, the state is managed by the parent component. To control the component, set the \`isOpen\` prop to a boolean value.`,props:`interface MenuProps {
11551
+ /**
11552
+ * Whether the overlay is open by default (controlled).
11553
+ */
11554
+ isOpen?: boolean
11555
+ /**
11556
+ * Whether the overlay is open by default (uncontrolled).
11557
+ */
11558
+ defaultOpen?: boolean
11559
+ /**
11560
+ * Handler that is called when the overlay's open state changes.
11561
+ */
11562
+ onOpenChange?: (isOpen: boolean) => void
11563
+ /**
11564
+ * How the menu is triggered.
11565
+ * @default 'press'
11566
+ */
11567
+ trigger?: 'press' | 'longPress'
10885
11568
  /**
10886
11569
  * The \`className\` property assigned to the root element of the component.
10887
11570
  */
@@ -11077,6 +11760,18 @@ You can add a close button to the dialog by adding a \`ModalClose\` component to
11077
11760
  | Key | Function |
11078
11761
  | -------------- | ---------------- |
11079
11762
  | <kbd>Esc</kbd> | Close the dialog |`,props:`interface ModalProps {
11763
+ /**
11764
+ * Whether the overlay is open by default (controlled).
11765
+ */
11766
+ isOpen?: boolean
11767
+ /**
11768
+ * Whether the overlay is open by default (uncontrolled).
11769
+ */
11770
+ defaultOpen?: boolean
11771
+ /**
11772
+ * Handler that is called when the overlay's open state changes.
11773
+ */
11774
+ onOpenChange?: (isOpen: boolean) => void
11080
11775
  /**
11081
11776
  * The contents of the modal.
11082
11777
  */
@@ -13568,6 +14263,18 @@ This is particularly useful when:
13568
14263
  * The trigger element moves due to CSS transforms or animations
13569
14264
  * The layout changes dynamically via JavaScript
13570
14265
  * You need to keep the popover attached to a moving target`,props:`interface PopoverProps {
14266
+ /**
14267
+ * Whether the overlay is open by default (controlled).
14268
+ */
14269
+ isOpen?: boolean
14270
+ /**
14271
+ * Whether the overlay is open by default (uncontrolled).
14272
+ */
14273
+ defaultOpen?: boolean
14274
+ /**
14275
+ * Handler that is called when the overlay's open state changes.
14276
+ */
14277
+ onOpenChange?: (isOpen: boolean) => void
13571
14278
  /**
13572
14279
  * The unique identifier for the block. This is used to identify the block in
13573
14280
  * the DOM and in the block map. It is added as a data attribute
@@ -16707,7 +17414,7 @@ import { Separator } from "../../utils";
16707
17414
  * The orientation of the separator.
16708
17415
  * @default 'horizontal'
16709
17416
  */
16710
- orientation?: Orientation
17417
+ orientation?: "horizontal" | "vertical"
16711
17418
  /**
16712
17419
  * The HTML element type that will be used to render the separator.
16713
17420
  */
@@ -16736,14 +17443,10 @@ className?: string
16736
17443
  */
16737
17444
  style?: React.CSSProperties
16738
17445
  /**
16739
- * The variant of the separator.
16740
- *
16741
17446
  * @default "primary"
16742
17447
  */
16743
17448
  variant?: "primary" | "secondary"
16744
17449
  /**
16745
- * Whether to omit the role attribute.
16746
- *
16747
17450
  * @default false
16748
17451
  * @internal
16749
17452
  */
@@ -22233,16 +22936,6 @@ className?: string
22233
22936
  * The style applied to the root element of the component.
22234
22937
  */
22235
22938
  style?: React.CSSProperties
22236
- /**
22237
- * The orientation of the entire toolbar.
22238
- * @default 'horizontal'
22239
- */
22240
- orientation?: Orientation
22241
- /**
22242
- * Allows tabbing through the toolbar's content when false.
22243
- * @default true
22244
- */
22245
- isSingleTabStop?: boolean
22246
22939
  /**
22247
22940
  * The children of the toolbar.
22248
22941
  */
@@ -22278,6 +22971,18 @@ renderSpacer?: boolean
22278
22971
  * The callback to call when any key is pressed.
22279
22972
  */
22280
22973
  onKeyDown?: KeyboardProps["onKeyDown"]
22974
+ /**
22975
+ * When set to true, the toolbar will act as a normal toolbar and will not
22976
+ * contain the navigation within it when the user presses tab again.
22977
+ *
22978
+ * When set to false, the toolbar will allow for navigating through all
22979
+ * elements within it if the user presses tab, and move to the next focusable
22980
+ * element outside of the toolbar only after user navigates through all
22981
+ * elements within the toolbar.
22982
+ *
22983
+ * @default true
22984
+ */
22985
+ isSingleTabStop?: boolean
22281
22986
  }`,stories:{usage:[{id:"core-miscellaneous-toolbar--basic",name:"Basic",snippet:'const Basic = () => <Toolbar style={{ display: "flex", flexDirection: "row", alignItems: "center" }}><ToolbarChildren /></Toolbar>;'},{id:"core-miscellaneous-toolbar--vertical",name:"Vertical",snippet:`const Vertical = () => <Toolbar
22282
22987
  orientation="vertical"
22283
22988
  style={{ display: "flex", flexDirection: "column", alignItems: "center" }} />;`},{id:"core-miscellaneous-toolbar--with-tooltip",name:"With Tooltip",snippet:"const WithTooltip = () => <Toolbar><ChildrenWithTooltip /></Toolbar>;"},{id:"core-miscellaneous-toolbar--with-over-flow",name:"With Over Flow",snippet:'const WithOverFlow = () => <Toolbar style={{ width: "max-content", display: "flex", alignItems: "center" }} />;'},{id:"core-miscellaneous-toolbar--with-tabbing-within",name:"With Tabbing Within",snippet:`const WithTabbingWithin = () => <Toolbar
@@ -22654,6 +23359,42 @@ className?: string
22654
23359
  * The style applied to the root element of the component.
22655
23360
  */
22656
23361
  style?: React.CSSProperties
23362
+ /**
23363
+ * Whether the overlay is open by default (controlled).
23364
+ */
23365
+ isOpen?: boolean
23366
+ /**
23367
+ * Whether the overlay is open by default (uncontrolled).
23368
+ */
23369
+ defaultOpen?: boolean
23370
+ /**
23371
+ * Handler that is called when the overlay's open state changes.
23372
+ */
23373
+ onOpenChange?: (isOpen: boolean) => void
23374
+ /**
23375
+ * Whether the tooltip should be disabled, independent from the trigger.
23376
+ */
23377
+ isDisabled?: boolean
23378
+ /**
23379
+ * The delay time for the tooltip to show up. [See guidelines](https://spectrum.adobe.com/page/tooltip/#Immediate-or-delayed-appearance).
23380
+ * @default 1500
23381
+ */
23382
+ delay?: number
23383
+ /**
23384
+ * The delay time for the tooltip to close. [See guidelines](https://spectrum.adobe.com/page/tooltip/#Warmup-and-cooldown).
23385
+ * @default 500
23386
+ */
23387
+ closeDelay?: number
23388
+ /**
23389
+ * By default, opens for both focus and hover. Can be made to open only for focus.
23390
+ * @default 'hover'
23391
+ */
23392
+ trigger?: 'hover' | 'focus'
23393
+ /**
23394
+ * Whether the tooltip should close when the trigger is pressed.
23395
+ * @default true
23396
+ */
23397
+ shouldCloseOnPress?: boolean
22657
23398
  /**
22658
23399
  * The content of the tooltip.
22659
23400
  */
@@ -22666,18 +23407,6 @@ children: | React.ReactNode
22666
23407
  triggerProps: DOMAttributes;
22667
23408
  triggerRef: React.RefObject<HTMLElement>;
22668
23409
  }) => React.ReactNode)
22669
- /**
22670
- * The delay time for the tooltip to show up.
22671
- *
22672
- * @default 1000
22673
- */
22674
- delay?: number
22675
- /**
22676
- * The delay time for the tooltip to hide.
22677
- *
22678
- * @default 500
22679
- */
22680
- closeDelay?: number
22681
23410
  /**
22682
23411
  * Represents the size of an element.
22683
23412
  *
@@ -29364,7 +30093,45 @@ Import the following files at the top of your stylesheet to use the Baseline UI
29364
30093
  }
29365
30094
  \`\`\`
29366
30095
 
29367
- Make sure the class names present in this stylesheet aren\u2019t changed by your bundler during the build process.`,nutrientWebViewerTheming:`# Nutrient Web Viewer theming
30096
+ Make sure the class names present in this stylesheet aren\u2019t changed by your bundler during the build process.
30097
+
30098
+ ## Charts
30099
+
30100
+ Chart components live in a separate package so projects that don\u2019t need data visualizations don\u2019t pay the bundle cost. Install it alongside the core packages:
30101
+
30102
+ \`\`\`bash
30103
+ npm install @baseline-ui/charts recharts
30104
+ \`\`\`
30105
+
30106
+ \`recharts\` is a peer dependency, so it must be installed in the host app.
30107
+
30108
+ Import the chart styles in addition to the core styles:
30109
+
30110
+ \`\`\`css
30111
+ @import "@baseline-ui/tokens/dist/index.css";
30112
+ @import "@baseline-ui/core/dist/index.css";
30113
+ @import "@baseline-ui/charts/dist/index.css";
30114
+ \`\`\`
30115
+
30116
+ Then use the components from \`@baseline-ui/charts\`:
30117
+
30118
+ \`\`\`jsx
30119
+ import { BarChart, LineChart, PieChart } from "@baseline-ui/charts";
30120
+
30121
+ <LineChart
30122
+ width="100%"
30123
+ height={300}
30124
+ xAxisDataKey="month"
30125
+ data={[
30126
+ { month: "Jan", users: 400 },
30127
+ { month: "Feb", users: 600 },
30128
+ { month: "Mar", users: 820 },
30129
+ { month: "Apr", users: 1100 },
30130
+ ]}
30131
+ lines={[{ dataKey: "users", name: "Users" }]}
30132
+ showLegend
30133
+ />;
30134
+ \`\`\``,nutrientWebViewerTheming:`# Nutrient Web Viewer theming
29368
30135
 
29369
30136
  Nutrient Web Viewer provides a comprehensive theming system that enables consistent styling across your application. This guide covers how to use and customize themes to match your application\u2019s design requirements.
29370
30137
 
@@ -30544,7 +31311,7 @@ padding={[null, "lg", "xl"]}
30544
31311
 
30545
31312
  * [vanilla-extract sprinkles documentation](https://vanilla-extract.style/documentation/packages/sprinkles/) - Learn about the underlying sprinkles framework
30546
31313
  * [Box component documentation](/docs/core-utilities-box--docs) - Detailed information about the Box component
30547
- * [Theme documentation](/docs/theming--docs) - Learn about Baseline UI's theming system`};var c={"8":["CaretDownIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","ChevronRightFilledIcon","ChevronRightIcon","EllipseIcon","MinusIcon","PlusIcon","XIcon"],"12":["CaretDownIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","CheckmarkIcon","DragIndicatorIcon","DragIndicatorVerticalIcon","EditIcon","EllipseIcon","EnterKeyIcon","LockFilledIcon","LockIcon","MinusIcon","MoreVIcon","MoreIcon","PlaceholderIcon","PlusIcon","SearchIcon","SizeIcon","TrashIcon","XIcon","ZoomIcon"],"16":["AlignBottomIcon","AlignMiddleIcon","AlignTopIcon","AnonymousIcon","ArrowDiagonalTopLeftBottomRightIcon","ArrowDownCircleFilledIcon","ArrowDownIcon","ArrowIcon","ArrowLeftRightIcon","ArrowRightIcon","ArrowUpArrowDownIcon","ArrowUpIcon","AtIcon","AttachmentsIcon","AvatarIcon","BoldIcon","BookmarkFilledIcon","BookmarkIcon","BulletListIcon","CalendarIcon","CaretLeftIcon","CaretRightIcon","CheckmarkCircleFilledIcon","CheckmarkCircleIcon","CheckmarkIcon","CircleFilledIcon","ClockIcon","CopyIcon","CustomizeIcon","DocumentEditIcon","DownloadIcon","DuplicateIcon","EditIcon","ElipseAreaIcon","EllipseCloudyIcon","EllipseDashedIcon","EllipseIcon","EmbedIcon","EmojiSmileIcon","ErrorAltCircleFilledIcon","ErrorCircleFilledIcon","ErrorCircleIcon","ExpandIcon","FilterAltIcon","FolderIcon","FormButtonIcon","FormChoiceIcon","FormComboboxIcon","FormDateIcon","FormListboxIcon","FormRadioButtonIcon","FormSignatureIcon","FormTextFieldIcon","FullScreenIcon","HelpCircleIcon","HelpIcon","HereIcon","HideIcon","HighlightTextAltIcon","HighlightTextIcon","HorizontalScrollIcon","ImageIcon","InfoCircleFilledIcon","InsertIcon","ItalicIcon","LightBulbIcon","LineIcon","LinkIcon","ListIcon","LockIcon","MagicIcon","MeasureIcon","MinusIcon","MoreIcon","MoreVerticalIcon","NoteArrowRightIcon","NoteCheckIcon","NoteCircleIcon","NoteCloudIcon","NoteCrossIcon","NoteHelpIcon","NoteInsetIcon","NoteKeyIcon","NoteNewParagraphAltIcon","NoteNewParagraphIcon","NoteNoteIcon","NotePointerRightIcon","NoteSpeechBubbleIcon","NoteStarIcon","NumberedListIcon","OpenIcon","PageFittingFillIcon","PageFittingFitIcon","PageHorizontalScrollIcon","PageLayoutDoubleIcon","PageLayoutSingleIcon","PageVerticalScrollIcon","PauseIcon","PenHighlighterIcon","PenIcon","PerimeterIcon","PlaceholderIcon","PlayIcon","PlusIcon","PolygonAreaIcon","PolygonCloudyIcon","PolygonDashedIcon","PolygonIcon","PolylineIcon","ReadOnlyIcon","RectangleAreaIcon","RectangleCloudyIcon","RectangleDashedIcon","RectangleIcon","RedoIcon","RemoveFormattingIcon","ReorderIcon","RotateClockwiseIcon","RotateCounterClockwiseIcon","RulerIcon","SearchIcon","SettingsIcon","ShowIcon","SlashCommandsIcon","SoundRecordIcon","StampIcon","StarFilledIcon","StarIcon","StrikeoutTextAltIcon","TableCellIcon","TableColumnIcon","TableHeaderIcon","TableIcon","TableRowIcon","TextAlignCenterIcon","TextAlignJustifyIcon","TextAlignLeftIcon","TextAlignRightIcon","TextCalloutIcon","TextDecreaseIndentIcon","TextIcon","TextIncreaseIndentIcon","TextMarkIcon","ThumbnailsIcon","ThumbsDownIcon","ThumbsUpIcon","TrashIcon","TypeTextIcon","UnderlineIcon","UndoIcon","UnlockIcon","VerticalScrollIcon","VideoIcon","WarningFilledIcon","WarningIcon","WindowedIcon","WorkflowIcon","XCircleFilledIcon","XIcon"],"20":["AddPageIcon","AnonymousIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpCircleFilledIcon","AtIcon","AvatarFilledIcon","BoldIcon","CalloutIcon","CaretDownIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","CheckCircleFilledIcon","CheckmarkCircleIcon","CheckmarkIcon","ClockIcon","CollapseIcon","CommentIcon","CopyIcon","CutIcon","DistanceIcon","DownloadIcon","DuplicateIcon","EditIcon","EllipseIcon","EmojiSmileIcon","ErrorAltCircleFilledIcon","ErrorAlternativeCircleIcon","ErrorCircleFilledIcon","ErrorCircleIcon","ExpandIcon","FormDateIcon","FormSignatureIcon","FormTextFieldIcon","HelpCircleIcon","HighlightTextIcon","HomeIcon","ImageIcon","InfoCircleFilledIcon","InfoCircleIcon","ItalicIcon","LinkIcon","ListIcon","LockIcon","MagicIcon","MinusIcon","MoreIcon","MoreVerticalIcon","MoveIcon","NoteArrowRightIcon","NoteCheckIcon","NoteCircleIcon","NoteCrossIcon","NoteHelpIcon","NoteInsetIcon","NoteKeyIcon","NoteNewParagraphAltIcon","NoteNewParagraphIcon","NoteNoteIcon","NotePointerRightIcon","NoteSpeechBubbleIcon","NoteStarIcon","OpenIcon","PageMoveLeftIcon","PageMoveRightIcon","PagesInsertIcon","PasteIcon","PipetteIcon","PlusIcon","PrintIcon","RotateClockwiseIcon","SearchIcon","SettingsIcon","ShapeIcon","ShareIcon","SoundIcon","SoundRecordIcon","StarFilledIcon","StarIcon","StyleIcon","TextAlignCenterIcon","TextAlignJustifyIcon","TextAlignLeftIcon","TextAlignRightIcon","TextIcon","ThumbnailsIcon","ThumbsDownIcon","ThumbsUpIcon","TrashIcon","TypeTextIcon","UnderlineIcon","UploadIcon","WarningFilledIcon","WarningIcon","XCircleFilledIcon","XCircleIcon","XIcon"],"24":["AddNoteCloudIcon","AddNoteIcon","AddTextSerifIcon","AiIcon","AirplaneIcon","AlignBottomIcon","AlignHorizontalCenterIcon","AlignMiddleIcon","AlignTopIcon","AnonymousIcon","ArrowDownIcon","ArrowIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","AtIcon","AttachmentIcon","AvatarFilledIcon","AvatarIcon","BlendModeIcon","BoldIcon","BookmarkFilledIcon","BookmarkIcon","BorderColorIcon","BottomBorderIcon","BulletListIcon","CalibrateIcon","CaptureAddIcon","CaretDownIcon","CaretIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","CheckmarkCircleFilledIcon","CheckmarkCircleIcon","CheckmarkIcon","ChevronListIcon","ClockIcon","CloudyBorderIcon","CollapseIcon","ColorPaletteIcon","ColorSwatchIcon","CommentIcon","CommentInSidebarIcon","CommentOnPageIcon","CompareDocumentsIcon","CopyIcon","CopyPageIcon","CropIcon","CustomizeIcon","CutIcon","DateModifiedIcon","DatePlusIcon","DebugIcon","DocumentArrowDownCircleIcon","DocumentArrowDownIcon","DocumentArrowRightIcon","DocumentFilledIcon","DocumentLockIcon","DocumentPdfIcon","DownloadIcon","DragIndicatorIcon","DragIndicatorVerticalIcon","DuplicateIcon","EditAnnotationsIcon","EditContentIcon","EditDocumentIcon","EditIcon","EditThumbnailsIcon","EllipseAreaIcon","EllipseCloudyIcon","EllipseDashedIcon","EllipseIcon","EmbedIcon","EmojiSmileIcon","EndCapArrowFilledIcon","EndCapArrowIcon","EndCapChevronFilledIcon","EndCapChevronIcon","EndCapCircleIcon","EndCapDiamondIcon","EndCapNoneIcon","EndCapSlantedIcon","EndCapSquareIcon","EndCapStraightIcon","EraserIcon","ErrorAltCircleFilledIcon","ErrorAltIcon","ErrorCircleFilledIcon","ErrorCircleIcon","ExpandIcon","ExpandVerticalIcon","FillColorIcon","FilterIcon","FitToHeightIcon","FivePagesHorizontalFilledIcon","FivePagesVerticalFilledIcon","FolderAddIcon","FolderIcon","FontListIcon","FontSizeIcon","FormButtonIcon","FormChoiceIcon","FormComboboxIcon","FormDateIcon","FormListboxIcon","FormPageIcon","FormRadioButtonIcon","FormSignatureIcon","FormTextFieldIcon","FormTwoRadioButtonsIcon","FourPagesGridFilledIcon","FourPagesHorizontalFilledIcon","FourPagesStackedFilledIcon","FourPagesVerticalFilledIcon","GroupIcon","HamburgerMenuIcon","HandIcon","HeartIcon","HideIcon","HideRevealIcon","HighlightTextIcon","HomeIcon","HorizontalScollIcon","ImageIcon","InfoCircleFilledIcon","InfoCircleIcon","InitialsIcon","InnerHorizontalBorderIcon","InnerVerticalBorderIcon","InsertIcon","ItalicIcon","LayerBottomIcon","LayerDownIcon","LayerTopIcon","LayerUpIcon","LayersIcon","LeftBindingIcon","LeftBorderIcon","LineCapsIcon","LineIcon","LineSpacingIcon","LineStyleCloudyIcon","LineStyleDashedDoubleDashIcon","LineStyleDashedDoubleGapIcon","LineStyleDashedQuadrupleDashIcon","LineStyleDashedSingleGapIcon","LineStyleIcon","LineStyleSolidIcon","LineWidthIcon","LinkIcon","LockFilledIcon","LockIcon","MagicIcon","MagicPenIcon","MailIcon","MarkupIcon","MarqueeZoomIcon","MeasureIcon","MergeIcon","MessageCloudIcon","MinusIcon","MoonIcon","MoreCircleIcon","MoreIcon","MoreVerticalIcon","MoveAllDirectionsIcon","MoveLeftIcon","MoveLeftRightIcon","MoveRightIcon","MultiplePagesIcon","NonEditableIcon","NoteArrowRightIcon","NoteCheckIcon","NoteCircleIcon","NoteCloudIcon","NoteCrossIcon","NoteHelpIcon","NoteIcon","NoteInsetIcon","NoteKeyIcon","NoteNewParagraphAltIcon","NoteNewParagraphIcon","NoteNoteIcon","NotePointerRightIcon","NoteSpeechBubbleIcon","NoteStarIcon","OcrIcon","OpacityIcon","PageAddIcon","PageCurlIcon","PageDuplicateIcon","PageFittingFillIcon","PageFittingFitIcon","PageHorizontalScrollIcon","PageLandscapeIcon","PageLayoutDoubleIcon","PageLayoutSingleIcon","PageMoveLeftIcon","PageMoveRightIcon","PageNumberCircleIcon","PageNumberIcon","PagePortraitIcon","PageRemoveIcon","PageVerticalScrollIcon","PagesInsertAltIcon","PagesInsertIcon","PagesNewFromSelectionAltIcon","PagesNewFromSelectionIcon","PagesSelectAllIcon","PagesSelectNoneIcon","PasteBoardIcon","PastePageIcon","PauseIcon","PenHighlighterIcon","PenIcon","PerimeterIcon","PinDropFilledIcon","PinDropIcon","PipetteIcon","PlayIcon","PlusCircleFilledIcon","PlusCircleIcon","PlusIcon","PointerIcon","PolygonAreaIcon","PolygonCloudyIcon","PolygonDashedIcon","PolygonIcon","PolylineIcon","PrecisionIcon","PrintIcon","PrivateModeIcon","PushPinIcon","QuestionmarkCircleIcon","ReaderViewIcon","RectangleAreaIcon","RectangleCloudyIcon","RectangleDashedIcon","RectangleIcon","RedactIcon","RedactRectangleIcon","RedactTextHighlighterIcon","RedactionTextRepeatingIcon","RedactionTextSingleIcon","RedoAllIcon","RedoIcon","RegexIcon","ReplaceIcon","RightBindingIcon","RightBorderIcon","RotateClockwiseIcon","RotateCounterClockwiseIcon","RotateObjectClockwiseIcon","RotateObjectCounterClockwiseIcon","RulerIcon","ScaleIcon","SearchCircleIcon","SearchIcon","SearchSelectionIcon","SelectAllIcon","SelectionToolIcon","SettingsIcon","ShapesIcon","ShareAltIcon","ShareIcon","ShieldAddIcon","ShieldCheckmarkIcon","ShieldWarningIcon","ShieldXIcon","ShowIcon","SidebarIcon","SignOutIcon","SignatureDigitalIcon","SignatureIcon","SinglePageFilledIcon","SoundIcon","SquigglyTextIcon","StampAddIcon","StampIcon","StarFilledIcon","StarIcon","StartCapArrowFilledIcon","StartCapArrowIcon","StartCapChevronFilledIcon","StartCapChevronIcon","StartCapCircleIcon","StartCapDiamondIcon","StartCapNoneIcon","StartCapSlantedIcon","StartCapSquareIcon","StartCapStraightIcon","StrikeoutTextIcon","StyleFilledIcon","StyleIcon","StylusFilledIcon","StylusIcon","SunIcon","TableCellIcon","TextAlignCenterIcon","TextAlignJustifyIcon","TextAlignLeftIcon","TextAlignRightIcon","TextCalloutIcon","TextColorIcon","TextIcon","TextPropertiesHideIcon","TextPropertiesShowIcon","TextSerifIcon","TextSmallerIcon","ThreePagesHorizontalFilledIcon","ThreePagesStackedFilledIcon","ThreePagesVerticalFilledIcon","ThumbnailsIcon","ThumbsDownIcon","ThumbsUpIcon","TopBorderIcon","TrashIcon","TwoPagesHorizontalFilledIcon","TwoPagesVerticalFilledIcon","TypeTextIcon","UnderlineIcon","UnderlineTextIcon","UndoAllIcon","UndoIcon","UndoRedoIcon","UngroupIcon","UnlockIcon","UploadIcon","UserIcon","VerticalScrollIcon","VideoIcon","WarningFilledIcon","WarningIcon","WidgetIcon","WorkflowIcon","XCircleFilledIcon","XCircleIcon","XIcon","ZoomInIcon","ZoomOutIcon"],"36":["ArrowRight","Check","Circle","Cross","Help","Inset","Key","NewParagraphAlt","NewParagraph","Note","PointerRight","SpeechBubble","Star"]};var p={version:"0.58.0"};var u=`
31314
+ * [Theme documentation](/docs/theming--docs) - Learn about Baseline UI's theming system`};var c={"8":["CaretDownIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","ChevronRightFilledIcon","ChevronRightIcon","EllipseIcon","MinusIcon","PlusIcon","XIcon"],"12":["CaretDownIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","CheckmarkIcon","DragIndicatorIcon","DragIndicatorVerticalIcon","EditIcon","EllipseIcon","EnterKeyIcon","LockFilledIcon","LockIcon","MinusIcon","MoreVIcon","MoreIcon","PlaceholderIcon","PlusIcon","SearchIcon","SizeIcon","TrashIcon","XIcon","ZoomIcon"],"16":["AlignBottomIcon","AlignMiddleIcon","AlignTopIcon","AnonymousIcon","ArrowDiagonalTopLeftBottomRightIcon","ArrowDownCircleFilledIcon","ArrowDownIcon","ArrowIcon","ArrowLeftRightIcon","ArrowRightIcon","ArrowUpArrowDownIcon","ArrowUpIcon","AtIcon","AttachmentsIcon","AvatarIcon","BoldIcon","BookmarkFilledIcon","BookmarkIcon","BulletListIcon","CalendarIcon","CaretLeftIcon","CaretRightIcon","CheckmarkCircleFilledIcon","CheckmarkCircleIcon","CheckmarkIcon","CircleFilledIcon","ClockIcon","CopyIcon","CustomizeIcon","DocumentEditIcon","DownloadIcon","DuplicateIcon","EditIcon","ElipseAreaIcon","EllipseCloudyIcon","EllipseDashedIcon","EllipseIcon","EmbedIcon","EmojiSmileIcon","ErrorAltCircleFilledIcon","ErrorCircleFilledIcon","ErrorCircleIcon","ExpandIcon","FilterAltIcon","FolderIcon","FormButtonIcon","FormChoiceIcon","FormComboboxIcon","FormDateIcon","FormListboxIcon","FormRadioButtonIcon","FormSignatureIcon","FormTextFieldIcon","FullScreenIcon","HelpCircleIcon","HelpIcon","HereIcon","HideIcon","HighlightTextAltIcon","HighlightTextIcon","HorizontalScrollIcon","ImageIcon","InfoCircleFilledIcon","InsertIcon","ItalicIcon","LightBulbIcon","LineIcon","LinkIcon","ListIcon","LockIcon","MagicIcon","MeasureIcon","MinusIcon","MoreIcon","MoreVerticalIcon","NoteArrowRightIcon","NoteCheckIcon","NoteCircleIcon","NoteCloudIcon","NoteCrossIcon","NoteHelpIcon","NoteInsetIcon","NoteKeyIcon","NoteNewParagraphAltIcon","NoteNewParagraphIcon","NoteNoteIcon","NotePointerRightIcon","NoteSpeechBubbleIcon","NoteStarIcon","NumberedListIcon","OpenIcon","PageFittingFillIcon","PageFittingFitIcon","PageHorizontalScrollIcon","PageLayoutDoubleIcon","PageLayoutSingleIcon","PageVerticalScrollIcon","PauseIcon","PenHighlighterIcon","PenIcon","PerimeterIcon","PlaceholderIcon","PlayIcon","PlusIcon","PolygonAreaIcon","PolygonCloudyIcon","PolygonDashedIcon","PolygonIcon","PolylineIcon","ReadOnlyIcon","RectangleAreaIcon","RectangleCloudyIcon","RectangleDashedIcon","RectangleIcon","RedoIcon","RemoveFormattingIcon","ReorderIcon","RotateClockwiseIcon","RotateCounterClockwiseIcon","RulerIcon","SearchIcon","SettingsIcon","ShowIcon","SlashCommandsIcon","SoundRecordIcon","StampIcon","StarFilledIcon","StarIcon","StrikeoutTextAltIcon","TableCellIcon","TableColumnIcon","TableHeaderIcon","TableIcon","TableRowIcon","TextAlignCenterIcon","TextAlignJustifyIcon","TextAlignLeftIcon","TextAlignRightIcon","TextCalloutIcon","TextDecreaseIndentIcon","TextIcon","TextIncreaseIndentIcon","TextMarkIcon","ThumbnailsIcon","ThumbsDownIcon","ThumbsUpIcon","TrashIcon","TypeTextIcon","UnderlineIcon","UndoIcon","UnlockIcon","VerticalScrollIcon","VideoIcon","WarningFilledIcon","WarningIcon","WindowedIcon","WorkflowIcon","XCircleFilledIcon","XIcon"],"20":["AddPageIcon","AnonymousIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpCircleFilledIcon","AtIcon","AvatarFilledIcon","BoldIcon","CalloutIcon","CaretDownIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","CheckCircleFilledIcon","CheckmarkCircleIcon","CheckmarkIcon","ClockIcon","CollapseIcon","CommentIcon","CopyIcon","CutIcon","DistanceIcon","DownloadIcon","DuplicateIcon","EditIcon","EllipseIcon","EmojiSmileIcon","ErrorAltCircleFilledIcon","ErrorAlternativeCircleIcon","ErrorCircleFilledIcon","ErrorCircleIcon","ExpandIcon","FormDateIcon","FormSignatureIcon","FormTextFieldIcon","HelpCircleIcon","HighlightTextIcon","HomeIcon","ImageIcon","InfoCircleFilledIcon","InfoCircleIcon","ItalicIcon","LinkIcon","ListIcon","LockIcon","MagicIcon","MinusIcon","MoreIcon","MoreVerticalIcon","MoveIcon","NoteArrowRightIcon","NoteCheckIcon","NoteCircleIcon","NoteCrossIcon","NoteHelpIcon","NoteInsetIcon","NoteKeyIcon","NoteNewParagraphAltIcon","NoteNewParagraphIcon","NoteNoteIcon","NotePointerRightIcon","NoteSpeechBubbleIcon","NoteStarIcon","OpenIcon","PageMoveLeftIcon","PageMoveRightIcon","PagesInsertIcon","PasteIcon","PipetteIcon","PlusIcon","PrintIcon","RotateClockwiseIcon","SearchIcon","SettingsIcon","ShapeIcon","ShareIcon","SoundIcon","SoundRecordIcon","StarFilledIcon","StarIcon","StyleIcon","TextAlignCenterIcon","TextAlignJustifyIcon","TextAlignLeftIcon","TextAlignRightIcon","TextIcon","ThumbnailsIcon","ThumbsDownIcon","ThumbsUpIcon","TrashIcon","TypeTextIcon","UnderlineIcon","UploadIcon","WarningFilledIcon","WarningIcon","XCircleFilledIcon","XCircleIcon","XIcon"],"24":["AddNoteCloudIcon","AddNoteIcon","AddTextSerifIcon","AiIcon","AirplaneIcon","AlignBottomIcon","AlignHorizontalCenterIcon","AlignMiddleIcon","AlignTopIcon","AnonymousIcon","ArrowDownIcon","ArrowIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","AtIcon","AttachmentIcon","AvatarFilledIcon","AvatarIcon","BlendModeIcon","BoldIcon","BookmarkFilledIcon","BookmarkIcon","BorderColorIcon","BottomBorderIcon","BulletListIcon","CalibrateIcon","CaptureAddIcon","CaretDownIcon","CaretIcon","CaretLeftIcon","CaretRightIcon","CaretUpIcon","CheckmarkCircleFilledIcon","CheckmarkCircleIcon","CheckmarkIcon","ChevronListIcon","ClockIcon","CloudyBorderIcon","CollapseIcon","ColorPaletteIcon","ColorSwatchIcon","CommentIcon","CommentInSidebarIcon","CommentOnPageIcon","CompareDocumentsIcon","CopyIcon","CopyPageIcon","CropIcon","CustomizeIcon","CutIcon","DateModifiedIcon","DatePlusIcon","DebugIcon","DocumentArrowDownCircleIcon","DocumentArrowDownIcon","DocumentArrowRightIcon","DocumentFilledIcon","DocumentLockIcon","DocumentPdfIcon","DownloadIcon","DragIndicatorIcon","DragIndicatorVerticalIcon","DuplicateIcon","EditAnnotationsIcon","EditContentIcon","EditDocumentIcon","EditIcon","EditThumbnailsIcon","EllipseAreaIcon","EllipseCloudyIcon","EllipseDashedIcon","EllipseIcon","EmbedIcon","EmojiSmileIcon","EndCapArrowFilledIcon","EndCapArrowIcon","EndCapChevronFilledIcon","EndCapChevronIcon","EndCapCircleIcon","EndCapDiamondIcon","EndCapNoneIcon","EndCapSlantedIcon","EndCapSquareIcon","EndCapStraightIcon","EraserIcon","ErrorAltCircleFilledIcon","ErrorAltIcon","ErrorCircleFilledIcon","ErrorCircleIcon","ExpandIcon","ExpandVerticalIcon","FillColorIcon","FilterIcon","FitToHeightIcon","FivePagesHorizontalFilledIcon","FivePagesVerticalFilledIcon","FolderAddIcon","FolderIcon","FontListIcon","FontSizeIcon","FormButtonIcon","FormChoiceIcon","FormComboboxIcon","FormDateIcon","FormListboxIcon","FormPageIcon","FormRadioButtonIcon","FormSignatureIcon","FormTextFieldIcon","FormTwoRadioButtonsIcon","FourPagesGridFilledIcon","FourPagesHorizontalFilledIcon","FourPagesStackedFilledIcon","FourPagesVerticalFilledIcon","GroupIcon","HamburgerMenuIcon","HandIcon","HeartIcon","HideIcon","HideRevealIcon","HighlightTextIcon","HomeIcon","HorizontalScollIcon","ImageIcon","InfoCircleFilledIcon","InfoCircleIcon","InitialsIcon","InnerHorizontalBorderIcon","InnerVerticalBorderIcon","InsertIcon","ItalicIcon","LayerBottomIcon","LayerDownIcon","LayerTopIcon","LayerUpIcon","LayersIcon","LeftBindingIcon","LeftBorderIcon","LineCapsIcon","LineIcon","LineSpacingIcon","LineStyleCloudyIcon","LineStyleDashedDoubleDashIcon","LineStyleDashedDoubleGapIcon","LineStyleDashedQuadrupleDashIcon","LineStyleDashedSingleGapIcon","LineStyleIcon","LineStyleSolidIcon","LineWidthIcon","LinkIcon","LockFilledIcon","LockIcon","MagicIcon","MagicPenIcon","MailIcon","MarkupIcon","MarqueeZoomIcon","MeasureIcon","MergeIcon","MessageCloudIcon","MinusIcon","MoonIcon","MoreCircleIcon","MoreIcon","MoreVerticalIcon","MoveAllDirectionsIcon","MoveLeftIcon","MoveLeftRightIcon","MoveRightIcon","MultiplePagesIcon","NonEditableIcon","NoteArrowRightIcon","NoteCheckIcon","NoteCircleIcon","NoteCloudIcon","NoteCrossIcon","NoteHelpIcon","NoteIcon","NoteInsetIcon","NoteKeyIcon","NoteNewParagraphAltIcon","NoteNewParagraphIcon","NoteNoteIcon","NotePointerRightIcon","NoteSpeechBubbleIcon","NoteStarIcon","OcrIcon","OpacityIcon","PageAddIcon","PageCurlIcon","PageDuplicateIcon","PageFittingFillIcon","PageFittingFitIcon","PageHorizontalScrollIcon","PageLandscapeIcon","PageLayoutDoubleIcon","PageLayoutSingleIcon","PageMoveLeftIcon","PageMoveRightIcon","PageNumberCircleIcon","PageNumberIcon","PagePortraitIcon","PageRemoveIcon","PageVerticalScrollIcon","PagesInsertAltIcon","PagesInsertIcon","PagesNewFromSelectionAltIcon","PagesNewFromSelectionIcon","PagesSelectAllIcon","PagesSelectNoneIcon","PasteBoardIcon","PastePageIcon","PauseIcon","PenHighlighterIcon","PenIcon","PerimeterIcon","PinDropFilledIcon","PinDropIcon","PipetteIcon","PlayIcon","PlusCircleFilledIcon","PlusCircleIcon","PlusIcon","PointerIcon","PolygonAreaIcon","PolygonCloudyIcon","PolygonDashedIcon","PolygonIcon","PolylineIcon","PrecisionIcon","PrintIcon","PrivateModeIcon","PushPinIcon","QuestionmarkCircleIcon","ReaderViewIcon","RectangleAreaIcon","RectangleCloudyIcon","RectangleDashedIcon","RectangleIcon","RedactIcon","RedactRectangleIcon","RedactTextHighlighterIcon","RedactionTextRepeatingIcon","RedactionTextSingleIcon","RedoAllIcon","RedoIcon","RegexIcon","ReplaceIcon","RightBindingIcon","RightBorderIcon","RotateClockwiseIcon","RotateCounterClockwiseIcon","RotateObjectClockwiseIcon","RotateObjectCounterClockwiseIcon","RulerIcon","ScaleIcon","SearchCircleIcon","SearchIcon","SearchSelectionIcon","SelectAllIcon","SelectionToolIcon","SettingsIcon","ShapesIcon","ShareAltIcon","ShareIcon","ShieldAddIcon","ShieldCheckmarkIcon","ShieldWarningIcon","ShieldXIcon","ShowIcon","SidebarIcon","SignOutIcon","SignatureDigitalIcon","SignatureIcon","SinglePageFilledIcon","SoundIcon","SquigglyTextIcon","StampAddIcon","StampIcon","StarFilledIcon","StarIcon","StartCapArrowFilledIcon","StartCapArrowIcon","StartCapChevronFilledIcon","StartCapChevronIcon","StartCapCircleIcon","StartCapDiamondIcon","StartCapNoneIcon","StartCapSlantedIcon","StartCapSquareIcon","StartCapStraightIcon","StrikeoutTextIcon","StyleFilledIcon","StyleIcon","StylusFilledIcon","StylusIcon","SunIcon","TableCellIcon","TextAlignCenterIcon","TextAlignJustifyIcon","TextAlignLeftIcon","TextAlignRightIcon","TextCalloutIcon","TextColorIcon","TextIcon","TextPropertiesHideIcon","TextPropertiesShowIcon","TextSerifIcon","TextSmallerIcon","ThreePagesHorizontalFilledIcon","ThreePagesStackedFilledIcon","ThreePagesVerticalFilledIcon","ThumbnailsIcon","ThumbsDownIcon","ThumbsUpIcon","TopBorderIcon","TrashIcon","TwoPagesHorizontalFilledIcon","TwoPagesVerticalFilledIcon","TypeTextIcon","UnderlineIcon","UnderlineTextIcon","UndoAllIcon","UndoIcon","UndoRedoIcon","UngroupIcon","UnlockIcon","UploadIcon","UserIcon","VerticalScrollIcon","VideoIcon","WarningFilledIcon","WarningIcon","WidgetIcon","WorkflowIcon","XCircleFilledIcon","XCircleIcon","XIcon","ZoomInIcon","ZoomOutIcon"],"36":["ArrowRight","Check","Circle","Cross","Help","Inset","Key","NewParagraphAlt","NewParagraph","Note","PointerRight","SpeechBubble","Star"]};var p={version:"0.60.0"};var u=`
30548
31315
  # Baseline UI MCP Server Guidelines
30549
31316
 
30550
31317
  This MCP server provides AI assistants with structured access to Baseline UI's comprehensive component documentation, icon library, theming resources, and design guidelines.
@@ -30651,7 +31418,7 @@ import { ComponentName } from "@baseline-ui/core";
30651
31418
  Generate a live demo URL for a Baseline UI story. Use story IDs from the component info tool to view interactive examples. The response will be a string containing the URL. You can use this URL to understand the structure of the component and how to customize it.
30652
31419
  `,b=`
30653
31420
  Get the Figma URL for a given component. The response will be a string containing the URL. You can use this URL to understand the structure of the component and how it looks. The actual component's HTML structure might be slightly different from the Figma design but the overall structure and design should be the same including the design tokens.
30654
- `,l=`
31421
+ `,s=`
30655
31422
  Best practices and guidelines for using Baseline UI components, styling, and design tokens. READ THIS BEFORE DOING ANYTHING.
30656
31423
 
30657
31424
  ## Usage
@@ -30659,7 +31426,7 @@ Best practices and guidelines for using Baseline UI components, styling, and des
30659
31426
  Use this resource to:
30660
31427
  - Understand best practices for using Baseline UI components
30661
31428
  - Understand styling guidelines for using Baseline UI components
30662
- `,s=`
31429
+ `,l=`
30663
31430
  A guide for implementing styling elements in Baseline UI components or applying styling to existing components. READ THIS BEFORE DOING ANYTHING.
30664
31431
  `,g=`
30665
31432
  List all 8 available resources in the Baseline UI MCP server with their descriptions and URIs. Use this tool to discover what information and documentation is available.
@@ -30708,4 +31475,4 @@ ${Object.entries(o).toSorted(([n],[t])=>n.localeCompare(t)).map(([n,{description
30708
31475
 
30709
31476
  ${t.map(e=>"- "+e).join(`
30710
31477
  `)}`).join(`
30711
- `);async function S(){let n=new mcp_js.McpServer({name:"baseline-ui",version:p.version});n.registerResource("list_components","resource://baseline-ui/list_components.md",{description:a,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:I}]})),n.registerResource("list_icons","resource://baseline-ui/list_icons.md",{description:r,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:P}]})),n.registerResource("getting_started","resource://baseline-ui/getting_started.md",{description:"Quick start guide for integrating Baseline UI into new projects",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.gettingStarted}]})),n.registerResource("nutrient_web_viewer_theming","resource://baseline-ui/nutrient_web_viewer_theming.md",{description:"Specialized theming guide for customizing Baseline UI in Nutrient Web Viewer. This is not applicable if you are not theming the Nutrient Web Viewer SDK.",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.nutrientWebViewerTheming}]})),n.registerResource("theming","resource://baseline-ui/theming.md",{description:"Comprehensive guide for implementing custom themes and color schemes in Baseline UI",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.theming}]})),n.registerResource("internationalization","resource://baseline-ui/internationalization.md",{description:"Guide for implementing multi-language support and localization in Baseline UI",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.internationalization}]})),n.registerResource("styling","resource://baseline-ui/styling.md",{description:s,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.styling}]})),n.registerResource("guidelines","resource://baseline-ui/guidelines.md",{description:l,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:u}]})),n.registerTool("get_component_info",{title:"Get component info",description:m,inputSchema:{componentName:zod.z.enum(Object.keys(o))}},({componentName:e})=>({content:[{type:"text",text:JSON.stringify(Object.fromEntries(Object.entries(o[e]).filter(([f])=>!["description","similarTo","figmaUrl"].includes(f))),null,2)}]})),n.registerTool("get_story_url",{title:"Get story demo URL",description:h,inputSchema:{storyId:zod.z.string()}},({storyId:e})=>({content:[{type:"text",text:`https://nutrient.io/baseline-ui/iframe.html?id=${e}`}]})),n.registerTool("get_figma_url",{title:"Get Figma URL",description:b,inputSchema:{componentName:zod.z.enum(Object.keys(o))}},({componentName:e})=>({content:[{type:"text",text:o[e].figmaUrl}]})),n.registerTool("list_available_resources",{title:"List Available Resources",description:g,inputSchema:{}},()=>({content:[{type:"text",text:JSON.stringify([{name:"list_components",uri:"resource://baseline-ui/list_components.md",description:a,mimeType:"text/markdown"},{name:"list_icons",uri:"resource://baseline-ui/list_icons.md",description:r,mimeType:"text/markdown"},{name:"getting_started",uri:"resource://baseline-ui/getting_started.md",description:"Quick start guide for integrating Baseline UI into new projects",mimeType:"text/markdown"},{name:"nutrient_web_viewer_theming",uri:"resource://baseline-ui/nutrient_web_viewer_theming.md",description:"Specialized theming guide for customizing Baseline UI in Nutrient Web Viewer. This is not applicable if you are not theming the Nutrient Web Viewer SDK.",mimeType:"text/markdown"},{name:"theming",uri:"resource://baseline-ui/theming.md",description:"Comprehensive guide for implementing custom themes and color schemes in Baseline UI",mimeType:"text/markdown"},{name:"internationalization",uri:"resource://baseline-ui/internationalization.md",description:"Guide for implementing multi-language support and localization in Baseline UI",mimeType:"text/markdown"},{name:"styling",uri:"resource://baseline-ui/styling.md",description:s,mimeType:"text/markdown"},{name:"guidelines",uri:"resource://baseline-ui/guidelines.md",description:l,mimeType:"text/markdown"}],null,2)}]}));let t=new stdio_js.StdioServerTransport;await n.connect(t);}(async()=>await S())();
31478
+ `);async function S(){let n=new mcp_js.McpServer({name:"baseline-ui",version:p.version});n.registerResource("list_components","resource://baseline-ui/list_components.md",{description:a,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:I}]})),n.registerResource("list_icons","resource://baseline-ui/list_icons.md",{description:r,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:P}]})),n.registerResource("getting_started","resource://baseline-ui/getting_started.md",{description:"Quick start guide for integrating Baseline UI into new projects",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.gettingStarted}]})),n.registerResource("nutrient_web_viewer_theming","resource://baseline-ui/nutrient_web_viewer_theming.md",{description:"Specialized theming guide for customizing Baseline UI in Nutrient Web Viewer. This is not applicable if you are not theming the Nutrient Web Viewer SDK.",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.nutrientWebViewerTheming}]})),n.registerResource("theming","resource://baseline-ui/theming.md",{description:"Comprehensive guide for implementing custom themes and color schemes in Baseline UI",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.theming}]})),n.registerResource("internationalization","resource://baseline-ui/internationalization.md",{description:"Guide for implementing multi-language support and localization in Baseline UI",mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.internationalization}]})),n.registerResource("styling","resource://baseline-ui/styling.md",{description:l,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:i.styling}]})),n.registerResource("guidelines","resource://baseline-ui/guidelines.md",{description:s,mimeType:"text/markdown"},e=>({contents:[{uri:e.href,mimeType:"text/markdown",text:u}]})),n.registerTool("get_component_info",{title:"Get component info",description:m,inputSchema:{componentName:zod.z.enum(Object.keys(o))}},({componentName:e})=>({content:[{type:"text",text:JSON.stringify(Object.fromEntries(Object.entries(o[e]).filter(([f])=>!["description","similarTo","figmaUrl"].includes(f))),null,2)}]})),n.registerTool("get_story_url",{title:"Get story demo URL",description:h,inputSchema:{storyId:zod.z.string()}},({storyId:e})=>({content:[{type:"text",text:`https://nutrient.io/baseline-ui/iframe.html?id=${e}`}]})),n.registerTool("get_figma_url",{title:"Get Figma URL",description:b,inputSchema:{componentName:zod.z.enum(Object.keys(o))}},({componentName:e})=>({content:[{type:"text",text:o[e].figmaUrl}]})),n.registerTool("list_available_resources",{title:"List Available Resources",description:g,inputSchema:{}},()=>({content:[{type:"text",text:JSON.stringify([{name:"list_components",uri:"resource://baseline-ui/list_components.md",description:a,mimeType:"text/markdown"},{name:"list_icons",uri:"resource://baseline-ui/list_icons.md",description:r,mimeType:"text/markdown"},{name:"getting_started",uri:"resource://baseline-ui/getting_started.md",description:"Quick start guide for integrating Baseline UI into new projects",mimeType:"text/markdown"},{name:"nutrient_web_viewer_theming",uri:"resource://baseline-ui/nutrient_web_viewer_theming.md",description:"Specialized theming guide for customizing Baseline UI in Nutrient Web Viewer. This is not applicable if you are not theming the Nutrient Web Viewer SDK.",mimeType:"text/markdown"},{name:"theming",uri:"resource://baseline-ui/theming.md",description:"Comprehensive guide for implementing custom themes and color schemes in Baseline UI",mimeType:"text/markdown"},{name:"internationalization",uri:"resource://baseline-ui/internationalization.md",description:"Guide for implementing multi-language support and localization in Baseline UI",mimeType:"text/markdown"},{name:"styling",uri:"resource://baseline-ui/styling.md",description:l,mimeType:"text/markdown"},{name:"guidelines",uri:"resource://baseline-ui/guidelines.md",description:s,mimeType:"text/markdown"}],null,2)}]}));let t=new stdio_js.StdioServerTransport;await n.connect(t);}(async()=>await S())();