# Combobox >> Extensions ||30 ```js script import { html } from '@mdjs/mdjs-preview'; import './src/md-combobox/md-combobox.js'; import './src/gh-combobox/gh-combobox.js'; import './src/wa-combobox/wa-combobox.js'; import './src/google-combobox/google-combobox.js'; ``` Below several extensions can be found. They illustrate that complex UI components can be created easily from an extended Lion component, just by: - **configuring**: setting properties or providing conditions via methods - **enhancing**: adding extra html/styles/logic without changing behavior of the extended element - **overriding**: replace html/styles/logic of the extended element with your own ## Material Design ```js preview-story export const MaterialDesign = () => html` Apple Artichoke Asparagus Banana Beets `; ``` ## Github ```js preview-story export const Github = () => html` master develop release feat/abc feat/xyz123 `; ``` ## Whatsapp ```js preview-story export const Whatsapp = () => { const obamaImgUrl = new URL('../src/wa-combobox/assets/obama.jpeg', import.meta.url).href; const trumpImgUrl = new URL('../src/wa-combobox/assets/trump.jpeg', import.meta.url).href; const bidenImgUrl = new URL('../src/wa-combobox/assets/biden.jpeg', import.meta.url).href; const bushImgUrl = new URL('../src/wa-combobox/assets/bush.jpeg', import.meta.url).href; const clintonImgUrl = new URL('../src/wa-combobox/assets/clinton.jpeg', import.meta.url).href; return html` `; }; ``` **Whatsapp example shows:** - advanced styling - how to match/highlight text on multiple rows of the option (not just choiceValue) - how to animate options ## Google Search ```js preview-story export const GoogleSearch = () => { return html` Apple Artichoke Asparagus Banana Beets
`; }; ``` **Google Search example shows:** - advanced styling - how to use options that are links - create exact user experience of Google Search, by: - using autocomplete 'list' as a fundament (we don't want inline completion in textbox) - enhancing `_showOverlayCondition`: open on focus - enhancing `_syncToTextboxCondition`: always sync to textbox when navigating by keyboard (this needs to be enabled, since it's not provided in the "autocomplete=list" preset)