@commercetools/nimbus-mcp 3.4.0 → 3.5.1
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/data/docs/routes/components-data-display-data-table.json +172 -14
- package/data/docs/routes/home-getting-started-installation.json +2 -2
- package/data/docs/types/AccordionContent.json +27 -27
- package/data/docs/types/AccordionHeader.json +89 -89
- package/data/docs/types/AccordionItem.json +22 -22
- package/data/docs/types/AccordionRoot.json +14 -14
- package/data/docs/types/ActivityIndicator.json +2 -2
- package/data/docs/types/AlertDescription.json +8 -8
- package/data/docs/types/AlertDismissButton.json +80 -80
- package/data/docs/types/AlertTitle.json +8 -8
- package/data/docs/types/Avatar.json +2 -2
- package/data/docs/types/Badge.json +3 -3
- package/data/docs/types/Body.json +6 -6
- package/data/docs/types/Box.json +6 -6
- package/data/docs/types/BreadcrumbsItem.json +18 -18
- package/data/docs/types/BreadcrumbsRoot.json +2 -2
- package/data/docs/types/Button.json +88 -88
- package/data/docs/types/Calendar.json +56 -56
- package/data/docs/types/Caption.json +6 -6
- package/data/docs/types/CardRoot.json +2 -2
- package/data/docs/types/Cell.json +20 -20
- package/data/docs/types/ChatMessageAvatar.json +2 -2
- package/data/docs/types/ChatMessageListRoot.json +2 -2
- package/data/docs/types/ChatMessageRoot.json +2 -2
- package/data/docs/types/Checkbox.json +88 -88
- package/data/docs/types/Code.json +10 -10
- package/data/docs/types/CollapsibleMotionContent.json +2 -2
- package/data/docs/types/CollapsibleMotionRoot.json +2 -2
- package/data/docs/types/CollapsibleMotionTrigger.json +4 -4
- package/data/docs/types/Column.json +8 -8
- package/data/docs/types/ColumnGroup.json +8 -8
- package/data/docs/types/ColumnHeader.json +18 -18
- package/data/docs/types/ComboBoxListBox.json +70 -70
- package/data/docs/types/ComboBoxOption.json +64 -64
- package/data/docs/types/ComboBoxPopover.json +148 -72
- package/data/docs/types/ComboBoxRoot.json +8 -8
- package/data/docs/types/ComboBoxSection.json +25 -25
- package/data/docs/types/ComboBoxTrigger.json +6 -6
- package/data/docs/types/Content.json +2 -2
- package/data/docs/types/DataTable.json +38 -23
- package/data/docs/types/DataTableBody.json +60 -79
- package/data/docs/types/DataTableCell.json +434 -0
- package/data/docs/types/DataTableColumn.json +540 -0
- package/data/docs/types/DataTableHeader.json +62 -85
- package/data/docs/types/DataTableRoot.json +38 -23
- package/data/docs/types/DataTableRow.json +790 -0
- package/data/docs/types/DataTableTable.json +20 -20
- package/data/docs/types/DateInput.json +72 -72
- package/data/docs/types/DatePicker.json +58 -58
- package/data/docs/types/DateRangePicker.json +86 -86
- package/data/docs/types/DateRangePickerField.json +86 -86
- package/data/docs/types/DefaultPageBackLink.json +16 -16
- package/data/docs/types/DefaultPageRoot.json +2 -2
- package/data/docs/types/DialogCloseTrigger.json +78 -78
- package/data/docs/types/DialogTrigger.json +2 -2
- package/data/docs/types/DraggableListField.json +62 -62
- package/data/docs/types/DraggableListItem.json +100 -53
- package/data/docs/types/DraggableListRoot.json +62 -62
- package/data/docs/types/DrawerCloseTrigger.json +78 -78
- package/data/docs/types/DrawerTrigger.json +2 -2
- package/data/docs/types/DropZone.json +14 -14
- package/data/docs/types/FieldErrors.json +2 -2
- package/data/docs/types/Flex.json +22 -22
- package/data/docs/types/FloatingActionButton.json +88 -88
- package/data/docs/types/Footer.json +6 -6
- package/data/docs/types/FormFieldRoot.json +2 -2
- package/data/docs/types/Grid.json +24 -24
- package/data/docs/types/Group.json +12 -12
- package/data/docs/types/Header.json +6 -6
- package/data/docs/types/Heading.json +8 -8
- package/data/docs/types/Icon.json +4 -4
- package/data/docs/types/IconButton.json +88 -88
- package/data/docs/types/IconToggleButton.json +72 -72
- package/data/docs/types/Image.json +30 -30
- package/data/docs/types/Indicator.json +6 -6
- package/data/docs/types/InlineSvg.json +2 -2
- package/data/docs/types/Item.json +6 -6
- package/data/docs/types/ItemRoot.json +16 -16
- package/data/docs/types/Kbd.json +8 -8
- package/data/docs/types/Link.json +30 -30
- package/data/docs/types/ListIndicator.json +6 -6
- package/data/docs/types/ListItem.json +6 -6
- package/data/docs/types/ListRoot.json +10 -10
- package/data/docs/types/LoadingSpinner.json +2 -2
- package/data/docs/types/MakeElementFocusable.json +18 -18
- package/data/docs/types/Markdown.json +6 -6
- package/data/docs/types/MenuItem.json +63 -63
- package/data/docs/types/MenuRoot.json +56 -56
- package/data/docs/types/MenuSection.json +31 -31
- package/data/docs/types/MenuSubmenuTrigger.json +4 -4
- package/data/docs/types/MenuTrigger.json +89 -89
- package/data/docs/types/MultilineTextInput.json +104 -104
- package/data/docs/types/MultilineTextInputField.json +102 -102
- package/data/docs/types/NumberInput.json +86 -86
- package/data/docs/types/NumberInputField.json +82 -82
- package/data/docs/types/PageContentColumn.json +6 -6
- package/data/docs/types/PageContentRoot.json +6 -6
- package/data/docs/types/PasswordInput.json +100 -100
- package/data/docs/types/PasswordInputField.json +100 -100
- package/data/docs/types/ProgressBar.json +13 -13
- package/data/docs/types/RadioInputOption.json +56 -56
- package/data/docs/types/RadioInputRoot.json +48 -48
- package/data/docs/types/RangeCalendar.json +58 -58
- package/data/docs/types/RangeSlider.json +18 -18
- package/data/docs/types/Region.json +6 -6
- package/data/docs/types/RegionTarget.json +6 -6
- package/data/docs/types/RichTextInput.json +2 -2
- package/data/docs/types/Root.json +10 -10
- package/data/docs/types/Row.json +6 -6
- package/data/docs/types/ScrollArea.json +2 -2
- package/data/docs/types/SearchInput.json +106 -106
- package/data/docs/types/SearchInputField.json +102 -102
- package/data/docs/types/SelectOption.json +54 -54
- package/data/docs/types/SelectOptionGroup.json +18 -18
- package/data/docs/types/SelectOptions.json +64 -64
- package/data/docs/types/SelectRoot.json +92 -92
- package/data/docs/types/Separator.json +4 -4
- package/data/docs/types/SimpleGrid.json +28 -28
- package/data/docs/types/Skeleton.json +2 -2
- package/data/docs/types/SkeletonCircle.json +2 -2
- package/data/docs/types/Slider.json +18 -18
- package/data/docs/types/SplitButton.json +10 -10
- package/data/docs/types/Stack.json +2 -2
- package/data/docs/types/StepsNextTrigger.json +2 -2
- package/data/docs/types/StepsPrevTrigger.json +2 -2
- package/data/docs/types/StepsRoot.json +2 -2
- package/data/docs/types/StepsTrigger.json +2 -2
- package/data/docs/types/Switch.json +36 -36
- package/data/docs/types/TabNavItem.json +18 -18
- package/data/docs/types/TabNavRoot.json +2 -2
- package/data/docs/types/TableBody.json +6 -6
- package/data/docs/types/TableCaption.json +6 -6
- package/data/docs/types/TableCell.json +20 -20
- package/data/docs/types/TableColumn.json +8 -8
- package/data/docs/types/TableColumnGroup.json +8 -8
- package/data/docs/types/TableColumnHeader.json +18 -18
- package/data/docs/types/TableFooter.json +6 -6
- package/data/docs/types/TableHeader.json +6 -6
- package/data/docs/types/TableRoot.json +32 -32
- package/data/docs/types/TableRow.json +6 -6
- package/data/docs/types/TableScrollArea.json +6 -6
- package/data/docs/types/TabsTab.json +2 -2
- package/data/docs/types/TagGroupRoot.json +24 -24
- package/data/docs/types/TagGroupTag.json +56 -56
- package/data/docs/types/TagGroupTagList.json +15 -15
- package/data/docs/types/Text.json +8 -8
- package/data/docs/types/TextInput.json +102 -102
- package/data/docs/types/TextInputField.json +100 -100
- package/data/docs/types/TimeInput.json +68 -68
- package/data/docs/types/ToggleButton.json +74 -74
- package/data/docs/types/ToggleButtonGroupButton.json +32 -32
- package/data/docs/types/ToggleButtonGroupRoot.json +20 -20
- package/data/docs/types/Toolbar.json +9 -9
- package/data/docs/types/TooltipContent.json +28 -28
- package/data/docs/types/TooltipRoot.json +16 -16
- package/data/docs/types/TreeIndicator.json +82 -82
- package/data/docs/types/TreeItem.json +100 -51
- package/data/docs/types/TreeRoot.json +57 -57
- package/data/docs/types/Trigger.json +4 -4
- package/data/docs/types/VisuallyHidden.json +6 -6
- package/data/docs/types/createItemsFromCsvDrop.json +4 -4
- package/data/docs/types/createItemsFromDirectoryDrop.json +4 -4
- package/data/docs/types/createItemsFromFileDrop.json +4 -4
- package/data/docs/types/createItemsFromImageDrop.json +4 -4
- package/data/docs/types/createItemsFromJsonDrop.json +4 -4
- package/data/docs/types/manifest.json +3 -0
- package/data/docs/types/useRegion.json +2 -2
- package/data/docs/types/useTree.json +24 -24
- package/data/tokens.json +42 -0
- package/package.json +7 -7
|
@@ -319,10 +319,10 @@
|
|
|
319
319
|
}
|
|
320
320
|
]
|
|
321
321
|
},
|
|
322
|
-
"mdx": "\n# Installation\n\nHow to add Nimbus to your react frontend.\n\n## 1. Install the nimbus packages\n\nYou can install Nimbus using your preferred package manager.\n\n### Core Installation\n\nInstall the core Nimbus packages along with required peer dependencies:\n\n#### pnpm\n\n```bash\npnpm add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### npm\n\n```bash\nnpm install @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### yarn\n\n```bash\nyarn add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n### Rich Text Editor (Optional)\n\nIf you're using the Rich Text Input component, also install the Slate dependencies:\n\n#### pnpm\n\n```bash\npnpm add slate slate-history slate-hyperscript slate-react\n```\n\n#### npm\n\n```bash\nnpm install slate slate-history slate-hyperscript slate-react\n```\n\n#### yarn\n\n```bash\nyarn add slate slate-history slate-hyperscript slate-react\n```\n\n> [!TIP]\n> Your package manager will automatically resolve compatible versions based on Nimbus's peer dependency requirements.\n\n> [!NOTE] \n> Nimbus requires React 19.x. If you're on an earlier version, upgrade with `pnpm add react@19 react-dom@19`\n\n### TypeScript Support\n\nTypeScript types for component variants, sizes, and design tokens are generated\nvia a postinstall hook. Modern package managers (pnpm v8+, yarn v2+) block\npostinstall scripts by default. To enable automatic type generation:\n\n#### pnpm\n\nAdd to your `package.json`:\n\n```json\n{\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\"@commercetools/nimbus\"]\n }\n}\n```\n\nOr run `pnpm approve-builds` after installation.\n\n#### Manual generation\n\nIf the postinstall doesn't run, generate types manually:\n\n```bash\nnpx @chakra-ui/cli typegen node_modules/@commercetools/nimbus/dist/
|
|
322
|
+
"mdx": "\n# Installation\n\nHow to add Nimbus to your react frontend.\n\n## 1. Install the nimbus packages\n\nYou can install Nimbus using your preferred package manager.\n\n### Core Installation\n\nInstall the core Nimbus packages along with required peer dependencies:\n\n#### pnpm\n\n```bash\npnpm add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### npm\n\n```bash\nnpm install @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### yarn\n\n```bash\nyarn add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n### Rich Text Editor (Optional)\n\nIf you're using the Rich Text Input component, also install the Slate dependencies:\n\n#### pnpm\n\n```bash\npnpm add slate slate-history slate-hyperscript slate-react\n```\n\n#### npm\n\n```bash\nnpm install slate slate-history slate-hyperscript slate-react\n```\n\n#### yarn\n\n```bash\nyarn add slate slate-history slate-hyperscript slate-react\n```\n\n> [!TIP]\n> Your package manager will automatically resolve compatible versions based on Nimbus's peer dependency requirements.\n\n> [!NOTE] \n> Nimbus requires React 19.x. If you're on an earlier version, upgrade with `pnpm add react@19 react-dom@19`\n\n### TypeScript Support\n\nTypeScript types for component variants, sizes, and design tokens are generated\nvia a postinstall hook. Modern package managers (pnpm v8+, yarn v2+) block\npostinstall scripts by default. To enable automatic type generation:\n\n#### pnpm\n\nAdd to your `package.json`:\n\n```json\n{\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\"@commercetools/nimbus\"]\n }\n}\n```\n\nOr run `pnpm approve-builds` after installation.\n\n#### Manual generation\n\nIf the postinstall doesn't run, generate types manually:\n\n```bash\nnpx @chakra-ui/cli typegen node_modules/@commercetools/nimbus/dist/theme.es.js\n```\n\n### Design Token Autocomplete (Optional)\n\nInstall the design token TypeScript plugin to see resolved CSS values next to token names in autocomplete. For example, when you type `gap=\"`, the dropdown shows `600 = 24px` instead of just `600`.\n\n#### pnpm\n\n```bash\npnpm add -D @commercetools/nimbus-design-token-ts-plugin\n```\n\n#### npm\n\n```bash\nnpm install -D @commercetools/nimbus-design-token-ts-plugin\n```\n\n#### yarn\n\n```bash\nyarn add -D @commercetools/nimbus-design-token-ts-plugin\n```\n\nThen add the plugin to your `tsconfig.json` (or `tsconfig.app.json` if using\nproject references):\n\n```json\n{\n \"compilerOptions\": {\n \"plugins\": [\n { \"name\": \"@commercetools/nimbus-design-token-ts-plugin\" }\n ]\n }\n}\n```\n\nIn VS Code, you must use the workspace TypeScript version for the plugin to\nactivate:\n\n1. Open the command palette (`Cmd+Shift+P` / `Ctrl+Shift+P`)\n2. Run **\"TypeScript: Select TypeScript Version\"**\n3. Select **\"Use Workspace Version\"**\n4. Restart the TS server: **\"TypeScript: Restart TS Server\"**\n\nThe plugin supports spacing, colors, font sizes, border radius, font weights,\nshadows, opacity, z-index, and more.\n\n## 2. Set up NimbusProvider\n\nWrap your application with the `NimbusProvider` at the root level. This provider\nis essential for Nimbus components to function correctly, as it supplies the\nnecessary theme and context.\n\n```tsx\n// App.tsx or main.tsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { NimbusProvider } from \"@commercetools/nimbus\";\nimport App from \"./App\";\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n <React.StrictMode>\n <NimbusProvider>\n <App />\n </NimbusProvider>\n </React.StrictMode>\n);\n```\n\n### Font Loading\n\nBy default, `NimbusProvider` automatically loads the Inter font family from Google Fonts. This ensures consistent typography across all Nimbus components.\n\n```tsx\n// Default behavior - fonts are loaded automatically\n<NimbusProvider>\n <App />\n</NimbusProvider>\n```\n\n> [!WARNING]\n> **Existing Applications**: If your application already loads Inter fonts (e.g., via global stylesheets, CDN links, or font files), you **must** set `loadFonts={false}` to prevent duplicate font loading, which can cause performance regressions.\n\n```tsx\n// Disable font loading if your app already loads fonts\n<NimbusProvider loadFonts={false}>\n <App />\n</NimbusProvider>\n```\n\n**Check for existing font loading:**\n\nSearch your codebase for existing Inter font imports:\n- `<link>` tags in your HTML pointing to Google Fonts\n- `@import` statements in CSS files\n- `@font-face` declarations\n- Font files in your assets directory\n\n**When to use `loadFonts={false}`:**\n- ✅ Your application already loads Inter fonts globally\n- ✅ You're using a custom font or brand-specific typography\n- ✅ You're migrating an existing application to Nimbus\n\n**When to use the default (`loadFonts={true}`):**\n- ✅ New applications without existing font loading\n- ✅ You want Nimbus to handle all font requirements\n- ✅ You're building a standalone app or prototype\n\n> [!NOTE]\\\n> Checkout the [NimbusProvider documentation](/components/utilities/nimbusprovider)\n> for more details on how to set up **i18n** and **routing**.\n\n## 3. Use Nimbus Components\n\nOnce the provider is set up, you can start using Nimbus components in your\napplication.\n\n```jsx\n// App.tsx\nimport { Flex, Box, Button } from \"@commercetools/nimbus\";\nimport { ArrowForward } from \"@commercetools/nimbus-icons\";\n\nconst App = () => {\n return (\n <Flex width=\"100vw\" height=\"100vh\">\n <Box margin=\"auto\">\n <Button\n variant=\"solid\"\n colorPalette=\"primary\"\n onPress={() => alert(\"It just works!\")}\n >\n <ArrowForward /> Click me\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default App;\n```\n\nThat's it! You've successfully installed and set up Nimbus in your project. You\ncan now explore and use the wide range of components offered by the library.\n\n## 4. Set up Testing (Optional)\n\nIf you're using Jest or Vitest to test your application, you'll need to add Nimbus polyfills to your test configuration:\n\n### Jest\n\n```javascript\n// jest.config.js\nmodule.exports = {\n setupFiles: [\n '@commercetools/nimbus/setup-jsdom-polyfills'\n ]\n};\n```\n\n### Vitest\n\n```typescript\n// vitest.config.ts\nexport default defineConfig({\n test: {\n setupFiles: ['@commercetools/nimbus/setup-jsdom-polyfills']\n }\n});\n```\n\nFor complete testing setup instructions, see the **[Testing Setup](/home/getting-started/testing-setup)** guide.\n\n## Troubleshooting\n\n### TypeScript types not working\n\nIf props like `variant` or `size` show as `any`:\n\n1. Run the manual type generation command (see TypeScript Support section above)\n2. Restart your TypeScript server (VS Code: `Cmd+Shift+P` → \"TypeScript: Restart TS Server\")\n\n## Next steps\n\nBefore diving into actual implementation work with Nimbus, take some time to familiarize yourself with the fundamentals.\nOnce you have a solid grasp of these concepts, you'll be well-prepared to explore the individual component documentation and start building beautiful, accessible interfaces with Nimbus.\n\n### Essential Reading\n\n- **[Explore the Core Concepts in detail →](/home/getting-started/core-concepts)**\n- **[Configure Testing Setup →](/home/getting-started/testing-setup)**",
|
|
323
323
|
"views": {
|
|
324
324
|
"overview": {
|
|
325
|
-
"mdx": "\n# Installation\n\nHow to add Nimbus to your react frontend.\n\n## 1. Install the nimbus packages\n\nYou can install Nimbus using your preferred package manager.\n\n### Core Installation\n\nInstall the core Nimbus packages along with required peer dependencies:\n\n#### pnpm\n\n```bash\npnpm add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### npm\n\n```bash\nnpm install @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### yarn\n\n```bash\nyarn add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n### Rich Text Editor (Optional)\n\nIf you're using the Rich Text Input component, also install the Slate dependencies:\n\n#### pnpm\n\n```bash\npnpm add slate slate-history slate-hyperscript slate-react\n```\n\n#### npm\n\n```bash\nnpm install slate slate-history slate-hyperscript slate-react\n```\n\n#### yarn\n\n```bash\nyarn add slate slate-history slate-hyperscript slate-react\n```\n\n> [!TIP]\n> Your package manager will automatically resolve compatible versions based on Nimbus's peer dependency requirements.\n\n> [!NOTE] \n> Nimbus requires React 19.x. If you're on an earlier version, upgrade with `pnpm add react@19 react-dom@19`\n\n### TypeScript Support\n\nTypeScript types for component variants, sizes, and design tokens are generated\nvia a postinstall hook. Modern package managers (pnpm v8+, yarn v2+) block\npostinstall scripts by default. To enable automatic type generation:\n\n#### pnpm\n\nAdd to your `package.json`:\n\n```json\n{\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\"@commercetools/nimbus\"]\n }\n}\n```\n\nOr run `pnpm approve-builds` after installation.\n\n#### Manual generation\n\nIf the postinstall doesn't run, generate types manually:\n\n```bash\nnpx @chakra-ui/cli typegen node_modules/@commercetools/nimbus/dist/
|
|
325
|
+
"mdx": "\n# Installation\n\nHow to add Nimbus to your react frontend.\n\n## 1. Install the nimbus packages\n\nYou can install Nimbus using your preferred package manager.\n\n### Core Installation\n\nInstall the core Nimbus packages along with required peer dependencies:\n\n#### pnpm\n\n```bash\npnpm add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### npm\n\n```bash\nnpm install @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n#### yarn\n\n```bash\nyarn add @commercetools/nimbus @commercetools/nimbus-icons @chakra-ui/react\n```\n\n### Rich Text Editor (Optional)\n\nIf you're using the Rich Text Input component, also install the Slate dependencies:\n\n#### pnpm\n\n```bash\npnpm add slate slate-history slate-hyperscript slate-react\n```\n\n#### npm\n\n```bash\nnpm install slate slate-history slate-hyperscript slate-react\n```\n\n#### yarn\n\n```bash\nyarn add slate slate-history slate-hyperscript slate-react\n```\n\n> [!TIP]\n> Your package manager will automatically resolve compatible versions based on Nimbus's peer dependency requirements.\n\n> [!NOTE] \n> Nimbus requires React 19.x. If you're on an earlier version, upgrade with `pnpm add react@19 react-dom@19`\n\n### TypeScript Support\n\nTypeScript types for component variants, sizes, and design tokens are generated\nvia a postinstall hook. Modern package managers (pnpm v8+, yarn v2+) block\npostinstall scripts by default. To enable automatic type generation:\n\n#### pnpm\n\nAdd to your `package.json`:\n\n```json\n{\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\"@commercetools/nimbus\"]\n }\n}\n```\n\nOr run `pnpm approve-builds` after installation.\n\n#### Manual generation\n\nIf the postinstall doesn't run, generate types manually:\n\n```bash\nnpx @chakra-ui/cli typegen node_modules/@commercetools/nimbus/dist/theme.es.js\n```\n\n### Design Token Autocomplete (Optional)\n\nInstall the design token TypeScript plugin to see resolved CSS values next to token names in autocomplete. For example, when you type `gap=\"`, the dropdown shows `600 = 24px` instead of just `600`.\n\n#### pnpm\n\n```bash\npnpm add -D @commercetools/nimbus-design-token-ts-plugin\n```\n\n#### npm\n\n```bash\nnpm install -D @commercetools/nimbus-design-token-ts-plugin\n```\n\n#### yarn\n\n```bash\nyarn add -D @commercetools/nimbus-design-token-ts-plugin\n```\n\nThen add the plugin to your `tsconfig.json` (or `tsconfig.app.json` if using\nproject references):\n\n```json\n{\n \"compilerOptions\": {\n \"plugins\": [\n { \"name\": \"@commercetools/nimbus-design-token-ts-plugin\" }\n ]\n }\n}\n```\n\nIn VS Code, you must use the workspace TypeScript version for the plugin to\nactivate:\n\n1. Open the command palette (`Cmd+Shift+P` / `Ctrl+Shift+P`)\n2. Run **\"TypeScript: Select TypeScript Version\"**\n3. Select **\"Use Workspace Version\"**\n4. Restart the TS server: **\"TypeScript: Restart TS Server\"**\n\nThe plugin supports spacing, colors, font sizes, border radius, font weights,\nshadows, opacity, z-index, and more.\n\n## 2. Set up NimbusProvider\n\nWrap your application with the `NimbusProvider` at the root level. This provider\nis essential for Nimbus components to function correctly, as it supplies the\nnecessary theme and context.\n\n```tsx\n// App.tsx or main.tsx\nimport React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { NimbusProvider } from \"@commercetools/nimbus\";\nimport App from \"./App\";\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n <React.StrictMode>\n <NimbusProvider>\n <App />\n </NimbusProvider>\n </React.StrictMode>\n);\n```\n\n### Font Loading\n\nBy default, `NimbusProvider` automatically loads the Inter font family from Google Fonts. This ensures consistent typography across all Nimbus components.\n\n```tsx\n// Default behavior - fonts are loaded automatically\n<NimbusProvider>\n <App />\n</NimbusProvider>\n```\n\n> [!WARNING]\n> **Existing Applications**: If your application already loads Inter fonts (e.g., via global stylesheets, CDN links, or font files), you **must** set `loadFonts={false}` to prevent duplicate font loading, which can cause performance regressions.\n\n```tsx\n// Disable font loading if your app already loads fonts\n<NimbusProvider loadFonts={false}>\n <App />\n</NimbusProvider>\n```\n\n**Check for existing font loading:**\n\nSearch your codebase for existing Inter font imports:\n- `<link>` tags in your HTML pointing to Google Fonts\n- `@import` statements in CSS files\n- `@font-face` declarations\n- Font files in your assets directory\n\n**When to use `loadFonts={false}`:**\n- ✅ Your application already loads Inter fonts globally\n- ✅ You're using a custom font or brand-specific typography\n- ✅ You're migrating an existing application to Nimbus\n\n**When to use the default (`loadFonts={true}`):**\n- ✅ New applications without existing font loading\n- ✅ You want Nimbus to handle all font requirements\n- ✅ You're building a standalone app or prototype\n\n> [!NOTE]\\\n> Checkout the [NimbusProvider documentation](/components/utilities/nimbusprovider)\n> for more details on how to set up **i18n** and **routing**.\n\n## 3. Use Nimbus Components\n\nOnce the provider is set up, you can start using Nimbus components in your\napplication.\n\n```jsx\n// App.tsx\nimport { Flex, Box, Button } from \"@commercetools/nimbus\";\nimport { ArrowForward } from \"@commercetools/nimbus-icons\";\n\nconst App = () => {\n return (\n <Flex width=\"100vw\" height=\"100vh\">\n <Box margin=\"auto\">\n <Button\n variant=\"solid\"\n colorPalette=\"primary\"\n onPress={() => alert(\"It just works!\")}\n >\n <ArrowForward /> Click me\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default App;\n```\n\nThat's it! You've successfully installed and set up Nimbus in your project. You\ncan now explore and use the wide range of components offered by the library.\n\n## 4. Set up Testing (Optional)\n\nIf you're using Jest or Vitest to test your application, you'll need to add Nimbus polyfills to your test configuration:\n\n### Jest\n\n```javascript\n// jest.config.js\nmodule.exports = {\n setupFiles: [\n '@commercetools/nimbus/setup-jsdom-polyfills'\n ]\n};\n```\n\n### Vitest\n\n```typescript\n// vitest.config.ts\nexport default defineConfig({\n test: {\n setupFiles: ['@commercetools/nimbus/setup-jsdom-polyfills']\n }\n});\n```\n\nFor complete testing setup instructions, see the **[Testing Setup](/home/getting-started/testing-setup)** guide.\n\n## Troubleshooting\n\n### TypeScript types not working\n\nIf props like `variant` or `size` show as `any`:\n\n1. Run the manual type generation command (see TypeScript Support section above)\n2. Restart your TypeScript server (VS Code: `Cmd+Shift+P` → \"TypeScript: Restart TS Server\")\n\n## Next steps\n\nBefore diving into actual implementation work with Nimbus, take some time to familiarize yourself with the fundamentals.\nOnce you have a solid grasp of these concepts, you'll be well-prepared to explore the individual component documentation and start building beautiful, accessible interfaces with Nimbus.\n\n### Essential Reading\n\n- **[Explore the Core Concepts in detail →](/home/getting-started/core-concepts)**\n- **[Configure Testing Setup →](/home/getting-started/testing-setup)**",
|
|
326
326
|
"toc": [
|
|
327
327
|
{
|
|
328
328
|
"value": "1. Install the nimbus packages",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"description": "The content to display as the label.",
|
|
13
13
|
"name": "label",
|
|
14
14
|
"parent": {
|
|
15
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
15
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/labelable.d.ts",
|
|
16
16
|
"name": "LabelableProps"
|
|
17
17
|
},
|
|
18
18
|
"declarations": [
|
|
19
19
|
{
|
|
20
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
20
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/labelable.d.ts",
|
|
21
21
|
"name": "LabelableProps"
|
|
22
22
|
}
|
|
23
23
|
],
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"description": "The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the\nelement. A function may be provided to compute the style based on component state.",
|
|
32
32
|
"name": "style",
|
|
33
33
|
"parent": {
|
|
34
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
34
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/utils.d.ts",
|
|
35
35
|
"name": "StyleRenderProps"
|
|
36
36
|
},
|
|
37
37
|
"declarations": [
|
|
38
38
|
{
|
|
39
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
39
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/utils.d.ts",
|
|
40
40
|
"name": "StyleRenderProps"
|
|
41
41
|
}
|
|
42
42
|
],
|
|
@@ -52,16 +52,16 @@
|
|
|
52
52
|
"description": "The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\nelement. A function may be provided to compute the class based on component state.",
|
|
53
53
|
"name": "className",
|
|
54
54
|
"parent": {
|
|
55
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
55
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/Disclosure.d.ts",
|
|
56
56
|
"name": "DisclosureProps"
|
|
57
57
|
},
|
|
58
58
|
"declarations": [
|
|
59
59
|
{
|
|
60
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
60
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/Disclosure.d.ts",
|
|
61
61
|
"name": "DisclosureProps"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
"fileName": "nimbus/node_modules/.pnpm/@types+react@19.2.
|
|
64
|
+
"fileName": "nimbus/node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts",
|
|
65
65
|
"name": "HTMLAttributes"
|
|
66
66
|
}
|
|
67
67
|
],
|
|
@@ -75,12 +75,12 @@
|
|
|
75
75
|
"description": "The element's unique identifier. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).",
|
|
76
76
|
"name": "id",
|
|
77
77
|
"parent": {
|
|
78
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
78
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
79
79
|
"name": "DOMProps"
|
|
80
80
|
},
|
|
81
81
|
"declarations": [
|
|
82
82
|
{
|
|
83
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
83
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
84
84
|
"name": "DOMProps"
|
|
85
85
|
}
|
|
86
86
|
],
|
|
@@ -96,16 +96,16 @@
|
|
|
96
96
|
"description": "The accessibility role for the disclosure's panel.",
|
|
97
97
|
"name": "role",
|
|
98
98
|
"parent": {
|
|
99
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
99
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/Disclosure.d.ts",
|
|
100
100
|
"name": "DisclosurePanelProps"
|
|
101
101
|
},
|
|
102
102
|
"declarations": [
|
|
103
103
|
{
|
|
104
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
104
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/Disclosure.d.ts",
|
|
105
105
|
"name": "DisclosurePanelProps"
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
"fileName": "nimbus/node_modules/.pnpm/@types+react@19.2.
|
|
108
|
+
"fileName": "nimbus/node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts",
|
|
109
109
|
"name": "HTMLAttributes"
|
|
110
110
|
}
|
|
111
111
|
],
|
|
@@ -128,12 +128,12 @@
|
|
|
128
128
|
"description": "Identifies the element (or elements) that describes the object.",
|
|
129
129
|
"name": "aria-describedby",
|
|
130
130
|
"parent": {
|
|
131
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
131
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
132
132
|
"name": "AriaLabelingProps"
|
|
133
133
|
},
|
|
134
134
|
"declarations": [
|
|
135
135
|
{
|
|
136
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
136
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
137
137
|
"name": "AriaLabelingProps"
|
|
138
138
|
}
|
|
139
139
|
],
|
|
@@ -147,12 +147,12 @@
|
|
|
147
147
|
"description": "Identifies the element (or elements) that provide a detailed, extended description for the\nobject.",
|
|
148
148
|
"name": "aria-details",
|
|
149
149
|
"parent": {
|
|
150
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
150
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
151
151
|
"name": "AriaLabelingProps"
|
|
152
152
|
},
|
|
153
153
|
"declarations": [
|
|
154
154
|
{
|
|
155
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
155
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
156
156
|
"name": "AriaLabelingProps"
|
|
157
157
|
}
|
|
158
158
|
],
|
|
@@ -166,12 +166,12 @@
|
|
|
166
166
|
"description": "Defines a string value that labels the current element.",
|
|
167
167
|
"name": "aria-label",
|
|
168
168
|
"parent": {
|
|
169
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
169
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
170
170
|
"name": "AriaLabelingProps"
|
|
171
171
|
},
|
|
172
172
|
"declarations": [
|
|
173
173
|
{
|
|
174
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
174
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
175
175
|
"name": "AriaLabelingProps"
|
|
176
176
|
}
|
|
177
177
|
],
|
|
@@ -185,12 +185,12 @@
|
|
|
185
185
|
"description": "Identifies the element (or elements) that labels the current element.",
|
|
186
186
|
"name": "aria-labelledby",
|
|
187
187
|
"parent": {
|
|
188
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
188
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
189
189
|
"name": "AriaLabelingProps"
|
|
190
190
|
},
|
|
191
191
|
"declarations": [
|
|
192
192
|
{
|
|
193
|
-
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.
|
|
193
|
+
"fileName": "nimbus/node_modules/.pnpm/@react-types+shared@3.36.1_react@19.2.0/node_modules/@react-types/shared/src/dom.d.ts",
|
|
194
194
|
"name": "AriaLabelingProps"
|
|
195
195
|
}
|
|
196
196
|
],
|
|
@@ -204,16 +204,16 @@
|
|
|
204
204
|
"description": "The children of the component.\nThe content to display when expanded",
|
|
205
205
|
"name": "children",
|
|
206
206
|
"parent": {
|
|
207
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
207
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/Disclosure.d.ts",
|
|
208
208
|
"name": "DisclosurePanelProps"
|
|
209
209
|
},
|
|
210
210
|
"declarations": [
|
|
211
211
|
{
|
|
212
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
212
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/Disclosure.d.ts",
|
|
213
213
|
"name": "DisclosurePanelProps"
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
|
-
"fileName": "nimbus/node_modules/.pnpm/@types+react@19.2.
|
|
216
|
+
"fileName": "nimbus/node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts",
|
|
217
217
|
"name": "DOMAttributes"
|
|
218
218
|
},
|
|
219
219
|
{
|
|
@@ -231,12 +231,12 @@
|
|
|
231
231
|
"description": "Overrides the default DOM element with a custom render function.\nThis allows rendering existing components with built-in styles and behaviors\nsuch as router links, animation libraries, and pre-styled components.\n\nRequirements:\n\n- You must render the expected element type (e.g. if `<button>` is expected, you cannot render an\n `<a>`).\n- Only a single root DOM element can be rendered (no fragments).\n- You must pass through props and ref to the underlying DOM element, merging with your own prop\n as appropriate.",
|
|
232
232
|
"name": "render",
|
|
233
233
|
"parent": {
|
|
234
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
234
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/utils.d.ts",
|
|
235
235
|
"name": "DOMRenderProps"
|
|
236
236
|
},
|
|
237
237
|
"declarations": [
|
|
238
238
|
{
|
|
239
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.
|
|
239
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/types/src/utils.d.ts",
|
|
240
240
|
"name": "DOMRenderProps"
|
|
241
241
|
}
|
|
242
242
|
],
|
|
@@ -252,12 +252,12 @@
|
|
|
252
252
|
"description": "The HTML element used to render the label, e.g. 'label', or 'span'.",
|
|
253
253
|
"name": "labelElementType",
|
|
254
254
|
"parent": {
|
|
255
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria@3.
|
|
255
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria@3.51.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/types/src/label/useLabel.d.ts",
|
|
256
256
|
"name": "LabelAriaProps"
|
|
257
257
|
},
|
|
258
258
|
"declarations": [
|
|
259
259
|
{
|
|
260
|
-
"fileName": "nimbus/node_modules/.pnpm/react-aria@3.
|
|
260
|
+
"fileName": "nimbus/node_modules/.pnpm/react-aria@3.51.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/types/src/label/useLabel.d.ts",
|
|
261
261
|
"name": "LabelAriaProps"
|
|
262
262
|
}
|
|
263
263
|
],
|