diff --git a/build-scripts/gulp/gen-icons-json.js b/build-scripts/gulp/gen-icons-json.js index 7fce535c4d..268ccb0ce5 100644 --- a/build-scripts/gulp/gen-icons-json.js +++ b/build-scripts/gulp/gen-icons-json.js @@ -26,6 +26,7 @@ const getMeta = () => { path: svg.match(/ d="([^"]+)"/)[1], name: icon.name, tags: icon.tags, + aliases: icon.aliases, }; }); }; @@ -37,6 +38,7 @@ const addRemovedMeta = (meta) => { path: removeIcon.path, name: removeIcon.name, tags: [], + aliases: [], })); const combinedMeta = [...meta, ...removedMeta]; return combinedMeta.sort((a, b) => a.name.localeCompare(b.name)); @@ -141,7 +143,15 @@ gulp.task("gen-icons-json", (done) => { fs.writeFileSync( path.resolve(OUTPUT_DIR, "iconList.json"), - JSON.stringify(orderMeta(meta).map((icon) => icon.name)) + JSON.stringify( + orderMeta(meta).map((icon) => ({ + name: icon.name, + keywords: [ + ...icon.tags.map((t) => t.toLowerCase().replace(/\s\/\s/g, " ")), + ...icon.aliases, + ], + })) + ) ); done(); diff --git a/src/components/ha-icon-picker.ts b/src/components/ha-icon-picker.ts index 6eac291a43..129e0d2c5c 100644 --- a/src/components/ha-icon-picker.ts +++ b/src/components/ha-icon-picker.ts @@ -11,10 +11,14 @@ import { PolymerChangedEvent } from "../polymer-types"; import "./ha-icon"; import "./ha-icon-button"; -let mdiIconList: string[] = []; +type IconItem = { + icon: string; + keywords: string[]; +}; +let iconItems: IconItem[] = []; // eslint-disable-next-line lit/prefer-static-styles -const rowRenderer: ComboBoxLitRenderer = (item) => html`