Migrate from v2 to v3

Use this guide to upgrade an existing @qualcomm-ui/angular application from v2 to v3. QUI Angular v3 requires Angular 22.1 or later and replaces the deprecated lucide-angular package with @lucide/angular.

Prerequisites

  • Angular v22.1 or later.
  • TypeScript 6.0 or later (Angular v22 requirement)
  • @lucide/angular v1.31.0 or later. See below

Update the dependencies

Update the Angular, QUI, and Lucide dependencies in package.json:

{
  "dependencies": {
    "@lucide/angular": "^1.31.0",
    "@qualcomm-ui/angular": "^3.0.0",
    "@qualcomm-ui/angular-core": "^3.0.0"
  }
}

Lucide v0 to v1 migration

Lucide v1 introduces breaking changes. Refer to their migration guide for more details. Some changes are covered below.

  • The lucide team made two significant changes in the v1 update:
    • The npm package was renamed to @lucide/angular
    • All icon imports are now prefixed with Lucide. i.e. they have been renamed from <IconName> to Lucide<IconName>

Migration

Update each Lucide import and the corresponding provideIcons entry:

import {Component} from "@angular/core"
import {Search} from "lucide-angular"
import {LucideSearch} from "@lucide/angular"

import {provideIcons} from "@qualcomm-ui/angular-core/lucide"
import {ButtonModule} from "@qualcomm-ui/angular/button"

@Component({
  imports: [ButtonModule],
  providers: [provideIcons({Search})], 
  providers: [provideIcons({LucideSearch})], 
  template: `
    <button q-button startIcon="Search">Search</button>
  `,
})
export class SearchButton {}

Existing string icon values such as startIcon="Search" and qIcon="Search" will continue to work regardless of whether you add the Lucide prefix.

Last updated on by Ryan Bower