@baseline-ui/mcp 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/{chunk-ZSPBMEL5.js → chunk-6CH7IMQH.js} +224 -12
- package/dist/index.js +1 -1
- package/dist/server.cjs +224 -12
- package/dist/server.js +1 -1
- package/package.json +1 -1
- package/sbom.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -8408,6 +8408,36 @@ export const EditorWithAutoFocusAndCaretAtEnd = ({
|
|
|
8408
8408
|
editorHandle={editorHandleRef}
|
|
8409
8409
|
/>
|
|
8410
8410
|
);
|
|
8411
|
+
};
|
|
8412
|
+
|
|
8413
|
+
/**
|
|
8414
|
+
* The \`value\` is plain text, never the canonical HTML the editor serializes
|
|
8415
|
+
* back \u2014 canonicalizing it would stop reproducing the re-apply on every render.
|
|
8416
|
+
*/
|
|
8417
|
+
export const EditorControlledPlainValueBesideInput = () => {
|
|
8418
|
+
const [body, setBody] = React.useState("Hello there");
|
|
8419
|
+
const [name, setName] = React.useState("");
|
|
8420
|
+
|
|
8421
|
+
return (
|
|
8422
|
+
<>
|
|
8423
|
+
<input
|
|
8424
|
+
aria-label="Recipient name"
|
|
8425
|
+
value={name}
|
|
8426
|
+
onChange={(event) => {
|
|
8427
|
+
setName(event.currentTarget.value);
|
|
8428
|
+
}}
|
|
8429
|
+
/>
|
|
8430
|
+
<Editor
|
|
8431
|
+
enableRichText={true}
|
|
8432
|
+
value={body}
|
|
8433
|
+
// Inline on purpose: a stable handler would let Editor's React.memo
|
|
8434
|
+
// block the re-render this test needs.
|
|
8435
|
+
onChange={(next) => {
|
|
8436
|
+
setBody(next);
|
|
8437
|
+
}}
|
|
8438
|
+
/>
|
|
8439
|
+
</>
|
|
8440
|
+
);
|
|
8411
8441
|
};`},similarTo:[],figmaUrl:null},FileInput:{id:"core-forms-fileinput",breadcrumb:"Core/Forms/FileInput",importStatement:'import { FileInput, VariantViewer } from "@baseline-ui/core";',description:"`FileInput` is a form control for selecting one or more files from the user's device. It pairs a primary button with a read-only display of the chosen file name and supports labels, helper text, validation states, and accessibility hooks consistent with `TextInput`.",documentation:'`FileInput` is a form control for selecting one or more files from the user\'s device. It pairs a primary button with a read-only display of the chosen file name and supports labels, helper text, validation states, and accessibility hooks consistent with `TextInput`.\n\n* Built on top of [React Aria\'s `FileTrigger`](https://react-spectrum.adobe.com/react-aria/FileTrigger.html), so it works with mouse, touch, and keyboard.\n* Only the button is interactive \u2014 the label, file name, and helper text are visual and wired into the button via `aria-describedby` for assistive technology.\n* Accepts an array of MIME types or file extensions via `acceptedFileTypes`, and an `allowsMultiple` flag for selecting more than one file.\n* Supports directory selection ([`acceptDirectory`](https://react-spectrum.adobe.com/react-aria/FileTrigger.html#directory-selection)) and mobile capture ([`defaultCamera`](https://react-spectrum.adobe.com/react-aria/FileTrigger.html#media-capture)) via the underlying `FileTrigger`.\n* Renders helper, warning, and error messages with the same precedence rules as the rest of the form components: error > warning > description.\n\n```jsx\nimport { FileInput } from "@baseline-ui/core";\n\n<FileInput\n label="Attachment"\n description="Supports .mov and .mp4"\n acceptedFileTypes={[".mov", ".mp4"]}\n onValueChange={(files) => console.log(files)}\n/>;\n```\n\nIf you need a drag-and-drop drop zone instead of a button trigger, use [`ImageDropZone`](/story/core-forms-imagedropzone--basic) or [`FileUploader`](/story/core-forms-fileuploader--default).\n\nPass a visible `label` for sighted users; the label is wired into the button\'s accessible description so it is announced on focus.\n\n```jsx\n<FileInput label="Attachment" description="Supports .mov and .mp4" />\n```\n\nBy default the label sits above the field. Pass `labelPosition="start"` to align it inline.\n\n```jsx\n<FileInput label="Attachment" labelPosition="start" />\n```\n\nIf the field is described by surrounding context, omit `label`. The button\'s intrinsic name (`buttonLabel`, "Choose file" by default) is still announced.\n\n```jsx\n<FileInput aria-label="Upload a file" />\n```\n\nSet `allowsMultiple` to allow more than one file. The display switches to an aggregate `"N files"` count once more than one file is selected.\n\n```jsx\n<FileInput label="Attachments" allowsMultiple onValueChange={setFiles} />\n```\n\nPass an array of MIME types or file extensions to `acceptedFileTypes`.\n\n```jsx\n<FileInput\n label="Avatar"\n acceptedFileTypes={["image/png", "image/jpeg"]}\n onValueChange={setAvatar}\n/>\n```\n\nSet `acceptDirectory` to let users pick a folder. The browser forwards every file inside the chosen directory to `onValueChange`.\n\n```jsx\n<FileInput label="Upload folder" acceptDirectory onValueChange={setFiles} />\n```\n\nSet `defaultCamera="user"` (front-facing) or `"environment"` (rear-facing) to hint that the picker should open the device\'s camera on mobile.\n\n```jsx\n<FileInput\n label="Take a photo"\n acceptedFileTypes={["image/*"]}\n defaultCamera="environment"\n/>\n```\n\nSet `autoFocus` to focus the button on mount \u2014 useful in dialogs or multi-step flows.\n\n```jsx\n<FileInput label="Attachment" autoFocus />\n```\n\nOverride `buttonLabel` and `placeholder` for non-English copy or domain-specific wording.\n\n```jsx\n<FileInput\n label="Avatar"\n buttonLabel="Browse..."\n placeholder="Drop an image here"\n/>\n```\n\nPass `validationState="warning"` and a `warningMessage` to show a non-blocking advisory.\n\n```jsx\n<FileInput\n label="Attachment"\n validationState="warning"\n warningMessage="This file format is uncommon \u2014 make sure it is supported."\n/>\n```\n\nSetting `errorMessage` flips the field into the error state and replaces the helper text. The error message takes precedence over both `description` and `warningMessage`.\n\n```jsx\n<FileInput label="Attachment" errorMessage="Please choose a supported file." />\n```\n\nDisable the field with `isDisabled`. The button cannot be activated and the displayed file name uses the disabled text color.\n\n```jsx\n<FileInput label="Attachment" isDisabled />\n```\n\n`FileInput` exposes a single callback for handling the selection:\n\n| Prop | Signature | When to use |\n| --------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `onValueChange` | `(files: File[]) => void` | Receives the parsed file list directly. When `allowsMultiple` is not set, the array has at most one entry. An empty array means the user opened and dismissed the file picker. |\n\n`FileInput` sets the following data attributes on the field wrapper. Use them to scope your custom styles.\n\n| Selector | Description |\n| ----------------------------------- | ---------------------------------------------------- |\n| `[data-disabled]` | Present when `isDisabled` is true. |\n| `[data-validation-state="error"]` | Present when an error message or error state is set. |\n| `[data-validation-state="warning"]` | Present when `validationState="warning"`. |\n| `.BaselineUI-FileInput` | Root element of the component. |\n\nTo style the button itself, target `.BaselineUI-FileInput button` or pass a class via `buttonClassName` / inline styles via `buttonStyle`.\n\n* Only the button is interactive; the label, file name, and helper text are visual elements wired into the button via `aria-describedby`.\n* The button keeps its own accessible name (`"Choose file"` by default), so screen readers announce the action on focus.\n* The visible `label`, the selected file name, and any helper/warning/error message are all referenced from the button\'s `aria-describedby`, so they are announced after the action label.\n* An externally supplied `aria-describedby` is merged with the internal IDs rather than replacing them.\n\n| Key | Action |\n| ----------------- | ----------------------------- |\n| `Tab` | Moves focus to the button. |\n| `Shift + Tab` | Moves focus out of the field. |\n| `Space` / `Enter` | Opens the system file picker. |',props:`interface FileInputProps {
|
|
8412
8442
|
/**
|
|
8413
8443
|
* The description to display below the input.
|
|
@@ -10665,14 +10695,48 @@ children: React.ReactNode
|
|
|
10665
10695
|
locale?: string
|
|
10666
10696
|
messages?: LocalizedStrings
|
|
10667
10697
|
/**
|
|
10668
|
-
* Whether to \`console.warn\` about message
|
|
10669
|
-
*
|
|
10670
|
-
*
|
|
10671
|
-
* in
|
|
10698
|
+
* Whether to \`console.warn\` about message-resolution failures \u2014 see
|
|
10699
|
+
* {@link MessageIssueCode} for the kinds. These warnings are development
|
|
10700
|
+
* guidance, so they are off in production builds \u2014 pass \`true\` to opt back
|
|
10701
|
+
* in. Ignored when \`onMessageIssue\` is supplied.
|
|
10672
10702
|
*
|
|
10673
10703
|
* @default process.env.NODE_ENV !== "production"
|
|
10674
10704
|
*/
|
|
10675
10705
|
shouldLogMissingMessages?: boolean
|
|
10706
|
+
/**
|
|
10707
|
+
* Called for every message-resolution failure, with enough detail to tell an
|
|
10708
|
+
* unresolved id from a malformed message and route either into your own
|
|
10709
|
+
* diagnostics.
|
|
10710
|
+
*
|
|
10711
|
+
* Supplying a handler takes ownership of these failures: Baseline UI reports
|
|
10712
|
+
* to it instead of writing to the console, so \`shouldLogMissingMessages\` no
|
|
10713
|
+
* longer applies. Unlike the console warnings, the handler is also called in
|
|
10714
|
+
* production builds.
|
|
10715
|
+
*
|
|
10716
|
+
* Issues are deduplicated: after mount, each distinct failure is reported
|
|
10717
|
+
* once per locale rather than once per render, and changing the locale starts
|
|
10718
|
+
* a fresh set.
|
|
10719
|
+
*
|
|
10720
|
+
* Called **during render** \u2014 except \`locale-alias-collision\`, which is
|
|
10721
|
+
* reported from an effect \u2014 so it must not set state synchronously. Collect
|
|
10722
|
+
* into a ref, or defer with \`queueMicrotask\`, if a failure needs to reach the
|
|
10723
|
+
* UI. A handler that throws is caught and its own error logged, so a broken
|
|
10724
|
+
* handler cannot take the tree down.
|
|
10725
|
+
*
|
|
10726
|
+
* @example
|
|
10727
|
+
* \`\`\`tsx
|
|
10728
|
+
* <I18nProvider
|
|
10729
|
+
* messages={messages}
|
|
10730
|
+
* onMessageIssue={(issue) => {
|
|
10731
|
+
* if (issue.code === "missing-message") return;
|
|
10732
|
+
* telemetry.report(issue.code, { id: issue.id, locale: issue.locale });
|
|
10733
|
+
* }}
|
|
10734
|
+
* >
|
|
10735
|
+
* {children}
|
|
10736
|
+
* </I18nProvider>
|
|
10737
|
+
* \`\`\`;
|
|
10738
|
+
*/
|
|
10739
|
+
onMessageIssue?: (issue: MessageIssue) => void
|
|
10676
10740
|
}`,stories:{usage:[{id:"core-utilities-i18nprovider--string-format",name:"String Format",snippet:`const StringFormat = ({ children }) => {
|
|
10677
10741
|
const { locale } = useLocale();
|
|
10678
10742
|
return <I18nProvider locale={locale}>{children}</I18nProvider>;
|
|
@@ -14332,7 +14396,7 @@ export const MenuPartialSectionSelectionExample: React.FC<{
|
|
|
14332
14396
|
<div data-testid="menu-partial-action">{action}</div>
|
|
14333
14397
|
</>
|
|
14334
14398
|
);
|
|
14335
|
-
};`},similarTo:[],figmaUrl:null},MessageFormat:{id:"core-utilities-messageformat",breadcrumb:"Core/Utilities/MessageFormat",importStatement:'import { MessageFormat } from "@baseline-ui/core";',description:"`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.",documentation:'`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.\n\n```jsx\nimport { I18nProvider, MessageFormat } from "@baseline-ui/core";\nimport en from "@baseline-ui/core/intl/en.json";\nimport fr from "@baseline-ui/core/intl/fr.json";\n\nconst App = () => (\n <I18nProvider locale="en" messages={{ en, fr }}>\n <MessageFormat id="bui.calendar.previousMonth" />\n <MessageFormat id="myApp.hello" defaultMessage="Hello!" />\n </I18nProvider>\n);\n```',props:`interface MessageFormatProps {
|
|
14399
|
+
};`},similarTo:[],figmaUrl:null},MessageFormat:{id:"core-utilities-messageformat",breadcrumb:"Core/Utilities/MessageFormat",importStatement:'import { MessageFormat } from "@baseline-ui/core";',description:"`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.",documentation:'`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.\n\nBecause it is a component rather than a hook, it is also how a class component reaches a translation \u2014 see [From a class component](/?path=/docs/internationalization--docs#from-a-class-component).\n\n```jsx\nimport { I18nProvider, MessageFormat } from "@baseline-ui/core";\nimport en from "@baseline-ui/core/intl/en.json";\nimport fr from "@baseline-ui/core/intl/fr.json";\n\nconst App = () => (\n <I18nProvider locale="en" messages={{ en, fr }}>\n <MessageFormat id="bui.calendar.previousMonth" />\n <MessageFormat id="myApp.hello" defaultMessage="Hello!" />\n </I18nProvider>\n);\n```\n\nMessages that carry ICU placeholders take their substitutions through `values`:\n\n```jsx\n<MessageFormat id="bui.pagination.pageXofY" values={{ arg0: 2, arg1: 10 }} />\n// \u2192 "Page 2 of 10"\n```',props:`interface MessageFormatProps {
|
|
14336
14400
|
/**
|
|
14337
14401
|
* By default \`<MessageFormat>\` will render the formatted string into a
|
|
14338
14402
|
* \`<React.Fragment>\`. If you need to customize rendering, you can either wrap
|
|
@@ -14348,6 +14412,11 @@ id: string
|
|
|
14348
14412
|
* The default message to use if the message id is not found.
|
|
14349
14413
|
*/
|
|
14350
14414
|
defaultMessage?: string
|
|
14415
|
+
/**
|
|
14416
|
+
* Values for the message's ICU placeholders, e.g. \`{ arg0: 2, arg1: 10 }\` for
|
|
14417
|
+
* \`"Page {arg0} of {arg1}"\`.
|
|
14418
|
+
*/
|
|
14419
|
+
values?: Record<string, any>
|
|
14351
14420
|
}`,stories:{usage:[{id:"core-utilities-messageformat--basic",name:"Basic",snippet:'const Basic = () => <MessageFormat id="myApp.addSignature" defaultMessage="Add signature" elementType={Text} />;'}],implementation:""},similarTo:[],figmaUrl:null},Modal:{id:"core-overlays-modal",breadcrumb:"Core/Overlays/Modal",importStatement:'import { DialogExample, Modal } from "@baseline-ui/core";',description:"`Modal` renders content in an overlay above the page, trapping focus and blocking interaction with the background. Use it when a task or message must be addressed before the user can return to the underlying view.",documentation:`\`Modal\` renders content in an overlay above the page, trapping focus and blocking interaction with the background. Use it when a task or message must be addressed before the user can return to the underlying view.
|
|
14352
14421
|
|
|
14353
14422
|
* The content outside the modal is hidden from screen readers.
|
|
@@ -35155,6 +35224,22 @@ Import the following files at the top of your stylesheet to use the Baseline UI
|
|
|
35155
35224
|
|
|
35156
35225
|
Make sure the class names present in this stylesheet aren\u2019t changed by your bundler during the build process.
|
|
35157
35226
|
|
|
35227
|
+
## Bundle size
|
|
35228
|
+
|
|
35229
|
+
Components, hooks and utilities are tree shakeable. Importing from \`@baseline-ui/core\` bundles what you name and what it depends on, not the whole library \u2014 keep importing from the package root, there are no deep entry points to reach for:
|
|
35230
|
+
|
|
35231
|
+
\`\`\`jsx
|
|
35232
|
+
// Bundles Checkbox, not the rest of the library.
|
|
35233
|
+
import { Checkbox } from "@baseline-ui/core";
|
|
35234
|
+
|
|
35235
|
+
// Bundles the hook alone, not the components that also use it.
|
|
35236
|
+
import { useLocalStorage } from "@baseline-ui/core";
|
|
35237
|
+
\`\`\`
|
|
35238
|
+
|
|
35239
|
+
This applies to the ESM build, which bundlers pick up through the package's \`module\` field. The CommonJS build is a single file and cannot be split, so a CommonJS \`require\` still pulls in the whole library.
|
|
35240
|
+
|
|
35241
|
+
Styles aren't split: \`@baseline-ui/core/dist/index.css\` carries every component's CSS regardless of what you import.
|
|
35242
|
+
|
|
35158
35243
|
## Charts
|
|
35159
35244
|
|
|
35160
35245
|
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:
|
|
@@ -35504,14 +35589,19 @@ locale is \`ja-JP\`, say \u2014 every string falls back to English and that is r
|
|
|
35504
35589
|
the locale rather than once per ID. It means the catalog keys and the locale disagree,
|
|
35505
35590
|
which no per-ID warning can tell you. It stays quiet when the active locale is itself
|
|
35506
35591
|
English, since falling back to English is then the intended result. Supplying no catalogs
|
|
35507
|
-
at all is the supported English-only mode and
|
|
35592
|
+
at all is the supported English-only mode and reports nothing about coverage \u2014 a string
|
|
35593
|
+
that will not format is still reported, since that is a broken template rather than a
|
|
35594
|
+
missing translation.
|
|
35508
35595
|
|
|
35509
|
-
Only \`bui.*\` IDs are reported. An app that routes its own strings through
|
|
35510
|
-
[\`useI18n\`](#your-own-strings) is missing no translation Baseline UI can tell it how to
|
|
35596
|
+
Only missing \`bui.*\` IDs are reported. An app that routes its own strings through
|
|
35597
|
+
[\`useI18n\`](#your-own-strings) is missing no translation Baseline UI can tell it how to
|
|
35598
|
+
add. A string that will not format is reported whatever its ID, since whoever wrote the
|
|
35599
|
+
template can act on it.
|
|
35511
35600
|
|
|
35512
35601
|
### Controlling the warnings
|
|
35513
35602
|
|
|
35514
|
-
The warnings above \u2014 the missing-ID, no-matching-catalog,
|
|
35603
|
+
The warnings above \u2014 the missing-ID, malformed-template, no-matching-catalog,
|
|
35604
|
+
duplicate-locale-key and
|
|
35515
35605
|
[bare-ID deprecation](#migrating-from-bare-ids) ones \u2014 are development guidance, so they
|
|
35516
35606
|
are off when \`process.env.NODE_ENV === "production"\`. That keeps a consumer who never
|
|
35517
35607
|
touched \`messages\` from logging Baseline UI's internal IDs to their end users. Set
|
|
@@ -35533,8 +35623,53 @@ touched \`messages\` from logging Baseline UI's internal IDs to their end users.
|
|
|
35533
35623
|
</I18nProvider>;
|
|
35534
35624
|
\`\`\`
|
|
35535
35625
|
|
|
35536
|
-
|
|
35537
|
-
languages re-reports what the new locale is missing.
|
|
35626
|
+
After mount, each distinct warning is logged once and the set resets when the locale
|
|
35627
|
+
changes, so switching languages re-reports what the new locale is missing.
|
|
35628
|
+
|
|
35629
|
+
### Collecting the failures yourself
|
|
35630
|
+
|
|
35631
|
+
A console warning is hard to act on: you cannot tell the failure kinds apart, route them
|
|
35632
|
+
into your own diagnostics, or keep them out of the console of a product that embeds
|
|
35633
|
+
Baseline UI. Pass \`onMessageIssue\` to receive each one as an object instead:
|
|
35634
|
+
|
|
35635
|
+
\`\`\`tsx
|
|
35636
|
+
<I18nProvider
|
|
35637
|
+
locale="de-DE"
|
|
35638
|
+
messages={messages}
|
|
35639
|
+
onMessageIssue={(issue) => {
|
|
35640
|
+
// A translation you know is still being written \u2014 ignore it.
|
|
35641
|
+
if (issue.code === "missing-message") return;
|
|
35642
|
+
|
|
35643
|
+
telemetry.report(issue.code, { id: issue.id, locale: issue.locale });
|
|
35644
|
+
}}
|
|
35645
|
+
>
|
|
35646
|
+
<YourApp />
|
|
35647
|
+
</I18nProvider>
|
|
35648
|
+
\`\`\`
|
|
35649
|
+
|
|
35650
|
+
Every issue carries a \`code\`, the \`locale\` it concerns, the \`message\` Baseline UI would
|
|
35651
|
+
otherwise have logged \u2014 whose wording is not part of the contract \u2014 and, for the codes
|
|
35652
|
+
that are about a single string, the \`id\`:
|
|
35653
|
+
|
|
35654
|
+
| \`code\` | What happened |
|
|
35655
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
|
|
35656
|
+
| \`missing-message\` | No supplied catalog answers for \`id\`; its \`defaultMessage\` renders instead. \`bui.*\` IDs only. |
|
|
35657
|
+
| \`malformed-message\` | A catalog entry or \`defaultMessage\` would not parse or format as ICU. \`source\` says which, \`error\` is the throw. Any \`id\`. |
|
|
35658
|
+
| \`deprecated-message-id\` | \`id\` resolved only through the [bare-ID fallback](#migrating-from-bare-ids). |
|
|
35659
|
+
| \`no-catalog-for-locale\` | Catalogs were supplied, but none covers the active locale. Not reported for English locales. |
|
|
35660
|
+
| \`locale-alias-collision\` | One locale supplied under two ID formats; the hyphenated entry wins. |
|
|
35661
|
+
|
|
35662
|
+
Supplying a handler takes ownership of these failures: Baseline UI reports to it instead
|
|
35663
|
+
of writing to the console, so \`shouldLogMissingMessages\` no longer applies. Unlike the
|
|
35664
|
+
warnings, the handler is also called in production builds \u2014 that is the point of routing
|
|
35665
|
+
them into your own diagnostics. Deduplication is unchanged, so you get one call per
|
|
35666
|
+
distinct failure per locale rather than one per render.
|
|
35667
|
+
|
|
35668
|
+
The handler is called during render \u2014 except \`locale-alias-collision\`, which is reported
|
|
35669
|
+
from an effect \u2014 so it must not set state synchronously. Collect into a ref, or defer
|
|
35670
|
+
with \`queueMicrotask\`, if a failure needs to reach the UI. Further
|
|
35671
|
+
\`code\` values may be added in a minor release: branch on the ones you care about and let
|
|
35672
|
+
the rest fall through to a default.
|
|
35538
35673
|
|
|
35539
35674
|
### Your own strings
|
|
35540
35675
|
|
|
@@ -35567,6 +35702,83 @@ The catalogs you pass to \`useI18n\` are merged per locale with the ones on \`I1
|
|
|
35567
35702
|
and the provider wins on a shared key \u2014 so an application can hold its own strings locally
|
|
35568
35703
|
while a host app still overrides any \`bui.*\` string from above.
|
|
35569
35704
|
|
|
35705
|
+
### Outside a render
|
|
35706
|
+
|
|
35707
|
+
Some strings are not composed while a component renders: an alert raised from an async
|
|
35708
|
+
task, a label built in a plain utility module, a value handed to a non-React API.
|
|
35709
|
+
\`createMessageFormatter\` gives you the same formatter without a component around it:
|
|
35710
|
+
|
|
35711
|
+
\`\`\`ts
|
|
35712
|
+
import { createMessageFormatter } from "@baseline-ui/core";
|
|
35713
|
+
import de from "@baseline-ui/core/intl/de.json";
|
|
35714
|
+
|
|
35715
|
+
const formatMessage = createMessageFormatter({
|
|
35716
|
+
locale: "de-DE",
|
|
35717
|
+
messages: { de },
|
|
35718
|
+
});
|
|
35719
|
+
|
|
35720
|
+
formatMessage("bui.editor.bold");
|
|
35721
|
+
formatMessage("bui.stepper.step", { index: 2 });
|
|
35722
|
+
\`\`\`
|
|
35723
|
+
|
|
35724
|
+
It runs on the same engine as \`useI18n\`, so for a given locale, catalog and set of values
|
|
35725
|
+
it returns exactly the string a component would render \u2014 the same catalog resolution, the
|
|
35726
|
+
same \`defaultMessage\` fallback, the same warnings.
|
|
35727
|
+
|
|
35728
|
+
What differs is where its inputs come from. There is no surrounding \`I18nProvider\`, so
|
|
35729
|
+
\`locale\` is required rather than inherited, and \`messages\` are the only catalogs consulted
|
|
35730
|
+
\u2014 nothing is merged in from a provider. \`shouldLogMissingMessages\` defaults the same way
|
|
35731
|
+
it does on \`I18nProvider\`: off in production builds, on everywhere else, and
|
|
35732
|
+
\`onMessageIssue\` takes the same ownership of failures when you pass one:
|
|
35733
|
+
|
|
35734
|
+
\`\`\`ts
|
|
35735
|
+
const formatMessage = createMessageFormatter({
|
|
35736
|
+
locale: "de-DE",
|
|
35737
|
+
messages: { de },
|
|
35738
|
+
onMessageIssue: (issue) => telemetry.report(issue.code, { id: issue.id }),
|
|
35739
|
+
});
|
|
35740
|
+
\`\`\`
|
|
35741
|
+
|
|
35742
|
+
Issues are deduplicated per formatter rather than per provider, since a formatter is bound
|
|
35743
|
+
to one locale and never resets. One is raised eagerly rather than on first use: supplying the same locale in two key formats
|
|
35744
|
+
(\`fr_CA\` and \`fr-CA\`) is reported when the formatter is built, so it also surfaces during
|
|
35745
|
+
server-side rendering.
|
|
35746
|
+
|
|
35747
|
+
An invalid \`locale\` throws \u2014 unlike the keys of \`messages\`, it must be a BCP 47 tag
|
|
35748
|
+
(\`fr-CA\`, not \`fr_CA\`).
|
|
35749
|
+
|
|
35750
|
+
Build the formatter once per locale and reuse it rather than calling this per message: it
|
|
35751
|
+
keeps each template it has compiled, and its own record of which warnings it has logged.
|
|
35752
|
+
|
|
35753
|
+
Inside a component, keep using \`useI18n\`: it follows the locale and catalogs of the
|
|
35754
|
+
provider above it, and re-formats when either changes.
|
|
35755
|
+
|
|
35756
|
+
### From a class component
|
|
35757
|
+
|
|
35758
|
+
\`useI18n\` is a hook, so a class component cannot call it. Render
|
|
35759
|
+
[\`MessageFormat\`](/?path=/docs/core-utilities-messageformat--docs) instead \u2014 it resolves
|
|
35760
|
+
the same IDs, against the same catalogs, under the same \`I18nProvider\`, so a class
|
|
35761
|
+
component localizes without being rewritten as a function component first:
|
|
35762
|
+
|
|
35763
|
+
\`\`\`jsx
|
|
35764
|
+
import { MessageFormat } from "@baseline-ui/core";
|
|
35765
|
+
|
|
35766
|
+
class Header extends React.Component {
|
|
35767
|
+
render() {
|
|
35768
|
+
return (
|
|
35769
|
+
<MessageFormat
|
|
35770
|
+
id="myApp.greeting"
|
|
35771
|
+
values={{ name: this.props.name }}
|
|
35772
|
+
elementType="h1"
|
|
35773
|
+
/>
|
|
35774
|
+
);
|
|
35775
|
+
}
|
|
35776
|
+
}
|
|
35777
|
+
\`\`\`
|
|
35778
|
+
|
|
35779
|
+
\`values\` fills the message's ICU placeholders, and \`elementType\` chooses what the string
|
|
35780
|
+
renders into (a fragment by default).
|
|
35781
|
+
|
|
35570
35782
|
### Supported locales
|
|
35571
35783
|
|
|
35572
35784
|
A catalog ships for each of these locales, with an entry for every message ID:
|
|
@@ -36621,7 +36833,7 @@ padding={[null, "lg", "xl"]}
|
|
|
36621
36833
|
|
|
36622
36834
|
* [vanilla-extract sprinkles documentation](https://vanilla-extract.style/documentation/packages/sprinkles/) - Learn about the underlying sprinkles framework
|
|
36623
36835
|
* [Box component documentation](/docs/core-utilities-box--docs) - Detailed information about the Box component
|
|
36624
|
-
* [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:"2.2.0"};var u=`
|
|
36836
|
+
* [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:"2.4.0"};var u=`
|
|
36625
36837
|
# Baseline UI MCP Server Guidelines
|
|
36626
36838
|
|
|
36627
36839
|
This MCP server provides AI assistants with structured access to Baseline UI's comprehensive component documentation, icon library, theming resources, and design guidelines.
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {a}from'./chunk-
|
|
2
|
+
import {a}from'./chunk-6CH7IMQH.js';import {StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';(async()=>await a().connect(new StdioServerTransport))();
|
package/dist/server.cjs
CHANGED
|
@@ -8408,6 +8408,36 @@ export const EditorWithAutoFocusAndCaretAtEnd = ({
|
|
|
8408
8408
|
editorHandle={editorHandleRef}
|
|
8409
8409
|
/>
|
|
8410
8410
|
);
|
|
8411
|
+
};
|
|
8412
|
+
|
|
8413
|
+
/**
|
|
8414
|
+
* The \`value\` is plain text, never the canonical HTML the editor serializes
|
|
8415
|
+
* back \u2014 canonicalizing it would stop reproducing the re-apply on every render.
|
|
8416
|
+
*/
|
|
8417
|
+
export const EditorControlledPlainValueBesideInput = () => {
|
|
8418
|
+
const [body, setBody] = React.useState("Hello there");
|
|
8419
|
+
const [name, setName] = React.useState("");
|
|
8420
|
+
|
|
8421
|
+
return (
|
|
8422
|
+
<>
|
|
8423
|
+
<input
|
|
8424
|
+
aria-label="Recipient name"
|
|
8425
|
+
value={name}
|
|
8426
|
+
onChange={(event) => {
|
|
8427
|
+
setName(event.currentTarget.value);
|
|
8428
|
+
}}
|
|
8429
|
+
/>
|
|
8430
|
+
<Editor
|
|
8431
|
+
enableRichText={true}
|
|
8432
|
+
value={body}
|
|
8433
|
+
// Inline on purpose: a stable handler would let Editor's React.memo
|
|
8434
|
+
// block the re-render this test needs.
|
|
8435
|
+
onChange={(next) => {
|
|
8436
|
+
setBody(next);
|
|
8437
|
+
}}
|
|
8438
|
+
/>
|
|
8439
|
+
</>
|
|
8440
|
+
);
|
|
8411
8441
|
};`},similarTo:[],figmaUrl:null},FileInput:{id:"core-forms-fileinput",breadcrumb:"Core/Forms/FileInput",importStatement:'import { FileInput, VariantViewer } from "@baseline-ui/core";',description:"`FileInput` is a form control for selecting one or more files from the user's device. It pairs a primary button with a read-only display of the chosen file name and supports labels, helper text, validation states, and accessibility hooks consistent with `TextInput`.",documentation:'`FileInput` is a form control for selecting one or more files from the user\'s device. It pairs a primary button with a read-only display of the chosen file name and supports labels, helper text, validation states, and accessibility hooks consistent with `TextInput`.\n\n* Built on top of [React Aria\'s `FileTrigger`](https://react-spectrum.adobe.com/react-aria/FileTrigger.html), so it works with mouse, touch, and keyboard.\n* Only the button is interactive \u2014 the label, file name, and helper text are visual and wired into the button via `aria-describedby` for assistive technology.\n* Accepts an array of MIME types or file extensions via `acceptedFileTypes`, and an `allowsMultiple` flag for selecting more than one file.\n* Supports directory selection ([`acceptDirectory`](https://react-spectrum.adobe.com/react-aria/FileTrigger.html#directory-selection)) and mobile capture ([`defaultCamera`](https://react-spectrum.adobe.com/react-aria/FileTrigger.html#media-capture)) via the underlying `FileTrigger`.\n* Renders helper, warning, and error messages with the same precedence rules as the rest of the form components: error > warning > description.\n\n```jsx\nimport { FileInput } from "@baseline-ui/core";\n\n<FileInput\n label="Attachment"\n description="Supports .mov and .mp4"\n acceptedFileTypes={[".mov", ".mp4"]}\n onValueChange={(files) => console.log(files)}\n/>;\n```\n\nIf you need a drag-and-drop drop zone instead of a button trigger, use [`ImageDropZone`](/story/core-forms-imagedropzone--basic) or [`FileUploader`](/story/core-forms-fileuploader--default).\n\nPass a visible `label` for sighted users; the label is wired into the button\'s accessible description so it is announced on focus.\n\n```jsx\n<FileInput label="Attachment" description="Supports .mov and .mp4" />\n```\n\nBy default the label sits above the field. Pass `labelPosition="start"` to align it inline.\n\n```jsx\n<FileInput label="Attachment" labelPosition="start" />\n```\n\nIf the field is described by surrounding context, omit `label`. The button\'s intrinsic name (`buttonLabel`, "Choose file" by default) is still announced.\n\n```jsx\n<FileInput aria-label="Upload a file" />\n```\n\nSet `allowsMultiple` to allow more than one file. The display switches to an aggregate `"N files"` count once more than one file is selected.\n\n```jsx\n<FileInput label="Attachments" allowsMultiple onValueChange={setFiles} />\n```\n\nPass an array of MIME types or file extensions to `acceptedFileTypes`.\n\n```jsx\n<FileInput\n label="Avatar"\n acceptedFileTypes={["image/png", "image/jpeg"]}\n onValueChange={setAvatar}\n/>\n```\n\nSet `acceptDirectory` to let users pick a folder. The browser forwards every file inside the chosen directory to `onValueChange`.\n\n```jsx\n<FileInput label="Upload folder" acceptDirectory onValueChange={setFiles} />\n```\n\nSet `defaultCamera="user"` (front-facing) or `"environment"` (rear-facing) to hint that the picker should open the device\'s camera on mobile.\n\n```jsx\n<FileInput\n label="Take a photo"\n acceptedFileTypes={["image/*"]}\n defaultCamera="environment"\n/>\n```\n\nSet `autoFocus` to focus the button on mount \u2014 useful in dialogs or multi-step flows.\n\n```jsx\n<FileInput label="Attachment" autoFocus />\n```\n\nOverride `buttonLabel` and `placeholder` for non-English copy or domain-specific wording.\n\n```jsx\n<FileInput\n label="Avatar"\n buttonLabel="Browse..."\n placeholder="Drop an image here"\n/>\n```\n\nPass `validationState="warning"` and a `warningMessage` to show a non-blocking advisory.\n\n```jsx\n<FileInput\n label="Attachment"\n validationState="warning"\n warningMessage="This file format is uncommon \u2014 make sure it is supported."\n/>\n```\n\nSetting `errorMessage` flips the field into the error state and replaces the helper text. The error message takes precedence over both `description` and `warningMessage`.\n\n```jsx\n<FileInput label="Attachment" errorMessage="Please choose a supported file." />\n```\n\nDisable the field with `isDisabled`. The button cannot be activated and the displayed file name uses the disabled text color.\n\n```jsx\n<FileInput label="Attachment" isDisabled />\n```\n\n`FileInput` exposes a single callback for handling the selection:\n\n| Prop | Signature | When to use |\n| --------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `onValueChange` | `(files: File[]) => void` | Receives the parsed file list directly. When `allowsMultiple` is not set, the array has at most one entry. An empty array means the user opened and dismissed the file picker. |\n\n`FileInput` sets the following data attributes on the field wrapper. Use them to scope your custom styles.\n\n| Selector | Description |\n| ----------------------------------- | ---------------------------------------------------- |\n| `[data-disabled]` | Present when `isDisabled` is true. |\n| `[data-validation-state="error"]` | Present when an error message or error state is set. |\n| `[data-validation-state="warning"]` | Present when `validationState="warning"`. |\n| `.BaselineUI-FileInput` | Root element of the component. |\n\nTo style the button itself, target `.BaselineUI-FileInput button` or pass a class via `buttonClassName` / inline styles via `buttonStyle`.\n\n* Only the button is interactive; the label, file name, and helper text are visual elements wired into the button via `aria-describedby`.\n* The button keeps its own accessible name (`"Choose file"` by default), so screen readers announce the action on focus.\n* The visible `label`, the selected file name, and any helper/warning/error message are all referenced from the button\'s `aria-describedby`, so they are announced after the action label.\n* An externally supplied `aria-describedby` is merged with the internal IDs rather than replacing them.\n\n| Key | Action |\n| ----------------- | ----------------------------- |\n| `Tab` | Moves focus to the button. |\n| `Shift + Tab` | Moves focus out of the field. |\n| `Space` / `Enter` | Opens the system file picker. |',props:`interface FileInputProps {
|
|
8412
8442
|
/**
|
|
8413
8443
|
* The description to display below the input.
|
|
@@ -10665,14 +10695,48 @@ children: React.ReactNode
|
|
|
10665
10695
|
locale?: string
|
|
10666
10696
|
messages?: LocalizedStrings
|
|
10667
10697
|
/**
|
|
10668
|
-
* Whether to \`console.warn\` about message
|
|
10669
|
-
*
|
|
10670
|
-
*
|
|
10671
|
-
* in
|
|
10698
|
+
* Whether to \`console.warn\` about message-resolution failures \u2014 see
|
|
10699
|
+
* {@link MessageIssueCode} for the kinds. These warnings are development
|
|
10700
|
+
* guidance, so they are off in production builds \u2014 pass \`true\` to opt back
|
|
10701
|
+
* in. Ignored when \`onMessageIssue\` is supplied.
|
|
10672
10702
|
*
|
|
10673
10703
|
* @default process.env.NODE_ENV !== "production"
|
|
10674
10704
|
*/
|
|
10675
10705
|
shouldLogMissingMessages?: boolean
|
|
10706
|
+
/**
|
|
10707
|
+
* Called for every message-resolution failure, with enough detail to tell an
|
|
10708
|
+
* unresolved id from a malformed message and route either into your own
|
|
10709
|
+
* diagnostics.
|
|
10710
|
+
*
|
|
10711
|
+
* Supplying a handler takes ownership of these failures: Baseline UI reports
|
|
10712
|
+
* to it instead of writing to the console, so \`shouldLogMissingMessages\` no
|
|
10713
|
+
* longer applies. Unlike the console warnings, the handler is also called in
|
|
10714
|
+
* production builds.
|
|
10715
|
+
*
|
|
10716
|
+
* Issues are deduplicated: after mount, each distinct failure is reported
|
|
10717
|
+
* once per locale rather than once per render, and changing the locale starts
|
|
10718
|
+
* a fresh set.
|
|
10719
|
+
*
|
|
10720
|
+
* Called **during render** \u2014 except \`locale-alias-collision\`, which is
|
|
10721
|
+
* reported from an effect \u2014 so it must not set state synchronously. Collect
|
|
10722
|
+
* into a ref, or defer with \`queueMicrotask\`, if a failure needs to reach the
|
|
10723
|
+
* UI. A handler that throws is caught and its own error logged, so a broken
|
|
10724
|
+
* handler cannot take the tree down.
|
|
10725
|
+
*
|
|
10726
|
+
* @example
|
|
10727
|
+
* \`\`\`tsx
|
|
10728
|
+
* <I18nProvider
|
|
10729
|
+
* messages={messages}
|
|
10730
|
+
* onMessageIssue={(issue) => {
|
|
10731
|
+
* if (issue.code === "missing-message") return;
|
|
10732
|
+
* telemetry.report(issue.code, { id: issue.id, locale: issue.locale });
|
|
10733
|
+
* }}
|
|
10734
|
+
* >
|
|
10735
|
+
* {children}
|
|
10736
|
+
* </I18nProvider>
|
|
10737
|
+
* \`\`\`;
|
|
10738
|
+
*/
|
|
10739
|
+
onMessageIssue?: (issue: MessageIssue) => void
|
|
10676
10740
|
}`,stories:{usage:[{id:"core-utilities-i18nprovider--string-format",name:"String Format",snippet:`const StringFormat = ({ children }) => {
|
|
10677
10741
|
const { locale } = useLocale();
|
|
10678
10742
|
return <I18nProvider locale={locale}>{children}</I18nProvider>;
|
|
@@ -14332,7 +14396,7 @@ export const MenuPartialSectionSelectionExample: React.FC<{
|
|
|
14332
14396
|
<div data-testid="menu-partial-action">{action}</div>
|
|
14333
14397
|
</>
|
|
14334
14398
|
);
|
|
14335
|
-
};`},similarTo:[],figmaUrl:null},MessageFormat:{id:"core-utilities-messageformat",breadcrumb:"Core/Utilities/MessageFormat",importStatement:'import { MessageFormat } from "@baseline-ui/core";',description:"`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.",documentation:'`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.\n\n```jsx\nimport { I18nProvider, MessageFormat } from "@baseline-ui/core";\nimport en from "@baseline-ui/core/intl/en.json";\nimport fr from "@baseline-ui/core/intl/fr.json";\n\nconst App = () => (\n <I18nProvider locale="en" messages={{ en, fr }}>\n <MessageFormat id="bui.calendar.previousMonth" />\n <MessageFormat id="myApp.hello" defaultMessage="Hello!" />\n </I18nProvider>\n);\n```',props:`interface MessageFormatProps {
|
|
14399
|
+
};`},similarTo:[],figmaUrl:null},MessageFormat:{id:"core-utilities-messageformat",breadcrumb:"Core/Utilities/MessageFormat",importStatement:'import { MessageFormat } from "@baseline-ui/core";',description:"`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.",documentation:'`MessageFormat` renders a single message from the catalog supplied to `I18nProvider`. When the catalog has no entry for `id`, it renders `defaultMessage`.\n\nBecause it is a component rather than a hook, it is also how a class component reaches a translation \u2014 see [From a class component](/?path=/docs/internationalization--docs#from-a-class-component).\n\n```jsx\nimport { I18nProvider, MessageFormat } from "@baseline-ui/core";\nimport en from "@baseline-ui/core/intl/en.json";\nimport fr from "@baseline-ui/core/intl/fr.json";\n\nconst App = () => (\n <I18nProvider locale="en" messages={{ en, fr }}>\n <MessageFormat id="bui.calendar.previousMonth" />\n <MessageFormat id="myApp.hello" defaultMessage="Hello!" />\n </I18nProvider>\n);\n```\n\nMessages that carry ICU placeholders take their substitutions through `values`:\n\n```jsx\n<MessageFormat id="bui.pagination.pageXofY" values={{ arg0: 2, arg1: 10 }} />\n// \u2192 "Page 2 of 10"\n```',props:`interface MessageFormatProps {
|
|
14336
14400
|
/**
|
|
14337
14401
|
* By default \`<MessageFormat>\` will render the formatted string into a
|
|
14338
14402
|
* \`<React.Fragment>\`. If you need to customize rendering, you can either wrap
|
|
@@ -14348,6 +14412,11 @@ id: string
|
|
|
14348
14412
|
* The default message to use if the message id is not found.
|
|
14349
14413
|
*/
|
|
14350
14414
|
defaultMessage?: string
|
|
14415
|
+
/**
|
|
14416
|
+
* Values for the message's ICU placeholders, e.g. \`{ arg0: 2, arg1: 10 }\` for
|
|
14417
|
+
* \`"Page {arg0} of {arg1}"\`.
|
|
14418
|
+
*/
|
|
14419
|
+
values?: Record<string, any>
|
|
14351
14420
|
}`,stories:{usage:[{id:"core-utilities-messageformat--basic",name:"Basic",snippet:'const Basic = () => <MessageFormat id="myApp.addSignature" defaultMessage="Add signature" elementType={Text} />;'}],implementation:""},similarTo:[],figmaUrl:null},Modal:{id:"core-overlays-modal",breadcrumb:"Core/Overlays/Modal",importStatement:'import { DialogExample, Modal } from "@baseline-ui/core";',description:"`Modal` renders content in an overlay above the page, trapping focus and blocking interaction with the background. Use it when a task or message must be addressed before the user can return to the underlying view.",documentation:`\`Modal\` renders content in an overlay above the page, trapping focus and blocking interaction with the background. Use it when a task or message must be addressed before the user can return to the underlying view.
|
|
14352
14421
|
|
|
14353
14422
|
* The content outside the modal is hidden from screen readers.
|
|
@@ -35155,6 +35224,22 @@ Import the following files at the top of your stylesheet to use the Baseline UI
|
|
|
35155
35224
|
|
|
35156
35225
|
Make sure the class names present in this stylesheet aren\u2019t changed by your bundler during the build process.
|
|
35157
35226
|
|
|
35227
|
+
## Bundle size
|
|
35228
|
+
|
|
35229
|
+
Components, hooks and utilities are tree shakeable. Importing from \`@baseline-ui/core\` bundles what you name and what it depends on, not the whole library \u2014 keep importing from the package root, there are no deep entry points to reach for:
|
|
35230
|
+
|
|
35231
|
+
\`\`\`jsx
|
|
35232
|
+
// Bundles Checkbox, not the rest of the library.
|
|
35233
|
+
import { Checkbox } from "@baseline-ui/core";
|
|
35234
|
+
|
|
35235
|
+
// Bundles the hook alone, not the components that also use it.
|
|
35236
|
+
import { useLocalStorage } from "@baseline-ui/core";
|
|
35237
|
+
\`\`\`
|
|
35238
|
+
|
|
35239
|
+
This applies to the ESM build, which bundlers pick up through the package's \`module\` field. The CommonJS build is a single file and cannot be split, so a CommonJS \`require\` still pulls in the whole library.
|
|
35240
|
+
|
|
35241
|
+
Styles aren't split: \`@baseline-ui/core/dist/index.css\` carries every component's CSS regardless of what you import.
|
|
35242
|
+
|
|
35158
35243
|
## Charts
|
|
35159
35244
|
|
|
35160
35245
|
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:
|
|
@@ -35504,14 +35589,19 @@ locale is \`ja-JP\`, say \u2014 every string falls back to English and that is r
|
|
|
35504
35589
|
the locale rather than once per ID. It means the catalog keys and the locale disagree,
|
|
35505
35590
|
which no per-ID warning can tell you. It stays quiet when the active locale is itself
|
|
35506
35591
|
English, since falling back to English is then the intended result. Supplying no catalogs
|
|
35507
|
-
at all is the supported English-only mode and
|
|
35592
|
+
at all is the supported English-only mode and reports nothing about coverage \u2014 a string
|
|
35593
|
+
that will not format is still reported, since that is a broken template rather than a
|
|
35594
|
+
missing translation.
|
|
35508
35595
|
|
|
35509
|
-
Only \`bui.*\` IDs are reported. An app that routes its own strings through
|
|
35510
|
-
[\`useI18n\`](#your-own-strings) is missing no translation Baseline UI can tell it how to
|
|
35596
|
+
Only missing \`bui.*\` IDs are reported. An app that routes its own strings through
|
|
35597
|
+
[\`useI18n\`](#your-own-strings) is missing no translation Baseline UI can tell it how to
|
|
35598
|
+
add. A string that will not format is reported whatever its ID, since whoever wrote the
|
|
35599
|
+
template can act on it.
|
|
35511
35600
|
|
|
35512
35601
|
### Controlling the warnings
|
|
35513
35602
|
|
|
35514
|
-
The warnings above \u2014 the missing-ID, no-matching-catalog,
|
|
35603
|
+
The warnings above \u2014 the missing-ID, malformed-template, no-matching-catalog,
|
|
35604
|
+
duplicate-locale-key and
|
|
35515
35605
|
[bare-ID deprecation](#migrating-from-bare-ids) ones \u2014 are development guidance, so they
|
|
35516
35606
|
are off when \`process.env.NODE_ENV === "production"\`. That keeps a consumer who never
|
|
35517
35607
|
touched \`messages\` from logging Baseline UI's internal IDs to their end users. Set
|
|
@@ -35533,8 +35623,53 @@ touched \`messages\` from logging Baseline UI's internal IDs to their end users.
|
|
|
35533
35623
|
</I18nProvider>;
|
|
35534
35624
|
\`\`\`
|
|
35535
35625
|
|
|
35536
|
-
|
|
35537
|
-
languages re-reports what the new locale is missing.
|
|
35626
|
+
After mount, each distinct warning is logged once and the set resets when the locale
|
|
35627
|
+
changes, so switching languages re-reports what the new locale is missing.
|
|
35628
|
+
|
|
35629
|
+
### Collecting the failures yourself
|
|
35630
|
+
|
|
35631
|
+
A console warning is hard to act on: you cannot tell the failure kinds apart, route them
|
|
35632
|
+
into your own diagnostics, or keep them out of the console of a product that embeds
|
|
35633
|
+
Baseline UI. Pass \`onMessageIssue\` to receive each one as an object instead:
|
|
35634
|
+
|
|
35635
|
+
\`\`\`tsx
|
|
35636
|
+
<I18nProvider
|
|
35637
|
+
locale="de-DE"
|
|
35638
|
+
messages={messages}
|
|
35639
|
+
onMessageIssue={(issue) => {
|
|
35640
|
+
// A translation you know is still being written \u2014 ignore it.
|
|
35641
|
+
if (issue.code === "missing-message") return;
|
|
35642
|
+
|
|
35643
|
+
telemetry.report(issue.code, { id: issue.id, locale: issue.locale });
|
|
35644
|
+
}}
|
|
35645
|
+
>
|
|
35646
|
+
<YourApp />
|
|
35647
|
+
</I18nProvider>
|
|
35648
|
+
\`\`\`
|
|
35649
|
+
|
|
35650
|
+
Every issue carries a \`code\`, the \`locale\` it concerns, the \`message\` Baseline UI would
|
|
35651
|
+
otherwise have logged \u2014 whose wording is not part of the contract \u2014 and, for the codes
|
|
35652
|
+
that are about a single string, the \`id\`:
|
|
35653
|
+
|
|
35654
|
+
| \`code\` | What happened |
|
|
35655
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
|
|
35656
|
+
| \`missing-message\` | No supplied catalog answers for \`id\`; its \`defaultMessage\` renders instead. \`bui.*\` IDs only. |
|
|
35657
|
+
| \`malformed-message\` | A catalog entry or \`defaultMessage\` would not parse or format as ICU. \`source\` says which, \`error\` is the throw. Any \`id\`. |
|
|
35658
|
+
| \`deprecated-message-id\` | \`id\` resolved only through the [bare-ID fallback](#migrating-from-bare-ids). |
|
|
35659
|
+
| \`no-catalog-for-locale\` | Catalogs were supplied, but none covers the active locale. Not reported for English locales. |
|
|
35660
|
+
| \`locale-alias-collision\` | One locale supplied under two ID formats; the hyphenated entry wins. |
|
|
35661
|
+
|
|
35662
|
+
Supplying a handler takes ownership of these failures: Baseline UI reports to it instead
|
|
35663
|
+
of writing to the console, so \`shouldLogMissingMessages\` no longer applies. Unlike the
|
|
35664
|
+
warnings, the handler is also called in production builds \u2014 that is the point of routing
|
|
35665
|
+
them into your own diagnostics. Deduplication is unchanged, so you get one call per
|
|
35666
|
+
distinct failure per locale rather than one per render.
|
|
35667
|
+
|
|
35668
|
+
The handler is called during render \u2014 except \`locale-alias-collision\`, which is reported
|
|
35669
|
+
from an effect \u2014 so it must not set state synchronously. Collect into a ref, or defer
|
|
35670
|
+
with \`queueMicrotask\`, if a failure needs to reach the UI. Further
|
|
35671
|
+
\`code\` values may be added in a minor release: branch on the ones you care about and let
|
|
35672
|
+
the rest fall through to a default.
|
|
35538
35673
|
|
|
35539
35674
|
### Your own strings
|
|
35540
35675
|
|
|
@@ -35567,6 +35702,83 @@ The catalogs you pass to \`useI18n\` are merged per locale with the ones on \`I1
|
|
|
35567
35702
|
and the provider wins on a shared key \u2014 so an application can hold its own strings locally
|
|
35568
35703
|
while a host app still overrides any \`bui.*\` string from above.
|
|
35569
35704
|
|
|
35705
|
+
### Outside a render
|
|
35706
|
+
|
|
35707
|
+
Some strings are not composed while a component renders: an alert raised from an async
|
|
35708
|
+
task, a label built in a plain utility module, a value handed to a non-React API.
|
|
35709
|
+
\`createMessageFormatter\` gives you the same formatter without a component around it:
|
|
35710
|
+
|
|
35711
|
+
\`\`\`ts
|
|
35712
|
+
import { createMessageFormatter } from "@baseline-ui/core";
|
|
35713
|
+
import de from "@baseline-ui/core/intl/de.json";
|
|
35714
|
+
|
|
35715
|
+
const formatMessage = createMessageFormatter({
|
|
35716
|
+
locale: "de-DE",
|
|
35717
|
+
messages: { de },
|
|
35718
|
+
});
|
|
35719
|
+
|
|
35720
|
+
formatMessage("bui.editor.bold");
|
|
35721
|
+
formatMessage("bui.stepper.step", { index: 2 });
|
|
35722
|
+
\`\`\`
|
|
35723
|
+
|
|
35724
|
+
It runs on the same engine as \`useI18n\`, so for a given locale, catalog and set of values
|
|
35725
|
+
it returns exactly the string a component would render \u2014 the same catalog resolution, the
|
|
35726
|
+
same \`defaultMessage\` fallback, the same warnings.
|
|
35727
|
+
|
|
35728
|
+
What differs is where its inputs come from. There is no surrounding \`I18nProvider\`, so
|
|
35729
|
+
\`locale\` is required rather than inherited, and \`messages\` are the only catalogs consulted
|
|
35730
|
+
\u2014 nothing is merged in from a provider. \`shouldLogMissingMessages\` defaults the same way
|
|
35731
|
+
it does on \`I18nProvider\`: off in production builds, on everywhere else, and
|
|
35732
|
+
\`onMessageIssue\` takes the same ownership of failures when you pass one:
|
|
35733
|
+
|
|
35734
|
+
\`\`\`ts
|
|
35735
|
+
const formatMessage = createMessageFormatter({
|
|
35736
|
+
locale: "de-DE",
|
|
35737
|
+
messages: { de },
|
|
35738
|
+
onMessageIssue: (issue) => telemetry.report(issue.code, { id: issue.id }),
|
|
35739
|
+
});
|
|
35740
|
+
\`\`\`
|
|
35741
|
+
|
|
35742
|
+
Issues are deduplicated per formatter rather than per provider, since a formatter is bound
|
|
35743
|
+
to one locale and never resets. One is raised eagerly rather than on first use: supplying the same locale in two key formats
|
|
35744
|
+
(\`fr_CA\` and \`fr-CA\`) is reported when the formatter is built, so it also surfaces during
|
|
35745
|
+
server-side rendering.
|
|
35746
|
+
|
|
35747
|
+
An invalid \`locale\` throws \u2014 unlike the keys of \`messages\`, it must be a BCP 47 tag
|
|
35748
|
+
(\`fr-CA\`, not \`fr_CA\`).
|
|
35749
|
+
|
|
35750
|
+
Build the formatter once per locale and reuse it rather than calling this per message: it
|
|
35751
|
+
keeps each template it has compiled, and its own record of which warnings it has logged.
|
|
35752
|
+
|
|
35753
|
+
Inside a component, keep using \`useI18n\`: it follows the locale and catalogs of the
|
|
35754
|
+
provider above it, and re-formats when either changes.
|
|
35755
|
+
|
|
35756
|
+
### From a class component
|
|
35757
|
+
|
|
35758
|
+
\`useI18n\` is a hook, so a class component cannot call it. Render
|
|
35759
|
+
[\`MessageFormat\`](/?path=/docs/core-utilities-messageformat--docs) instead \u2014 it resolves
|
|
35760
|
+
the same IDs, against the same catalogs, under the same \`I18nProvider\`, so a class
|
|
35761
|
+
component localizes without being rewritten as a function component first:
|
|
35762
|
+
|
|
35763
|
+
\`\`\`jsx
|
|
35764
|
+
import { MessageFormat } from "@baseline-ui/core";
|
|
35765
|
+
|
|
35766
|
+
class Header extends React.Component {
|
|
35767
|
+
render() {
|
|
35768
|
+
return (
|
|
35769
|
+
<MessageFormat
|
|
35770
|
+
id="myApp.greeting"
|
|
35771
|
+
values={{ name: this.props.name }}
|
|
35772
|
+
elementType="h1"
|
|
35773
|
+
/>
|
|
35774
|
+
);
|
|
35775
|
+
}
|
|
35776
|
+
}
|
|
35777
|
+
\`\`\`
|
|
35778
|
+
|
|
35779
|
+
\`values\` fills the message's ICU placeholders, and \`elementType\` chooses what the string
|
|
35780
|
+
renders into (a fragment by default).
|
|
35781
|
+
|
|
35570
35782
|
### Supported locales
|
|
35571
35783
|
|
|
35572
35784
|
A catalog ships for each of these locales, with an entry for every message ID:
|
|
@@ -36621,7 +36833,7 @@ padding={[null, "lg", "xl"]}
|
|
|
36621
36833
|
|
|
36622
36834
|
* [vanilla-extract sprinkles documentation](https://vanilla-extract.style/documentation/packages/sprinkles/) - Learn about the underlying sprinkles framework
|
|
36623
36835
|
* [Box component documentation](/docs/core-utilities-box--docs) - Detailed information about the Box component
|
|
36624
|
-
* [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:"2.2.0"};var u=`
|
|
36836
|
+
* [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:"2.4.0"};var u=`
|
|
36625
36837
|
# Baseline UI MCP Server Guidelines
|
|
36626
36838
|
|
|
36627
36839
|
This MCP server provides AI assistants with structured access to Baseline UI's comprehensive component documentation, icon library, theming resources, and design guidelines.
|
package/dist/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as createServer}from'./chunk-
|
|
1
|
+
export{a as createServer}from'./chunk-6CH7IMQH.js';
|
package/package.json
CHANGED
package/sbom.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
|
|
3
3
|
"bomFormat": "CycloneDX",
|
|
4
4
|
"specVersion": "1.6",
|
|
5
|
-
"serialNumber": "urn:uuid:
|
|
5
|
+
"serialNumber": "urn:uuid:ba9b955d-dd00-42a0-9e21-ee579c66e72a",
|
|
6
6
|
"version": 1,
|
|
7
7
|
"metadata": {
|
|
8
|
-
"timestamp": "2026-08-
|
|
8
|
+
"timestamp": "2026-08-31T01:41:12.621Z",
|
|
9
9
|
"lifecycles": [
|
|
10
10
|
{
|
|
11
11
|
"phase": "pre-build"
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"component": {
|
|
24
24
|
"type": "library",
|
|
25
25
|
"name": "@baseline-ui/mcp",
|
|
26
|
-
"version": "2.
|
|
27
|
-
"purl": "pkg:npm/@baseline-ui/mcp@2.
|
|
28
|
-
"bom-ref": "pkg:npm/@baseline-ui/mcp@2.
|
|
26
|
+
"version": "2.4.0",
|
|
27
|
+
"purl": "pkg:npm/@baseline-ui/mcp@2.4.0",
|
|
28
|
+
"bom-ref": "pkg:npm/@baseline-ui/mcp@2.4.0",
|
|
29
29
|
"licenses": [
|
|
30
30
|
{
|
|
31
31
|
"license": {
|
|
@@ -2134,7 +2134,7 @@
|
|
|
2134
2134
|
],
|
|
2135
2135
|
"dependencies": [
|
|
2136
2136
|
{
|
|
2137
|
-
"ref": "pkg:npm/@baseline-ui/mcp@2.
|
|
2137
|
+
"ref": "pkg:npm/@baseline-ui/mcp@2.4.0",
|
|
2138
2138
|
"dependsOn": [
|
|
2139
2139
|
"pkg:npm/%40modelcontextprotocol/sdk@1.29.0",
|
|
2140
2140
|
"pkg:npm/fast-glob@3.3.3",
|