{"id":3781,"date":"2026-06-10T18:24:10","date_gmt":"2026-06-10T18:24:10","guid":{"rendered":"https:\/\/www.infragistics.com\/blogs\/?p=3781"},"modified":"2026-06-10T18:24:10","modified_gmt":"2026-06-10T18:24:10","slug":"ignite-ui-react-19-7-ai-skills-mcp-more","status":"publish","type":"post","link":"https:\/\/www.infragistics.com\/blogs\/ignite-ui-react-19-7-ai-skills-mcp-more","title":{"rendered":"Ignite UI React 19.7 &#8211; AI Skills, MCP &amp; More"},"content":{"rendered":"<div class=\"igm-markdown-block\" data-markdown=\"Ignite UI React 19.7 is now available on npm. This release advances the library&#039;s AI toolchain on two fronts: updated LLM Agent Skills ship inside the npm package, and the Ignite UI CLI MCP server serves React component documentation, API reference, and scaffolding guidance to any connected AI assistant. For engineering teams, that means faster onboarding, less hand-written integration code, and fewer inconsistencies across projects when developers or AI assistants implement common patterns. Platform-side, the Invoker Commands API eliminates JavaScript wiring for common show\/hide\/toggle patterns, and the Popover API integration extends to Nav Drawer, Snackbar, and Toast. Run `npm install igniteui-react@19.7.0` to upgrade.\n\n---\n\n&gt; **What&#039;s new in Ignite UI React 19.7**\n&gt;\n&gt; - **LLM Agent Skills (updated)** - four in-package skills teach AI agents React component usage, theming, design-to-code, and bundle optimization\n&gt; - **CLI MCP Server: React support** - `ig mcp` serves React component docs, full API reference, and scaffolding guidance to any connected AI assistant\n&gt; - **Invoker Commands API** - declarative `--show`, `--hide`, `--toggle` via `command` and `commandFor` props, no JavaScript wiring required\n&gt; - **Platform Popover Upgrades** - Nav Drawer moves to native Popover API; Snackbar and Toast gain top-layer `positioning` property\n&gt; - **Date Range Picker inline editing** - edit range value directly via a single input field\n&gt; - \u26a0\ufe0f **Nav Drawer `overlay` CSS part removed** - target `base::backdrop` or `--ig-overlay-background-color` instead\n&gt;\n&gt; \ud83d\udce6 `npm install igniteui-react@19.7.0`  \n&gt; \ud83d\udcc4 [Full changelog](https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md)\n\n---\n\n## LLM Agent Skills\n\nFour LLM Agent Skills ship inside the `igniteui-react` npm package under the `skills\/` directory. Each is a self-contained skill file with step-by-step instructions, code examples, and React-specific patterns - structured so AI agents can retrieve and apply them consistently.\n\nThe preferred way to add the Ignite UI AI toolchain (Skills &amp; MCP servers) to an existing project is `ig ai-config`. Agent toolchains evolve rapidly; `ig ai-config` is designed to be idempotent - you can run it on every release cycle to apply the latest skills without overwriting your team&#039;s custom agent instructions. It copies compatible skills into the appropriate discovery path, merges MCP server entries, and updates the baseline instructions in one step.\n\n| Skill | Use when |\n|---|---|\n| **components** | Identifying and using `Igr*` components - JSX patterns, events, refs, forms, Next.js setup |\n| **customize-theme** | Applying custom styles via CSS custom properties, Sass, and the theming system |\n| **optimize-bundle-size** | Reducing bundle size with granular imports, tree-shaking, and lazy loading |\n| **generate-from-image-design** | Implementing a view from a screenshot, mockup, or wireframe using Ignite UI React components |\n\nIf you prefer to set up skills manually, copy them into your repository&#039;s `.github\/skills\/` directory so compatible agents can discover them:\n\n```bash\n# Unix \/ macOS\ncp -r node_modules\/igniteui-react\/skills\/* .github\/skills\/\n\n# Windows (PowerShell)\nCopy-Item -Recurse node_modules\\igniteui-react\\skills\\* .github\\skills\\\n```\n\nThe skills are compatible with GitHub Copilot, Cursor, Windsurf, Claude, JetBrains Junie, and Gemini CLI. The **components** skill is particularly useful for Ignite UI React: it covers `Igr*`-prefixed component usage, JSX event binding, React ref patterns, form integration, and Next.js project setup - patterns that AI agents reliably get wrong when falling back on general training data.\n\n[AI-Assisted Development documentation \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/ai\/ai-assisted-development-overview)\n\n---\n\n## CLI MCP Server: React Documentation &amp; Scaffolding\n\nThe Ignite UI CLI bundles an MCP (Model Context Protocol) server that gives any connected AI assistant direct access to Ignite UI documentation, API reference, and project scaffolding guidance. React components, templates, and documentation are fully supported.\n\nThe recommended setup path is `ig ai-config`, which adds the AI toolchain to an existing project by copying compatible skills into agent discovery path(s), generating agent instruction files, and creating the MCP configuration for supported assistants automatically. If you prefer to configure MCP manually, start the server with a single command, then add one JSON block to your AI assistant&#039;s configuration:\n\n```bash\n# Requires igniteui-cli 15.0.0 or newer\nnpm install -g igniteui-cli\n\n# Start the MCP server\nig mcp\n```\n\n```json\n{\n  &quot;mcpServers&quot;: {\n    &quot;igniteui&quot;: {\n      &quot;command&quot;: &quot;ig&quot;,\n      &quot;args&quot;: [&quot;mcp&quot;]\n    }\n  }\n}\n```\n\nOnce connected, the MCP server exposes six tools to your assistant: `list_components`, `get_doc`, `search_docs`, `get_api_reference`, `search_api`, and `generate_ignite_app`. This means your agent can retrieve the full documentation for any `Igr*` component on demand, look up exact prop signatures and event names, and get a tailored setup guide for a new React project - all without leaving the conversation.\n\nThis is where the Skills and the MCP complement each other. Skills teach the agent how to use Ignite UI React correctly: which `Igr*` component fits the UI pattern, how theming works in a React context, how to match a design mockup to components. The MCP gives the agent what to say when the question is specific - the exact prop signature for `IgrGridComponent`, the correct event name for a given interaction, the right import path for the installed version. One layer provides reasoning context; the other provides factual recall.\n\nThe CLI also scaffolds new React projects and adds component templates:\n\n```bash\n# New project - AI toolchain configured from the start (interactive)\nig new\n\n# Or specify framework directly\nig new &quot;My App&quot; --framework=react\n\n# Add a component template interactively\nig add\n```\n\nThe CLI MCP is one part of the broader Ignite UI AI toolchain, which also includes a Theming MCP server for design token and CSS custom property generation with WCAG AA contrast validation, and a MAKER MCP server for multi-agent task orchestration. [See the AI-Assisted Development documentation for the full setup \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/ai\/ai-assisted-development-overview)\n\n---\n\n## Invoker Commands API\n\n`IgrButton` and `IgrIconButton` now support `command` and `commandFor` props, enabling declarative show\/hide\/toggle control of target components without JavaScript wiring. Assign a command - `--show`, `--hide`, or `--toggle` - and point `commandFor` at the target component&#039;s `id`.\n\n```jsx\n{\/* No event handlers, no refs, no imperative show() call *\/}\n&lt;IgrButton command=&quot;--toggle&quot; commandFor=&quot;main-drawer&quot;&gt;\n  Open Menu\n&lt;\/IgrButton&gt;\n\n&lt;IgrNavDrawer id=&quot;main-drawer&quot;&gt;\n  {\/* navigation content *\/}\n&lt;\/IgrNavDrawer&gt;\n```\n\nFive components respond to these commands: `IgrBanner`, `IgrDialog`, `IgrNavDrawer`, `IgrSnackbar`, and `IgrToast`. The pattern eliminates the ref-and-imperative-call boilerplate that commonly appears in React codebases when wiring trigger buttons to overlay components. The implementation follows the [Invoker Commands specification](https:\/\/open-ui.org\/components\/invokers.explainer\/) currently advancing at Open UI, with Chromium-native support already available.\n\n---\n\n## Platform Popover Upgrades: Nav Drawer, Snackbar &amp; Toast\n\nThree components migrate to the browser&#039;s native Popover API this release, each gaining top-layer rendering and the platform accessibility semantics that come with it.\n\n**Nav Drawer** - non-relative positions now use the Popover API in place of the library&#039;s custom overlay. The top layer sits above all stacking contexts, CSS transforms, and fixed-position ancestors. Focus trapping and ARIA modal semantics come from the browser rather than library code. Two new lifecycle events accompany the change, exposed as React props: `onClosing` fires just before close and is cancelable - useful for unsaved-changes guards - and `onClosed` fires after the drawer has fully closed. A new `keepOpenOnEscape` prop prevents Escape from dismissing the drawer when the host application needs that key for other interactions.\n\n```jsx\n&lt;IgrNavDrawer\n  onClosing={(event) =&gt; {\n    if (hasUnsavedChanges) event.preventDefault();\n  }}\n  onClosed={resetNavigationState}\n\/&gt;\n```\n\n**Snackbar and Toast** - both now render as popovers and gain a `positioning` prop. `viewport` (default) anchors the notification to the viewport. `container` anchors it to the nearest visible ancestor, enabling panel-scoped notifications without fighting stacking contexts or `overflow: hidden` ancestors.\n\n```jsx\n{\/* Viewport-anchored - appears over all page content *\/}\n&lt;IgrToast positioning=&quot;viewport&quot; open={true}&gt;Saved to cloud&lt;\/IgrToast&gt;\n\n{\/* Panel-scoped notification *\/}\n&lt;div className=&quot;editor-panel&quot;&gt;\n  &lt;IgrSnackbar positioning=&quot;container&quot; open={true}&gt;\n    Draft auto-saved\n  &lt;\/IgrSnackbar&gt;\n&lt;\/div&gt;\n```\n\n[Nav Drawer docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/menus\/navigation-drawer) | [Snackbar docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/notifications\/snackbar) | [Toast docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/notifications\/toast)\n\n---\n\n## More in This Release\n\n- **Form controls: Enter key submits the associated form** - `IgrInput`, `IgrMaskInput`, `IgrDateTimeInput`, `IgrCheckbox`, `IgrRadio`, `IgrSwitch`, `IgrDatePicker`, and `IgrDateRangePicker` now match native HTML form element behavior on Enter. No code changes required; review any custom Enter-key handlers that manually call `form.submit()` to avoid duplicate submissions.\n\n- **Date Range Picker inline editing** - users can now type the date range value directly into a single input field in addition to the calendar picker. Practical for keyboard-centric or high-density data entry UIs. [Docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/scheduling\/date-range-picker)\n\n- **Input: date\/time type theming** - `date`, `time`, `datetime-local`, `week`, and `month` input types now receive full theming support and consistent floating label behavior across all supported themes.\n\n- **Localization: resource strings deprecated** - the per-component `resourceStrings` interfaces for `Calendar`, `Chat`, `Date Picker`, and `Date Range Picker` are deprecated. Components now use `igniteui-i18n` resource keys. Provide a complete resource strings object rather than setting individual string properties.\n\n- **Bug fixes** - Button Group selected state border color mismatch in focused and hover states; Combo display value not restored when tabbing out in single-select mode with partial search text; Stepper step components now correctly receive context when connected to the DOM before their parent stepper.\n\n---\n\n## Breaking Changes &amp; Migration\n\n**Nav Drawer `overlay` CSS part removed**  \nAffected: `IgrNavDrawer` (non-relative positions)  \nWhat changed: the `overlay` CSS part used to style the drawer&#039;s backdrop has been removed as part of the Popover API migration. The underlying element it targeted no longer exists.  \nMigration: target the `base` CSS part&#039;s `::backdrop` pseudo-element, use the `--ig-overlay-background-color` CSS custom property, or apply backdrop customization through the theming package.\n\n[Full changelog \u2192](https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md)\n\n---\n\n## How to Get Started\n\nInstall or upgrade Ignite UI React today:\n\n```bash\nnpm install igniteui-react@19.7.0\n```\n\n- \ud83d\udcd8 [Release Notes &amp; Full Changelog](https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md)\n- \ud83d\ude80 [Getting Started Guide](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/general-getting-started)\n- \ud83d\udcac [GitHub Discussions](https:\/\/github.com\/IgniteUI\/igniteui-react\/discussions)\n\n---\n\n&lt;!--\nSTRUCTURED_RELEASE_METADATA\nproduct: Ignite UI for React\nversion: 19.7.0\nrelease_date: 2026-05-27\nframework: React\nunderlying_package: igniteui-webcomponents@7.2.0\npackage_manager: npm\npackage_name: igniteui-react\ninstall_command: npm install igniteui-react@19.7.0\nchangelog_url: https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md\ndocs_url: https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/general-getting-started\nnew_components: []\nnew_features: [LLMAgentSkillsUpdated, CLIMCPReactSupport, InvokerCommandsAPI, NavDrawerPopoverAPI, SnackbarTopLayerPositioning, ToastTopLayerPositioning, FormControlsEnterKeySubmit, DateRangePickerInlineEdit, InputDateTimeTheming]\nbreaking_changes: true\nbreaking_change_summary: Nav Drawer overlay CSS part removed; target base::backdrop pseudo-element or --ig-overlay-background-color CSS variable\ndeprecated: [LocalizationResourceStrings-Calendar, LocalizationResourceStrings-Chat, LocalizationResourceStrings-DatePicker, LocalizationResourceStrings-DateRangePicker]\nai_skills_count: 4\nai_skills: [components, customize-theme, optimize-bundle-size, generate-from-image-design]\nai_skills_package_path: node_modules\/igniteui-react\/skills\/\nai_skills_compatible_agents: [GitHub Copilot, Cursor, Windsurf, Claude, JetBrains Junie, Gemini CLI]\nai_skills_docs_url: https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/ai\/ai-assisted-development-overview\nmcp_package: igniteui-cli\nmcp_npm_package: &quot;@igniteui\/mcp-server&quot;\nmcp_start_command: ig mcp\nmcp_min_cli_version: 15.0.0\nmcp_tools: [list_components, get_doc, search_docs, get_api_reference, search_api, generate_ignite_app]\ninvoker_commands_targets: [IgrBanner, IgrDialog, IgrNavDrawer, IgrSnackbar, IgrToast]\ninvoker_commands_invokers: [IgrButton, IgrIconButton]\ninvoker_commands_values: [--show, --hide, --toggle]\ninvoker_commands_props: [command, commandFor]\nnav_drawer_new_events: [onClosing, onClosed]\nnav_drawer_new_props: [keepOpenOnEscape]\nsnackbar_toast_positioning_values: [viewport, container]\nform_controls_enter_submit: [IgrInput, IgrMaskInput, IgrDateTimeInput, IgrCheckbox, IgrRadio, IgrSwitch, IgrDatePicker, IgrDateRangePicker]\nbug_fixes: [ButtonGroup-selected-state-border, Combo-display-value-single-select, Stepper-context-pre-connect]\ntags: [react, igniteui-react, llm-agent-skills, mcp, model-context-protocol, invoker-commands, popover-api, nav-drawer, snackbar, toast, form-controls, date-range-picker, ai-assisted-development, github-copilot, cursor, windsurf, theming, accessibility, top-layer]\nEND_METADATA\n--&gt;\">\n                <div class=\"igm-markdown-content\"><\/div>\n                <noscript><pre>Ignite UI React 19.7 is now available on npm. This release advances the library&#039;s AI toolchain on two fronts: updated LLM Agent Skills ship inside the npm package, and the Ignite UI CLI MCP server serves React component documentation, API reference, and scaffolding guidance to any connected AI assistant. For engineering teams, that means faster onboarding, less hand-written integration code, and fewer inconsistencies across projects when developers or AI assistants implement common patterns. Platform-side, the Invoker Commands API eliminates JavaScript wiring for common show\/hide\/toggle patterns, and the Popover API integration extends to Nav Drawer, Snackbar, and Toast. Run `npm install igniteui-react@19.7.0` to upgrade.\n\n---\n\n&gt; **What&#039;s new in Ignite UI React 19.7**\n&gt;\n&gt; - **LLM Agent Skills (updated)** - four in-package skills teach AI agents React component usage, theming, design-to-code, and bundle optimization\n&gt; - **CLI MCP Server: React support** - `ig mcp` serves React component docs, full API reference, and scaffolding guidance to any connected AI assistant\n&gt; - **Invoker Commands API** - declarative `--show`, `--hide`, `--toggle` via `command` and `commandFor` props, no JavaScript wiring required\n&gt; - **Platform Popover Upgrades** - Nav Drawer moves to native Popover API; Snackbar and Toast gain top-layer `positioning` property\n&gt; - **Date Range Picker inline editing** - edit range value directly via a single input field\n&gt; - \u26a0\ufe0f **Nav Drawer `overlay` CSS part removed** - target `base::backdrop` or `--ig-overlay-background-color` instead\n&gt;\n&gt; \ud83d\udce6 `npm install igniteui-react@19.7.0`  \n&gt; \ud83d\udcc4 [Full changelog](https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md)\n\n---\n\n## LLM Agent Skills\n\nFour LLM Agent Skills ship inside the `igniteui-react` npm package under the `skills\/` directory. Each is a self-contained skill file with step-by-step instructions, code examples, and React-specific patterns - structured so AI agents can retrieve and apply them consistently.\n\nThe preferred way to add the Ignite UI AI toolchain (Skills &amp; MCP servers) to an existing project is `ig ai-config`. Agent toolchains evolve rapidly; `ig ai-config` is designed to be idempotent - you can run it on every release cycle to apply the latest skills without overwriting your team&#039;s custom agent instructions. It copies compatible skills into the appropriate discovery path, merges MCP server entries, and updates the baseline instructions in one step.\n\n| Skill | Use when |\n|---|---|\n| **components** | Identifying and using `Igr*` components - JSX patterns, events, refs, forms, Next.js setup |\n| **customize-theme** | Applying custom styles via CSS custom properties, Sass, and the theming system |\n| **optimize-bundle-size** | Reducing bundle size with granular imports, tree-shaking, and lazy loading |\n| **generate-from-image-design** | Implementing a view from a screenshot, mockup, or wireframe using Ignite UI React components |\n\nIf you prefer to set up skills manually, copy them into your repository&#039;s `.github\/skills\/` directory so compatible agents can discover them:\n\n```bash\n# Unix \/ macOS\ncp -r node_modules\/igniteui-react\/skills\/* .github\/skills\/\n\n# Windows (PowerShell)\nCopy-Item -Recurse node_modules\\igniteui-react\\skills\\* .github\\skills\\\n```\n\nThe skills are compatible with GitHub Copilot, Cursor, Windsurf, Claude, JetBrains Junie, and Gemini CLI. The **components** skill is particularly useful for Ignite UI React: it covers `Igr*`-prefixed component usage, JSX event binding, React ref patterns, form integration, and Next.js project setup - patterns that AI agents reliably get wrong when falling back on general training data.\n\n[AI-Assisted Development documentation \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/ai\/ai-assisted-development-overview)\n\n---\n\n## CLI MCP Server: React Documentation &amp; Scaffolding\n\nThe Ignite UI CLI bundles an MCP (Model Context Protocol) server that gives any connected AI assistant direct access to Ignite UI documentation, API reference, and project scaffolding guidance. React components, templates, and documentation are fully supported.\n\nThe recommended setup path is `ig ai-config`, which adds the AI toolchain to an existing project by copying compatible skills into agent discovery path(s), generating agent instruction files, and creating the MCP configuration for supported assistants automatically. If you prefer to configure MCP manually, start the server with a single command, then add one JSON block to your AI assistant&#039;s configuration:\n\n```bash\n# Requires igniteui-cli 15.0.0 or newer\nnpm install -g igniteui-cli\n\n# Start the MCP server\nig mcp\n```\n\n```json\n{\n  &quot;mcpServers&quot;: {\n    &quot;igniteui&quot;: {\n      &quot;command&quot;: &quot;ig&quot;,\n      &quot;args&quot;: [&quot;mcp&quot;]\n    }\n  }\n}\n```\n\nOnce connected, the MCP server exposes six tools to your assistant: `list_components`, `get_doc`, `search_docs`, `get_api_reference`, `search_api`, and `generate_ignite_app`. This means your agent can retrieve the full documentation for any `Igr*` component on demand, look up exact prop signatures and event names, and get a tailored setup guide for a new React project - all without leaving the conversation.\n\nThis is where the Skills and the MCP complement each other. Skills teach the agent how to use Ignite UI React correctly: which `Igr*` component fits the UI pattern, how theming works in a React context, how to match a design mockup to components. The MCP gives the agent what to say when the question is specific - the exact prop signature for `IgrGridComponent`, the correct event name for a given interaction, the right import path for the installed version. One layer provides reasoning context; the other provides factual recall.\n\nThe CLI also scaffolds new React projects and adds component templates:\n\n```bash\n# New project - AI toolchain configured from the start (interactive)\nig new\n\n# Or specify framework directly\nig new &quot;My App&quot; --framework=react\n\n# Add a component template interactively\nig add\n```\n\nThe CLI MCP is one part of the broader Ignite UI AI toolchain, which also includes a Theming MCP server for design token and CSS custom property generation with WCAG AA contrast validation, and a MAKER MCP server for multi-agent task orchestration. [See the AI-Assisted Development documentation for the full setup \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/ai\/ai-assisted-development-overview)\n\n---\n\n## Invoker Commands API\n\n`IgrButton` and `IgrIconButton` now support `command` and `commandFor` props, enabling declarative show\/hide\/toggle control of target components without JavaScript wiring. Assign a command - `--show`, `--hide`, or `--toggle` - and point `commandFor` at the target component&#039;s `id`.\n\n```jsx\n{\/* No event handlers, no refs, no imperative show() call *\/}\n&lt;IgrButton command=&quot;--toggle&quot; commandFor=&quot;main-drawer&quot;&gt;\n  Open Menu\n&lt;\/IgrButton&gt;\n\n&lt;IgrNavDrawer id=&quot;main-drawer&quot;&gt;\n  {\/* navigation content *\/}\n&lt;\/IgrNavDrawer&gt;\n```\n\nFive components respond to these commands: `IgrBanner`, `IgrDialog`, `IgrNavDrawer`, `IgrSnackbar`, and `IgrToast`. The pattern eliminates the ref-and-imperative-call boilerplate that commonly appears in React codebases when wiring trigger buttons to overlay components. The implementation follows the [Invoker Commands specification](https:\/\/open-ui.org\/components\/invokers.explainer\/) currently advancing at Open UI, with Chromium-native support already available.\n\n---\n\n## Platform Popover Upgrades: Nav Drawer, Snackbar &amp; Toast\n\nThree components migrate to the browser&#039;s native Popover API this release, each gaining top-layer rendering and the platform accessibility semantics that come with it.\n\n**Nav Drawer** - non-relative positions now use the Popover API in place of the library&#039;s custom overlay. The top layer sits above all stacking contexts, CSS transforms, and fixed-position ancestors. Focus trapping and ARIA modal semantics come from the browser rather than library code. Two new lifecycle events accompany the change, exposed as React props: `onClosing` fires just before close and is cancelable - useful for unsaved-changes guards - and `onClosed` fires after the drawer has fully closed. A new `keepOpenOnEscape` prop prevents Escape from dismissing the drawer when the host application needs that key for other interactions.\n\n```jsx\n&lt;IgrNavDrawer\n  onClosing={(event) =&gt; {\n    if (hasUnsavedChanges) event.preventDefault();\n  }}\n  onClosed={resetNavigationState}\n\/&gt;\n```\n\n**Snackbar and Toast** - both now render as popovers and gain a `positioning` prop. `viewport` (default) anchors the notification to the viewport. `container` anchors it to the nearest visible ancestor, enabling panel-scoped notifications without fighting stacking contexts or `overflow: hidden` ancestors.\n\n```jsx\n{\/* Viewport-anchored - appears over all page content *\/}\n&lt;IgrToast positioning=&quot;viewport&quot; open={true}&gt;Saved to cloud&lt;\/IgrToast&gt;\n\n{\/* Panel-scoped notification *\/}\n&lt;div className=&quot;editor-panel&quot;&gt;\n  &lt;IgrSnackbar positioning=&quot;container&quot; open={true}&gt;\n    Draft auto-saved\n  &lt;\/IgrSnackbar&gt;\n&lt;\/div&gt;\n```\n\n[Nav Drawer docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/menus\/navigation-drawer) | [Snackbar docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/notifications\/snackbar) | [Toast docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/notifications\/toast)\n\n---\n\n## More in This Release\n\n- **Form controls: Enter key submits the associated form** - `IgrInput`, `IgrMaskInput`, `IgrDateTimeInput`, `IgrCheckbox`, `IgrRadio`, `IgrSwitch`, `IgrDatePicker`, and `IgrDateRangePicker` now match native HTML form element behavior on Enter. No code changes required; review any custom Enter-key handlers that manually call `form.submit()` to avoid duplicate submissions.\n\n- **Date Range Picker inline editing** - users can now type the date range value directly into a single input field in addition to the calendar picker. Practical for keyboard-centric or high-density data entry UIs. [Docs \u2192](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/scheduling\/date-range-picker)\n\n- **Input: date\/time type theming** - `date`, `time`, `datetime-local`, `week`, and `month` input types now receive full theming support and consistent floating label behavior across all supported themes.\n\n- **Localization: resource strings deprecated** - the per-component `resourceStrings` interfaces for `Calendar`, `Chat`, `Date Picker`, and `Date Range Picker` are deprecated. Components now use `igniteui-i18n` resource keys. Provide a complete resource strings object rather than setting individual string properties.\n\n- **Bug fixes** - Button Group selected state border color mismatch in focused and hover states; Combo display value not restored when tabbing out in single-select mode with partial search text; Stepper step components now correctly receive context when connected to the DOM before their parent stepper.\n\n---\n\n## Breaking Changes &amp; Migration\n\n**Nav Drawer `overlay` CSS part removed**  \nAffected: `IgrNavDrawer` (non-relative positions)  \nWhat changed: the `overlay` CSS part used to style the drawer&#039;s backdrop has been removed as part of the Popover API migration. The underlying element it targeted no longer exists.  \nMigration: target the `base` CSS part&#039;s `::backdrop` pseudo-element, use the `--ig-overlay-background-color` CSS custom property, or apply backdrop customization through the theming package.\n\n[Full changelog \u2192](https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md)\n\n---\n\n## How to Get Started\n\nInstall or upgrade Ignite UI React today:\n\n```bash\nnpm install igniteui-react@19.7.0\n```\n\n- \ud83d\udcd8 [Release Notes &amp; Full Changelog](https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md)\n- \ud83d\ude80 [Getting Started Guide](https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/general-getting-started)\n- \ud83d\udcac [GitHub Discussions](https:\/\/github.com\/IgniteUI\/igniteui-react\/discussions)\n\n---\n\n&lt;!--\nSTRUCTURED_RELEASE_METADATA\nproduct: Ignite UI for React\nversion: 19.7.0\nrelease_date: 2026-05-27\nframework: React\nunderlying_package: igniteui-webcomponents@7.2.0\npackage_manager: npm\npackage_name: igniteui-react\ninstall_command: npm install igniteui-react@19.7.0\nchangelog_url: https:\/\/github.com\/IgniteUI\/igniteui-react\/blob\/master\/CHANGELOG.md\ndocs_url: https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/general-getting-started\nnew_components: []\nnew_features: [LLMAgentSkillsUpdated, CLIMCPReactSupport, InvokerCommandsAPI, NavDrawerPopoverAPI, SnackbarTopLayerPositioning, ToastTopLayerPositioning, FormControlsEnterKeySubmit, DateRangePickerInlineEdit, InputDateTimeTheming]\nbreaking_changes: true\nbreaking_change_summary: Nav Drawer overlay CSS part removed; target base::backdrop pseudo-element or --ig-overlay-background-color CSS variable\ndeprecated: [LocalizationResourceStrings-Calendar, LocalizationResourceStrings-Chat, LocalizationResourceStrings-DatePicker, LocalizationResourceStrings-DateRangePicker]\nai_skills_count: 4\nai_skills: [components, customize-theme, optimize-bundle-size, generate-from-image-design]\nai_skills_package_path: node_modules\/igniteui-react\/skills\/\nai_skills_compatible_agents: [GitHub Copilot, Cursor, Windsurf, Claude, JetBrains Junie, Gemini CLI]\nai_skills_docs_url: https:\/\/www.infragistics.com\/products\/ignite-ui-react\/react\/components\/ai\/ai-assisted-development-overview\nmcp_package: igniteui-cli\nmcp_npm_package: &quot;@igniteui\/mcp-server&quot;\nmcp_start_command: ig mcp\nmcp_min_cli_version: 15.0.0\nmcp_tools: [list_components, get_doc, search_docs, get_api_reference, search_api, generate_ignite_app]\ninvoker_commands_targets: [IgrBanner, IgrDialog, IgrNavDrawer, IgrSnackbar, IgrToast]\ninvoker_commands_invokers: [IgrButton, IgrIconButton]\ninvoker_commands_values: [--show, --hide, --toggle]\ninvoker_commands_props: [command, commandFor]\nnav_drawer_new_events: [onClosing, onClosed]\nnav_drawer_new_props: [keepOpenOnEscape]\nsnackbar_toast_positioning_values: [viewport, container]\nform_controls_enter_submit: [IgrInput, IgrMaskInput, IgrDateTimeInput, IgrCheckbox, IgrRadio, IgrSwitch, IgrDatePicker, IgrDateRangePicker]\nbug_fixes: [ButtonGroup-selected-state-border, Combo-display-value-single-select, Stepper-context-pre-connect]\ntags: [react, igniteui-react, llm-agent-skills, mcp, model-context-protocol, invoker-commands, popover-api, nav-drawer, snackbar, toast, form-controls, date-range-picker, ai-assisted-development, github-copilot, cursor, windsurf, theming, accessibility, top-layer]\nEND_METADATA\n--&gt;<\/pre><\/noscript>\n            <\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":20,"featured_media":3803,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,1],"tags":[20,43,25],"class_list":["post-3781","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react","category-uncategorized","tag-ignite-ui","tag-ignite-ui-for-react","tag-react"],"_links":{"self":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts\/3781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/comments?post=3781"}],"version-history":[{"count":5,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts\/3781\/revisions"}],"predecessor-version":[{"id":3806,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts\/3781\/revisions\/3806"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/media\/3803"}],"wp:attachment":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/media?parent=3781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/categories?post=3781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/tags?post=3781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}