--- parts: - Input Tel Dropdown - Use Cases title: 'Input Tel Dropdown: Use Cases' eleventyNavigation: key: 'Input Tel Dropdown: Use Cases' order: 20 parent: Input Tel Dropdown title: Use Cases --- # Input Tel Dropdown: Use Cases ```js script import { html } from '@mdjs/mdjs-preview'; import { ref, createRef } from 'lit/directives/ref.js'; import { loadDefaultFeedbackMessages } from '@lion/ui/validate-messages.js'; import { PhoneUtilManager } from '@lion/ui/input-tel.js'; import '@lion/ui/define/lion-input-tel-dropdown.js'; import '../../../docs/fundamentals/systems/form/assets/h-output.js'; // TODO: make each example load/use the dependencies by default // loadDefaultFeedbackMessages(); ``` ## Input Tel Dropdown When `.allowedRegions` is not configured, all regions/countries will be available in the dropdown list. Once a region is chosen, its country/dial code will be adjusted with that of the new locale. ```js preview-story export const InputTelDropdown = () => { loadDefaultFeedbackMessages(); return html` `; }; ``` ## Allowed regions When `.allowedRegions` is configured, only those regions/countries will be available in the dropdown list. ```js preview-story export const allowedRegions = () => { loadDefaultFeedbackMessages(); return html` `; }; ``` ## Preferred regions When `.preferredRegions` is configured, they will show up on top of the dropdown list to enhance user experience. ```js preview-story export const preferredRegionCodes = () => { loadDefaultFeedbackMessages(); return html` `; }; ``` ## Format ### Format strategy Determines what the formatter output should look like. Formatting strategies as provided by awesome-phonenumber / google-libphonenumber. Possible values: | strategy | output | | :------------ | ------------------------------------: | | e164 | `+46707123456` | | international | `+46 70 712 34 56` | | national | not applicable for input-tel-dropdown | | significant | not applicable for input-tel-dropdown | | rfc3966 | `tel:+46-70-712-34-56` | Also see: - [awesome-phonenumber documentation](https://www.npmjs.com/package/awesome-phonenumber) ```js preview-story export const formatStrategy = () => { loadDefaultFeedbackMessages(); const inputTel = createRef(); return html` `; }; ``` ### Format country code style You can style the country code with parentheses. ```js preview-story export const formatCountryCodeStyle = () => { loadDefaultFeedbackMessages(); const inputTel = createRef(); return html` `; }; ```