Angular and Ionic Cards
Cards for Angular and Ionic 2/3/4
Cards for Angular and Ionic 2/3/4
Cards for Angular and Ionic 2/3/4
Cards component for rendering any type of content: photos, text, video and forms in a consistent way.
Use it for organizing content and provide entry points with optional actions.
Shipping with useful features for creating effective layouts:
- Built from three blocks: header, content & footer
- Fully supports typograpy elements & classes
- Thumbnail, avatar, inline & cover image support
- Integrates with horizontal scroll view and list view
- Multiple theme support
- Lightweight footprint
- RTL Support
- Supports card collections
Cards demos available for other frameworks.
Viewing demos & code for
Cards - Basic
import { mobiscroll } from '@mobiscroll/angular';
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
lang: '',
theme: ''
}
action(txt) {
mobiscroll.toast({
message: txt + ' clicked'
});
}
}
<mbsc-card [options]="settings">
<mbsc-card-header>
<mbsc-card-title>Title</mbsc-card-title>
<mbsc-card-subtitle>Subtitle</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
</mbsc-card-content>
<mbsc-card-footer>This is a footer</mbsc-card-footer>
</mbsc-card>
<mbsc-card [options]="settings">
<mbsc-card-content>
<mbsc-card-title>Don't forget Jenifer's birthday</mbsc-card-title>
</mbsc-card-content>
<mbsc-card-footer>
<mbsc-button (click)="action('Call')" flat icon="phone">Call</mbsc-button>
<mbsc-button (click)="action('Message')" flat icon="bubble">Message</mbsc-button>
</mbsc-card-footer>
</mbsc-card>
<mbsc-card [options]="settings">
<img src="https://img.mobiscroll.com/demos/card_5.png" />
<mbsc-card-content>
Explore the azure depths with a stay at the Manta Resort's underwater room.
</mbsc-card-content>
<mbsc-card-footer>
<mbsc-button flat>Share</mbsc-button>
<mbsc-button flat>Explore</mbsc-button>
</mbsc-card-footer>
</mbsc-card>
Cards - Images
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
lang: '',
theme: ''
}
}
<mbsc-card [options]="settings">
<img src="https://img.mobiscroll.com/demos/card_2.png">
<mbsc-card-header>
<mbsc-card-title>Best animal adventure</mbsc-card-title>
</mbsc-card-header>
<mbsc-card-content>
A young panda tests his climbing skills at the Chengdu Research Base.
</mbsc-card-content>
<mbsc-card-footer>
<mbsc-button flat>Share</mbsc-button>
<mbsc-button flat>Explore</mbsc-button>
</mbsc-card-footer>
</mbsc-card>
<mbsc-card [options]="settings">
<mbsc-card-header>
<mbsc-card-title>15 minutes to work</mbsc-card-title>
</mbsc-card-header>
<img src="https://img.mobiscroll.com/demos/route.png">
<mbsc-card-content class="mbsc-btn-group-block">
<mbsc-button flat class="mbsc-align-left" icon="ion-navigate">Navigate / 15 min. via Shotwell St</mbsc-button>
<mbsc-button flat class="mbsc-align-left" icon="fa-rotate-left">Alternative route / 18 mins</mbsc-button>
</mbsc-card-content>
</mbsc-card>
<mbsc-card [options]="settings" class="md-card-bg">
<img src="https://mobiscroll.comhttps://img.mobiscroll.com/demos/card_6.png">
<h2 class="md-card-title mbsc-align-center">Las Vegas</h2>
<h5 class="md-card-subtitle mbsc-align-center mbsc-bold">63 apartments available</h5>
</mbsc-card>
<mbsc-card [options]="settings">
<img class="mbsc-img-thumbnail mbsc-pull-right" width="90" height="90" src="https://img.mobiscroll.com/demos/card_3.png">
<mbsc-card-header>
<mbsc-card-title>Best places</mbsc-card-title>
</mbsc-card-header>
<mbsc-card-content>
A view across the Turnagain Arm on Alaska's Kenai Peninsula.
</mbsc-card-content>
</mbsc-card>
.md-card-bg .md-card-subtitle,
.md-card-bg .md-card-title {
position: absolute;
top: 50%;
color: #fff;
width: 100%;
}
.md-card-bg .md-card-title {
margin-top: -30px;
}
.md-card-bg .md-card-subtitle {
margin-top: 10px;
}
Cards - Video
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
lang: '',
theme: ''
}
}
<mbsc-card [options]="settings">
<video autoplay muted controls>
<source src="http://img.mobiscroll.com/demos/trailer_iphone.m4v" type="video/x-m4v">
</video>
<mbsc-card-header>
<mbsc-card-title>Big Buck Bunny</mbsc-card-title>
</mbsc-card-header>
<mbsc-card-content>
Open movie made with open source software. Check out it's trailer!
</mbsc-card-content>
</mbsc-card>
<mbsc-card [options]="settings">
<video autoplay muted controls>
<source src="http://img.mobiscroll.com/demos/trailer_iphone.m4v" type="video/x-m4v">
</video>
<mbsc-card-footer>
<mbsc-button flat>Play</mbsc-button>
<mbsc-button flat>Reset</mbsc-button>
</mbsc-card-footer>
</mbsc-card>
Cards - Lists
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
lang: '',
theme: ''
}
checklistSettings: any = {
lang: '',
theme: '',
stages: {
left: [{
key: 'stage1',
icon: 'plus',
color: '#31c6e7',
text: 'Add',
action: (event, inst) => {
this.todos.splice(event.index + 1, 0, {
todo: 'New Todo',
checked: false
});
}
}],
right: [{
key: 'stage2',
color: '#009688',
text: 'Remove',
icon: 'remove',
action: (event, inst) => {
this.todos.splice(event.index, 1);
return false;
}
}]
}
}
todos: Array < { todo: string, checked: boolean } > = [{
todo: 'Do the laundry',
checked: false
}, {
todo: 'Check out new Mobiscroll features',
checked: false
}, {
todo: 'Don\'t forget mom\'s birthday!',
checked: true
}, {
todo: 'Update my app with the latest Mobiscroll',
checked: false
}, {
todo: 'Buy new shoes',
checked: false
}, {
todo: 'Need ketchup for pizza',
checked: true
}];
actions: Array <any> = [{
title: "Edit profile",
icon: 'line-user',
children: [{
title: 'Change password',
icon: 'line-key'
}, {
title: 'Change personal information',
icon: 'line-user'
}]
}, {
title: 'Settings',
icon: 'line-settings',
children: [{
title: 'Sound settings',
icon: 'line-megaphone'
}, {
title: 'Notification settings',
icon: 'line-params'
}, {
title: 'Change theme',
icon: 'line-t-shirt'
}]
}, {
title: 'Rate',
icon: 'line-heart',
children: [{
title: 'Rate this application',
icon: 'line-star'
}]
}, {
title: 'Tell a friend',
icon: 'line-bubble',
children: [{
title: 'Share it in Email',
icon: 'line-mail'
}, {
title: 'Share it on Social Media',
icon: 'line-world'
}]
}, {
title: 'Term of service',
icon: 'line-note',
children: [{
title: 'This application content is under WTFPL license.'
}]
}, {
title: 'Contact us',
icon: 'line-mail',
children: [{
title: 'Let us know if we can help',
icon: 'line-mail'
}]
}, {
title: 'About us',
icon: 'line-world',
children: [{
title: 'We are the Mobiscroll team.'
}]
}];
}
<mbsc-card [options]="settings">
<mbsc-listview [options]="checklistSettings">
<mbsc-listview-item class="cd-todo-item" *ngFor="let item of todos">
<mbsc-checkbox [(ngModel)]="item.checked">{{item.todo}}</mbsc-checkbox>
</mbsc-listview-item>
</mbsc-listview>
</mbsc-card>
<mbsc-card [options]="settings">
<mbsc-listview [swipe]="false" [enhance]="true">
<mbsc-listview-item *ngFor="let item of actions" [icon]="item.icon">
{{item.title}}
<mbsc-listview-sublist *ngIf="item.children">
<mbsc-listview-item *ngFor="let child of item.children" [icon]="child.icon">
{{child.title}}
</mbsc-listview-item>
</mbsc-listview-sublist>
</mbsc-listview-item>
</mbsc-listview>
</mbsc-card>
.mbsc-lv-cont .cd-todo-item {
padding: 0;
}
Cards - Social cards
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
cardSettings: any = {
lang: '',
theme: ''
}
}
<mbsc-card [options]="cardSettings">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/mr-profile2.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Carl Obama</mbsc-card-title>
<mbsc-card-subtitle> at 5:16 PM</mbsc-card-subtitle>
</mbsc-card-header>
<img src="https://img.mobiscroll.com/demos/Blueberry.png">
<mbsc-card-content>
Yeaahhh :D :D :D I've made it. It took me 3 months to improve my blueberry cake. But it's perfect now. :P
</mbsc-card-content>
<mbsc-card-footer>
<mbsc-button flat icon="heart"></mbsc-button>
<mbsc-button flat icon="thumbs-up2"></mbsc-button>
<mbsc-button flat icon="material-message"></mbsc-button>
<mbsc-button flat icon="tag"></mbsc-button>
</mbsc-card-footer>
</mbsc-card>
<mbsc-card [options]="cardSettings">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/mrs-profile1.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Hortense Tinker</mbsc-card-title>
<mbsc-card-subtitle> at 4:55 PM</mbsc-card-subtitle>
</mbsc-card-header>
<img src="https://img.mobiscroll.com/demos/card_1.png">
<mbsc-card-content>
Best places to seek silence !!! The Dhamma Giri, a vipassana meditation retreat.
</mbsc-card-content>
<mbsc-card-footer class="mbsc-align-right">
<mbsc-button flat icon="fa-mail-reply"></mbsc-button>
<mbsc-button flat icon="star3">3</mbsc-button>
<mbsc-button flat icon="fa-retweet">5</mbsc-button>
<mbsc-button flat icon="fa-ellipsis-h"></mbsc-button>
</mbsc-card-footer>
</mbsc-card>
<mbsc-card [options]="cardSettings">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/mrs-profile2.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Jenna Doe</mbsc-card-title>
<mbsc-card-subtitle> at 4:16 PM</mbsc-card-subtitle>
</mbsc-card-header>
<img src="https://img.mobiscroll.com/demos/card_2.png">
<mbsc-card-content>
There is a new baby panda at the zoo.... :) :O :D
</mbsc-card-content>
<mbsc-card-footer class="mbsc-align-right">
<mbsc-button flat icon="fa-mail-reply"></mbsc-button>
<mbsc-button flat icon="star3">19</mbsc-button>
<mbsc-button flat icon="fa-retweet">3</mbsc-button>
<mbsc-button flat icon="fa-ellipsis-h"></mbsc-button>
</mbsc-card-footer>
</mbsc-card>
<mbsc-card [options]="cardSettings">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/mr-profile1.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">John Bush</mbsc-card-title>
<mbsc-card-subtitle> at 2:23 PM</mbsc-card-subtitle>
</mbsc-card-header>
<img src="https://img.mobiscroll.com/demos/account-background.jpg">
<mbsc-card-content>
Best trip ever!!! :D I'll definetly come back here. :)
</mbsc-card-content>
<mbsc-card-footer>
<mbsc-button flat>Like</mbsc-button>
<mbsc-button flat>Share</mbsc-button>
</mbsc-card-footer>
</mbsc-card>
Cards - Forms
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
lang: '',
theme: ''
}
general: number = 70;
volume: number = 60;
mobile: number = 30;
calendar: Date;
}
<mbsc-card [options]="settings">
<mbsc-card-header>
<mbsc-card-title>Volume</mbsc-card-title>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-slider [(ngModel)]="general" icon='{ "left": "volume-medium" }'></mbsc-slider>
<mbsc-slider [(ngModel)]="volume" icon='{ "left": "alarm2" }'></mbsc-slider>
<mbsc-slider [(ngModel)]="mobile" icon='{ "left": "mobile" }'></mbsc-slider>
</mbsc-card-content>
</mbsc-card>
<mbsc-card [options]="settings">
<mbsc-card-header>
<mbsc-card-title>Confirm Purchase</mbsc-card-title>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-input [(ngModel)]="name" placeholder="Required">Name</mbsc-input>
<mbsc-input [(ngModel)]="card" placeholder="Credit card number">Card</mbsc-input>
<mbsc-input [(ngModel)]="exp" placeholder="Required">Expiration</mbsc-input>
<mbsc-input [(ngModel)]="cvv" placeholder="3-digit CVV">Security</mbsc-input>
</mbsc-card-content>
<div class="mbsc-btn-group-block mbsc-padding">
<mbsc-button color="primary">Confirm</mbsc-button>
</div>
</mbsc-card>
<mbsc-card [options]="settings">
<mbsc-card-header>
<mbsc-card-title>Calendar</mbsc-card-title>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-calendar [(ngModel)]="calendar" display="inline"></mbsc-calendar>
</mbsc-card-content>
</mbsc-card>
Cards - Swipe away
import { mobiscroll } from '@mobiscroll/angular';
mobiscroll.settings = {
lang: '',
theme: ''
}
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
theme: '',
lang: '',
stages: [{
percent: -20,
action: (event, inst) => {
inst.remove(event.target);
return false;
}
}, {
percent: 20,
action: (event, inst) => {
inst.remove(event.target);
return false;
}
}]
}
}
<mbsc-note color="primary">Swipe left/right to clear cards.</mbsc-note>
<mbsc-listview [options]="settings">
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-avatar src="https://img.mobiscroll.com/demos/angrybirds.png" draggable="false"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Angry birds</mbsc-card-title>
<mbsc-card-subtitle>Don't forget ysour daily Arena entry.</mbsc-card-subtitle>
</mbsc-card-content>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-avatar src="https://img.mobiscroll.com/demos/netflix.png" draggable="false"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Netflix</mbsc-card-title>
<mbsc-card-subtitle>Sherlock Series 3 is now avalable on Netflix</mbsc-card-subtitle>
</mbsc-card-content>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-card-title>Don't forget Jenifer's birthday</mbsc-card-title>
</mbsc-card-content>
<mbsc-card-footer>
<mbsc-button flat icon="phone">Call</mbsc-button>
<mbsc-button flat icon="bubble">Message</mbsc-button>
</mbsc-card-footer>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-avatar src="https://img.mobiscroll.com/demos/netflix.png" draggable="false"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Candycam</mbsc-card-title>
<mbsc-card-subtitle>A new update is available!</mbsc-card-subtitle>
</mbsc-card-content>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-avatar src="https://img.mobiscroll.com/demos/subwaysurf.png" draggable="false"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Subway Surf</mbsc-card-title>
<mbsc-card-subtitle>Is it your lucky day? 24-Hour Mega Jackpint Event happening right now!</mbsc-card-subtitle>
</mbsc-card-content>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-avatar src="https://img.mobiscroll.com/demos/mbsc-logo.png" draggable="false"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Mobiscroll</mbsc-card-title>
<mbsc-card-subtitle>The new Mobiscroll 4.0.0 is out!</mbsc-card-subtitle>
</mbsc-card-content>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-header>
<mbsc-card-title>15 minutes to work</mbsc-card-title>
</mbsc-card-header>
<img src="https://img.mobiscroll.com/demos/route.png" draggable="false">
<mbsc-card-content class="mbsc-btn-group-block">
<mbsc-button flat class="mbsc-align-left" icon="ion-navigate">Navigate / 15 min. via Shotwell St</mbsc-button>
<mbsc-button flat class="mbsc-align-left" icon="fa-rotate-left">Alternative route / 18 mins</mbsc-button>
</mbsc-card-content>
</mbsc-listview-item>
<mbsc-listview-item mbsc-card>
<mbsc-card-content>
<mbsc-avatar src="https://img.mobiscroll.com/demos/opencam.png" draggable="false"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Open Camera</mbsc-card-title>
<mbsc-card-subtitle>A new update is available!</mbsc-card-subtitle>
</mbsc-card-content>
</mbsc-listview-item>
</mbsc-listview>
Cards - Stacked cards
import { mobiscroll, MbscListviewOptions } from '@mobiscroll/angular';
mobiscroll.settings = {
lang: '',
theme: ''
};
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
listSettings: MbscListviewOptions = {
stages: [{
percent: -20,
action: (event, inst) => {
inst.remove(event.target);
return false;
}
}, {
percent: 20,
action: (event, inst) => {
inst.remove(event.target);
return false;
}
}]
}
cycleSettings: MbscListviewOptions = {
stages: [{
percent: -20,
action: (event, inst) => {
inst.move(event.target, 0);
return false;
}
}, {
percent: 20,
action: (event, inst) => {
inst.move(event.target, 0);
return false;
}
}]
}
}
<mbsc-note primary>
Swipe cards away left or right to clear stack.
</mbsc-note>
<mbsc-listview [options]="listSettings" class="custom-card-deck">
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Best places to seek silence</mbsc-card-title>
<mbsc-card-subtitle>The Dhamma Giri, a vipassana meditation retreat.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_1.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card">
<mbsc-card-header>
<mbsc-card-title>Best animal adventure</mbsc-card-title>
<mbsc-card-subtitle>A young panda tests his climbing skills at the Chengdu Research Base.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_2.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-left">
<mbsc-card-header>
<mbsc-card-title>Best places to test your survival skills</mbsc-card-title>
<mbsc-card-subtitle>A view across the Turnagain Arm on Alaska's Kenai Peninsula.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_3.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Most accessible destinations</mbsc-card-title>
<mbsc-card-subtitle>The impressive Mayan site of Chichén Itzá.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_4.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card">
<mbsc-card-header>
<mbsc-card-title>The world’s most extraordinary sleepovers</mbsc-card-title>
<mbsc-card-subtitle>Explore the azure depths with a stay at the Manta Resort's underwater room.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_5.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
</mbsc-listview>
<mbsc-note primary>
Swipe cards away for cyclic movement.
</mbsc-note>
<mbsc-listview [options]="cycleSettings" class="custom-card-deck">
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Best places to seek silence</mbsc-card-title>
<mbsc-card-subtitle>The Dhamma Giri, a vipassana meditation retreat.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_1.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-left">
<mbsc-card-header>
<mbsc-card-title>Best animal adventure</mbsc-card-title>
<mbsc-card-subtitle>A young panda tests his climbing skills at the Chengdu Research Base.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_2.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card">
<mbsc-card-header>
<mbsc-card-title>Best places to test your survival skills</mbsc-card-title>
<mbsc-card-subtitle>A view across the Turnagain Arm on Alaska's Kenai Peninsula.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_3.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Most accessible destinations</mbsc-card-title>
<mbsc-card-subtitle>The impressive Mayan site of Chichén Itzá.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_4.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-left">
<mbsc-card-header>
<mbsc-card-title>The world’s most extraordinary sleepovers</mbsc-card-title>
<mbsc-card-subtitle>Explore the azure depths with a stay at the Manta Resort's underwater room.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_5.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
</mbsc-listview>
.custom-card-deck,
.custom-card-deck .mbsc-lv-v {
height: 400px;
max-width: 500px;
margin: 15px auto;
}
.custom-card-deck .mbsc-lv-item {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.custom-card-deck .mbsc-lv-item.mbsc-lv-item-swiping {
z-index: 10;
}
.custom-card-deck .custom-card {
height: 320px;
}
.custom-card-deck .custom-card-rotate-right {
transform: rotate(1deg);
}
.custom-card-deck .custom-card-rotate-left {
transform: rotate(-2deg);
}
.custom-card-deck .mbsc-card.custom-card {
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
}
Cards - Content
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings: any = {
lang: '',
theme: ''
}
}
<div class="mbsc-padding">
<h3>Sunrise</h3>
<p>Sunrise or sun up is the instant at which the upper edge of the Sun appears over the horizon in the morning. The term can also refer to the entire process of the Sun crossing the horizon and its accompanying atmospheric effects.</p>
<mbsc-card [options]="settings">
<img src="https://img.mobiscroll.com/demos/bookpic.png">
<mbsc-card-footer>
A red sunrise near Swifts Creek, Australia
</mbsc-card-footer>
</mbsc-card>
<p>Although the Sun appears to "rise" from the horizon, it is actually the Earth's motion that causes the Sun to appear. The illusion of a moving Sun results from Earth observers being in a rotating reference frame; this apparent motion is so convincing
that most cultures had mythologies and religions built around the geocentric model, which prevailed until astronomer Nicolaus Copernicus first formulated the heliocentric model in the 16th century.</p>
</div>
Cards - Tabs
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
settings = {
lang: '',
theme: ''
}
navSettings = {
theme: '',
lang: '',
type: 'tab',
display: 'inline'
};
currentTab: string = 'food';
}
<mbsc-card [options]="settings">
<mbsc-card-content>
<div class="mbsc-card-title">Daily tips</div>
</mbsc-card-content>
<mbsc-tab-nav [options]="navSettings">
<mbsc-nav-item [selected]="currentTab == 'food'" (click)="currentTab='food'">Food</mbsc-nav-item>
<mbsc-nav-item [selected]="currentTab == 'tech'" (click)="currentTab='tech'">Technology</mbsc-nav-item>
<mbsc-nav-item [selected]="currentTab == 'travel'" (click)="currentTab='travel'">Travel</mbsc-nav-item>
</mbsc-tab-nav>
<mbsc-card-content>
<div *ngIf="currentTab == 'food'">
<h4>Ina's Mac and Cheese</h4>
<p>
Here's what one recipe reviewer had to say: "This mac and cheese is all grown-up. It was tasty, cheesy and easy to make. Have made it a few times in the last 2 months and it is a hit each time."
</p>
</div>
<div *ngIf="currentTab == 'tech'">
<h4>Google Go</h4>
<p>
Google Go makes discovering, exploring, and sharing the best of the web easy and fast. Get answers quickly and reliably with Google Go, even on slow connections and smartphones with low space. At 5MB in size, it’s speedy to download and get started.
</p>
</div>
<div *ngIf="currentTab == 'travel'">
<h4>Take Lots Of Photos</h4>
<p>
You may only see these places & meet these people once in your lifetime. Remember them forever with plenty of photos. Don’t worry about looking like a “tourist”. Are you traveling to look cool? No one cares. Great photos are the ultimate souvenir.
</p>
</div>
</mbsc-card-content>
<mbsc-card-footer class="mbsc-card-footer mbsc-align-right">
<button class="mbsc-btn-flat">Read more</button>
</mbsc-card-footer>
</mbsc-card>
.md-card-tab {
display: none;
}
.md-card-tab-sel {
display: block;
}
Cards - Collapsible
import { ViewChild } from '@angular/core';
import { MbscFormOptions } from '@mobiscroll/angular';
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
@ViewChild('run1')
r1: any;
@ViewChild('run2')
r2: any;
@ViewChild('run3')
r3: any;
formSettings: MbscFormOptions = {
lang: '',
theme: ''
}
closeAll() {
this.r1.instance.hide();
this.r2.instance.hide();
this.r3.instance.hide();
}
toggleFirst() {
this.r1.instance.toggle();
}
}
<mbsc-form [options]="formSettings">
<mbsc-note color="primary">Use collapsible cards for segmenting long forms and to hide content.</mbsc-note>
<div class="mbsc-btn-group-block">
<mbsc-button (click)="toggleFirst()">Toggle first card</mbsc-button>
<mbsc-button (click)="closeAll()">Close all cards</mbsc-button>
</div>
</mbsc-form>
<mbsc-card collapsible #run1="mobiscroll">
<mbsc-card-header class="mbsc-card-header">
<div>
<mbsc-card-subtitle class="mbsc-bold mbsc-txt-s">27/07/2018</mbsc-card-subtitle>
<div class="mbsc-bold">FRIDAY AFTERNOON RUN</div>
<div class="mbsc-grid mbsc-margin mbsc-txt-muted mbsc-bold mbsc-txt-s">
<div class="mbsc-row mbsc-no-padding">
<div class="mbsc-col">5.43km</div>
<div class="mbsc-col">5'44"/km</div>
<div class="mbsc-col">30:45</div>
</div>
</div>
</div>
</mbsc-card-header>
<mbsc-card-content class="mbsc-no-padding">
<img src="https://img.mobiscroll.com/demos/run-1.png" />
<div class="mbsc-btn-group-block">
<button class="mbsc-btn-primary">View details</button>
<button class="mbsc-btn-secondary">Share your run</button>
</div>
</mbsc-card-content>
</mbsc-card>
<mbsc-card collapsible open #run2="mobiscroll">
<mbsc-card-header class="mbsc-card-header">
<div>
<mbsc-card-subtitle class="mbsc-bold mbsc-txt-s">30/07/2018</mbsc-card-subtitle>
<div class="mbsc-bold">MONDAY AFTERNOON RUN</div>
<div class="mbsc-grid mbsc-margin mbsc-txt-muted mbsc-bold mbsc-txt-s">
<div class="mbsc-row mbsc-no-padding">
<div class="mbsc-col">4.28km</div>
<div class="mbsc-col">4'12"/km</div>
<div class="mbsc-col">26:41</div>
</div>
</div>
</div>
</mbsc-card-header>
<mbsc-card-content class="mbsc-no-padding">
<img src="https://img.mobiscroll.com/demos/run-2.png" />
<div class="mbsc-btn-group-block">
<button class="mbsc-btn-primary">View details</button>
<button class="mbsc-btn-secondary">Share your run</button>
</div>
</mbsc-card-content>
</mbsc-card>
<mbsc-card collapsible #run3="mobiscroll">
<mbsc-card-header class="mbsc-card-header">
<div>
<mbsc-card-subtitle class="mbsc-bold mbsc-txt-s">01/08/2018</mbsc-card-subtitle>
<div class="mbsc-bold">WEDNESDAY AFTERNOON RUN</div>
<div class="mbsc-grid mbsc-margin mbsc-txt-muted mbsc-bold mbsc-txt-s">
<div class="mbsc-row mbsc-no-padding">
<div class="mbsc-col">7.02km</div>
<div class="mbsc-col">3'59"/km</div>
<div class="mbsc-col">37:41</div>
</div>
</div>
</div>
</mbsc-card-header>
<mbsc-card-content class="mbsc-no-padding">
<img src="https://img.mobiscroll.com/demos/run-3.png" />
<div class="mbsc-btn-group-block">
<button class="mbsc-btn-primary">View details</button>
<button class="mbsc-btn-secondary">Share your run</button>
</div>
</mbsc-card-content>
</mbsc-card>
Cards - Accordion
import { ViewChild } from '@angular/core';
import { MbscFormOptions } from '@mobiscroll/angular';
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
@ViewChild('adeline')
adeline: any;
@ViewChild('carl')
carl: any;
@ViewChild('tinker')
tinker: any;
@ViewChild('barry')
barry: any;
formSettings: MbscFormOptions = {
lang: '',
theme: ''
}
listviewSettings: any = {
swipe: false,
enhance: true
}
closeAll() {
this.adeline.instance.hide();
this.carl.instance.hide();
this.tinker.instance.hide();
this.barry.instance.hide();
}
toggleLast() {
this.barry.instance.toggle();
}
}
<mbsc-form [options]="formSettings">
<mbsc-note color="primary">Use the accordion on forms to open only one panel at a time.</mbsc-note>
<div class="mbsc-btn-group-block">
<mbsc-button (click)="toggleLast()">Toggle last panel</mbsc-button>
<mbsc-button (click)="closeAll()">Close all panels</mbsc-button>
</div>
</mbsc-form>
<mbsc-accordion>
<mbsc-card collapsible open #adeline="mobiscroll">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/f2.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Adeline Sharman</mbsc-card-title>
<mbsc-card-subtitle>Bigcorp Inc.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-listview [options]="listviewSettings">
<mbsc-listview-item icon="material-email">
<p>Email</p>
<h4><a href="mailto:adeline-s@bigcorp.com">adeline-s@bigcorp.com</a></h4>
</mbsc-listview-item>
<mbsc-listview-item icon="material-phone-iphone">
<p>Mobile</p>
<h4><a href="tel:(202) 555-0147">(202) 555-0147</a></h4>
</mbsc-listview-item>
</mbsc-listview>
</mbsc-card-content>
</mbsc-card>
<mbsc-card collapsible #carl="mobiscroll">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/m2.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Carl Hambledon</mbsc-card-title>
<mbsc-card-subtitle>Washaway Ltd.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-listview [options]="listviewSettings">
<mbsc-listview-item icon="material-email">
<p>Email</p>
<h4><a href="mailto:carl.h@washaway.com">carl.h@washaway.com</a></h4>
</mbsc-listview-item>
<mbsc-listview-item icon="material-phone-iphone">
<p>Mobile</p>
<h4><a href="tel:(202) 553-5247">(202) 553-5247</a></h4>
</mbsc-listview-item>
</mbsc-listview>
</mbsc-card-content>
</mbsc-card>
<mbsc-card collapsible #tinker="mobiscroll">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/f1.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Hortense Tinker</mbsc-card-title>
<mbsc-card-subtitle>Tinker Records</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-listview [options]="listviewSettings">
<mbsc-listview-item icon="material-email">
<p>Email</p>
<h4><a href="mailto:hortense@tinker.com">hortense@tinker.com</a></h4>
</mbsc-listview-item>
<mbsc-listview-item icon="material-phone-iphone">
<p>Mobile</p>
<h4><a href="tel:(202) 555-0137">(202) 555-0137</a></h4>
</mbsc-listview-item>
</mbsc-listview>
</mbsc-card-content>
</mbsc-card>
<mbsc-card collapsible #barry="mobiscroll">
<mbsc-card-header>
<mbsc-avatar src="https://img.mobiscroll.com/demos/m1.png"></mbsc-avatar>
<mbsc-card-title class="mbsc-bold">Barry Lyon</mbsc-card-title>
<mbsc-card-subtitle>Road Scrapers Inc</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<mbsc-listview [options]="listviewSettings">
<mbsc-listview-item icon="material-email">
<p>Email</p>
<h4><a href="mailto:barry.ly@roads.com">barry.ly@roads.com</a></h4>
</mbsc-listview-item>
<mbsc-listview-item icon="material-phone-iphone">
<p>Mobile</p>
<h4><a href="tel:(302) 663-5247">(302) 663-5247</a></h4>
</mbsc-listview-item>
</mbsc-listview>
</mbsc-card-content>
</mbsc-card>
</mbsc-accordion>
Cards - Masonry layout
import { mobiscroll } from '@mobiscroll/angular';
mobiscroll.settings = {
lang: '',
theme: ''
};
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {}
<div class="mbsc-grid-lg mbsc-grid-fixed mbsc-no-padding md-grid-cards">
<div class="mbsc-row">
<div class="mbsc-col">
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-1.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-2.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-3.jpg">
</mbsc-card>
</div>
<div class="mbsc-col">
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-4.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-5.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-6.jpg">
</mbsc-card>
</div>
<div class="mbsc-col">
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-7.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-8.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-9.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-10.jpg">
</mbsc-card>
</div>
<div class="mbsc-col">
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-11.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-12.jpg">
</mbsc-card>
<mbsc-card>
<img src="https://img.mobiscroll.com/demos/world-cup-13.jpg">
</mbsc-card>
</div>
</div>
</div>
Cards - Grid layout
import { mobiscroll, MbscScrollviewOptions } from '@mobiscroll/angular';
mobiscroll.settings = {
lang: '',
theme: ''
}
@Component({
selector: 'demo-app',
templateUrl: './app.component.html'
})
export class AppComponent {
birds = [{
img: 'https://img.mobiscroll.com/demos/gridlayout/toucan.jpg',
name: 'Toucan'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/kingfisher.jpg',
name: 'Kingfisher'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/swift.jpg',
name: 'Swift'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/humming.jpg',
name: 'Humming bird'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/columbidae.jpg',
name: 'Columbidae'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/hornbill.jpg',
name: 'Hornbill'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/spoonbill.jpg',
name: 'Spoonbill'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/bee-eater.jpg',
name: 'Bee-eater'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/parrot.jpg',
name: 'Parrot'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/goose.jpg',
name: 'Goose bird'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/woodpecker.jpg',
name: 'Woodpecker'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/penguin.jpg',
name: 'Penguin'
}]
animals = [{
img: 'https://img.mobiscroll.com/demos/gridlayout/okapi.jpg',
name: 'Okapi',
about: 'The okapi is an animal native to the Democratic Republic of Congo in Africa.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/dragon.jpg',
name: 'The Blue Dragon',
about: 'These little dragon-like creatures can be found in the Indian Pacific Oceans.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/wolf.jpg',
name: 'The Maned Wolf',
about: 'The maned wolf is often found in south, CW, and SE parts of Brazil.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/fossa.jpg',
name: 'Fossa',
about: 'A carnivorous animal located in Madagascar related to the Mongoose.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/shark.jpg',
name: 'Goblin Shark',
about: 'Last representative of sharks that lived about 125 million years ago.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/deer.jpg',
name: 'Leaf Deer',
about: 'The leaf deer is usually found in dense forests in the NW of Putao.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/spidercrab.jpg',
name: 'Japanese Spider Crab',
about: 'As the name suggestions, it inhabits the waters surrounding Japan.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/rabbit.jpg',
name: 'Angora Rabbit',
about: 'These rabbits originated in Turkey but managed to spread throughout Europe.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/axolotl.jpg',
name: 'Axolotl',
about: 'The "Mexican salamander" is often spotted in lakes around Mexico.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/liger.jpg',
name: 'Liger',
about: 'The liger is a real animal created by a lion and a tiger mating.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/panda.jpg',
name: 'Red Panda',
about: 'This cute, small panda lives in the eastern Himalayas and SW China.'
}, {
img: 'https://img.mobiscroll.com/demos/gridlayout/superbird.jpg',
name: 'Superbird',
about: 'Found in New Guinea, it is unsure how many of these birds there are.'
}]
settings: MbscScrollviewOptions = {
layout: 'fixed',
itemWidth: 134,
snap: false
};
}
<div class="mbsc-padding">
<h3>Scrollable list</h3>
<mbsc-scrollview [options]="settings">
<mbsc-scrollview-item mbsc-card *ngFor="let bird of birds">
<img [src]="bird.img" draggable="false">
<mbsc-card-content>{{bird.name}}</mbsc-card-content>
</mbsc-scrollview-item>
</mbsc-scrollview>
<h3>Grid view</h3>
<div class="mbsc-grid">
<div class="mbsc-row mbsc-justify-content-center mbsc-no-padding">
<div class="mbsc-col-12 mbsc-col-sm-6 mbsc-col-lg-4 mbsc-col-xl-3" *ngFor="let animal of animals">
<mbsc-card>
<img [src]="animal.img" draggable="false">
<mbsc-card-content>
<mbsc-card-title>{{animal.name}}</mbsc-card-title>
<p class="mbsc-txt-muted">{{animal.about}}</p>
</mbsc-card-content>
</mbsc-card>
</div>
</div>
</div>
</div>
Looking for something you didn't see or have a sales question?
Ask us about it, we're here to help.
Component license
Purchase component licenses if you are looking for specific funcionality.
All
Framework license
Get all 36 components, including
Framework license
Get all 36 components, including
- Use it when building with plain and simple JS
- Compatible with vanilla JS app or frameworks like Vue
- Royalty-free commercial usage
- Technical support is included with the license
- Use it with jQuery and jQuery Mobile
- Enjoy the familiar API if you already use jQuery
- Royalty-free commercial usage
- Technical support is included with the license
- Use it with Angular JS and Ionic 1
- For web and mobile apps based on Angular 1.x
- Royalty-free commercial usage
- Technical support is included with the license
- Use it with Angular 2/4/5/6/7 and Ionic 2/3/4
- Visual Studio and VS Code integration
- Royalty-free commercial usage
- Technical support is included with the license
- Use it when building with React JS
- Collection of UI components for web and mobile
- Royalty-free commercial usage
- Technical support is included with the license
Framework license
Select the development framework you are using. Get all 36 components with the license.
- Use it when building with plain and simple JS
- Compatible with vanilla JS app or frameworks like Vue
- Royalty-free commercial usage
- Technical support is included with the license
- Use it with jQuery and jQuery Mobile
- Enjoy the familiar API if you already use jQuery
- Royalty-free commercial usage
- Technical support is included with the license
- Use it with Angular JS and Ionic 1
- For web and mobile apps based on Angular 1.x
- Royalty-free commercial usage
- Technical support is included with the license
- Use it with Angular 2/4/5/6/7 and Ionic 2/3/4
- Visual Studio and VS Code integration
- Royalty-free commercial usage
- Technical support is included with the license
- Use it when building with React JS
- Collection of UI components for web and mobile
- Royalty-free commercial usage
- Technical support is included with the license
Select the framework you are interested in
Use Javascript when building with plain and simple JS.
Use jQuery when you have jQuery already included or if you are building with jQuery Mobile.
Use AngularJS when building with Angular 1.x or Ionic 1.
Use Angular when building with Angular 2/4/5/6/7 or Ionic 2/3/4.
Use it when you are building your app or website with React.
Do you need additional support seats?
The framework license comes with one support seat. ( +$50/seat )
Add the source code?
What framework are you using?
We have to set you up with a trial for this to run 👍
What framework are you using?
Step 1.Install the Mobiscroll CLI from npm
$ npm install -g @mobiscroll/cli
The CLI makes configuring your apps super simple 👍
Step 2.Run the following command in the root folder of your Ionic project
$ mobiscroll config ionic
$ mobiscroll config ionic --lite
You will be prompted to log in with your mobiscroll account. Set your password here
Create an Ionic 3 & Mobiscroll starter with the CLI:
Run this command for Ionic 4 & Mobiscroll starter:
Extract the zip file and run the project like any Ionic app. Make sure to have Ionic CLI installed and open the terminal in the app root folder.
$ npm install
$ ionic serve
Let us know if we can help and enjoy!
Your password has been changed!
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
Extract the zip file and open the demo in your favorite browser.
To install Mobiscroll in your project
follow instructions from this page.
Let us know if we can help and enjoy! 👍
Please extract the zip file and run the project like any Angular CLI app.
Make sure to have the Angular CLI installed.
For installation and usage, extract the zip file and open a terminal window and follow these steps.
$ npm install
$ ng serve --open
Let us know if we can help and enjoy! 👍
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
The easiest way to get started is to follow the installation steps and by
grabbing the code directly from the demo page. Let us know if we can help and enjoy!
You'll find a fully functional Kitchen-sink Ionic app in the zip file.
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
The demos are using Babel's in-browser ES6 and JSX transformer.
Extract the zip file and open the demo in your browser. To install Mobiscroll in your project
follow instructions from this page.
Let us know if we can help and enjoy! 👍