Chip React Component

    Chips (Tags) React component represent complex entities in small blocks, such as a contact. They can contain a photo, short title string, and brief information

    Chip Components

    There are following components included:

    • Chip / F7Chip

    Chip Properties

    Prop Type Default Description
    <Chip> properties
    text string Chip label text
    media string Text content of chip media
    mediaBgColor string Chip media element background color. One of the default colors
    mediaTextColor string Chip media element text color. One of the default colors
    deleteable boolean false Defines whether the Chip has additional "delete" button or not
    outline boolean false Makes Card outline

    Chip Events

    Event Description
    <Chip> events
    click Event will be triggered on Chip click
    delete Event will be triggered on Chip delete button click

    Chip Slots

    Chip React component has additional slots for custom elements:

    • text - element will be inserted in place of chip text label
    • media - element will be inserted in the chip's media element

    Examples

    export default class extends React.Component {
      constructor() {
        super();
        this.deleteChipBound = this.deleteChip.bind(this);
      }
      render() {
        return (
          <Page>
            <Navbar title="Chips"></Navbar>
    
            <BlockTitle>Chips With Text</BlockTitle>
            <Block strong>
              <Chip text="Example Chip" />
              <Chip text="Another Chip" />
              <Chip text="One More Chip" />
              <Chip text="Fourth Chip" />
              <Chip text="Last One" />
            </Block>
    
            <BlockTitle>Outline Chips</BlockTitle>
            <Block strong>
              <Chip outline text="Example Chip" />
              <Chip outline text="Another Chip" />
              <Chip outline text="One More Chip" />
              <Chip outline text="Fourth Chip" />
              <Chip outline text="Last One" />
            </Block>
    
            <BlockTitle>Icon Chips</BlockTitle>
            <Block strong>
              <Chip text="Add Contact" mediaBgColor="blue">
                <Icon slot="media" ios="f7:add_round" md="material:add_circle"></Icon>
              </Chip>
              <Chip text="London" mediaBgColor="green">
                <Icon slot="media" ios="f7:compass" md="material:location_on"></Icon>
              </Chip>
              <Chip text="John Doe" mediaBgColor="red">
                <Icon slot="media" ios="f7:person" md="material:person"></Icon>
              </Chip>
            </Block>
    
            <BlockTitle>Contact Chips</BlockTitle>
            <Block strong>
              <Chip text="Jane Doe">
                <img slot="media" src="http://lorempixel.com/100/100/people/9/" />
              </Chip>
              <Chip text="John Doe">
                <img slot="media" src="http://lorempixel.com/100/100/people/3/" />
              </Chip>
              <Chip text="Adam Smith">
                <img slot="media" src="http://lorempixel.com/100/100/people/7/" />
              </Chip>
              <Chip text="Jennifer" mediaBgColor="pink" media="J" />
              <Chip text="Chris" mediaBgColor="yellow" mediaTextColor="black" media="C" />
              <Chip text="Kate" mediaBgColor="red" media="K" />
            </Block>
    
            <BlockTitle>Deletable Chips / Tags</BlockTitle>
            <Block strong>
              <Chip text="Example Chip" deleteable onClick={ this.deleteChipBound } />
              <Chip text="Chris" media="C" mediaBgColor="orange" textColor="black" deleteable onClick={ this.deleteChipBound } />
              <Chip text="Jane Doe" deleteable onClick={ this.deleteChipBound }>
                <img slot="media" src="http://lorempixel.com/100/100/people/9/"/>
              </Chip>
              <Chip text="One More Chip" deleteable onClick={ this.deleteChipBound } />
              <Chip text="Jennifer" mediaBgColor="pink" media="J" deleteable onClick={ this.deleteChipBound } />
              <Chip text="Adam Smith" deleteable onClick={ this.deleteChipBound }>
                <img slot="media" src="http://lorempixel.com/100/100/people/7/"/>
              </Chip>
            </Block>
    
            <BlockTitle>Color Chips</BlockTitle>
            <Block strong>
              <Chip text="Red Chip" color="red" />
              <Chip text="Green Chip" color="green" />
              <Chip text="Blue Chip" color="blue" />
              <Chip text="Orange Chip" color="orange" />
              <Chip text="Pink Chip" color="pink" />
              <Chip outline text="Red Chip" color="red" />
              <Chip outline text="Green Chip" color="green" />
              <Chip outline text="Blue Chip" color="blue" />
              <Chip outline text="Orange Chip" color="orange" />
              <Chip outline text="Pink Chip" color="pink" />
            </Block>
          </Page>
        )
      }
      deleteChip(e) {
        const $$ = this.$$;
        const app = this.$f7;
        const target = e.target;
        app.dialog.confirm('Do you want to delete this tiny demo Chip?', () => {
          $$(target).parents('.chip').remove();
        });
      }
    }