Logo
Keen's cardcustom components handles basic tools (reload, toggle, remove) that can be activated through data-card="true", data-card-tool="toggle", data-card-tool="reload"and data-card-tool="remove"HTML attributes. For more info please check out our Card Documentation.

Card Tools

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.


                        <div class="card card-custom" id="kt_card_1">
                         <div class="card-header">
                          <div class="card-title">
                           <h3 class="card-label">Card Title</h3>
                          </div>
                          <div class="card-toolbar">
                           <a href="#" class="btn btn-icon btn-sm btn-hover-light-primary mr-1" data-card-tool="toggle" data-toggle="tooltip" data-placement="top" title="Toggle Card">
                           <i class="ki ki-arrow-down icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-sm btn-hover-light-primary mr-1" data-card-tool="reload" data-toggle="tooltip" data-placement="top" title="Reload Card">
                           <i class="ki ki-reload icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-sm btn-hover-light-primary" data-card-tool="remove" data-toggle="tooltip" data-placement="top" title="Remove Card">
                           <i class="ki ki-close icon-nm"></i>
                           </a>
                          </div>
                         </div>
                         <div class="card-body">
                          ...
                         </div>
                        </div>
                        

                        // This card is lazy initialized using data-card="true" attribute. You can access to the card object as shown below and override its behavior
                        var card = new KTCard('kt_card_1');

                        // Toggle event handlers
                        card.on('beforeCollapse', function (card) {
                         setTimeout(function () {
                          toastr.info('Before collapse event fired!');
                         }, 100);
                        });

                        card.on('afterCollapse', function (card) {
                         setTimeout(function () {
                          toastr.warning('Before collapse event fired!');
                         }, 2000);
                        });

                        card.on('beforeExpand', function (card) {
                         setTimeout(function () {
                          toastr.info('Before expand event fired!');
                         }, 100);
                        });

                        card.on('afterExpand', function (card) {
                         setTimeout(function () {
                          toastr.warning('After expand event fired!');
                         }, 2000);
                        });

                        // Remove event handlers
                        card.on('beforeRemove', function (card) {
                         toastr.info('Before remove event fired!');

                         return confirm('Are you sure to remove this card ?'); // remove card after user confirmation
                        });

                        card.on('afterRemove', function (card) {
                         setTimeout(function () {
                          toastr.warning('After remove event fired!');
                         }, 2000);
                        });

                        // Reload event handlers
                        card.on('reload', function (card) {
                         toastr.info('Leload event fired!');

                         KTApp.block(card.getSelf(), {
                          overlayColor: '#ffffff',
                          type: 'loader',
                          state: 'primary',
                          opacity: 0.3,
                          size: 'lg'
                         });

                         // update the content here

                         setTimeout(function () {
                          KTApp.unblock(card.getSelf());
                         }, 2000);
                        });
                        

Card Tools

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.


                        <div class="card card-custom" id="kt_card_2">
                         <div class="card-header">
                          <div class="card-title">
                           <h3 class="card-label">Card Title</h3>
                          </div>
                          <div class="card-toolbar">
                           <a href="#" class="btn btn-icon btn-sm btn-primary mr-1" data-card-tool="toggle" data-toggle="tooltip" data-placement="top" title="Toggle Card">
                           <i class="ki ki-arrow-down icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-sm btn-success mr-1" data-card-tool="reload" data-toggle="tooltip" data-placement="top" title="Reload Card">
                           <i class="ki ki-reload icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-sm btn-warning" data-card-tool="remove" data-toggle="tooltip" data-placement="top" title="Remove Card">
                           <i class="ki ki-close icon-nm"></i>
                           </a>
                          </div>
                         </div>
                         <div class="card-body">
                          ...
                         </div>
                        </div>
                        

                        // This card is lazy initialized using data-card="true" attribute. You can access to the card object as shown below and override its behavior
                        var card = new KTCard('kt_card_1');

                        // Toggle event handlers
                        card.on('beforeCollapse', function (card) {
                         setTimeout(function () {
                          toastr.info('Before collapse event fired!');
                         }, 100);
                        });

                        card.on('afterCollapse', function (card) {
                         setTimeout(function () {
                          toastr.warning('Before collapse event fired!');
                         }, 2000);
                        });

                        card.on('beforeExpand', function (card) {
                         setTimeout(function () {
                          toastr.info('Before expand event fired!');
                         }, 100);
                        });

                        card.on('afterExpand', function (card) {
                         setTimeout(function () {
                          toastr.warning('After expand event fired!');
                         }, 2000);
                        });

                        // Remove event handlers
                        card.on('beforeRemove', function (card) {
                         toastr.info('Before remove event fired!');

                         return confirm('Are you sure to remove this card ?'); // remove card after user confirmation
                        });

                        card.on('afterRemove', function (card) {
                         setTimeout(function () {
                          toastr.warning('After remove event fired!');
                         }, 2000);
                        });

                        // Reload event handlers
                        card.on('reload', function (card) {
                         toastr.info('Leload event fired!');

                         KTApp.block(card.getSelf(), {
                          overlayColor: '#ffffff',
                          type: 'loader',
                          state: 'primary',
                          opacity: 0.3,
                          size: 'lg'
                         });

                         // update the content here

                         setTimeout(function () {
                          KTApp.unblock(card.getSelf());
                         }, 2000);
                        });
                        

