# Available Codemods

This page outlines the codemods that the Kendo CLI runs when you migrate Kendo UI for Vue packages between major versions. For more information on how to run the migration and on its options, see [Assisted Migration Tooling](https://www.telerik.com/kendo-vue-ui-develop/components/migration/assisted-migration) and [Kendo CLI Options](https://www.telerik.com/kendo-vue-ui-develop/components/kendo-cli-setup).

## Kendo UI for Vue v10.0.0 to v11.0.0

### Quick Guide

To migrate a specific Kendo UI for Vue package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-<package-name> --from=10 --to=11 --ai-mode
```

> If not already installed, you will be prompted to install the Kendo CLI when running this command for the first time.

This command checks for available updates for the specified package and its peer dependencies that are already present in the project, prompts you to install them, and runs all relevant codemods.

> Most v11.0.0 codemods flag the affected files and print migration instructions that you apply manually. These instruction-only codemods run only when you use the `--ai-mode` option. Codemods that make automatic changes are listed separately in each package section.

For the complete list of changes in this release, see [Breaking Changes in 11.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/breaking-changes/11-0-0) and [Rendering Changes in 11.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/rendering-changes/11-0-0).

### Best Practices

* Migrate between consecutive major versions.
* Migrate one package at a time.

### Dropdowns

To migrate the Dropdowns package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-dropdowns --from=10 --to=11 --ai-mode
```

All Dropdowns codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from `@progress/kendo-vue-dropdowns` and the affected CSS classes. The detection recognizes custom import names as well.
* Preserve your existing code. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

The following table outlines the specific Dropdowns codemods:

| Codemod                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dropdowns-tree-item-rendering-changes` | Flags the files affected by the custom items of the `DropDownTree` and `MultiSelectTree`, which are rendered without the `k-treeview-leaf-text` element. <ul><li>Detects the `item` prop of `DropDownTree` and `MultiSelectTree`.</li><li>Detects the `k-treeview-leaf-text` CSS class.</li><li>Instructs you to update the selectors that expect `.k-treeview-leaf-text` around a custom item, or to add the class to the root element of the custom item.</li></ul> |

### Grid

To migrate the Grid package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-grid --from=10 --to=11 --ai-mode
```

All Grid codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, and `.vue` files for the affected members of the Grid template ref.
* Preserve your existing code. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.

> Calls that build the method name dynamically, for example `gridRef.value[name]()`, are not detected. Review them manually.

The following table outlines the specific Grid codemods:

| Codemod                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `grid-handle-export-as-pdf` | Flags the files that call the removed `exportAsPdf()` method of the Grid template ref (`GridHandle`). <ul><li>Detects the `exportAsPdf` calls and declarations in any script or `.vue` file, even if it does not import from `@progress/kendo-vue-grid`, for example in composables that receive the Grid template ref.</li><li>Instructs you to wrap the Grid in the `GridPdfExport` component from `@progress/kendo-vue-pdf` and to call the `save()` method of its template ref.</li></ul> |

### Indicators

To migrate the Indicators package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-indicators --from=10 --to=11 --ai-mode
```

All Indicators codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, and `.vue` files for imports from `@progress/kendo-vue-indicators` and the affected props. The detection recognizes custom import names as well.
* Preserve your existing code. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

The following table outlines the specific Indicators codemods:

| Codemod               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `badge-position-type` | Flags the files affected by the `position` prop of the `Badge` and `BadgeContainer`, which no longer accepts any string, and by the new `'inline'` position. <ul><li>Detects the `position` prop of `Badge` and `BadgeContainer` bound to an expression or set to a value other than `'edge'`, `'outside'`, and `'inside'`, for example `'inline'` or `'top'`.</li><li>Detects the `BadgeProps` and `BadgeContainerProps` types in files that import from `@progress/kendo-vue-indicators` and reference `position`, including type-only imports.</li><li>Instructs you to type the bound values as `BadgePosition` or to narrow them to a supported value.</li></ul> |

### Layout

To migrate the Layout package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-layout --from=10 --to=11 --ai-mode
```

All Layout codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from `@progress/kendo-vue-layout` and the affected CSS classes. The detection recognizes custom import names as well.
* Preserve your existing code. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

The following table outlines the specific Layout codemods:

| Codemod                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `menu-rendering-changes` | Flags the files affected by the removed `Menu` and `ContextMenu` classes and by the changed `ContextMenu` root list and popup list markup. <ul><li>Detects the `k-widget`, `k-first`, `k-last`, `k-group`, `k-menu`, `k-reset`, `k-menu-vertical`, `k-context-menu`, and `k-menu-group-md` CSS classes in files that use `Menu` or `ContextMenu` (named or namespace imports), or the `k-menu` and `k-context-menu` classes.</li></ul> |

### Scheduler

To migrate the Scheduler package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-scheduler --from=10 --to=11 --ai-mode
```

All Scheduler codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from `@progress/kendo-vue-scheduler` and the affected CSS classes. The detection recognizes custom import names as well. The `scheduler-data-action-prop-rename` codemod also scans the files that do not import the Scheduler package.
* Automatically rename `recurrenceButtonTextTemplate` to `recurrenceSummaryTemplate` and `RecurrenceButtonTextTemplateProps` to `RecurrenceSummaryTemplateProps`. If both template props are set, preserve the existing `recurrenceSummaryTemplate` and remove the deprecated prop.
* Preserve your existing code for instruction-only codemods, which only flag the affected files and surface migration instructions.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

The following table outlines the specific Scheduler codemods:

| Codemod                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scheduler-event-rendering-changes`         | Flags the files affected by the resource color of the Scheduler events, which is now applied through the `--kendo-scheduler-event-color` CSS variable, and by the new drag hint and all-day event rendering. <ul><li>Detects imports of `SchedulerItem`, `SchedulerEditItem`, `SchedulerViewItem`, `SchedulerProportionalViewItem`, `SchedulerTask`, `SchedulerEditTask`, and `SchedulerViewTask`. The task components are flagged only for the `k-scheduler-mark` color, which is now resolved through the theme.</li><li>Detects the `k-event-drag-hint`, `k-marquee-color`, `k-event-all-day`, and `k-scheduler-mark` CSS classes, `k-selected` selectors scoped to `k-scheduler` or `k-event`, including selectors that are nested in SCSS, Sass, and Less rules, and `k-event` attribute selectors on the inline `style` colors.</li><li>Detects tests and scripts in files that import the Scheduler package and assert the inline `backgroundColor` or `borderColor` of `.k-event` elements.</li></ul> |
| `scheduler-default-behavior-changes`        | Flags the files affected by the new `eventOverview` and `quickCreate` popovers, which are enabled by default, by the handling of the exceptions of recurring series, and by the removed `k-scheduler-mobile` class. <ul><li>Detects imports of `Scheduler`.</li><li>Detects the `k-scheduler-mobile` CSS class.</li><li>Instructs you to set `:event-overview="false"` and `:quick-create="false"` to keep the previous behavior.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `scheduler-data-action-prop-rename`         | Flags the files that may use the renamed `onDataaction` callback that the `Scheduler` passes to its views, which is now `onDataAction`. <ul><li>Detects `onDataaction` and the `dataaction` event name, for example in `defineEmits` declarations, `emits` arrays and objects, and `emit` calls, in any script, template, or `.vue` file, even if it does not import the Scheduler package, because custom views may not import it.</li><li>Instructs you to read the callback from the `onDataAction` prop in custom views. Files that only attach an `onDataaction` or `@dataaction` listener to a built-in component need no change.</li></ul>                                                                                                                                                                                                                                                                                                                                                             |
| `scheduler-recurrence-template-deprecation` | Renames the deprecated `recurrenceButtonTextTemplate` prop of `SchedulerFormEditor` to `recurrenceSummaryTemplate` and `RecurrenceButtonTextTemplateProps` to `RecurrenceSummaryTemplateProps`. <ul><li>Detects JSX/TSX, `h()`/`createVNode()`, and Vue template usages of `SchedulerFormEditor`, including aliased imports.</li><li>If both template props are set, keeps the existing `recurrenceSummaryTemplate` and removes the deprecated prop.</li><li>The new template customizes the recurrence summary, not the button label. Review nullable payload handling and templates previously used to customize button labels.</li></ul>                                                                                                                                                                                                                                                                                                                                                                   |

### TreeView

To migrate the TreeView package from v10.0.0 to v11.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-treeview --from=10 --to=11 --ai-mode
```

All TreeView codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from `@progress/kendo-vue-treeview` and the affected CSS classes. The detection recognizes custom import names as well.
* Preserve your existing code. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

The following table outlines the specific TreeView codemods:

| Codemod                           | Description                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `treeview-item-rendering-changes` | Flags the files affected by the custom items of the `TreeView`, which are rendered without the `k-treeview-leaf-text` element. <ul><li>Detects the `item` prop of `TreeView`.</li><li>Detects the `k-treeview-leaf-text` CSS class.</li><li>Instructs you to update the selectors that expect `.k-treeview-leaf-text` around a custom item, or to add the class to the root element of the custom item.</li></ul> |

## Kendo UI for Vue v9.0.0 to v10.0.0

### Quick Guide

To migrate a specific Kendo UI for Vue package from v9.0.0 to v10.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-<package-name> --from=9 --to=10 --ai-mode
```

> If not already installed, you will be prompted to install the Kendo CLI when running this command for the first time.

This command checks for available updates for the specified package and its peer dependencies that are already present in the project, prompts you to install them, and runs all relevant codemods.

> The v10.0.0 codemods flag the affected files and print migration instructions that you apply manually. These codemods are instruction-only and do not modify your code. They run only when you use the `--ai-mode` option. The only exception is `scheduler-editor-title-message`, which updates your code and runs with or without `--ai-mode`.

For the complete list of changes in this release, see [Breaking Changes in 10.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/breaking-changes/10-0-0) and [Rendering Changes in 10.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/rendering-changes/10-0-0).

### Best Practices

* Migrate between consecutive major versions.
* Migrate one package at a time.

### Scheduler

To migrate the Scheduler package from v9.0.0 to v10.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-scheduler --from=9 --to=10 --ai-mode
```

All Scheduler codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from `@progress/kendo-vue-scheduler`, the affected props and events, and the affected CSS classes. The detection recognizes custom import names as well.
* Preserve your existing code, except for the `scheduler-editor-title-message` codemod. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

The following table outlines the specific Scheduler codemods:

| Codemod                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scheduler-item-rendering-changes`    | Flags the files affected by the removed inline delete icon of the Scheduler events and by the new `k-readonly` state of read-only events. <ul><li>Detects imports of `SchedulerItem`, `SchedulerEditItem`, `SchedulerViewItem`, and `SchedulerProportionalViewItem`.</li><li>Detects the `k-event-delete` and `k-event-actions` CSS classes.</li><li>Detects the `removeclick` event handlers, except in files that use only the task components.</li></ul>                                                                                                                                                                                                                                                                                                                                          |
| `scheduler-toolbar-rendering-changes` | Flags the files affected by the redesigned Scheduler toolbar, which includes the view selector, the collapsed toolbar, and the `BusinessHours` button. <ul><li>Detects imports of `Scheduler`, `SchedulerHeader`, `SchedulerFooter`, `SchedulerNavigation`, `SchedulerViewSelector`, and `BusinessHours`.</li><li>Detects the `k-views-dropdown` CSS class.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `scheduler-form-rendering-changes`    | Flags the files affected by the redesigned create and edit form, which includes the markup, the footer buttons, the custom editors, and the recurrence dialog. <ul><li>Detects imports of `SchedulerForm`, `SchedulerFormEditor`, `SchedulerActionButtons`, and `SchedulerRecurrenceDialog`.</li><li>Detects the `startEditor`, `endEditor`, and `recurrenceEditor` props of `SchedulerForm` and `SchedulerFormEditor`, and the `form` prop of `Scheduler`.</li><li>Detects the `k-scheduler-edit-form` CSS class.</li></ul>                                                                                                                                                                                                                                                                         |
| `scheduler-agenda-rendering-changes`  | Flags the files affected by the `AgendaView` table roles, the moved `k-scheduler-body` wrapper, and the new `DateHeaderCell` markup. <ul><li>Detects imports of `AgendaView` and `DateHeaderCell`.</li><li>Detects the `k-scheduler-agendaday` and `k-scheduler-datecolumn` CSS classes.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `scheduler-date-format-changes`       | Flags the files that may rely on the default `selectedDateFormat` and `selectedShortDateFormat` of the Scheduler views, which changed. <ul><li>Detects imports of `AgendaView`, `DayView`, `WeekView`, `WorkWeekView`, `MonthView`, and `TimelineView`.</li><li>Detects the `selectedDateFormat` and `selectedShortDateFormat` props.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `scheduler-more-events-changes`       | Flags the files affected by the `MonthView` **more** button, which opens a popover instead of switching to the Day view. <ul><li>Detects imports of `MonthView`.</li><li>Detects the `k-more-events` CSS class.</li><li>Detects the `showmoreitems` event handlers.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `scheduler-editor-title-message`      | Updates your localization messages for the new `SchedulerForm` dialog titles. This codemod changes your code and runs without the `--ai-mode` option. <ul><li>Replaces the `scheduler.editorTitle` message with the `scheduler.editorNewEvent` and `scheduler.editorEditEvent` messages and keeps your customized text.</li><li>Updates flat keys (`'scheduler.editorTitle'`) and keys nested under `scheduler`, in `.js`, `.jsx`, `.ts`, `.tsx`, `.vue` (script blocks), and `.json` files.</li><li>Keeps the `scheduler.editorNewEvent` and `scheduler.editorEditEvent` messages that already exist.</li><li>Leaves values that are expressions with possible side effects, such as function calls and property access, unchanged and reports the file. Migrate these messages manually.</li></ul> |

## Kendo UI for Vue v8.0.0 to v9.0.0

### Quick Guide

To migrate a specific Kendo UI for Vue package from v8.0.0 to v9.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-<package-name> --from=8 --to=9 --ai-mode
```

> If not already installed, you will be prompted to install the Kendo CLI when running this command for the first time.

This command checks for available updates for the specified package and its peer dependencies that are already present in the project, prompts you to install them, and runs all relevant codemods.

> The v9.0.0 codemods flag the affected files and print migration instructions that you apply manually. These codemods are instruction-only and do not modify your code. They run only when you use the `--ai-mode` option. The exceptions are `dialog-window-theme-color-removed` in the Dialogs package and `app-bar-theme-color-values` in the Layout package, which update your code and run with or without `--ai-mode`.

For the complete list of changes in this release, see [Breaking Changes in 9.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/breaking-changes/9-0-0) and [Rendering Changes in 9.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/rendering-changes/9-0-0).

### Best Practices

* Migrate between consecutive major versions.
* Migrate one package at a time.

### What the Codemods Detect

All v9.0.0 codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from the Kendo UI for Vue package, the affected props, and the affected CSS classes. The detection recognizes custom import names as well.
* Preserve your existing code, except for the `dialog-window-theme-color-removed` and `app-bar-theme-color-values` codemods. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.
* Detect the removed `themeColor` values only when they are set as string literals. Review the values that come from variables, props, or computed expressions manually.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

### Buttons

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-buttons --from=8 --to=9 --ai-mode
```

| Codemod                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `button-theme-color`                        | Flags the files that set the `themeColor` of `Button`, `SmartPasteButton`, or `SpeechToTextButton` to the removed `'dark'` or `'light'` value. <ul><li>Detects the `themeColor` (`theme-color`) prop set to `'dark'` or `'light'` on these components.</li></ul>                                                                                                                                                                |
| `drop-down-button-split-button-theme-color` | Flags the files that set the `themeColor` of `DropDownButton` or `SplitButton` to the removed `'dark'` or `'light'` value. <ul><li>Detects the `themeColor` (`theme-color`) prop set to `'dark'` or `'light'` on these components.</li></ul>                                                                                                                                                                                    |
| `floating-action-button-theme-color`        | Flags the files that set the `themeColor` of `FloatingActionButton` to a removed value. <ul><li>Detects the `themeColor` (`theme-color`) prop set to `'info'`, `'success'`, `'warning'`, `'error'`, `'dark'`, `'light'`, or `'inverse'`.</li></ul>                                                                                                                                                                              |
| `buttons-rendering-changes`                 | Flags the files affected by the removed classes of the Toolbar scroll buttons and by the changed default icons of the Toolbar scroll buttons, `SplitButton`, and `SpeechToTextButton`. <ul><li>Detects the `k-toolbar-prev` and `k-toolbar-next` CSS classes.</li><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-down`, `caret-alt-left`, `caret-alt-right`, `microphone-outline`, and `stop-sm`.</li></ul> |

### Common

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-common --from=8 --to=9 --ai-mode
```

| Codemod            | Description                                                                                                                                                                                                                                 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `icon-theme-color` | Flags the files that set the `themeColor` of `SvgIcon`, `FontIcon`, or `Icon` to the removed `'dark'` or `'light'` value. <ul><li>Detects the `themeColor` (`theme-color`) prop set to `'dark'` or `'light'` on these components.</li></ul> |

### Conversational UI

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-conversational-ui --from=8 --to=9 --ai-mode
```

| Codemod                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `conversational-ui-rendering-changes` | Flags the files affected by the new default icons of `PromptBox` and `AIPrompt` and by the `PromptBox` action button markup changes. <ul><li>Detects the `k-generating` CSS class.</li><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `stop-sm`, `arrow-up-outline`, `paperclip-outline-alt-right`, `x-mark-sm-outline`, `thumb-up-outline`, and `thumb-down-outline`.</li><li>Detects the `aria-multiline` attribute in files that import from `@progress/kendo-vue-conversational-ui`.</li></ul> |

### Data Tools

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-data-tools --from=8 --to=9 --ai-mode
```

| Codemod                       | Description                                                                                                                                                                                                                                                                                                               |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `datatools-rendering-changes` | Flags the files affected by the new default icons of the `Pager` navigation buttons, which the Grid pager also uses, and by the new `k-pager-responsive` class. <ul><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-to-left`, `caret-alt-to-right`, `caret-alt-left`, and `caret-alt-right`.</li></ul> |

### Date Inputs

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-dateinputs --from=8 --to=9 --ai-mode
```

| Codemod                        | Description                                                                                                                                                                                                                                                                                                                          |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `dateinputs-rendering-changes` | Flags the files affected by the new `DateTimePicker` Date/Time switcher markup, the new `DateInput` spinner icons, and the conditional `aria-controls` attribute. <ul><li>Detects the `k-datetime-buttongroup` CSS class.</li><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-up` and `caret-alt-down`.</li></ul> |

### Dialogs

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-dialogs --from=8 --to=9 --ai-mode
```

| Codemod                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dialog-window-theme-color-removed` | Removes the `themeColor` prop from the `Dialog` and `Window` components. The prop is removed, and the `k-window-primary`, `k-window-dark`, and `k-window-light` theme classes are no longer rendered. This codemod changes your code and runs with or without the `--ai-mode` option. <ul><li>Removes the `themeColor` (`theme-color`) attribute from `Dialog` and `Window` in `.ts`, `.tsx`, `.js`, `.jsx`, and `.vue` files, including `.vue` templates, JSX, and `h()` or `createVNode()` calls.</li><li>Does not change props passed through `v-bind="obj"` or JSX spreads, dynamic components, and wrapper components that forward `themeColor` to a `Dialog` or a `Window`. Migrate these manually.</li></ul> |
| `dialogs-rendering-changes`         | Flags the files that reference the `k-window-primary`, `k-window-dark`, or `k-window-light` classes, which are no longer rendered. <ul><li>Detects the `k-window-primary`, `k-window-dark`, and `k-window-light` CSS classes.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

### Dropdowns

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-dropdowns --from=8 --to=9 --ai-mode
```

| Codemod                       | Description                                                                                                                                                                                                                               |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dropdowns-rendering-changes` | Flags the files affected by the new default toggle icon of `ComboBox`, `DropDownList`, and `DropDownTree` and by the `SearchBar` `tabindex`. <ul><li>Detects the `k-i-caret-alt-down` and `k-svg-i-caret-alt-down` CSS classes.</li></ul> |

### Grid

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-grid --from=8 --to=9 --ai-mode
```

| Codemod                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `grid-rendering-changes` | Flags the files affected by the new default icons of the Grid: the group arrow, the pin and unpin icons, the icons of the built-in context menu items, and the `Pager` buttons. <ul><li>Detects imports of `contextMenuItemsMap`.</li><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-down`, `caret-alt-right`, `caret-alt-left`, `caret-alt-up`, `caret-alt-expand`, `caret-alt-to-top`, `caret-alt-to-bottom`, `caret-alt-to-left`, `caret-alt-to-right`, `pin-outline`, `pin-outline-top`, `pin-outline-bottom`, and `unpin-outline`.</li></ul> |

### Indicators

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-indicators --from=8 --to=9 --ai-mode
```

| Codemod              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `badge-theme-color`  | Flags the files affected by the removed `Badge` and `BadgeContainer` `themeColor` values, the removed `k-badge-dark` and `k-badge-light` classes, and the `BadgeContainer` default `themeColor` change from `'primary'` to `'base'`. <ul><li>Detects imports of `BadgeContainer`.</li><li>Detects the `themeColor` (`theme-color`) prop of `Badge` set to `'dark'`, `'light'`, `'inverse'`, or `'inherit'`.</li><li>Detects the `themeColor` (`theme-color`) prop of `BadgeContainer` set to `'dark'` or `'light'`.</li><li>Detects the `k-badge-dark` and `k-badge-light` CSS classes.</li></ul> |
| `loader-theme-color` | Flags the files affected by the removed `Loader` `themeColor` values, the removed `k-loader-<color>` classes, and the `Loader` default `themeColor` change. <ul><li>Detects imports of `Loader`.</li><li>Detects the `themeColor` (`theme-color`) prop set to `'info'`, `'success'`, `'warning'`, `'error'`, `'dark'`, `'light'`, or `'inverse'`.</li><li>Detects the `k-loader-info`, `k-loader-success`, `k-loader-warning`, `k-loader-error`, `k-loader-dark`, `k-loader-light`, and `k-loader-inverse` CSS classes.</li></ul>                                                                 |

### Inputs

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-inputs --from=8 --to=9 --ai-mode
```

| Codemod                    | Description                                                                                                                                                                                                                                                                                                      |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inputs-rendering-changes` | Flags the files affected by the new default icons of `ColorInput`, `ColorPicker`, `NumericTextBox`, `Slider`, and `Rating`. <ul><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-expand`, `caret-alt-up`, `caret-alt-down`, `caret-alt-left`, `caret-alt-right`, and `star-outline`.</li></ul> |

### Layout

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-layout --from=8 --to=9 --ai-mode
```

| Codemod                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app-bar-theme-color-values`    | Replaces the removed `AppBar` `themeColor` values. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Replaces `'light'` with `'base'` and `'dark'` with `'inverse'`.</li><li>Updates static values, string-literal bindings, and JSX or `h()` props of `AppBar`, including the `theme-color` spelling.</li><li>Leaves dynamic values, spreads, and `v-bind="obj"` unchanged.</li></ul>                                                                                                                                 |
| `app-bar-theme-color`           | Flags the files affected by the removed `AppBar` `themeColor` value `'inherit'`, the removed `k-appbar-<color>` classes, and the `AppBar` default `themeColor` change from `'light'` to `'base'`. <ul><li>Detects imports of `AppBar`.</li><li>Detects the `themeColor` (`theme-color`) prop set to `'inherit'`.</li><li>Detects the `k-appbar-light`, `k-appbar-dark`, and `k-appbar-inherit` CSS classes.</li></ul>                                                                                                                                |
| `avatar-theme-color`            | Flags the files affected by the removed `Avatar` `themeColor` values, the changed `k-avatar-<color>` classes, and the removed `Avatar` default `themeColor`. <ul><li>Detects imports of `Avatar`.</li><li>Detects the `themeColor` (`theme-color`) prop set to `'info'`, `'success'`, `'error'`, `'warning'`, `'dark'`, `'light'`, `'inverse'`, or `'inherit'`.</li><li>Detects the `k-avatar-solid-<color>` and `k-avatar-outline-<color>` CSS classes.</li></ul>                                                                                   |
| `bottom-navigation-theme-color` | Flags the files affected by the removed `BottomNavigation` `themeColor` values, the removed `k-bottom-nav-<color>` classes, and the `BottomNavigation` default `themeColor` change from `'primary'` to `'base'`. <ul><li>Detects imports of `BottomNavigation`.</li><li>Detects the `themeColor` (`theme-color`) prop set to `'info'`, `'success'`, `'warning'`, `'error'`, `'dark'`, or `'light'`.</li><li>Detects the `k-bottom-nav-<color>`, `k-bottom-nav-flat-<color>`, and `k-bottom-nav-solid-<color>` CSS classes of these values.</li></ul> |
| `layout-rendering-changes`      | Flags the files affected by the new default icons of `Menu`, `Splitter`, and `Stepper` and by the `PanelBar` accessibility markup changes. <ul><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-left`, `caret-alt-right`, `caret-alt-up`, and `caret-alt-down`.</li><li>Detects the `k-svg-i-check-outline` CSS class.</li><li>Detects the `k-panelbar-item` and `k-panelbar-content` CSS classes.</li></ul>                                                                                                                       |

### ListBox

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-listbox --from=8 --to=9 --ai-mode
```

| Codemod                     | Description                                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `listbox-rendering-changes` | Flags the files that import `ListBoxToolbar` or reference the caret icon classes, which the new default chevron icons replace. <ul><li>Detects imports of `ListBoxToolbar`.</li><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-up`, `caret-alt-down`, `caret-alt-left`, `caret-alt-right`, `caret-double-alt-left`, and `caret-double-alt-right`.</li></ul> |

### Notification

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-notification --from=8 --to=9 --ai-mode
```

| Codemod                          | Description                                                                                                                                                                                                                                                      |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `notification-rendering-changes` | Flags the files that reference the outline icon classes, which the new default success and error `Notification` icons replace. <ul><li>Detects the `k-i-check-outline`, `k-svg-i-check-outline`, `k-i-x-outline`, and `k-svg-i-x-outline` CSS classes.</li></ul> |

### Popup

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-popup --from=8 --to=9 --ai-mode
```

| Codemod                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `popup-rendering-changes` | Flags the files that reference the Popup animation container and slide classes, which the Popup markup and animation changes affect. <ul><li>Detects the `k-animation-container`, `k-animation-container-shown`, and `k-child-animation-container` CSS classes.</li><li>Detects the `k-slide-<direction>-<phase>` CSS classes, where the direction is `up`, `down`, `left`, or `right`, and the phase is `appear`, `enter`, or `exit`, optionally followed by `-active`.</li></ul> |

### Scheduler

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-scheduler --from=8 --to=9 --ai-mode
```

| Codemod                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scheduler-rendering-changes` | Flags the files affected by the Scheduler view selector (a `SegmentedControl` instead of a `ButtonGroup`), the new navigation and event arrow icons, and the `MonthView` item positioning. <ul><li>Detects the `k-scheduler-views` and `k-nav-day` CSS classes.</li><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-left` and `caret-alt-right`.</li><li>Detects `translateY(30px)` in files that import from `@progress/kendo-vue-scheduler`.</li></ul> |

> This codemod describes only the 8.x to 9.0.0 changes. For the Scheduler changes in 10.0.0, see [Breaking Changes in 10.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/breaking-changes/10-0-0) and [Rendering Changes in 10.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/rendering-changes/10-0-0).

### TreeList

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-treelist --from=8 --to=9 --ai-mode
```

| Codemod                      | Description                                                                                                                                                                                                                                                                                       |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `treelist-rendering-changes` | Flags the files affected by the new default icons of the TreeList expand and collapse toggle and the `Pager` buttons. <ul><li>Detects the `k-i-*` and `k-svg-i-*` icon classes of `caret-alt-down`, `caret-alt-right`, `caret-alt-left`, `caret-alt-to-left`, and `caret-alt-to-right`.</li></ul> |

## Kendo UI for Vue v7.0.0 to v8.0.0

### Quick Guide

To migrate a specific Kendo UI for Vue package from v7.0.0 to v8.0.0, run the following command in your project root:

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-<package-name> --from=7 --to=8 --ai-mode
```

> If not already installed, you will be prompted to install the Kendo CLI when running this command for the first time.

This command checks for available updates for the specified package and its peer dependencies that are already present in the project, prompts you to install them, and runs all relevant codemods.

> The v8.0.0 codemods flag the affected files and print migration instructions that you apply manually. These codemods are instruction-only and do not modify your code. They run only when you use the `--ai-mode` option. The exceptions are the `<package>-appearance-null-props` codemods, `grid-loader-show-loader`, and `grid-ref-get-columns`, which update your code and run with or without `--ai-mode`.

For the complete list of changes in this release, see [Breaking Changes in 8.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/breaking-changes/8-0-0) and [Rendering Changes in 8.0.0](https://www.telerik.com/kendo-vue-ui-develop/components/updates/rendering-changes/8-0-0).

### Best Practices

* Migrate between consecutive major versions.
* Migrate one package at a time.

### What the Codemods Detect

All v8.0.0 codemods perform the following:

* Scan your `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.css`, `.scss`, `.sass`, and `.less` files for imports from the Kendo UI for Vue package, the affected props, and the affected CSS classes. The detection recognizes custom import names as well.
* Preserve your existing code, except for the `<package>-appearance-null-props` codemods, `grid-loader-show-loader`, and `grid-ref-get-columns`. Each instruction-only codemod only flags the affected files and surfaces the migration instructions.
* Remove or rename only the literal values. The `<package>-appearance-null-props` codemods remove the literal `null` values (`:size="null"`, `size={null}`, or `size: null` in `h()` and `createVNode()` calls) of the affected props in `.ts`, `.tsx`, `.js`, `.jsx`, and `.vue` files. When an earlier spread (`{...props}`) or `v-bind="obj"` on the same element might provide the prop, the codemods replace `null` with `undefined` instead, so that the value does not leak from the spread. The codemods change only the components that resolve to the imported Kendo UI component and leave shadowing variables or parameters with the same name unchanged. Review the values that evaluate to `null` at runtime, the props passed through `v-bind="obj"` or JSX spreads, and the wrapper components that forward these props.
* Do not add the props that you need to keep the previous default look. Set `size="medium"`, `rounded="medium"`, `fillMode="solid"`, and `themeColor="base"` explicitly where the component supports them.

> Dynamic template bindings (`v-bind="obj"`, `:[name]`), `lang="pug"` templates, and components registered globally with `app.component()` are not analyzed. Review them manually.

### Buttons

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-buttons --from=7 --to=8 --ai-mode
```

| Codemod                                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `buttons-appearance-null-props`                | Removes the literal `null` values of the props whose default values were removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Removes the `size`, `rounded`, `fillMode`, and `themeColor` props of `Button`, `Chip`, `FloatingActionButton`, `DropDownButton`, `SplitButton`, and `SpeechToTextButton`.</li><li>Removes the `size`, `rounded`, and `fillMode` props of `ChipList`, and the `size` and `fillMode` props of `Toolbar`.</li></ul>                                                                                                                                                                                                                                                               |
| `buttons-default-appearance-rendering-changes` | Flags the files affected by the removed default `size`, `rounded`, `fillMode`, and `themeColor` values and by the renamed theme color classes. <ul><li>Detects imports of `Button`, `Chip`, `ChipList`, `FloatingActionButton`, `DropDownButton`, `SplitButton`, `SpeechToTextButton`, and `Toolbar`.</li><li>Detects the `k-button-md`, `k-button-solid`, `k-rounded-md`, `k-rounded-full`, `k-chip-md`, `k-chip-solid`, `k-chip-list-md`, `k-fab-md`, `k-fab-solid`, `k-toolbar-md`, `k-toolbar-solid`, `k-toolbar-items-list-md`, and `k-toolbar-items-list-solid` CSS classes.</li><li>Detects the combined `k-button-<fillMode>-<themeColor>`, `k-chip-<fillMode>-<themeColor>`, and `k-fab-<fillMode>-<themeColor>` CSS classes.</li></ul> |
| `button-shape-removed`                         | Flags the files that set the removed `shape` prop or use the removed `FloatingActionButtonShape` type. <ul><li>Detects the `shape` prop of `Button`, `FloatingActionButton`, `DropDownButton`, and `SplitButton`.</li><li>Detects the `FloatingActionButtonShape` type.</li><li>Detects the `k-button-square`, `k-fab-rectangle`, `k-fab-square`, `k-fab-pill`, `k-fab-circle`, and `k-fab-rounded` CSS classes.</li></ul>                                                                                                                                                                                                                                                                                                                       |

### Data Tools

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-data-tools --from=7 --to=8 --ai-mode
```

| Codemod                                          | Description                                                                                                                                                                                                                                                                                                                                               |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `datatools-appearance-null-props`                | Removes the literal `null` values of the `Pager` `size` prop, whose default value was removed. This codemod updates your code and runs without the `--ai-mode` option.                                                                                                                                                                                    |
| `datatools-default-appearance-rendering-changes` | Flags the files affected by the removed default `size` of the `Pager` and the `FilterCell` child controls and by the classes it produced. <ul><li>Detects imports of `Pager`, `PagerInput`, `PagerNavigationButton`, `PagerNumericButtons`, `PagerPageSizes`, and `FilterCell`.</li><li>Detects the `k-pager-md` and `k-picker-md` CSS classes.</li></ul> |

### Date Inputs

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-dateinputs --from=7 --to=8 --ai-mode
```

| Codemod                                           | Description                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dateinputs-appearance-null-props`                | Removes the literal `null` values of the props whose default values were removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Removes the `size`, `rounded`, and `fillMode` props of `DateInput`, `DatePicker`, `DateRangePicker`, `DateTimePicker`, and `TimePicker`.</li></ul>                                |
| `dateinputs-default-appearance-rendering-changes` | Flags the files affected by the removed default `size`, `rounded`, and `fillMode` values and by the classes they produced. <ul><li>Detects imports of `DateInput`, `DatePicker`, `DateRangePicker`, `DateTimePicker`, and `TimePicker`.</li><li>Detects the `k-input-md`, `k-input-solid`, `k-rounded-md`, and `k-button-md` CSS classes.</li></ul> |

### Dropdowns

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-dropdowns --from=7 --to=8 --ai-mode
```

| Codemod                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `dropdowns-appearance-null-props`                | Removes the literal `null` values of the props whose default values were removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Removes the `size`, `rounded`, and `fillMode` props of `AutoComplete`, `ComboBox`, `DropDownList`, `DropDownTree`, `MultiSelect`, and `MultiSelectTree`.</li><li>Removes the `tagsRounded` prop of `MultiSelect`.</li></ul>                                                                            |
| `dropdowns-default-appearance-rendering-changes` | Flags the files affected by the removed default `size`, `rounded`, `fillMode`, and `tagsRounded` values and by the classes they produced. <ul><li>Detects imports of `AutoComplete`, `ComboBox`, `DropDownList`, `DropDownTree`, `MultiSelect`, and `MultiSelectTree`.</li><li>Detects the `k-input-md`, `k-input-solid`, `k-picker-md`, `k-picker-solid`, `k-rounded-md`, `k-chip-list-md`, `k-chip-md`, `k-chip-solid`, and `k-chip-solid-base` CSS classes.</li></ul> |

### Grid

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-grid --from=7 --to=8 --ai-mode
```

| Codemod                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `grid-loader-show-loader`                   | Renames the literal boolean `loader` prop of the `Grid` to `showLoader`, because the boolean form of `loader` was removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Renames `loader`, `:loader="true"`, `:loader="false"`, `loader={true}`, and `loader={false}` to `showLoader` (`show-loader` in templates).</li><li>Does not change dynamic bindings, non-boolean values, or elements that already set `showLoader`. Migrate these manually.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                       |
| `grid-row-render-item`                      | Flags the files that use the `Grid` `rowRender` or the `GridRowProps` type, whose row props now declare `item` instead of `dataItem`. <ul><li>Detects the `rowRender` (`row-render`) prop of `Grid`.</li><li>Detects the `GridRowProps` type.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `grid-ref-get-columns`                      | Replaces the removed `getColumns()` method of the `Grid` template ref with the `columns` property. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Rewrites the zero-argument `gridRef.value.getColumns()` and `this.$refs.grid.getColumns()` calls to `gridRef.value.columns` and `this.$refs.grid.columns`, which are properties, not function calls.</li><li>Recognizes the `Grid` refs that are statically declared in the same file: a static `ref="grid"` on the `Grid`, a JSX `ref`, `useTemplateRef`, `ref<InstanceType<typeof Grid>>()`, and `this.$refs.grid`.</li><li>Does not change the calls with arguments, optional calls, template expressions such as `@click="gridRef.getColumns()"`, aliased or dynamic refs, and refs that are not provably `Grid` refs. Migrate these manually; the `grid-ref-api` codemod flags them.</li></ul> |
| `grid-ref-api`                              | Flags the files that still call `getColumns()` after the automatic rewrite, because the `Grid` template ref now exposes only the `GridHandle` members. <ul><li>Detects the remaining `.getColumns()` calls, such as the template expressions, the aliased or dynamic refs, and the refs that the `grid-ref-get-columns` codemod could not prove to be `Grid` refs.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `grid-default-appearance-rendering-changes` | Flags the files affected by the removed `GridToolbar` default `size` and by the changed Grid markup, which includes the header and footer padding, the header cells, the no-records and loader markup, and the row attributes. <ul><li>Detects imports of `Grid`, `GridToolbar`, `GridNoRecords`, and `GridFilterCell`.</li><li>Detects the `k-toolbar-md`, `k-grid-norecords`, `k-loader-container`, `k-loader-container-md`, `k-loader-container-overlay`, `k-loader-container-inner`, and `k-loader-top` CSS classes.</li></ul>                                                                                                                                                                                                                                                                                                                                                     |
| `grid-loader-binding`                       | Flags the files where a `Grid` receives a `loader` binding that is not a literal boolean or a plain slot name, for example `:loader="isLoading"`, because `loader` no longer accepts booleans and a custom loader template renders only when `showLoader` is `true`. <ul><li>Detects the `loader` prop of `Grid` bound to a variable or an expression, unless `showLoader` is also set.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

### Indicators

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-indicators --from=7 --to=8 --ai-mode
```

| Codemod                                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `indicators-appearance-null-props`                | Removes the literal `null` values of the props whose default values were removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Removes the `size`, `rounded`, `fillMode`, and `themeColor` props of `Badge`.</li><li>Removes the `size`, `rounded`, and `fillMode` props of `BadgeContainer`.</li><li>Removes the `size` prop of `Loader`.</li><li>Leaves the `themeColor` prop of `BadgeContainer` and `Loader` unchanged, because its default value was not removed.</li></ul> |
| `indicators-default-appearance-rendering-changes` | Flags the files affected by the removed default `size`, `rounded`, `fillMode`, and `themeColor` values and by the classes they produced. <ul><li>Detects imports of `Badge`, `BadgeContainer`, and `Loader`.</li><li>Detects the `k-badge-md`, `k-badge-solid`, `k-rounded-md`, and `k-loader-md` CSS classes.</li><li>Detects the combined `k-badge-<fillMode>-<themeColor>` CSS classes.</li></ul>                                                                                                                |

### Inputs

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-inputs --from=7 --to=8 --ai-mode
```

| Codemod                                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inputs-appearance-null-props`                | Removes the literal `null` values of the props whose default values were removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Removes the `size`, `rounded`, and `fillMode` props of `ColorPicker`, `Input`, `MaskedTextBox`, `NumericTextBox`, `Signature`, `TextArea`, and `TextBox`.</li><li>Removes the `size` and `rounded` props of `Checkbox`.</li><li>Removes the `size` prop of `ColorPalette`, `FlatColorPicker`, and `RadioButton`.</li><li>Removes the `size`, `trackRounded`, and `thumbRounded` props of `Switch`.</li></ul>                                                                                                                                                                                                         |
| `inputs-default-appearance-rendering-changes` | Flags the files affected by the removed default `size`, `rounded`, `fillMode`, `trackRounded`, and `thumbRounded` values, by the removed `Switch` `'circle'` option, and by the classes they produced. <ul><li>Detects imports of `Checkbox`, `ColorPalette`, `ColorPicker`, `FlatColorPicker`, `Input`, `MaskedTextBox`, `NumericTextBox`, `RadioButton`, `Signature`, `Switch`, `TextArea`, and `TextBox`.</li><li>Detects the `trackRounded` and `thumbRounded` props of `Switch` set to `'circle'`.</li><li>Detects the `k-input-md`, `k-input-solid`, `k-picker-md`, `k-picker-solid`, `k-signature-md`, `k-checkbox-md`, `k-radio-md`, `k-switch-md`, `k-colorpalette-md`, `k-coloreditor-md`, `k-colorgradient-md`, `k-rounded-md`, and `k-rounded-full` CSS classes.</li></ul> |

### Layout

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-layout --from=7 --to=8 --ai-mode
```

| Codemod                                       | Description                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `layout-appearance-null-props`                | Removes the literal `null` values of the props whose default values were removed. This codemod updates your code and runs without the `--ai-mode` option. <ul><li>Removes the `size`, `rounded`, and `fillMode` props of `Avatar`.</li><li>Removes the `size` prop of `Breadcrumb` and `TabStrip`.</li><li>Leaves the `themeColor` prop of `Avatar` unchanged, because its default value was not removed.</li></ul> |
| `layout-default-appearance-rendering-changes` | Flags the files affected by the removed default `size`, `rounded`, and `fillMode` values of `Avatar` and `TabStrip` and by the classes they produced. <ul><li>Detects imports of `Avatar` and `TabStrip`.</li><li>Detects the `k-avatar-md`, `k-avatar-solid`, `k-avatar-solid-primary`, `k-rounded-md`, and `k-tabstrip-md` CSS classes.</li></ul>                                                                 |

### ListBox

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-listbox --from=7 --to=8 --ai-mode
```

| Codemod                                        | Description                                                                                                                                                                                                                |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `listbox-appearance-null-props`                | Removes the literal `null` values of the `ListBox` `size` prop, whose default value was removed. This codemod updates your code and runs without the `--ai-mode` option.                                                   |
| `listbox-default-appearance-rendering-changes` | Flags the files affected by the removed `ListBox` default `size` and by the `k-list-md` class it produced. <ul><li>Detects imports of `ListBox` and `ListBoxToolbar`.</li><li>Detects the `k-list-md` CSS class.</li></ul> |

### TreeList

```bash
npx @progress/kendo-cli migrate @progress/kendo-vue-treelist --from=7 --to=8 --ai-mode
```

| Codemod                                         | Description                                                                                                                                                                                                                                                              |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `treelist-default-appearance-rendering-changes` | Flags the files affected by the removed `TreeList` default `size` and by the changed table, header table, toolbar, and `Pager` classes. <ul><li>Detects imports of `TreeList`.</li><li>Detects the `k-toolbar-md`, `k-table-md`, and `k-pager-md` CSS classes.</li></ul> |

## Suggested Links

* [Assisted Migration Tooling](https://www.telerik.com/kendo-vue-ui-develop/components/migration/assisted-migration)
* [Kendo CLI Options](https://www.telerik.com/kendo-vue-ui-develop/components/kendo-cli-setup)
* [Keeping Up to Date](https://www.telerik.com/kendo-vue-ui-develop/components/up-to-date)
* [Breaking Changes](https://www.telerik.com/kendo-vue-ui-develop/components/updates/breaking-changes)
* [Rendering Changes](https://www.telerik.com/kendo-vue-ui-develop/components/updates/rendering-changes)
