import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; import { createColorClasses } from '@utils/theme'; import { getIonTheme } from '../../global/ionic-global'; import type { Color } from '../../interface'; /** * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component. * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component. */ @Component({ tag: 'ion-chip', styleUrls: { ios: 'chip.ios.scss', md: 'chip.md.scss', ionic: 'chip.ionic.scss', }, shadow: true, }) export class Chip implements ComponentInterface { /** * The color to use from your application's color palette. * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. * For more information on colors, see [theming](/docs/theming/basics). */ @Prop({ reflect: true }) color?: Color; /** * Display an outline style button. */ @Prop() outline = false; /** * If `true`, the user cannot interact with the chip. */ @Prop() disabled = false; /** * Set to 'rectangular' for a chip with sharp corners. */ @Prop({ reflect: true }) shape?: 'soft' | 'round' | 'rectangular'; render() { const { shape } = this; const theme = getIonTheme(this); return ( {theme === 'md' && } ); } }