Card Tools

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.


                        <div class="card card-custom" id="kt_card_3">
                         <div class="card-header">
                          <div class="card-title">
                           <h3 class="card-label">Card Title</h3>
                          </div>
                          <div class="card-toolbar">
                           <a href="#" class="btn btn-icon btn-circle btn-sm btn-light-primary mr-1" data-card-tool="toggle">
                           <i class="ki ki-arrow-down icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-circle btn-sm btn-light-success mr-1" data-card-tool="reload">
                           <i class="ki ki-reload icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-circle btn-sm btn-light-danger" data-card-tool="remove">
                           <i class="ki ki-close icon-nm"></i>
                           </a>
                          </div>
                         </div>
                         <div class="card-body">
                          ...
                         </div>
                        </div>
                        

                        // This card is lazy initialized using data-card="true" attribute. You can access to the card object as shown below and override its behavior
                        var card = new KTCard('kt_card_3');

                        // Toggle event handlers
                        card.on('beforeCollapse', function (card) {
                         setTimeout(function () {
                          toastr.info('Before collapse event fired!');
                         }, 100);
                        });

                        card.on('afterCollapse', function (card) {
                         setTimeout(function () {
                          toastr.warning('Before collapse event fired!');
                         }, 2000);
                        });

                        card.on('beforeExpand', function (card) {
                         setTimeout(function () {
                          toastr.info('Before expand event fired!');
                         }, 100);
                        });

                        card.on('afterExpand', function (card) {
                         setTimeout(function () {
                          toastr.warning('After expand event fired!');
                         }, 2000);
                        });

                        // Remove event handlers
                        card.on('beforeRemove', function (card) {
                         toastr.info('Before remove event fired!');

                         return confirm('Are you sure to remove this card ?'); // remove card after user confirmation
                        });

                        card.on('afterRemove', function (card) {
                         setTimeout(function () {
                          toastr.warning('After remove event fired!');
                         }, 2000);
                        });

                        // Reload event handlers
                        card.on('reload', function (card) {
                         toastr.info('Leload event fired!');

                         KTApp.block(card.getSelf(), {
                          overlayColor: '#ffffff',
                          type: 'loader',
                          state: 'primary',
                          opacity: 0.3,
                          size: 'lg'
                         });

                         // update the content here

                         setTimeout(function () {
                          KTApp.unblock(card.getSelf());
                         }, 2000);
                        });
                        

Default Collapsed

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

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. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.


                        <div class="card card-custom card-collapsed" data-card="true" id="kt_card_4">
                         <div class="card-header">
                          <div class="card-title">
                           <h3 class="card-label">Card Title</h3>
                          </div>
                          <div class="card-toolbar">
                           <a href="#" class="btn btn-icon btn-sm btn-light-primary mr-1" data-card-tool="toggle">
                           <i class="ki ki-arrow-down icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-sm btn-light-success mr-1" data-card-tool="reload">
                           <i class="ki ki-reload icon-nm"></i>
                           </a>
                           <a href="#" class="btn btn-icon btn-sm btn-light-danger" data-card-tool="remove">
                           <i class="ki ki-close icon-nm"></i>
                           </a>
                          </div>
                         </div>
                         <div class="card-body">
                          ...
                         </div>
                        </div>
                        

                        // This card is lazy initialized using data-card="true" attribute. You can access to the card object as shown below and override its behavior
                        var card = new KTCard('kt_card_4');

                        // Toggle event handlers
                        card.on('beforeCollapse', function (card) {
                         setTimeout(function () {
                          toastr.info('Before collapse event fired!');
                         }, 100);
                        });

                        card.on('afterCollapse', function (card) {
                         setTimeout(function () {
                          toastr.warning('Before collapse event fired!');
                         }, 2000);
                        });

                        card.on('beforeExpand', function (card) {
                         setTimeout(function () {
                          toastr.info('Before expand event fired!');
                         }, 100);
                        });

                        card.on('afterExpand', function (card) {
                         setTimeout(function () {
                          toastr.warning('After expand event fired!');
                         }, 2000);
                        });

                        // Remove event handlers
                        card.on('beforeRemove', function (card) {
                         toastr.info('Before remove event fired!');

                         return confirm('Are you sure to remove this card ?'); // remove card after user confirmation
                        });

                        card.on('afterRemove', function (card) {
                         setTimeout(function () {
                          toastr.warning('After remove event fired!');
                         }, 2000);
                        });

                        // Reload event handlers
                        card.on('reload', function (card) {
                         toastr.info('Leload event fired!');

                         KTApp.block(card.getSelf(), {
                          overlayColor: '#ffffff',
                          type: 'loader',
                          state: 'primary',
                          opacity: 0.3,
                          size: 'lg'
                         });

                         // update the content here

                         setTimeout(function () {
                          KTApp.unblock(card.getSelf());
                         }, 2000);
                        });
                        

Quick Actions finance & reports

User Profile 15 messages

Recent Notifications

Important Notice

Lorem Ipsum is simply dummy text of the printing and industry.

System Update

There are many variations of passages of Lorem Ipsum available.

Server Maintenance

Contrary to popular belief, Lorem Ipsum is not simply random text.

DB Migration

If you are going to use a passage of Lorem Ipsum, you need.

System Messages
09:30 AM

To start a blog, think of a topic about and first brainstorm ways to write details

2:45 PM

To start a blog, think of a topic about and first brainstorm ways to write details

3:12 PM

To start a blog, think of a topic about and first brainstorm ways to write details

7:05 PM

To start a blog, think of a topic about and first brainstorm ways to write details

Notifications
Pic
Marcus Smart UI/UX, Art Director
+65%
AH
Andreas Hawks Python Developer
+23%
SC
Sarah Connor HTML, CSS. jQuery
-34%
Pic
Amanda Harden UI/UX, Art Director
+72%
SR
Sean Robbins UI/UX, Art Director
+65%
JT
Jason Tatum ASP.NET Developer
+139%

Privacy Settings:

After you log in, you will be asked for additional information to confirm your identity.

Security Settings:

After you log in, you will be asked for additional information to confirm your identity. For extra security, this requires you to confirm your email. Learn more.

Select A Demo

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9