scss/_modal.scss000064400000005030151676723140007661 0ustar00.full-window-modal { .modal-dialog { position: fixed; width: 100%; height: 100%; margin: 0; max-width: 100%; left: 0; top: 0; bottom: 0; display: block; .modal-content { height: 100vh; border: none; @include border-radius(0); .modal-body { height: calc(100vh - 50px); overflow-x: auto; } .modal-footer { background-color: #393a3d; padding: 15px 24px; padding-top: 15px !important; } } } } .modal-open { .apps-modal { overflow: hidden; .close { position: absolute; top: 20px; right: 20px; text-shadow: none; z-index: 9; } .modal-dialog { width: 100%; max-width: 100%; border-radius: 0; margin: 0; .modal-content { border: none; border-radius: 0; min-height: 100vh; background-color: $white; .quick-search { position: absolute; width: 100%; top: 17px; padding: 0 50px; z-index: 9; .input-wrap { position: relative; i { position: absolute; right: 5px; top: 0; width: 30px; height: 35px; border-radius: 50%; line-height: 35px; text-align: center; } } } .modal-body { .apps-wrap { @include flexbox(); @include flex-flow(row wrap); @include justify-content(center); width: 100%; .app-item { width: 130px; height: 100px; margin: 10px; color: #ccc; text-align: center; @include flexbox(); @include align-items(center); @include justify-content(center); a { display: inline-block; i { font-size: 40px; color: #3e5569; display: inline-block; margin-bottom: 10px; @include transition(all 0.3s ease 0.0s); } span { display: block; font-size: 14px; color: #3e5569; } } &:hover { i { color: $theme; } } } } } } } &.fade { .modal-dialog { overflow: hidden; @include transform(translate(0,0) scale(1.2)); } &.show { .modal-dialog { @include transform(translate(0,0) scale(1)); } } } } }scss/theme.scss000064400000000655151676723140007540 0ustar00/*! * ThemeKit v1 (https://lavalite.org/) * Copyright 2018 The Lavalite Authors */ @import 'mixins'; @import 'settings'; @import 'cards'; @import 'widgets'; @import 'tables'; @import 'badges'; @import 'navigation'; @import 'buttons'; @import 'modal'; @import 'forms'; @import 'carousel'; @import 'calendar'; @import 'alert'; @import 'rating'; @import 'range-slider'; @import 'auth'; @import 'main'; scss/_mixins.scss000064400000011244151676723140010100 0ustar00@mixin border-radius($radius) { border-radius: $radius; -webkit-border-radius: $radius; -moz-border-radius: $radius; } @mixin input-placeholder { &.placeholder { @content; } &:-moz-placeholder { @content; } &::-moz-placeholder { @content; } &:-ms-input-placeholder { @content; } &::-webkit-input-placeholder { @content; } } @mixin transition($transition...) { -moz-transition: $transition; -o-transition: $transition; -webkit-transition: $transition; transition: $transition; } @mixin transition-property($property...) { -moz-transition-property: $property; -o-transition-property: $property; -webkit-transition-property: $property; transition-property: $property; } @mixin transition-duration($duration...) { -moz-transition-property: $duration; -o-transition-property: $duration; -webkit-transition-property: $duration; transition-property: $duration; } @mixin box-shadow($shadow...) { -webkit-box-shadow: $shadow; -moz-box-shadow: $shadow; box-shadow: $shadow; } @mixin transform($transforms) { -moz-transform: $transforms; -o-transform: $transforms; -ms-transform: $transforms; -webkit-transform: $transforms; transform: $transforms; } @mixin rotate ($deg) { @include transform(rotate(#{$deg}deg)); } @mixin scale($scale) { @include transform(scale($scale)); } @mixin translate ($x, $y) { @include transform(translate($x, $y)); } @mixin translate3d ($x, $y, $z) { @include transform(translate3d($x, $y, $z)); } @mixin skew ($x, $y) { @include transform(skew(#{$x}deg, #{$y}deg)); } @mixin transform-origin ($origin) { moz-transform-origin: $origin; -o-transform-origin: $origin; -ms-transform-origin: $origin; -webkit-transform-origin: $origin; transform-origin: $origin; } @mixin flexbox() { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; } @mixin flex($values) { -webkit-box-flex: $values; -moz-box-flex: $values; -webkit-flex: $values; -ms-flex: $values; flex: $values; } @mixin flex-direction($direction) { -webkit-flex-direction: $direction; -moz-flex-direction: $direction; -ms-flex-direction: $direction; flex-direction: $direction; } @mixin flex-wrap($wrap) { -webkit-flex-wrap: $wrap; -moz-flex-wrap: $wrap; -ms-flex-wrap: $wrap; flex-wrap: $wrap; } @mixin flex-flow($flow) { -webkit-flex-flow: $flow; -moz-flex-flow: $flow; -ms-flex-flow: $flow; flex-flow: $flow; } @mixin order($val) { -webkit-box-ordinal-group: $val; -moz-box-ordinal-group: $val; -ms-flex-order: $val; -webkit-order: $val; order: $val; } @mixin flex-grow($grow) { -webkit-flex-grow: $grow; -moz-flex-grow: $grow; -ms-flex-grow: $grow; flex-grow: $grow; } @mixin flex-shrink($shrink) { -webkit-flex-shrink: $shrink; -moz-flex-shrink: $shrink; -ms-flex-shrink: $shrink; flex-shrink: $shrink; } @mixin flex-basis($width) { -webkit-flex-basis: $width; -moz-flex-basis: $width; -ms-flex-basis: $width; flex-basis: $width; } @mixin justify-content($justify) { -webkit-justify-content: $justify; -moz-justify-content: $justify; -ms-justify-content: $justify; justify-content: $justify; -ms-flex-pack: $justify; } @mixin align-content($align) { -webkit-align-content: $align; -moz-align-content: $align; -ms-align-content: $align; align-content: $align; } @mixin align-items($align) { -webkit-align-items: $align; -moz-align-items: $align; -ms-align-items: $align; align-items: $align; } @mixin align-self($align) { -webkit-align-self: $align; -moz-align-self: $align; -ms-align-self: $align; align-self: $align; } @mixin pseudo-element($element) { &:#{$element}, &::#{$element} { @content; } } $breakpoints: ( "phone" : 400px, "phone-wide" : 480px, "phablet" : 560px, "tablet-small": 640px, "tablet" : 768px, "tablet-wide" : 1024px, "desktop" : 1248px, "desktop-wide": 1440px); @mixin mq($width, $type: min) { @if map_has_key($breakpoints, $width) { $width: map_get($breakpoints, $width); @if $type==max { $width: $width - 1px; } @media only screen and (#{$type}-width: $width) { @content; } } } @mixin theme-keyframes($name) { @-webkit-keyframes #{$name} { @content; } @keyframes #{$name} { @content; } }scss/_navigation.scss000064400000001076151676723140010732 0ustar00.pagination { .page-item { padding: 5px; .page-link { outline: initial!important; box-shadow: none!important; line-height: 18px; min-width: 30px; text-align: center; height: 30px; padding: 6px 0px; border: none; background-color: #eaeaea; color: #3e5569; @include border-radius(30px); &.first, &.last { color: $white; background-color: #3e5569; } } &.active { .page-link { background-color: $primary; color: $white; } } } }scss/_range-slider.scss000064400000003576151676723140011156 0ustar00/*range slider start */ .range-slider { min-height: 200px; display: flex; align-items: center; margin-left: 15px; b{ margin-top: -10px; } } #RGB { height: 10px; background: rgb(128, 128, 128); } #RC .slider-selection { background: #FF8282; } #RC .slider-handle { background: red; } #GC .slider-selection { background: #428041; } #GC .slider-handle { background: green; } #BC .slider-selection { background: #8283FF; } #BC .slider-handle { border-bottom-color: blue; } #R, #G, #B { width: 300px; } .range-slider-contain { position: absolute; bottom: 15px; } .slider-handle { top: -5px; background-image: linear-gradient(to bottom, $primary 0%, $primary 100%); box-shadow: none; } .slider-tick, .slider-track { background-image: linear-gradient(to bottom, #BDC3C7 0%, #BDC3C7 100%) } .slider-handle.custom::before { line-height: 15px; font-size: 35px; color: $primary; } #slider12a, #slider12c { .slider-track-high { background: green; } } #slider12b, #slider12c { .slider-track-low { background: red; } } #slider12c .slider-selection { background: yellow; } .slider-selection.tick-slider-selection { background-image: linear-gradient(to bottom, lighten($primary,10%) 0%, lighten($primary,10%) 100%); } .slider-tick.in-selection { background-image: linear-gradient(to bottom, lighten($primary,10%) 0%, lighten($primary,10%) 100%); } .slider.slider-horizontal { .slider-track { height: 2px; } .slider-tick, .slider-handle { top: -5px; cursor: pointer; } } /*range slider end */ .slider.slider-horizontal .slider-track { width: 90%; margin-top: -5px; top: 50%; left: 10px; } scss/theme.css.map000064400000161702151676723140010132 0ustar00{ "version": 3, "mappings": "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", "sources": ["theme.scss","_settings.scss","_mixins.scss","_cards.scss","_widgets.scss","_tables.scss","_badges.scss","_navigation.scss","_buttons.scss","_modal.scss","_forms.scss","_carousel.scss","_calendar.scss","_alert.scss","_auth.scss","_main.scss"], "names": [], "file": "theme.css" } scss/_badges.scss000064400000003201151676723140010010 0ustar00.badge { padding: 6px 10px; font-size: 12px; font-weight: 600; &.badge-top-left { top: 7px; right: 10px; } &.badge-top-left-2 { top: 40px; right: 10px; } } .badge-primary, .badge-success, .badge-info, .badge-warning, .badge-danger, .badge-inverse, .badge-purple, .badge-pink, .badge-twitter, .badge-facebook, .badge-linkedin, .badge-google, .badge-dribbble, .badge-instagram { color: $white; } .badge-theme { background-color: $theme; } .badge-aqua { background-color: $aqua; } .badge-blue { background-color: $blue; } .badge-light-blue { background-color: $light-blue; } .badge-teal { background-color: $teal; } .badge-yellow { background-color: $yellow; } .badge-orange { background-color: $orange; } .badge-green { background-color: $green; } .badge-lime { background-color: $lime; } .badge-red { background-color: $red; } .badge-fuchsia { background-color: $fuchsia; } .badge-navy { background-color: $navy; } .badge-empty { background: $empty; } .badge-primary { background-color: $primary; } .badge-success { background-color: $success; } .badge-info { background-color: $info; } .badge-warning { background-color: $warning; } .badge-danger { background-color: $danger; } .badge-muted { background-color: $muted; } .badge-inverse { background-color: $inverse; } .badge-purple { background-color: $purple; } .badge-pink { background-color: $pink; } .badge-white { background-color: $white; } .btn { .badge { padding: 2px 6px; } }scss/_carousel.scss000064400000001015151676723140010401 0ustar00.slider-nav { .left-arrow, .right-arrow { font-size: 20px; color: #145388; display: inline-block; vertical-align: middle; margin: 0 15px; } .slider-dot-container { display: inline-block; .owl-dot { width: 6px; height: 6px; border-radius: 10px; color: #00a7e2; background: #7cb9ec; outline: initial!important; border: initial; margin: 0 5px; padding: 0; &.active { background: #145388; } } } }scss/_main.scss000064400000072540151676723140007523 0ustar00$ff: 'Nunito Sans', sans-serif; body { color: #212121; font-size: .8rem; line-height: 1.5; font-weight: 400; font-family: $ff; } .dropdown-toggle { @include pseudo-element('after') { display: none; } } .tooltip { font-family: $ff; font-size: 12px; font-weight: 700; } .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .progress-sm { height: .5rem; .progress-bar { height: .5rem; } } .img-thumbnail, .list-thumbnail { border-radius: .1rem; padding: 0; border: initial; } .list-thumbnail { height: auto; max-width: unset; height: 85px; object-fit: cover; width: unset!important; @include mq('tablet-wide', 'max') { &.responsive { width: unset; height: 135px; } } &.small { height: 60px; font-size: 1rem; } } .list-thumbnail-letters { width: 85px; height: 85px; background: #090e40; align-items: center; display: flex; justify-content: center; font-size: 1.25rem; color: #fff; &.small { width: 60px; height: 60px; font-size: 1rem; } } .list-item-heading { font-size: 1rem; } .flex-grow-1 { @include flex-grow(1); } .dropdown-menu { padding: 5px; font-size: 12px; background-color: $white; border-color: $empty; margin: 0; width: 170px; @include border-radius(6px); @include box-shadow(0 2px 30px rgba(0,0,0,.08)); .dropdown-item { background-color: $white; padding: 8px 15px; line-height: 14px; @include border-radius(4px); .dropdown-icon { display: inline-block; vertical-align: middle; font-size: 16px; margin-right: 5px; vertical-align: -2px; color: $grey; } &:hover, &:focus { background-color: #dee2e6 !important; color: $dark; } .badge { width: 15px; height: 15px; border-radius: 50%; text-align: center; padding: 0; line-height: 15px; } } @include pseudo-element('after') { bottom: 100%; left: 10px; border: solid transparent; content: ' '; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(136, 183, 213, 0); border-bottom-color: $white; border-width: 5px; } &.dropdown-menu-right::after { right: 10px; left: auto; } } .wrapper { .header-top { background-color: $white; z-index: 1030; position: relative; padding: 15px 0; position: fixed; top: 0; width: 100%; left: 0; padding-left: 240px; @include box-shadow(0 1px 15px rgba(0,0,0,.04), 0 1px 6px rgba(0,0,0,.04)); .top-menu { .dropdown { margin-left: 10px; .dropdown-menu { margin-top: 10px; &.menu-grid { width: 182px; .dropdown-item { display: inline-block; width: 40px; height: 40px; text-align: center; padding: 0; line-height: 40px; font-size: 18px; color: #5A5A5A; } } &.notification-dropdown { min-width: 300px; padding: 0; .header { margin: 0; padding: 15px; font-size: 16px; border-bottom: 1px solid #f1f1f1; } .notifications-wrap { .media { border-bottom: 1px solid #eef1f2; padding: 10px; &:nth-child(odd) { background: #f8f9fa; } .d-flex { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin-right: 15px; i { color: #fff; text-align: center; font-size: 15px; line-height: 30px; top: 0; height: 30px; width: 30px; background: #404E67; @include border-radius(50%); } img { height: 30px; } } .media-body { font-size: 12px; .media-heading { color: #444; font-weight: 600; letter-spacing: 0; } .media-content { color: #868e96; } } } } .footer { text-align: center; padding: 10px 15px; a { color: #212121; font-size: 16px; } } } } } .nav-link { width: 30px; height: 30px; padding: 0; text-align: center; line-height: 36px; color: $dark; border: none; position: relative; @include border-radius(50%); @include transition(all .5s ease-in-out); &:hover, &:focus{ background-color: #dee2e6; color: #333; } i { font-size: 16px; } .badge { right: -1px; position: absolute; top: -4px; padding: 3px; width: 17px; font-size: 11px; font-weight: 800; color: #fff; @include border-radius(100px); } } .avatar { color: $inverse; font-weight: 600; width: 30px; height: 30px; line-height: 30px; @include border-radius(50%); display: inline-block; background: #ced4da no-repeat center/cover; position: relative; vertical-align: bottom; font-size: .875rem; user-select: none; } .mobile-nav-toggle { border: none; position: relative; margin-right: 5px; span { height: 2px; width: 20px; background-color: #4a5361; display: inline-block; border-radius: 4px; position: absolute; top: 14px; left: 5px; &::before, &::after { content: ""; height: 2px; width: 20px; border-radius: 4px; background-color: #4a5361; display: inline-block; position: absolute; } &::before { left: 0; top: -6px; } &::after { left: 0; bottom: -6px; } } } .header-search { padding: 0 10px; position: relative; .input-group { @include border-radius(20px); margin-bottom: 0; .input-group-addon { color: #404E67; padding: 2px 10px 2px 0px; font-size: 16px; cursor: pointer; &.search-close { padding: 2px 0px 2px 10px; display: none; } } .form-control { padding: 0 10px; min-height: auto; width: 0; border: none; color: #353c4e; background-color: transparent; @include border-radius(0px); } } &.open { .input-group { background-color: #e4e4e4; .input-group-addon.search-close { display: block; } } } } } @include mq('tablet-wide', 'max') { padding-left: 0; } &[header-theme="light"] { background: $white; } &[header-theme="dark"] { background: #272d36; } &[header-theme="blue"] { background: $primary; } &[header-theme="red"] { background: $danger; } &[header-theme="orange"] { background: $warning; } &[header-theme="green"] { background: $success; } &[header-theme="purple"] { background: $purple; } &[header-theme="blue"], &[header-theme="red"], &[header-theme="orange"], &[header-theme="green"], &[header-theme="purple"], &[header-theme="dark"] { .top-menu { .nav-link { color: $white; background-color: $empty; } .header-search { .input-group { .input-group-addon { color: $white; } } } } } } .page-wrap { position: relative; .app-sidebar { position: fixed; left: 0; top: 0; width: 240px; height: 100vh; background-color: $white; z-index: 1040; @include box-shadow(0 3px 30px rgba(0,0,0,.1), 0 3px 20px rgba(0,0,0,.1)); @include transition(width 0.3s cubic-bezier(0, 0, 0.2, 1)); @include translate3d(0, 0, 0); white-space: nowrap; visibility: visible; .sidebar-header { @include flexbox(); @include align-items(center); @include justify-content(space-between); padding: 13px 15px; height: 60px; .header-brand { display: block; font-size: 22px; font-weight: 700; color: #212529; .logo-img { display: inline-block; width: 30px; } } .nav-toggle { border: none; background-color: $empty; color: $white; font-size: 20px; @include box-shadow(none); } .btn-icon { border: none; } .nav-close { display: none; border: none; background-color: $empty; color: $white; font-size: 20px; @include box-shadow(none); @include mq('tablet-wide', 'max') { display: inline-block; } } @include mq('tablet-wide', 'max') { .nav-toggle { display: none; } } } .sidebar-content { position: relative; height: -webkit-calc(100vh - 60px); height: -moz-calc(100vh - 60px); height: calc(100vh - 60px); overflow: auto; z-index: 4; .nav-container { .navigation-main { .nav-item { // border-bottom: 1px solid #f3f3f3; position: relative; a { display: block; overflow: hidden; padding: 15px 5px; margin-left: 15px; margin-right: 15px; color: #545454; position: relative; i { font-size: 20px; margin-right: 10px; display: inline-block; vertical-align: -4px; } span { font-size: 13px; } .badge { position: absolute; right: 30px; text-align: center; top: 16px; vertical-align: middle; white-space: nowrap; opacity: 1; visibility: visible; border-radius: 4px; font-size: 75%; padding: 4px 7px; margin-right: 5px; font-weight: 800; color: #fff; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; text-transform: uppercase; } &.disabled { opacity: 0.5; cursor: not-allowed !important; } } &.has-sub { a::before { content: "\e844"; font-family: "iconkit"; position: absolute; right: 3px; top: 15px; @include rotate(0); @include transition(all 0.2s ease-in-out); } .submenu-content { background-color: #f3f3f3; .menu-item { padding: 10px 5px; font-size: 13px; padding-left: 50px; margin: 0; &::before { display: none; } &.active { color: #eb525d; } } .nav-item { &::after { display: none; } a { position: relative; &::before { content: "\e844"; font-family: "iconkit"; position: absolute; right: 20px; top: 10px; display: inline-block; @include rotate(0); @include transition(all 0.2s ease-in-out); } } .submenu-content { .menu-item { padding-left: 70px; &::before { display: none; } } } &.open { a::before { @include rotate(90); } } } } } &:not(.open) .submenu-content { display: none; } &.open { a::before { @include rotate(90); } &::after { background: #576a3d; border-radius: 10px; color: #fff; content: " "; height: 30px; left: 0; position: absolute; top: 10px; width: 3px; } } &.active::after { background: #576a3d; border-radius: 10px; color: #fff; content: " "; height: 30px; left: 0; top: 10px; position: absolute; width: 3px; } } .nav-lavel { font-size: 14px; font-weight: 400; opacity: 1; padding: 8px 20px 8px; text-transform: capitalize; visibility: visible; width: 100%; color: #999; background: #333e52; } } } } &.colored { .sidebar-header { background-color: #272d36; .header-brand { color: $white; } } .sidebar-content { background-color: #404E67; .nav-container { .navigation-main { .nav-item { border-color: rgba(243, 243, 243, 0.15); a { color: $white; i { color: #bcc8d8; } } .submenu-content { background-color: #4a5872; } &.open::after, &.active::after { background-color: #eb525d; } } } } } } &.hide-sidebar { @include transition(transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1)); @include translate3d(-100%, 0, 0); } @include mq('tablet-wide', 'max') { @include transition(transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1)); } } .main-content { padding: 30px 0; background-color: #F6F7FB; min-height: calc(100vh - 120px); margin-top: 60px; padding-right: 15px; padding-left: 255px; @include transition(all 0.3s ease); @include mq('tablet-wide', 'max') { padding-left: 0; padding-right: 0; } .page-header { margin-bottom: 30px; .page-header-title { i { float: left; width: 40px; height: 40px; border-radius: 5px; margin-right: 20px; vertical-align: middle; font-size: 22px; color: #fff; display: inline-flex; @include justify-content(center); @include align-items(center); @include box-shadow(0 2px 12px -3px rgba(0,0,0,0.5)); } h5 { margin-bottom: 0; font-weight: 700; font-size: 18px; &+span { font-size: 13px; } } } .breadcrumb-container { float: right; .breadcrumb { background-color: transparent; margin-bottom: 0; float: right; .breadcrumb-item { a { color: #212121; } } } } } .card { .card-body { .sub-title { font-size: 14px; border-bottom: 1px solid rgba(204,204,204,0.35); padding-bottom: 10px; margin-bottom: 20px; color: #2c3e50; } code { background-color: #eee; margin: 5px; display: inline-block; padding: 1px 6px; @include border-radius(3px) } .list-item-wrap { .list-item { padding: 13px 20px; border: 1px solid #ededed; position: relative; border-left: 0; border-right: 0; height: 50px; overflow: hidden; @include transition(transform 0.2s ease-in-out); .item-inner { @include flexbox(); @include justify-content(flex-start); position: relative; .custom-control { margin: 0; margin-top: -2px; } .list-title { width: 100%; display: block; a { color: #3e5569; font-weight: 600; display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: calc(100% - 50px); } } .list-actions { position: absolute; right: 0px; top: 50%; opacity: 0; display: none; z-index: 3; padding-left: 10px; @include transform(translateY(-50%)); a { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 32px; color: #999; display: inline-block; &:hover, &:focus { background-color: #dee2e6; color: #333; } } } } .qickview-wrap { margin-top: 5px; opacity: 0; .desc { p { margin: 0; } } } &:hover, &:focus { background-color: #f9f9f9; .list-actions { opacity: 1; display: block; } } &.quick-view-opened { height: auto; background-color: $white; border: none; z-index: 5; @include box-shadow(0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1)); @include scale(1.01); .item-inner { .list-title { a { font-size: 16px; color: #263238; } } } .qickview-wrap { opacity: 1; } } & + .list-item { margin-top: -1px; } &:last-child { border-bottom: none; } } } } } } .footer { background: $white; padding: 20px 30px; border-top: 1px solid rgba(0, 0, 0, 0.04); font-size: calc(0.875rem - 0.05rem); @include transition(all 0.25s ease); @include mq('tablet-wide') { padding-left: 270px; } } .right-sidebar { position: fixed; top: 60px; right: 0; width: 240px; background: #fff; height: calc(100vh - 60px); border-left: 1px solid #eef1f2; border-top: 1px solid #eef1f2; padding: 1.07143em; z-index: 9; @include transform(translateX(100%)); @include transition(all 0.25s ease); .sidebar-chat { .sidebar-chat-info { h6 { color: #353c4e; } .form-group { position: relative; .form-control { padding-right: 30px; @include border-radius(50px); padding-left: 15px; } i { position: absolute; top: 8px; right: 10px; font-size: 16px; color: #bbb; } } } .chat-list { .list-group { margin-left: -1.07143em; margin-right: -1.07143em; .list-group-item { background: none; border: 0; border-top: 1px solid #eef1f2; padding: 1em 1.07143em; overflow: hidden; color: #999; @include flexbox(); @include align-items(center); figure { margin: 0; position: relative; margin-right: 10px; img { width: 40px; height: 40px; } } span { line-height: 1em; @include flexbox(); @include justify-content(end); @include flex-direction(column); .name { font-size: 14px; color: #444; margin-bottom: 5px; } } } [class*="user-"]:after { position: absolute; top: calc(50% + 15px); left: 0; @include transform(translateY(-50%)); } } } } } .chat-panel { position: fixed; top: calc(100vh); right: calc( 240px + 15px); width: 310px; z-index: 9999; @include transform(translateY(-100%) translateX(14.0625rem)); .card { border: none; margin-bottom: 1.42857em; @include border-radius(10px); @include box-shadow(0 4px 8px 3px rgba(0, 0, 0, 0.2)); .card-header { background: none; padding: 1.07143em 1.42857em; font-size: 1.14286em; border-bottom: 1px solid rgba(153, 153, 153, 0.2); } .card-body { padding: 1.07143em; .messages { position: relative; max-height: 21.42857em; overflow-y: scroll; margin-top: -1.07143em; margin-right: -1.07143em; margin-left: -1.07143em; padding-top: 1.07143em; padding-right: 1.07143em; padding-left: 1.07143em; .message { margin: 0.71429em 0; &:first-child { margin-top: 0; } figure { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; margin: 0; position: relative; order: 2; img { width: 30px; height: 30px; } } .message-body { margin-top: .5em; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin: auto 1.5em; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; p { background: #404E67; border: 1px solid #404E67; border-radius: 3px; padding: .5em 1em; color: #fff; margin-bottom: .5em; position: relative; &:first-child:after, &:first-child:before { content: ""; height: 0; width: 0; display: block; position: absolute; top: 1.25rem; right: -7px; left: auto; border-style: solid; border-width: 6px 0 7px 6px; border-color: transparent transparent transparent #404E67; @include transform(translateY(-50%)); } &:first-child:before { right: -7px; border-left-color: #404E67; } } } &.reply { figure { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .message-body { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; p { background: #fff; border: 1px solid #eef1f2; border-radius: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-radius: 3px; color: #666; &:first-child:after, &:first-child:before { content: ""; height: 0; width: 0; display: block; position: absolute; right: auto; left: -7px; border-style: solid; border-width: 6px 7px 6px 0; border-color: transparent #fff transparent transparent; @include transform(translateY(-50%)); } &:first-child:before { left: -9px; border-right-color: #eef1f2; } &:first-child:after { content: ""; height: 0; width: 0; display: block; position: absolute; right: auto; left: -7px; border-style: solid; border-width: 6px 7px 6px 0; border-color: transparent #fff transparent transparent; @include transform(translateY(-50%)); } } } } } } } .card-footer { background: none; padding: 1.07143em 1.42857em; border-top: 1px solid rgba(153, 153, 153, 0.2); .list-icon { font-size: 1.125rem; } textarea { box-shadow: none; resize: none; padding: 0; width: 100%; min-height: auto; padding: 5px 0; } } } } } &.nav-collapsed { .header-top { padding-left: 60px; } .page-wrap { .app-sidebar { width: 60px; .sidebar-header { .header-brand { .text { display: none; } } } .sidebar-content { .nav-container { .navigation-main { .nav-lavel { display: none; } .nav-item { a { span { display: none; } &::before { display: none; } } } } } } &:hover { width: 240px; .header-brand { .text { display: inline-block; } } .sidebar-content { .nav-container { .navigation-main { .nav-lavel { display: block; } .nav-item { a { span { display: inline-block; } &::before { display: inline-block; } } } } } } } } .main-content { padding-left: 75px; } .footer { padding-left: 90px; } } } &.menu-collapsed { .page-wrap { .app-sidebar { .sidebar-header { .nav-toggle { display: none; } } } } } &.right-sidebar-expand { .right-sidebar { @include transform(translateX(0)); } .chat-panel { @include transform(translateY(-100%) translateX(0)); } } } hr { box-sizing: content-box; height: 0; margin-top: 1rem; border: 0; border-top: 1px solid rgba(0,0,0,.1); } .profiletimeline { position: relative; padding-left: 40px; margin: 40px 10px 0 30px; border-left: 1px solid rgba(0,0,0,.1); .sl-item { margin-top: 8px; margin-bottom: 30px; .sl-left { float: left; margin-left: -60px; z-index: 1; margin-right: 15px; img { max-width: 40px; } } .sl-right { .sl-date { font-size: 12px; color: #afb5c1; } } } } .dd-handle { background: #f7f7f7; border-radius: 3px; padding: 20px; position: relative; display: block; text-decoration: none; margin: 5px 0; overflow: hidden; p { margin: 0; } @include pseudo-element('after') { content: ''; width: 5px; height: 100%; position: absolute; top: 0; left: 0; } } .dd-list { margin: 0; padding: 0; list-style: none; .dd-placeholder, .dd-empty { margin: 5px 0; padding: 0; min-height: 30px; background: #f2fbff; border: 1px dashed #b6bcbf; @include border-radius (4px); } .dd-list { padding-left: 30px; } } .dd-dragel { position: absolute; pointer-events: none; z-index: 9999; .dd-handle { -webkit-box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1); -ms-box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1); box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1); } } .todo-task { .dd-handle { @include pseudo-element('after') { background-color: $danger; } } } .progress-task { .dd-handle { @include pseudo-element('after') { background-color: $yellow; } } } .completed-task { .dd-handle { @include pseudo-element('after') { background-color: $green; } } } [class*="user--"]::after { height: 0.64286em; width: 0.64286em; display: block; position: absolute; top: 0; right: 10%; border-radius: 100px; content: ""; -webkit-box-shadow: 0 0 0 2px #fff; box-shadow: 0 0 0 2px #fff; } .user--online:after { background: #06d6a0; } .user--busy:after { background: #ff3333; } .user--offline:after { background: #bbb; }scss/theme.css000064400000316674151676723140007370 0ustar00/*! * ThemeKit v1 (https://lavalite.org/) * Copyright 2018 The Lavalite Authors */ html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } strong { font-weight: bold; } dfn { font-style: italic; } h1 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-appearance: textfield; /* 1 */ box-sizing: content-box; /* 2 */ } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; /* 1 */ padding: 0; /* 2 */ } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } *, body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; } ::-moz-selection { background: #b3d4fc; text-shadow: none; } ::selection { background: #b3d4fc; text-shadow: none; } hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } audio, canvas, iframe, img, svg, video { vertical-align: middle; } fieldset { border: 0; margin: 0; padding: 0; } textarea { resize: vertical; } .browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; } * { outline: none !important; } a { color: #212121; -moz-transition: color 0.2s; -o-transition: color 0.2s; -webkit-transition: color 0.2s; transition: color 0.2s; } a:hover, a:focus, a:active { outline: 0; text-decoration: none; color: #212121; } .bg-theme { background-color: #ef4153 !important; } .bg-aqua { background-color: #3ec5d6 !important; } .bg-blue { background-color: #19B5FE !important; } .bg-light-blue { background-color: #89CFF0 !important; } .bg-teal { background-color: #008081 !important; } .bg-yellow { background-color: #F7CA18 !important; } .bg-orange { background-color: #FF8000 !important; } .bg-green { background-color: #26C281 !important; } .bg-lime { background-color: #cad900 !important; } .bg-red { background-color: #F22613 !important; } .bg-fuchsia { background-color: #df2de3 !important; } .bg-navy { background-color: #000080 !important; } .bg-empty { background: transparent !important; } .bg-primary { background-color: #007bff !important; } .bg-success { background-color: #2dce89 !important; } .bg-info { background-color: #11cdef !important; } .bg-warning { background-color: #fb6340 !important; } .bg-danger { background-color: #f5365c !important; } .bg-muted { background-color: #6c757d !important; } .bg-inverse { background-color: #4c5667 !important; } .bg-purple { background-color: #BF55EC !important; } .bg-pink { background-color: #f76397 !important; } .bg-white { background-color: #ffffff !important; } .text-blue { color: #19B5FE !important; } .text-light-blue { color: #89CFF0 !important; } .text-teal { color: #008081 !important; } .text-navy { color: #000080 !important; } .text-lime { color: #cad900 !important; } .text-orange { color: #FF8000 !important; } .text-yellow { color: #F7CA18 !important; } .text-aqua { color: #3ec5d6 !important; } .text-white { color: #ffffff !important; } .text-danger { color: #f5365c !important; } .text-green { color: #26C281 !important; } .text-primary { color: #007bff !important; } .text-warning { color: #fb6340 !important; } .text-success { color: #2dce89 !important; } .text-info { color: #11cdef !important; } .text-inverse { color: #4c5667 !important; } .text-pink { color: #f76397 !important; } .text-purple { color: #BF55EC !important; } .text-dark { color: #212121 !important; } .text-fuchsia { color: #df2de3 !important; } .text-red { color: #F22613 !important; } .text-facebook { color: #3b579d !important; } .text-twitter { color: #1da1f2 !important; } .text-instagram { color: #fb3958 !important; } .text-google { color: #dc4a38 !important; } .text-linkedin { color: #0177b4 !important; } .text-behance { color: #053eff !important; } .text-red { color: #F22613 !important; } .min-width-zero { min-width: 0; } .w-10 { width: 10% !important; } .w-90 { width: 90% !important; } .w-12 { width: 12% !important; } .w-88 { width: 88% !important; } .w-15 { width: 15% !important; } .w-85 { width: 85% !important; } .w-20 { width: 20% !important; } .w-80 { width: 80% !important; } .w-30 { width: 30% !important; } .w-70 { width: 70% !important; } .w-40 { width: 40% !important; } .w-60 { width: 60% !important; } .m-0 { margin: 0 !important; } .mt-0 { margin-top: 0px !important; } .mt-5 { margin-top: 5px !important; } .mt-10 { margin-top: 10px !important; } .mt-15 { margin-top: 15px !important; } .mt-20 { margin-top: 20px !important; } .mt-25 { margin-top: 25px !important; } .mt-30 { margin-top: 30px !important; } .mt-35 { margin-top: 35px !important; } .mt-40 { margin-top: 40px !important; } .mt-45 { margin-top: 45px !important; } .mt-50 { margin-top: 50px !important; } .mt-55 { margin-top: 55px !important; } .mt-60 { margin-top: 60px !important; } .mt-65 { margin-top: 65px !important; } .mt-70 { margin-top: 70px !important; } .mt-75 { margin-top: 75px !important; } .mt-80 { margin-top: 80px !important; } .mt-85 { margin-top: 85px !important; } .mt-90 { margin-top: 90px !important; } .mt-95 { margin-top: 95px !important; } .mt-100 { margin-top: 100px !important; } .mb-0 { margin-bottom: 0px !important; } .mb-5 { margin-bottom: 5px !important; } .mb-10 { margin-bottom: 10px !important; } .mb-15 { margin-bottom: 15px !important; } .mb-20 { margin-bottom: 20px !important; } .mb-25 { margin-bottom: 25px !important; } .mb-30 { margin-bottom: 30px !important; } .mb-35 { margin-bottom: 35px !important; } .mb-40 { margin-bottom: 40px !important; } .mb-45 { margin-bottom: 45px !important; } .mb-50 { margin-bottom: 50px !important; } .mb-55 { margin-bottom: 55px !important; } .mb-60 { margin-bottom: 60px !important; } .mb-65 { margin-bottom: 65px !important; } .mb-70 { margin-bottom: 70px !important; } .mb-75 { margin-bottom: 75px !important; } .mb-80 { margin-bottom: 80px !important; } .mb-85 { margin-bottom: 85px !important; } .mb-90 { margin-bottom: 90px !important; } .mb-95 { margin-bottom: 95px !important; } .mb-100 { margin-bottom: 100px !important; } .ml-0 { margin-left: 0px !important; } .ml-5 { margin-left: 5px !important; } .ml-10 { margin-left: 10px !important; } .ml-15 { margin-left: 15px !important; } .ml-20 { margin-left: 20px !important; } .ml-25 { margin-left: 25px !important; } .ml-30 { margin-left: 30px !important; } .ml-35 { margin-left: 35px !important; } .ml-40 { margin-left: 40px !important; } .ml-45 { margin-left: 45px !important; } .ml-50 { margin-left: 50px !important; } .ml-55 { margin-left: 55px !important; } .ml-60 { margin-left: 60px !important; } .ml-65 { margin-left: 65px !important; } .ml-70 { margin-left: 70px !important; } .ml-75 { margin-left: 75px !important; } .ml-80 { margin-left: 80px !important; } .ml-85 { margin-left: 85px !important; } .ml-90 { margin-left: 90px !important; } .ml-95 { margin-left: 95px !important; } .ml-100 { margin-left: 100px !important; } .mr-0 { margin-right: 0px !important; } .mr-5 { margin-right: 5px !important; } .mr-10 { margin-right: 10px !important; } .mr-15 { margin-right: 15px !important; } .mr-20 { margin-right: 20px !important; } .mr-25 { margin-right: 25px !important; } .mr-30 { margin-right: 30px !important; } .mr-35 { margin-right: 35px !important; } .mr-40 { margin-right: 40px !important; } .mr-45 { margin-right: 45px !important; } .mr-50 { margin-right: 50px !important; } .mr-55 { margin-right: 55px !important; } .mr-60 { margin-right: 60px !important; } .mr-65 { margin-right: 65px !important; } .mr-70 { margin-right: 70px !important; } .mr-75 { margin-right: 75px !important; } .mr-80 { margin-right: 80px !important; } .mr-85 { margin-right: 85px !important; } .mr-90 { margin-right: 90px !important; } .mr-95 { margin-right: 95px !important; } .mr-100 { margin-right: 100px !important; } .p-0 { padding: 0 !important; } .pt-0 { padding-top: 0px !important; } .pt-5 { padding-top: 5px !important; } .pt-10 { padding-top: 10px !important; } .pt-15 { padding-top: 15px !important; } .pt-20 { padding-top: 20px !important; } .pt-25 { padding-top: 25px !important; } .pt-30 { padding-top: 30px !important; } .pt-35 { padding-top: 35px !important; } .pt-40 { padding-top: 40px !important; } .pt-45 { padding-top: 45px !important; } .pt-50 { padding-top: 50px !important; } .pt-55 { padding-top: 55 !important; } .pt-60 { padding-top: 60px !important; } .pt-65 { padding-top: 65px !important; } .pt-70 { padding-top: 70px !important; } .pt-75 { padding-top: 75px !important; } .pt-80 { padding-top: 80px !important; } .pt-85 { padding-top: 85px !important; } .pt-90 { padding-top: 90px !important; } .pt-95 { padding-top: 95px !important; } .pt-100 { padding-top: 100px !important; } .pb-0 { padding-bottom: 0px !important; } .pb-5 { padding-bottom: 5px !important; } .pb-10 { padding-bottom: 10px !important; } .pb-15 { padding-bottom: 15px !important; } .pb-20 { padding-bottom: 20px !important; } .pb-25 { padding-bottom: 25px !important; } .pb-30 { padding-bottom: 30px !important; } .pb-35 { padding-bottom: 35px !important; } .pb-40 { padding-bottom: 40px !important; } .pb-45 { padding-bottom: 45px !important; } .pb-50 { padding-bottom: 50px !important; } .pb-55 { padding-bottom: 55px !important; } .pb-60 { padding-bottom: 60px !important; } .pb-65 { padding-bottom: 65px !important; } .pb-70 { padding-bottom: 70px !important; } .pb-75 { padding-bottom: 75px !important; } .pb-80 { padding-bottom: 80px !important; } .pb-85 { padding-bottom: 85px !important; } .pb-90 { padding-bottom: 90px !important; } .pb-95 { padding-bottom: 95px !important; } .pb-100 { padding-bottom: 100px !important; } .pl-0 { padding-left: 0px !important; } .pl-5 { padding-left: 5px !important; } .pl-10 { padding-left: 10px !important; } .pl-15 { padding-left: 15px !important; } .pl-20 { padding-left: 20px !important; } .pl-25 { padding-left: 25px !important; } .pl-30 { padding-left: 30px !important; } .pl-35 { padding-left: 35px !important; } .pl-40 { padding-left: 40px !important; } .pl-45 { padding-left: 45px !important; } .pl-50 { padding-left: 50px !important; } .pl-55 { padding-left: 55px !important; } .pl-60 { padding-left: 60px !important; } .pl-65 { padding-left: 65px !important; } .pl-70 { padding-left: 70px !important; } .pl-75 { padding-left: 75px !important; } .pl-80 { padding-left: 80px !important; } .pl-85 { padding-left: 85px !important; } .pl-90 { padding-left: 90px !important; } .pl-95 { padding-left: 95px !important; } .pl-100 { padding-left: 100px !important; } .pr-0 { padding-right: 0px !important; } .pr-5 { padding-right: 5px !important; } .pr-10 { padding-right: 10px !important; } .pr-15 { padding-right: 15px !important; } .pr-20 { padding-right: 20px !important; } .pr-25 { padding-right: 25px !important; } .pr-30 { padding-right: 30px !important; } .pr-35 { padding-right: 35px !important; } .pr-40 { padding-right: 40px !important; } .pr-45 { padding-right: 45px !important; } .pr-50 { padding-right: 50px !important; } .pr-55 { padding-right: 55px !important; } .pr-60 { padding-right: 60px !important; } .pr-65 { padding-right: 65px !important; } .pr-70 { padding-right: 70px !important; } .pr-75 { padding-right: 75px !important; } .pr-80 { padding-right: 80px !important; } .pr-85 { padding-right: 85px !important; } .pr-90 { padding-right: 90px !important; } .pr-95 { padding-right: 95px !important; } .pr-100 { padding-right: 100px !important; } .f-10 { font-size: 10px !important; } .f-20 { font-size: 20px !important; } .f-22 { font-size: 22px !important; } .f-24 { font-size: 24px !important; } .f-26 { font-size: 26px !important; } .f-28 { font-size: 28px !important; } .f-30 { font-size: 30px !important; } .f-40 { font-size: 40px !important; } .f-50 { font-size: 50px !important; } .f-60 { font-size: 60px !important; } .f-70 { font-size: 70px !important; } .f-80 { font-size: 80px !important; } .f-90 { font-size: 90px !important; } .f-100 { font-size: 100px !important; } .hidden { display: none !important; } .d-inline-block { display: inline-block !important; } .d-block { display: block !important; } .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } .invisible { visibility: hidden; } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } @media only screen and (max-width: 1023px) { .w-sm-100 { width: 100% !important; } } @media only screen and (max-width: 767px) { .w-xs-100 { width: 100% !important; } } .card { border-color: #ffff; position: relative; width: 100%; border: none; margin-bottom: 30px; -webkit-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .card .card-header { padding: 20px 20px; border: 0; background: none; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; } .card .card-header:first-child { border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; } .card .card-header h3 { margin: 0; font-size: 18px; font-weight: normal; color: #212121; } .card .card-header .card-options a:not(.dropdown-item) { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 33px; color: #212121; display: inline-block; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; } .card .card-header .card-options span { color: #444; font-size: 12px; } .card .card-header .card-search { position: relative; } .card .card-header .card-search .form-control { padding-right: 60px; font-size: 14px; max-height: 30px; min-height: 30px; } .card .card-header .card-search .form-control ~ .btn { position: absolute; right: 0; top: 0; padding: 0; width: 30px; height: 30px; line-height: 30px; border-radius: 4px; background-color: #eceff1; border: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .card .card-header .card-search.with-adv-search .adv-btn { background-color: transparent; border: 0; position: absolute; right: 30px; top: 0; width: 30px; height: 30px; line-height: 30px; padding: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .card .card-header .card-search.with-adv-search .adv-search-wrap { padding: 20px; display: none; position: absolute; left: 30px !important; width: 100%; top: 30px; background-color: #ffffff !important; z-index: 4; -webkit-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); -moz-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; } .card .card-header .card-search.with-adv-search .adv-search-wrap .form-control { padding-right: 15px; } .card .card-header .card-search.with-adv-search .adv-search-wrap .btn { padding: 0 15px; font-size: 14px; height: 30px; border-radius: 30px; -webkit-border-radius: 30px; -moz-border-radius: 30px; } .card .card-header .card-search.with-adv-search .adv-search-wrap.show { display: block; } .card .card-header.note-toolbar { padding: 0 0 5px 5px; } .card .card-header .dropdown .checkbox-dropdown { padding: 0px; width: 16px; height: 16px; background-color: #dee2e6; border-radius: .25rem; margin-right: 15px; } .card .card-body { padding: 20px 20px; flex: 1 1 auto; position: relative; } .card .card-img { height: 100%; object-fit: cover; max-height: 200px; width: unset; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .card .card-img-overlay { background: rgba(0, 0, 0, 0.5); padding: 1.75rem; border-radius: 4px; } .card.icon-card .card-body i { font-size: 46px; line-height: 66px; color: #212121 !important; } .card.icon-card .card-body .card-text { color: #8f8f8f; height: 30px; line-height: 26px; } .card.icon-card .card-body .lead { color: #212121 !important; margin-bottom: 0; } .card .nav-pills.custom-pills { border-bottom: 1px solid #f1f1f1; } .card .nav-pills.custom-pills .nav-link { border-radius: 0; opacity: .7; font-size: 14px; padding: 12px 15px; } .card .nav-pills.custom-pills .nav-link.active { color: #ef4153; opacity: 1; background-color: transparent; border-bottom: 2px solid #ef4153; } .widget { border-color: #ffff; position: relative; width: 100%; border: none; margin-bottom: 30px; background-color: #fff; overflow: hidden; -webkit-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .widget .widget-header { padding: 10px 20px; border-bottom: 1px solid #f5f7f9; position: relative; } .widget .widget-header .widget-title { font-size: 18px; margin: 0; } .widget .widget-header .widget-tools { position: absolute; right: 10px; top: 5px; } .widget .widget-header .widget-tools .btn-widget-tool { padding: 5px; font-size: 16px; background: transparent; color: #97a0b3; } .widget .widget-header .widget-tools .btn-widget-tool i { margin: 0; } .widget .widget-header .widget-tools .btn-widget-tool:focus { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .widget .widget-body { padding: 20px 20px; } .widget .widget-body h6 { margin-bottom: 0; font-weight: 400; } .widget .widget-body h2 { margin-bottom: 0px; font-weight: 600; } .widget .widget-body .icon { font-size: 37px; color: #9aa0ac; } .widget .widget-body .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.22); text-align: center; z-index: 3; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .widget .widget-body .overlay i { font-size: 32px; color: #ef4153; margin-bottom: 5px; } .widget .progress { border-radius: 0; } .widget[class*=bg-] .widget-header { background-color: rgba(255, 255, 255, 0.2); border-bottom-color: transparent; } .widget[class*=bg-] .widget-header .widget-title { color: #fff; } .widget[class*=bg-] .widget-header .widget-tools .btn-widget-tool { color: rgba(255, 255, 255, 0.6); } .widget[class*=bg-] .widget-body { color: #ffffff !important; } .widget[class*=bg-] .widget-body .icon { color: #ffffff !important; } .widget.social-widget .widget-body { text-align: center; } .loading { -webkit-animation-name: loading; animation-name: loading; -webkit-animation-duration: .75s; animation-duration: .75s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } @-webkit-keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(1turn); transform: rotate(1turn); } } @keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(1turn); transform: rotate(1turn); } } .card-group .card:not(:last-child) { border-right: 1px solid #f1f1f1; } .card .card-header { border-bottom: 1px solid #f1f1f1; } .card .card-header .card-header-right { right: 10px; top: 16px; display: inline-block; float: right; position: absolute; } .card .card-header .card-header-right .card-option { width: 35px; height: 25px; overflow: hidden; margin: 0; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } .card .card-header .card-header-right .card-option li { display: inline-block; } .card .card-header .card-header-right .card-option li i { margin: 0 5px; cursor: pointer; font-size: 15px; color: #8c8c8c; line-height: 2; font-weight: 300; } .card .card-body .icon { font-size: 37px; color: #9aa0ac; } .card .feeds-widget { padding: 0; } .card .feeds-widget .feed-item { display: block; padding: 12px 15px; border: 1px solid #efefef; border-left: 0; border-right: 0; } .card .feeds-widget .feed-item a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; } .card .feeds-widget .feed-item a .feeds-left { width: 50px; font-size: 30px; } .card .feeds-widget .feed-item a .feeds-body { width: 100%; } .card .feeds-widget .feed-item a .feeds-body h4 { font-size: 16px; margin: 0; font-weight: 700; margin-bottom: 5px; } .card .feeds-widget .feed-item a .feeds-body h4 ~ small { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: calc(100% - 60px); font-size: 13px; color: #777; } .card .feeds-widget .feed-item.feed-item { margin-top: -1px; } .card .timeline .header { background-size: cover; color: #fff; position: relative; } .card .timeline .header .color-overlay { padding: 2em; box-sizing: border-box; background: rgba(123, 94, 155, 0.5); line-height: normal; } .card .timeline .header .color-overlay .day-number { font-size: 6em; margin-right: 15px; display: inline-block; font-weight: 700; line-height: 1; } .card .timeline .header .color-overlay .date-right { display: inline-block; } .card .timeline .header .color-overlay .date-right .day-name { font-size: 22px; } .card .timeline .header .color-overlay .date-right .month { text-transform: uppercase; margin-top: 2px; } .card .timeline ul { list-style: none; position: relative; padding-left: 30px; padding-top: 10px; margin: 0; } .card .timeline ul:before, .card .timeline ul::before { content: ' '; height: 100%; width: 1px; background-color: #f0f0f0; position: absolute; top: 0; left: 35px; z-index: 1; } .card .timeline ul li { padding-bottom: 15px; } .card .timeline ul li .bullet { width: 10px; height: 10px; display: inline-block; z-index: 2; position: relative; vertical-align: top; margin: 7px 0; margin-right: 5px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .card .timeline ul li .time { width: 20%; font-size: 10px; margin: 6px 0; vertical-align: top; display: inline-block; } .card .timeline ul li .desc { width: 65%; display: inline-block; } .card .timeline ul li .desc h3 { margin: 0; font-size: 14px; font-weight: 700; } .card .timeline ul li .desc h4 { margin-top: 5px; font-size: 12px; color: #999; } .card .task-list { margin: 0; padding: 0; } .card .task-list li { display: block; padding: 15px 0 15px 0; margin: 0; cursor: pointer; } .card .task-list li:first-child { padding-top: 0; } .card .task-list li.list span { float: left; margin-top: 20px; color: #FF7E39; } .card .task-list li.list span:before, .card .task-list li.list span::before { font-size: 1.5rem; content: "\e83f"; font-family: 'iconkit'; vertical-align: middle; border: 3px solid #FF7E39; padding: 4px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .card .task-list li.list .task-details { margin-left: 60px; } .card .task-list li.list .task-details p { margin: 0; padding: 10px 0 6px 0; line-height: 140%; } .card .task-list li.list .task-details p.date { padding: 0; margin: 0; font-size: .75rem; } .card .task-list li.completed { text-decoration: line-through; color: #8796af; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } .card .task-list li.completed span:before, .card .task-list li.completed span::before { color: #50b924; border: 3px solid #50b924; } .card .chat-box .chat-list { margin: 0; padding: 0; list-style: none; } .card .chat-box .chat-list .chat-item { list-style: none; margin-top: 30px; } .card .chat-box .chat-list .chat-item .chat-img { display: inline-block; width: 45px; vertical-align: top; } .card .chat-box .chat-list .chat-item .chat-img img { width: 45px; border-radius: 100%; -webkit-border-radius: 100%; -moz-border-radius: 100%; } .card .chat-box .chat-list .chat-item .chat-content { width: calc(100% - 50px); display: inline-block; padding-left: 15px; } .card .chat-box .chat-list .chat-item .chat-content .box { display: inline-block; padding: 10px; margin-bottom: 3px; color: #343a40; background: #f6f8f9; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; } .card .chat-box .chat-list .chat-item .chat-time { display: block; font-size: 10px; color: #4F5467; margin: 5px 0 15px 65px; } .card .chat-box .chat-list .chat-item.odd .chat-content { text-align: right; width: calc(100% - 0px); } .card .chat-box .chat-list .chat-item.odd .chat-content .box { clear: both; color: #fff; background: #137eff; } .card .chat-box .chat-list .chat-item.odd .chat-time { text-align: right; } .card .chat-box .chat-list .chat-item.odd + .odd { margin-top: 0; } .card .chat-box .chat-list .chat-item:first-child { margin-top: 0; } .card .chat-footer { position: relative; background-color: #ffffff !important; } .card .chat-footer .input-wrap { padding-right: 50px; } .card .chat-footer .btn { position: absolute; top: 10px; right: 20px; width: 35px; height: 35px; } .card .card-title { font-size: 18px; } .card .card-subtitle { font-weight: 300; margin-bottom: 10px; color: #afb5c1; } .jvectormap-tip { border: none; font-family: 'Nunito Sans', sans-serif; font-weight: 700; padding: 5px 10px; font-size: 11px; } .card .card-body .dataTables_wrapper .dataTable { margin-left: -20px; width: calc(100% + 40px); } .card .card-body .dataTables_wrapper .form-control { border: none; min-height: 30px; background-color: #f4f4f4; } .card .card-body .dataTables_wrapper select.form-control { height: 30px !important; } .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link { margin-left: 5px; min-width: 30px; height: 30px; padding: 0; text-align: center; line-height: 30px; border: none; background-color: #f4f4f4; color: #212121; border-radius: 30px; -webkit-border-radius: 30px; -moz-border-radius: 30px; } .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.previous .page-link, .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.next .page-link { padding: 0 15px; } .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled .page-link { color: #6c757d; background-color: #f4f4f4; cursor: not-allowed; } .card .card-table .card-item { border-top: 1px solid #ededed; } .table thead { background-color: #f6f8fb; } .table thead th { font-weight: 600; color: #879099; font-size: 14px; } .table tbody td { vertical-align: middle; } .table tbody td .table-user-thumb { width: 30px; height: 30px; border-radius: 50%; } .table tbody td .table-actions { text-align: right; } .table tbody td .table-actions a { color: #bcc1c6; display: inline-block; margin-left: 8px; font-size: 16px; } .badge { padding: 6px 10px; font-size: 12px; font-weight: 600; } .badge.badge-top-left { top: 7px; right: 10px; } .badge.badge-top-left-2 { top: 40px; right: 10px; } .badge-primary, .badge-success, .badge-info, .badge-warning, .badge-danger, .badge-inverse, .badge-purple, .badge-pink, .badge-twitter, .badge-facebook, .badge-linkedin, .badge-google, .badge-dribbble, .badge-instagram { color: #ffffff !important; } .badge-theme { background-color: #ef4153 !important; } .badge-aqua { background-color: #3ec5d6 !important; } .badge-blue { background-color: #19B5FE !important; } .badge-light-blue { background-color: #89CFF0 !important; } .badge-teal { background-color: #008081 !important; } .badge-yellow { background-color: #F7CA18 !important; } .badge-orange { background-color: #FF8000 !important; } .badge-green { background-color: #26C281 !important; } .badge-lime { background-color: #cad900 !important; } .badge-red { background-color: #F22613 !important; } .badge-fuchsia { background-color: #df2de3 !important; } .badge-navy { background-color: #000080 !important; } .badge-empty { background: transparent !important; } .badge-primary { background-color: #007bff !important; } .badge-success { background-color: #2dce89 !important; } .badge-info { background-color: #11cdef !important; } .badge-warning { background-color: #fb6340 !important; } .badge-danger { background-color: #f5365c !important; } .badge-muted { background-color: #6c757d !important; } .badge-inverse { background-color: #4c5667 !important; } .badge-purple { background-color: #BF55EC !important; } .badge-pink { background-color: #f76397 !important; } .badge-white { background-color: #ffffff !important; } .btn .badge { padding: 2px 6px; } .pagination .page-item { padding: 5px; } .pagination .page-item .page-link { outline: initial !important; box-shadow: none !important; line-height: 18px; min-width: 30px; text-align: center; height: 30px; padding: 6px 0px; border: none; background-color: #eaeaea; color: #3e5569; border-radius: 30px; -webkit-border-radius: 30px; -moz-border-radius: 30px; } .pagination .page-item .page-link.first, .pagination .page-item .page-link.last { color: #ffffff !important; background-color: #3e5569; } .pagination .page-item.active .page-link { background-color: #007bff !important; color: #ffffff !important; } .btn { padding: 6px 14px; height: 30px; font-size: 13px; font-weight: 600; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } .btn i { margin-right: 5px; } .btn-icon { width: 30px; height: 30px; padding: 0; text-align: center; line-height: 32px; font-size: 14px; display: inline-block; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; } .btn-icon i { margin-right: 0 !important; } .social-btn { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 30px; color: #ffffff !important; } .social-btn i { margin: 0; } .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger, .btn-inverse, .btn-purple, .btn-pink, .btn-twitter, .btn-facebook, .btn-linkedin, .btn-google, .btn-dribbble, .btn-instagram { color: #ffffff !important; } .btn-theme { background: linear-gradient(150deg, #f05138 15%, #ee3a5b 70%, #ed1375 94%); color: #fff; } .btn-default { background-color: #dae6ec; border-color: #dae6ec; } .btn-default:focus, .btn-default:hover, .btn-default:active, .btn-default.active { background-color: #dae6ec; border-color: #C2CED4; } .btn-primary { background-color: #007bff !important; border: 1px solid #007bff !important; } .btn-primary:hover, .btn-primary:focus, .btn-primary.active { background-color: #1d7dca !important; border: 1px solid #1d7dca !important; } .btn-success { background-color: #2dce89 !important; border: 1px solid #2dce89 !important; } .btn-success:hover, .btn-success:focus, .btn-success.active { background-color: #009886 !important; border: 1px solid #009886 !important; } .btn-info { background-color: #11cdef !important; border: 1px solid #11cdef !important; } .btn-info:hover, .btn-info:focus, .btn-info.active { background-color: #25d8f6 !important; border: 1px solid #25d8f6 !important; } .btn-warning { background-color: #fb6340 !important; border: 1px solid #fb6340 !important; } .btn-warning:hover, .btn-warning:focus, .btn-warning.active { background-color: #e69900 !important; border: 1px solid #e69900 !important; } .btn-danger { background-color: #f5365c !important; border: 1px solid #f5365c !important; } .btn-danger:focus, .btn-danger:hover, .btn-danger.active { background-color: #ed3c39 !important; border: 1px solid #ed3c39 !important; } .btn-inverse { background-color: #4c5667 !important; border: 1px solid #4c5667 !important; } .btn-inverse:hover, .btn-inverse:focus, .btn-inverse.active { background-color: #414a58 !important; border: 1px solid #414a58 !important; } .btn-purple { background-color: #BF55EC !important; border: 1px solid #BF55EC !important; } .btn-purple:hover, .btn-purple:focus, .btn-purple.active { background-color: #6254b2 !important; border: 1px solid #6254b2 !important; } .btn-pink { background-color: #f76397 !important; border: 1px solid #f76397 !important; } .btn-pink:hover, .btn-pink:focus, .btn-pink.active { background-color: #f64b87 !important; border: 1px solid #f64b87 !important; } .btn-facebook { background: #3b579d !important; } .btn-twitter { background: #1da1f2 !important; } .btn-dribbble { background: #ea4c89 !important; } .btn-linkedin { background: #0177b4 !important; } .btn-google { background: #dc4a38 !important; } .btn-instagram { background: #fb3958 !important; } .template-demo .btn { margin-right: 10px; margin-bottom: 10px; } .btn-group .btn { margin: 0; } .full-window-modal .modal-dialog { position: fixed; width: 100%; height: 100%; margin: 0; max-width: 100%; left: 0; top: 0; bottom: 0; display: block; } .full-window-modal .modal-dialog .modal-content { height: 100vh; border: none; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; } .full-window-modal .modal-dialog .modal-content .modal-body { height: calc(100vh - 50px); overflow-x: auto; } .full-window-modal .modal-dialog .modal-content .modal-footer { background-color: #393a3d; padding: 15px 24px; padding-top: 15px !important; } .modal-open .apps-modal { overflow: hidden; } .modal-open .apps-modal .close { position: absolute; top: 20px; right: 20px; text-shadow: none; z-index: 9; } .modal-open .apps-modal .modal-dialog { width: 100%; max-width: 100%; border-radius: 0; margin: 0; } .modal-open .apps-modal .modal-dialog .modal-content { border: none; border-radius: 0; min-height: 100vh; background-color: #ffffff !important; } .modal-open .apps-modal .modal-dialog .modal-content .quick-search { position: absolute; width: 100%; top: 17px; padding: 0 50px; z-index: 9; } .modal-open .apps-modal .modal-dialog .modal-content .quick-search .input-wrap { position: relative; } .modal-open .apps-modal .modal-dialog .modal-content .quick-search .input-wrap i { position: absolute; right: 5px; top: 0; width: 30px; height: 35px; border-radius: 50%; line-height: 35px; text-align: center; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; width: 100%; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item { width: 130px; height: 100px; margin: 10px; color: #ccc; text-align: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a { display: inline-block; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a i { font-size: 40px; color: #3e5569; display: inline-block; margin-bottom: 10px; -moz-transition: all 0.3s ease 0s; -o-transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; transition: all 0.3s ease 0s; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a span { display: block; font-size: 14px; color: #3e5569; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item:hover i { color: #ef4153 !important; } .modal-open .apps-modal.fade .modal-dialog { overflow: hidden; -moz-transform: translate(0, 0) scale(1.2); -o-transform: translate(0, 0) scale(1.2); -ms-transform: translate(0, 0) scale(1.2); -webkit-transform: translate(0, 0) scale(1.2); transform: translate(0, 0) scale(1.2); } .modal-open .apps-modal.fade.show .modal-dialog { -moz-transform: translate(0, 0) scale(1); -o-transform: translate(0, 0) scale(1); -ms-transform: translate(0, 0) scale(1); -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } .form-control { height: auto; min-height: 35px; border: 1px solid #eaeaea; padding: 0 10px; background-color: #fff; font-size: 13px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .form-control.placeholder { color: #999999; } .form-control:-moz-placeholder { color: #999999; } .form-control::-moz-placeholder { color: #999999; } .form-control:-ms-input-placeholder { color: #999999; } .form-control::-webkit-input-placeholder { color: #999999; } .form-control:focus { background-color: #eff1f3; border-color: #eaeaea; -webkit-box-shadow: none; box-shadow: none; } select.form-control { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 20px; background-image: url("../img/down-arrow.svg"); background-position: center right 15px; background-repeat: no-repeat; -webkit-background-size: 10px; background-size: 10px; height: 35px !important; } textarea.form-control { padding: 10px 15px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .custom-radio .custom-control-label { line-height: 24px; } .custom-checkbox .custom-control-label { line-height: 24px; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: none; content: "\e83f"; line-height: 16px; font-family: 'iconkit'; color: #fff; } .custom-control-label { text-align: center; } .input-group .input-group-prepend .input-group-text { border-top-left-radius: 4px; border-bottom-left-radius: 4px; background-color: #eaeaea; border-color: #eaeaea; padding-left: 15px; height: 35px; font-size: 14px; } .input-group .input-group-prepend .btn { height: 35px; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .input-group .input-group-append .input-group-text { border-top-right-radius: 4px; border-bottom-right-radius: 4px; background-color: #eaeaea; border-color: #eaeaea; padding-right: 15px; height: 35px; font-size: 14px; } .input-group .input-group-append .btn { height: 35px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .form-group .file-upload-default { visibility: hidden; position: absolute; } .form-group .file-upload-info { background: transparent !important; } .select2.select2-container--default .select2-selection--single { border-color: #eaeaea; height: 35px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .select2.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 35px; padding-left: 15px; padding-right: 30px; } .select2.select2-container--default .select2-selection--single .select2-selection__arrow { height: 33px; right: 8px; } .select2.select2-container--default .select2-selection--multiple { border-color: #eaeaea; } .select2.select2-container--default .select2-selection--multiple .select2-selection__rendered { margin-top: 1px; } .select2.select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-selection__choice { border: none; padding: 1px 5px; } .select2.select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #8e8e8e; } .select2.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } .select2.select2-container .select2-selection--multiple { min-height: 35px; } .select2-container--default .select2-dropdown { background-color: #ffffff !important; border: none; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -webkit-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); -moz-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); } .select2-container--default .select2-dropdown .select2-search--dropdown { padding: 5px; } .select2-container--default .select2-dropdown .select2-search--dropdown .select2-search__field { height: 30px; border: none; background-color: #eaeaea; padding: 5px 10px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .select2-container--default .select2-dropdown .select2-results .select2-results__options { padding: 5px; } .select2-results__option { background-color: #fff; padding: 8px 15px; border-radius: 4px; line-height: 14px; } .bootstrap-datetimepicker-widget .table thead { background-color: transparent !important; } .bootstrap-datetimepicker-widget .table thead tr th { color: #212121 !important; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; } .bootstrap-datetimepicker-widget .table tr td, .bootstrap-datetimepicker-widget .table tr th { text-align: center; width: 35px; height: 35px; border-radius: 50%; border: none; line-height: 35px; position: relative; z-index: 1; } .bootstrap-datetimepicker-widget .table tr td.today, .bootstrap-datetimepicker-widget .table tr td.active { color: #ffffff !important; position: relative; z-index: 1; background-color: transparent; text-shadow: none; } .bootstrap-datetimepicker-widget .table tr td.today:before, .bootstrap-datetimepicker-widget .table tr td.today::before, .bootstrap-datetimepicker-widget .table tr td.active:before, .bootstrap-datetimepicker-widget .table tr td.active::before { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: #4a5361; position: absolute; z-index: -1; display: block; margin: auto; content: ''; top: 6px; left: 0px; right: 0px; bottom: auto; -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); } .bootstrap-datetimepicker-widget .table tr td.active:hover:before, .bootstrap-datetimepicker-widget .table tr td.active:hover::before { background-color: #4a5361 !important; } .bootstrap-datetimepicker-widget .table tr td.today:before, .bootstrap-datetimepicker-widget .table tr td.today::before { background-color: #ef4153 !important; } .bootstrap-datetimepicker-widget .table tr td.day:hover, .bootstrap-datetimepicker-widget .table tr td.hour:hover, .bootstrap-datetimepicker-widget .table tr td.minute:hover, .bootstrap-datetimepicker-widget .table tr td.second:hover { background-color: transparent; } .bootstrap-datetimepicker-widget .table tr td:before, .bootstrap-datetimepicker-widget .table tr td::before { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: transparent; position: absolute; z-index: -1; display: block; margin: auto; content: ''; top: 6px; left: 0px; right: 0px; bottom: auto; -moz-transform: scale(0); -o-transform: scale(0); -ms-transform: scale(0); -webkit-transform: scale(0); transform: scale(0); -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } .bootstrap-datetimepicker-widget .table tr td:hover:before, .bootstrap-datetimepicker-widget .table tr td:hover::before { background-color: #f4f4f4; -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); } .bootstrap-datetimepicker-widget .timepicker table td { position: relative; z-index: 1; width: 35px; height: 35px; line-height: 35px; } .bootstrap-datetimepicker-widget .timepicker table td .btn { height: auto; } .bootstrap-datetimepicker-widget .timepicker table td span { width: 35px; height: 35px; line-height: 35px; } .bootstrap-datetimepicker-widget.dropdown-menu { min-width: 280px; } .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before, .bootstrap-datetimepicker-widget.dropdown-menu.bottom::before { border-bottom-color: #fff; } .bootstrap-datetimepicker-widget.dropdown-menu.top:before, .bootstrap-datetimepicker-widget.dropdown-menu.top::before { border-top-color: #fff; } .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr th, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td { width: 30px; height: 30px; line-height: 30px; } .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td:before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td::before { top: 4px; left: 0px; } .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.today:before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.today::before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.active:before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.active::before { top: 4px; left: 0px; } .bootstrap-tagsinput { display: block; border: 1px solid #eaeaea; min-height: 35px; padding: 0px 10px; padding-top: 4px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .bootstrap-tagsinput .tag { padding: 1px 5px; margin-right: 2px; margin-bottom: 4px; display: inline-block; text-transform: capitalize; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; background-color: #4c5667 !important; } .note-editor.note-frame.card { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .slider-nav .left-arrow, .slider-nav .right-arrow { font-size: 20px; color: #145388; display: inline-block; vertical-align: middle; margin: 0 15px; } .slider-nav .slider-dot-container { display: inline-block; } .slider-nav .slider-dot-container .owl-dot { width: 6px; height: 6px; border-radius: 10px; color: #00a7e2; background: #7cb9ec; outline: initial !important; border: initial; margin: 0 5px; padding: 0; } .slider-nav .slider-dot-container .owl-dot.active { background: #145388; } .fc .fc-toolbar .fc-button { background: #4a5361; color: #fff; padding: 5px 10px; height: auto; border: none; text-transform: capitalize; text-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .fc .fc-toolbar .fc-button .fc-icon { margin: 0; top: 0; } .fc .fc-toolbar .fc-button .fc-icon:after, .fc .fc-toolbar .fc-button .fc-icon::after { font-family: "iconkit"; font-size: 16px; } .fc .fc-toolbar .fc-button .fc-icon.fc-icon-left-single-arrow:after, .fc .fc-toolbar .fc-button .fc-icon.fc-icon-left-single-arrow::after { content: "\e843"; } .fc .fc-toolbar .fc-button .fc-icon.fc-icon-right-single-arrow:after, .fc .fc-toolbar .fc-button .fc-icon.fc-icon-right-single-arrow::after { content: "\e844"; } .fc .fc-toolbar .fc-button.fc-state-active, .fc .fc-toolbar .fc-button.fc-state-down { background: #272d36 !important; } .fc .fc-toolbar h2 { font-size: 22px; font-weight: 600; } .fc .fc-view-container .fc-view table thead tr td.fc-widget-header, .fc .fc-view-container .fc-view table thead tr th.fc-widget-header { color: #4a5361; background: #f3f4f4; border-color: #f3f4f4; padding: 10px 0px; } .fc .fc-view-container .fc-view .fc-day-number { float: left; padding: 10px 0 5px 10px; } .fc .fc-view-container .fc-view .fc-other-month { background: #f3f9ff; } .fc .fc-view-container .fc-view .fc-event-container .fc-event { display: block; padding: 3px 5px; color: #ffffff !important; font-weight: 600; font-size: 12px; border: none; } .fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed thead { border-color: #f3f4f4; } .color-selector { padding: 0; margin: 0; list-style: none; } .color-selector li { position: relative; display: inline-block; width: 25px; height: 25px; margin: 0 8px 8px 0; background-color: #3e8ef7; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .color-selector li input[type=radio] { position: absolute; top: 0; left: 0; z-index: 1; width: inherit; height: inherit; cursor: pointer; border-radius: inherit; opacity: 0; } .color-selector li input[type=radio]:checked + label:after, .color-selector li input[type=radio]:checked + label::after { position: absolute; top: 0px; left: 5px; display: inline-block; margin-top: -3px; font-size: 16px; line-height: 1; content: "\e83f"; color: #fff; } .color-selector li label { position: relative; margin-bottom: .4rem; font-family: "iconkit"; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; } .color-selector li:last-child { margin-right: 0; } .alert { border: none; } .alert .close { font-size: 18px; padding: 12px 15px; } .jq-icon-info { background-color: #11cdef !important; color: #ffffff !important; border: none; } .jq-icon-warning { background-color: #fb6340 !important; color: #ffffff !important; } .jq-icon-error { background-color: #f5365c !important; color: #ffffff !important; } .jq-icon-success { color: #ffffff !important; background-color: #2dce89 !important; } .jq-toast-single, .jq-toast-single h2 { font-family: 'Nunito Sans', sans-serif; } .auth-wrapper .lavalite-bg { height: 100vh; position: relative; width: 100%; -webkit-background-size: cover; background-size: cover; background-repeat: no-repeat; } .auth-wrapper .lavalite-bg .lavalite-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(135deg, rgba(46, 52, 81, 0.4) 0%, rgba(52, 40, 104, 0.95) 100%); } .auth-wrapper .authentication-form { font-size: .9rem; width: 70%; display: block; padding: 100px 0; } .auth-wrapper .authentication-form .logo-centered { width: 60px; margin: 0 auto; margin-bottom: 40px; } .auth-wrapper .authentication-form h3 { font-size: 20px; color: #272d36; margin-bottom: 20px; } .auth-wrapper .authentication-form .form-group { position: relative; } .auth-wrapper .authentication-form .form-group .form-control { padding-left: 40px; } .auth-wrapper .authentication-form .form-group .form-control ~ i { position: absolute; top: 10px; left: 15px; } .auth-wrapper .authentication-form .sign-btn { margin-top: 30px; } .auth-wrapper .authentication-form .register { margin-top: 30px; text-align: center; } body { color: #212121; font-size: .8rem; line-height: 1.5; font-weight: 400; font-family: "Nunito Sans", sans-serif; } .dropdown-toggle:after, .dropdown-toggle::after { display: none; } .tooltip { font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; } .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .progress-sm { height: .5rem; } .progress-sm .progress-bar { height: .5rem; } .img-thumbnail, .list-thumbnail { border-radius: .1rem; padding: 0; border: initial; } .list-thumbnail { height: auto; max-width: unset; height: 85px; object-fit: cover; width: unset !important; } @media only screen and (max-width: 1023px) { .list-thumbnail.responsive { width: unset; height: 135px; } } .list-thumbnail.small { height: 60px; font-size: 1rem; } .list-thumbnail-letters { width: 85px; height: 85px; background: #090e40; align-items: center; display: flex; justify-content: center; font-size: 1.25rem; color: #fff; } .list-thumbnail-letters.small { width: 60px; height: 60px; font-size: 1rem; } .list-item-heading { font-size: 1rem; } .flex-grow-1 { -webkit-flex-grow: 1; -moz-flex-grow: 1; -ms-flex-grow: 1; flex-grow: 1; } .dropdown-menu { padding: 5px; font-size: 12px; background-color: #ffffff !important; border-color: transparent !important; margin: 0; width: 170px; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -webkit-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); -moz-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); } .dropdown-menu .dropdown-item { background-color: #ffffff !important; padding: 8px 15px; line-height: 14px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .dropdown-menu .dropdown-item .dropdown-icon { display: inline-block; vertical-align: middle; font-size: 16px; margin-right: 5px; vertical-align: -2px; color: #9aa0ac !important; } .dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus { background-color: #dee2e6 !important; color: #212121 !important; } .dropdown-menu .dropdown-item .badge { width: 15px; height: 15px; border-radius: 50%; text-align: center; padding: 0; line-height: 15px; } .dropdown-menu:after, .dropdown-menu::after { bottom: 100%; left: 10px; border: solid transparent; content: ' '; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(136, 183, 213, 0); border-bottom-color: #ffffff !important; border-width: 5px; } .dropdown-menu.dropdown-menu-right::after { right: 10px; left: auto; } .wrapper .header-top { background-color: #ffffff !important; z-index: 1030; position: relative; padding: 15px 0; position: fixed; top: 0; width: 100%; left: 0; padding-left: 240px; -webkit-box-shadow: 0 1px 15px rgba(0, 0, 0, 0.04), 0 1px 6px rgba(0, 0, 0, 0.04); -moz-box-shadow: 0 1px 15px rgba(0, 0, 0, 0.04), 0 1px 6px rgba(0, 0, 0, 0.04); box-shadow: 0 1px 15px rgba(0, 0, 0, 0.04), 0 1px 6px rgba(0, 0, 0, 0.04); } .wrapper .header-top .top-menu .dropdown { margin-left: 10px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu { margin-top: 10px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.menu-grid { width: 182px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.menu-grid .dropdown-item { display: inline-block; width: 40px; height: 40px; text-align: center; padding: 0; line-height: 40px; font-size: 18px; color: #5A5A5A; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown { min-width: 300px; padding: 0; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .header { margin: 0; padding: 15px; font-size: 16px; border-bottom: 1px solid #f1f1f1; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media { border-bottom: 1px solid #eef1f2; padding: 10px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media:nth-child(odd) { background: #f8f9fa; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin-right: 15px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex i { color: #fff; text-align: center; font-size: 15px; line-height: 30px; top: 0; height: 30px; width: 30px; background: #404E67; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex img { height: 30px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body { font-size: 12px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body .media-heading { color: #444; font-weight: 600; letter-spacing: 0; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body .media-content { color: #868e96; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .footer { text-align: center; padding: 10px 15px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .footer a { color: #212121; font-size: 16px; } .wrapper .header-top .top-menu .nav-link { width: 30px; height: 30px; padding: 0; text-align: center; line-height: 36px; color: #212121 !important; border: none; position: relative; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; } .wrapper .header-top .top-menu .nav-link:hover, .wrapper .header-top .top-menu .nav-link:focus { background-color: #dee2e6; color: #333; } .wrapper .header-top .top-menu .nav-link i { font-size: 16px; } .wrapper .header-top .top-menu .nav-link .badge { right: -1px; position: absolute; top: -4px; padding: 3px; width: 17px; font-size: 11px; font-weight: 800; color: #fff; border-radius: 100px; -webkit-border-radius: 100px; -moz-border-radius: 100px; } .wrapper .header-top .top-menu .avatar { color: #4c5667 !important; font-weight: 600; width: 30px; height: 30px; line-height: 30px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; display: inline-block; background: #ced4da no-repeat center/cover; position: relative; vertical-align: bottom; font-size: .875rem; user-select: none; } .wrapper .header-top .top-menu .mobile-nav-toggle { border: none; position: relative; margin-right: 5px; } .wrapper .header-top .top-menu .mobile-nav-toggle span { height: 2px; width: 20px; background-color: #4a5361; display: inline-block; border-radius: 4px; position: absolute; top: 14px; left: 5px; } .wrapper .header-top .top-menu .mobile-nav-toggle span::before, .wrapper .header-top .top-menu .mobile-nav-toggle span::after { content: ""; height: 2px; width: 20px; border-radius: 4px; background-color: #4a5361; display: inline-block; position: absolute; } .wrapper .header-top .top-menu .mobile-nav-toggle span::before { left: 0; top: -6px; } .wrapper .header-top .top-menu .mobile-nav-toggle span::after { left: 0; bottom: -6px; } .wrapper .header-top .top-menu .header-search { padding: 0 10px; position: relative; } .wrapper .header-top .top-menu .header-search .input-group { border-radius: 20px; -webkit-border-radius: 20px; -moz-border-radius: 20px; margin-bottom: 0; } .wrapper .header-top .top-menu .header-search .input-group .input-group-addon { color: #404E67; padding: 2px 10px 2px 0px; font-size: 16px; cursor: pointer; } .wrapper .header-top .top-menu .header-search .input-group .input-group-addon.search-close { padding: 2px 0px 2px 10px; display: none; } .wrapper .header-top .top-menu .header-search .input-group .form-control { padding: 0 10px; min-height: auto; width: 0; border: none; color: #353c4e; background-color: transparent; border-radius: 0px; -webkit-border-radius: 0px; -moz-border-radius: 0px; } .wrapper .header-top .top-menu .header-search.open .input-group { background-color: #e4e4e4; } .wrapper .header-top .top-menu .header-search.open .input-group .input-group-addon.search-close { display: block; } @media only screen and (max-width: 1023px) { .wrapper .header-top { padding-left: 0; } } .wrapper .page-wrap { position: relative; } .wrapper .page-wrap .app-sidebar { position: fixed; left: 0; top: 0; width: 240px; height: 100vh; background-color: #ffffff !important; z-index: 1040; -webkit-box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1), 0 3px 20px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1), 0 3px 20px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1), 0 3px 20px rgba(0, 0, 0, 0.1); -moz-transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); -o-transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); -webkit-transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); white-space: nowrap; visibility: visible; } .wrapper .page-wrap .app-sidebar .sidebar-header { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-justify-content: space-between; -moz-justify-content: space-between; -ms-justify-content: space-between; justify-content: space-between; -ms-flex-pack: space-between; padding: 13px 15px; height: 60px; } .wrapper .page-wrap .app-sidebar .sidebar-header .header-brand { display: block; font-size: 22px; font-weight: 700; color: #212529; } .wrapper .page-wrap .app-sidebar .sidebar-header .header-brand .logo-img { display: inline-block; width: 30px; } .wrapper .page-wrap .app-sidebar .sidebar-header .btn-icon { border: none; } .wrapper .page-wrap .app-sidebar .sidebar-header .nav-close { display: none; } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .app-sidebar .sidebar-header .nav-close { display: inline-block; } } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .app-sidebar .sidebar-header .nav-toggle { display: none; } } .wrapper .page-wrap .app-sidebar .sidebar-content { position: relative; height: -webkit-calc(100vh - 60px); height: -moz-calc(100vh - 60px); height: calc(100vh - 60px); overflow: auto; z-index: 4; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item { position: relative; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a { display: block; overflow: hidden; padding: 15px 5px; margin-left: 15px; margin-right: 15px; color: #545454; position: relative; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a i { font-size: 20px; margin-right: 10px; display: inline-block; vertical-align: -4px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a span { font-size: 13px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a .badge { position: absolute; right: 30px; text-align: center; top: 16px; vertical-align: middle; white-space: nowrap; opacity: 1; visibility: visible; border-radius: 4px; font-size: 75%; padding: 4px 7px; margin-right: 5px; font-weight: 800; color: #fff; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; text-transform: uppercase; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a.disabled { opacity: 0.5; cursor: not-allowed !important; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub a::before { content: "\f105"; font-family: "FontAwesome"; position: absolute; right: 3px; top: 15px; -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content { background-color: #f3f3f3; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item { padding: 10px 5px; font-size: 13px; padding-left: 50px; margin: 0; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item::before { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item::after { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item a { position: relative; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item a::before { content: "\f105"; font-family: "FontAwesome"; position: absolute; right: 20px; top: 10px; display: inline-block; -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item .submenu-content .menu-item { padding-left: 70px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item .submenu-content .menu-item::before { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item.open a::before { -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item:not(.open) .submenu-content { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.open a::before { -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.open::after { background: #576a3d; border-radius: 10px; color: #fff; content: " "; height: 30px; left: 0; position: absolute; top: 10px; width: 3px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.active::after { background: #576a3d; border-radius: 10px; color: #fff; content: " "; height: 30px; left: 0; top: 10px; position: absolute; width: 3px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-lavel { font-size: 14px; font-weight: 400; opacity: 1; padding: 25px 20px 8px; text-transform: capitalize; visibility: visible; width: 100%; color: #999; } .wrapper .page-wrap .app-sidebar.colored .sidebar-header { background-color: #272d36; } .wrapper .page-wrap .app-sidebar.colored .sidebar-header .header-brand { color: #ffffff !important; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content { background-color: #404E67; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item { border-color: rgba(243, 243, 243, 0.15); } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item a { color: #ffffff !important; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item a i { color: #bcc8d8; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item .submenu-content { background-color: #4a5872; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item.open::after, .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item.active::after { background-color: #eb525d; } .wrapper .page-wrap .app-sidebar.hide-sidebar { -moz-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -o-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -webkit-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -moz-transform: translate3d(-100%, 0, 0); -o-transform: translate3d(-100%, 0, 0); -ms-transform: translate3d(-100%, 0, 0); -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .app-sidebar { -moz-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -o-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -webkit-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } } .wrapper .page-wrap .main-content { padding: 30px 0; background-color: #F6F7FB; min-height: calc(100vh - 120px); margin-top: 60px; padding-right: 15px; padding-left: 255px; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .main-content { padding-left: 0; padding-right: 0; } } .wrapper .page-wrap .main-content .page-header { margin-bottom: 30px; } .wrapper .page-wrap .main-content .page-header .page-title { font-size: 22px; font-weight: 600; margin: 0; display: inline-block; } .wrapper .page-wrap .main-content .page-header .breadcrumb { background-color: transparent; margin-bottom: 0; padding-bottom: 0; } .wrapper .page-wrap .main-content .page-header .breadcrumb .breadcrumb-item a { color: #212121; } .wrapper .page-wrap .main-content .page-header .breadcrumb .breadcrumb-item + ::before { content: "|"; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item { padding: 13px 20px; border: 1px solid #ededed; position: relative; border-left: 0; border-right: 0; height: 50px; overflow: hidden; -moz-transition: transform 0.2s ease-in-out; -o-transition: transform 0.2s ease-in-out; -webkit-transition: transform 0.2s ease-in-out; transition: transform 0.2s ease-in-out; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -ms-flex-pack: flex-start; position: relative; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .custom-control { margin: 0; margin-top: -2px; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-title { width: 100%; display: block; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-title a { color: #3e5569; font-weight: 600; display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: calc(100% - 50px); } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions { position: absolute; right: 0px; top: 50%; opacity: 0; display: none; z-index: 3; padding-left: 10px; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 32px; color: #999; display: inline-block; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a:hover, .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a:focus { background-color: #dee2e6; color: #333; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .qickview-wrap { margin-top: 5px; opacity: 0; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .qickview-wrap .desc p { margin: 0; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:hover, .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:focus { background-color: #f9f9f9; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:hover .list-actions, .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:focus .list-actions { opacity: 1; display: block; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened { height: auto; background-color: #ffffff !important; border: none; z-index: 5; -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1); -moz-transform: scale(1.01); -o-transform: scale(1.01); -ms-transform: scale(1.01); -webkit-transform: scale(1.01); transform: scale(1.01); } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened .item-inner .list-title a { font-size: 16px; color: #263238; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened .qickview-wrap { opacity: 1; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item + .list-item { margin-top: -1px; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:last-child { border-bottom: none; } .wrapper .page-wrap .footer { background: #ffffff !important; padding: 20px 30px; border-top: 1px solid rgba(0, 0, 0, 0.04); font-size: calc(0.875rem - 0.05rem); -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; -webkit-transition: all 0.25s ease; transition: all 0.25s ease; } @media only screen and (min-width: 1024px) { .wrapper .page-wrap .footer { padding-left: 270px; } } .wrapper .page-wrap .right-sidebar { position: fixed; top: 60px; right: 0; width: 240px; background: #fff; height: calc(100vh - 60px); border-left: 1px solid #eef1f2; border-top: 1px solid #eef1f2; padding: 1.07143em; z-index: 9; -moz-transform: translateX(100%); -o-transform: translateX(100%); -ms-transform: translateX(100%); -webkit-transform: translateX(100%); transform: translateX(100%); -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; -webkit-transition: all 0.25s ease; transition: all 0.25s ease; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info h6 { color: #353c4e; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group { position: relative; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group .form-control { padding-right: 30px; border-radius: 50px; -webkit-border-radius: 50px; -moz-border-radius: 50px; padding-left: 15px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group i { position: absolute; top: 8px; right: 10px; font-size: 16px; color: #bbb; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group { margin-left: -1.07143em; margin-right: -1.07143em; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item { background: none; border: 0; border-top: 1px solid #eef1f2; padding: 1em 1.07143em; overflow: hidden; color: #999; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item figure { margin: 0; position: relative; margin-right: 10px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item figure img { width: 40px; height: 40px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item span { line-height: 1em; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: end; -moz-justify-content: end; -ms-justify-content: end; justify-content: end; -ms-flex-pack: end; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item span .name { font-size: 14px; color: #444; margin-bottom: 5px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group [class*="user-"]:after { position: absolute; top: calc(50% + 15px); left: 0; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel { position: fixed; top: calc(100vh); right: calc( 240px + 15px); width: 310px; z-index: 9999; -moz-transform: translateY(-100%) translateX(14.0625rem); -o-transform: translateY(-100%) translateX(14.0625rem); -ms-transform: translateY(-100%) translateX(14.0625rem); -webkit-transform: translateY(-100%) translateX(14.0625rem); transform: translateY(-100%) translateX(14.0625rem); } .wrapper .page-wrap .chat-panel .card { border: none; margin-bottom: 1.42857em; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -webkit-box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.2); box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.2); } .wrapper .page-wrap .chat-panel .card .card-header { background: none; padding: 1.07143em 1.42857em; font-size: 1.14286em; border-bottom: 1px solid rgba(153, 153, 153, 0.2); } .wrapper .page-wrap .chat-panel .card .card-body { padding: 1.07143em; } .wrapper .page-wrap .chat-panel .card .card-body .messages { position: relative; max-height: 21.42857em; overflow-y: scroll; margin-top: -1.07143em; margin-right: -1.07143em; margin-left: -1.07143em; padding-top: 1.07143em; padding-right: 1.07143em; padding-left: 1.07143em; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message { margin: 0.71429em 0; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message:first-child { margin-top: 0; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message figure { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; margin: 0; position: relative; order: 2; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message figure img { width: 30px; height: 30px; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body { margin-top: .5em; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin: auto 1.5em; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p { background: #404E67; border: 1px solid #404E67; border-radius: 3px; padding: .5em 1em; color: #fff; margin-bottom: .5em; position: relative; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:after, .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:before { content: ""; height: 0; width: 0; display: block; position: absolute; top: 1.25rem; right: -7px; left: auto; border-style: solid; border-width: 6px 0 7px 6px; border-color: transparent transparent transparent #404E67; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:before { right: -7px; border-left-color: #404E67; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply figure { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p { background: #fff; border: 1px solid #eef1f2; border-radius: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-radius: 3px; color: #666; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:after, .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:before { content: ""; height: 0; width: 0; display: block; position: absolute; right: auto; left: -7px; border-style: solid; border-width: 6px 7px 6px 0; border-color: transparent #fff transparent transparent; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:before { left: -9px; border-right-color: #eef1f2; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:after { content: ""; height: 0; width: 0; display: block; position: absolute; right: auto; left: -7px; border-style: solid; border-width: 6px 7px 6px 0; border-color: transparent #fff transparent transparent; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel .card .card-footer { background: none; padding: 1.07143em 1.42857em; border-top: 1px solid rgba(153, 153, 153, 0.2); } .wrapper .page-wrap .chat-panel .card .card-footer .list-icon { font-size: 1.125rem; } .wrapper .page-wrap .chat-panel .card .card-footer textarea { box-shadow: none; resize: none; padding: 0; width: 100%; min-height: auto; padding: 5px 0; } .wrapper.nav-collapsed .header-top { padding-left: 60px; } .wrapper.nav-collapsed .page-wrap .app-sidebar { width: 60px; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-header .header-brand .text { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-lavel { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a span { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a::before { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover { width: 240px; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .header-brand .text { display: inline-block; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-lavel { display: block; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-item a span { display: inline-block; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-item a::before { display: inline-block; } .wrapper.nav-collapsed .page-wrap .main-content { padding-left: 75px; } .wrapper.nav-collapsed .page-wrap .footer { padding-left: 90px; } .wrapper.menu-collapsed .page-wrap .app-sidebar .sidebar-header .nav-toggle { display: none; } .wrapper.right-sidebar-expand .right-sidebar { -moz-transform: translateX(0); -o-transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); } .wrapper.right-sidebar-expand .chat-panel { -moz-transform: translateY(-100%) translateX(0); -o-transform: translateY(-100%) translateX(0); -ms-transform: translateY(-100%) translateX(0); -webkit-transform: translateY(-100%) translateX(0); transform: translateY(-100%) translateX(0); } hr { box-sizing: content-box; height: 0; margin-top: 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, 0.1); } .profiletimeline { position: relative; padding-left: 40px; margin: 40px 10px 0 30px; border-left: 1px solid rgba(0, 0, 0, 0.1); } .profiletimeline .sl-item { margin-top: 8px; margin-bottom: 30px; } .profiletimeline .sl-item .sl-left { float: left; margin-left: -60px; z-index: 1; margin-right: 15px; } .profiletimeline .sl-item .sl-left img { max-width: 40px; } .profiletimeline .sl-item .sl-right .sl-date { font-size: 12px; color: #afb5c1; } .dd-handle { background: #f7f7f7; border-radius: 3px; padding: 20px; position: relative; display: block; text-decoration: none; margin: 5px 0; overflow: hidden; } .dd-handle p { margin: 0; } .dd-handle:after, .dd-handle::after { content: ''; width: 5px; height: 100%; position: absolute; top: 0; left: 0; } .dd-list { margin: 0; padding: 0; list-style: none; } .dd-list .dd-placeholder, .dd-list .dd-empty { margin: 5px 0; padding: 0; min-height: 30px; background: #f2fbff; border: 1px dashed #b6bcbf; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .dd-list .dd-list { padding-left: 30px; } .dd-dragel { position: absolute; pointer-events: none; z-index: 9999; } .dd-dragel .dd-handle { -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); -ms-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); } .todo-task .dd-handle:after, .todo-task .dd-handle::after { background-color: #f5365c !important; } .progress-task .dd-handle:after, .progress-task .dd-handle::after { background-color: #F7CA18 !important; } .completed-task .dd-handle:after, .completed-task .dd-handle::after { background-color: #26C281 !important; } [class*="user--"]::after { height: 0.64286em; width: 0.64286em; display: block; position: absolute; top: 0; right: 10%; border-radius: 100px; content: ""; -webkit-box-shadow: 0 0 0 2px #fff; box-shadow: 0 0 0 2px #fff; } .user--online:after { background: #06d6a0; } .user--busy:after { background: #ff3333; } .user--offline:after { background: #bbb; } /*# sourceMappingURL=theme.css.map */ scss/_widgets.scss000064400000217103151676723140010241 0ustar00.widget { border-color: #ffff; position: relative; width: 100%; border: none; margin-bottom: 30px; background-color: #fff; overflow: hidden; @include box-shadow(0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06)); @include transition(all 0.5s ease-in-out); @include border-radius(4px); .widget-header { padding: 10px 20px; border-bottom: 1px solid #f5f7f9; position: relative; .widget-title { font-size: 18px; margin: 0; } .widget-tools { position: absolute; right: 10px; top: 5px; .btn-widget-tool { padding: 5px; font-size: 16px; background: transparent; color: #97a0b3; i { margin: 0; } &:focus { @include box-shadow(none); } } } } .widget-body { padding: 20px 20px; h6 { margin-bottom: 0; font-weight: 400; } h2 { margin-bottom: 0px; font-weight: 600; } .icon { font-size: 37px; color: #9aa0ac; } .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.22); text-align: center; z-index: 3; @include flexbox(); @include justify-content(center); @include align-items(center); @include flex-direction(column); i { font-size: 32px; color: #ef4153; margin-bottom: 5px; } } } .progress { border-radius: 0; } &[class*=bg-] { .widget-header { background-color: rgba(255, 255, 255, 0.2); border-bottom-color: transparent; .widget-title { color: #fff; } .widget-tools { .btn-widget-tool { color: rgba(255, 255, 255, 0.6); } } } .widget-body { color: $white; .icon { color: $white; } } } &.social-widget { .widget-body { text-align: center; } } } .loading { -webkit-animation-name: loading; animation-name: loading; -webkit-animation-duration: .75s; animation-duration: .75s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } @-webkit-keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg) } to { -webkit-transform: rotate(1turn); transform: rotate(1turn) } } @keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg) } to { -webkit-transform: rotate(1turn); transform: rotate(1turn) } } .card-group { .card { &:not(:last-child) { border-right: 1px solid #f1f1f1; } } } .card { .card-header { border-bottom: 1px solid #f1f1f1; .card-header-right { right: 10px; top: 16px; display: inline-block; float: right; position: absolute; .card-option { width: 35px; height: 25px; overflow: hidden; margin: 0; @include transition(0.3s ease-in-out); li { display: inline-block; i { margin: 0 5px; cursor: pointer; font-size: 15px; color: #8c8c8c; line-height: 2; font-weight: 300; } } } } } .card-block { padding: 1.25rem; } .card-body { .icon { font-size: 37px; color: #9aa0ac; } } .feeds-widget { padding: 0; .feed-item { display: block; padding: 12px 15px; border: 1px solid #efefef; border-left: 0; border-right: 0; a { @include flexbox(); @include align-items(center); .feeds-left { width: 50px; font-size: 30px; } .feeds-body { width: 100%; h4 { font-size: 16px; margin: 0; font-weight: 700; margin-bottom: 5px; &~small { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: calc(100% - 60px); font-size: 13px; color: #777; } } } } &.feed-item { margin-top: -1px; } } } .timeline { .header { background-size: cover; color: #fff; position: relative; .color-overlay { padding: 2em; box-sizing: border-box; background: rgba(123,94,155,0.5); line-height: normal; .day-number { font-size: 6em; margin-right: 15px; display: inline-block; font-weight: 700; line-height: 1; } .date-right { display: inline-block; .day-name { font-size: 22px; } .month { text-transform: uppercase; margin-top: 2px; } } } } ul { list-style: none; position: relative; padding-left: 30px; padding-top: 10px; margin: 0; @include pseudo-element('before') { content: ' '; height: 100%; width: 1px; background-color: #f0f0f0; position: absolute; top: 0; left: 35px; z-index: 1; } li { padding-bottom: 15px; .bullet { width: 10px; height: 10px; display: inline-block; z-index: 2; position: relative; vertical-align: top; margin: 7px 0; margin-right: 5px; @include border-radius(50%); } .time { width: 20%; font-size: 10px; margin: 6px 0; vertical-align: top; display: inline-block; } .desc { width: 65%; display: inline-block; h3 { margin: 0; font-size: 14px; font-weight: 700; } h4 { margin-top: 5px; font-size: 12px; color: #999; } } } } } .task-list { margin: 0; padding: 0; li { display: block; padding: 15px 0 15px 0; margin: 0; cursor: pointer; &:first-child { padding-top: 0; } &.list { span { float: left; margin-top: 20px; color: #FF7E39; @include pseudo-element('before') { font-size: 1.5rem; content: "\e83f"; font-family: 'iconkit'; vertical-align: middle; border: 3px solid #FF7E39; padding: 4px; @include border-radius(50%); } } .task-details { margin-left: 60px; p { margin: 0; padding: 10px 0 6px 0; line-height: 140%; &.date { padding: 0; margin: 0; font-size: .75rem; } } } } &.completed { text-decoration: line-through; color: #8796af; @include transition(all 0.3s ease-out); span { @include pseudo-element('before') { color: #50b924; border: 3px solid #50b924; } } } } } .chat-box { .chat-list { margin: 0; padding: 0; list-style: none; .chat-item { list-style: none; margin-top: 30px; .chat-img { display: inline-block; width: 45px; vertical-align: top; img { width: 45px; @include border-radius(100%); } } .chat-content { width: calc(100% - 50px); display: inline-block; padding-left: 15px; .box { display: inline-block; padding: 10px; margin-bottom: 3px; color: #343a40; background: #f6f8f9; @include border-radius(6px); } } .chat-time { display: block; font-size: 10px; color: #4F5467; margin: 5px 0 15px 65px; } &.odd { .chat-content { text-align: right; width: calc(100% - 0px); .box { clear: both; color: #fff; background: #137eff; } } .chat-time { text-align: right; } &+.odd { margin-top: 0; } } &:first-child { margin-top: 0; } } } } .chat-footer { position: relative; background-color: $white; .input-wrap { padding-right: 50px; } .btn { position: absolute; top: 10px; right: 20px; width: 35px; height: 35px; } } .card-title { font-size: 18px; } .card-subtitle { font-weight: 300; margin-bottom: 10px; color: #afb5c1; } } .jvectormap-tip { border: none; font-family: 'Nunito Sans', sans-serif; font-weight: 700; padding: 5px 10px; font-size: 11px; } .chart-line { .ct-grid { stroke-dasharray: 0; stroke: rgba(256, 256, 256, 0.5); } .ct-point { stroke-width: 0; } .ct-line { stroke: #FFF; stroke-width: 3px; } } .chart-shadow { transition: all 0.3s ease-in-out; filter: drop-shadow(0px 5px 2px rgba(43, 43, 43, 0.2)); } .card { // &:hover { // .chart-shadow { // filter: drop-shadow(0px 4px 1px rgba(43, 43, 43, 0.2)); // transform: translatey(5px); // } // } &-blue, &-green, &-red, &-yellow { position: relative; overflow: hidden; &:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; } .card-block, .card-block-big, .card-block-small, .card-body, .card-footer, .card-header { position: relative; z-index: 5; } } &-red { &::after { background: $danger; } .ct-line { stroke: #fff; } .ct-grid { stroke: lighten($danger,15%); } } &-blue { &::after { background: $primary; } .ct-line { stroke: #fff; } .ct-grid { stroke: lighten($primary,15%); } } &-green { &::after { background: $success; } .ct-line { stroke: #fff; } .ct-grid { stroke: lighten($success,15%); } } &-yellow { &::after { background:$warning; } .ct-line { stroke: #fff; } .ct-grid { stroke: lighten($warning,15); } } } .proj-progress-card { .progress { height: 6px; overflow: visible; margin-bottom: 10px; .progress-bar { position: relative; &:after { content: ""; background: #fff; position: absolute; right: -6px; top: -4px; border-radius: 50%; width: 15px; height: 15px; } &.bg-red:after { border: 3px solid $danger; // box-shadow: 0 0 0 5px transparentize($danger-color, 0.5),0 10px 7px 0 rgba(62, 57, 107, 0.18); } &.bg-blue:after { border: 3px solid $primary; // box-shadow: 0 0 0 5px transparentize($primary-color, 0.5),0 10px 7px 0 rgba(62, 57, 107, 0.18); } &.bg-green:after { border: 3px solid $success; // box-shadow: 0 0 0 5px transparentize($success-color, 0.5),0 10px 7px 0 rgba(62, 57, 107, 0.18); } &.bg-yellow:after { border: 3px solid $warning; // box-shadow: 0 0 0 5px transparentize($warning-color, 0.5),0 10px 7px 0 rgba(62, 57, 107, 0.18); } } } @media only screen and (max-width: 992px) { h6 { margin-top: 15px; } .progress { margin-bottom: 30px; } } } .sos-st-card { h3 { display: inline-block; i { color: #fff; font-size: 18px; width: 60px; height: 60px; border-radius: 50%; padding: 12px 0; text-align: center; margin-right: 15px; border: 10px solid transparent; transition: all 0.3s ease-in-out; } } h5 { position: relative; &:after { content: ""; background: #d2d2d2; position: absolute; top: -20px; right: -15px; width: 1px; height: 60px; } } &.facebook { h3 { color: $facebook; i { background-color: $facebook; border-color: lighten($facebook,25%); } } } &.twitter { h3 { color: $twitter; i { background-color: $twitter; border-color: lighten($twitter,25%); } } } &.linkedin { h3 { color: $linkedin; i { background-color: $linkedin; border-color: lighten($linkedin,25%); } } } &.dribble { h3 { color: $dribbble; i { background-color: $dribbble; border-color: lighten($dribbble,25%); } } } &:hover { h3 i { transform: scale(1.2) rotate(35deg); } } @media only screen and (max-width: 768px) { h3 { i { font-size: 16px; width: 35px; height: 35px; padding: 7px 0; margin-right: 0; border-width: 3px; margin-left: -10px; } } h5 { &:after { display: none; } } } } .wather-card { overflow: hidden; .wather-card-top { position: relative; overflow: hidden; min-height: 200px; background: linear-gradient(to bottom, #7a9af5, rgba(90, 179, 243, 0.5)); .wave { position: absolute; left: 0; right: 0; top: auto; bottom: 0; z-index: 1; + .wave { z-index: 2; + .wave { z-index: 3; } } } .sun { background: #fff; position: absolute; top: 50px; left: 50px; width: 30px; height: 30px; border-radius: 50%; &:after, &:before { content: ""; width: 100%; height: 100%; border-radius: 50%; position: absolute; box-shadow: inset 0 0 20px 5px rgba(255, 255, 255, 0.4); } &:after { animation: sunwawe 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; } &:before { animation: sunwawe 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; animation-delay: 1.15s; } } .w-star1, .w-star2 { position: absolute; top: 0; left: 0; width: 100%; } .w-star1 { animation: sparcle 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; } .w-star2 { animation: sparcle 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; animation-delay: 1.15s; } .w-cloud { position: absolute; right: 30px; top: 60px; opacity: 0; animation: w-cluod 15s linear infinite; } } } @keyframes w-cluod { 0% { opacity: 0; transform: translate(0px,0px); } 20% { opacity: 0.8; transform: translate(30px,-25px); } 40% { opacity: 1; transform: translate(0px,0px); } 60% { opacity: 0.6; transform: translate(-30px,25px); } 80% { opacity: 0.5; transform: translate(0px,0px); } 80% { opacity: 0; transform: translate(0px,0px); } } @keyframes sparcle { 0% { opacity: 1; } 50% { opacity: 0; } } @keyframes sunwawe { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(4); opacity: 0; } } .comp-card { i { color: #fff; width: 50px; height: 50px; border-radius: 5px; text-align: center; padding: 17px 0; font-size: 18px; text-shadow: 0 6px 8px rgba(62, 57, 107, 0.18); transition: all 0.3s ease-in-out; } &:hover { i { border-radius: 50%; } } } .proj-t-card { position: relative; overflow: hidden; .pt-badge { color: #fff; margin-bottom: 0; display: inline-block; padding: 60px 50px 20px 20px; border-radius: 50%; position: absolute; top: -45px; right: -35px; transition: all 0.3s ease-in-out; box-shadow: 0 5px 7px 0 rgba(62, 57, 107, 0.18); } &:hover { .pt-badge { padding: 65px 55px 30px 30px; text-shadow: 0 3px 5px rgba(62, 57, 107, 0.50); box-shadow: 0 4px 4px 0 rgba(62, 57, 107, 0.30); } } } .prod-p-card { i { background-color: #fff; width: 40px; height: 40px; border-radius: 50%; text-align: center; padding: 11px 0; font-size: 18px; transition: all 0.3s ease-in-out; box-shadow: 0 8px 15px rgba(62, 57, 107, 0.20); } &:hover { i { box-shadow: 0 4px 4px rgba(62, 57, 107, 0.20); transform: scale(0.9) translatey(5px); } } } .ticket-card { .lbl-card { box-shadow: 0 5px 4px -2px rgba(51, 51, 51, 0.16); border-radius: 5px; padding: 5px 15px; color: #fff; display: inline-block; } } .analytic-card { .analytic-icon { width: 50px; height: 50px; text-align: center; padding: 17px 0; border-radius: 50%; background-color: #fff; transition: all 0.3s ease-in-out; box-shadow: 0 8px 15px 0 rgba(51, 51, 51, 0.2); } &:hover { .analytic-icon { box-shadow: 0 4px 4px rgba(62, 57, 107, 0.20); transform: rotate(-15deg) translatey(5px); } } } .social-res-card { .progress { height: 6px; } } .product-progress-card { .progress { height: 6px; } .pp-cont { padding-left: 15px; padding-right: 15px; position: relative; &:after { content: ""; background: #d2d2d2; width: 1px; height: 100%; position: absolute; top: 0; left: -15px; } } .pp-main > div:first-child { .pp-cont:after { display: none; } } @media only screen and (max-width: 992px) { .pp-cont { margin-top: 15px; margin-bottom: 15px; &:after { display: none; } } } } .social-card { h2 { text-shadow: 0 8px 15px rgba(51, 51, 51, 0.2); transition: all 0.3s ease-in-out; } &:hover { h2 { text-shadow: 0 4px 4px rgba(51, 51, 51, 0.2); transform: scale(0.9) translatey(5px); } } } .user-card { overflow: hidden; .user-img { border-radius: 50%; display: flex; align-items: center; width: 80px; height: 80px; margin: 0 auto; position: relative; box-shadow: 0 8px 15px 0 rgba(51, 51, 51, 0.2); h5 { margin: 0 auto; } .link-share { position: absolute; padding: 4px 0; right: 0; bottom: 0; border-radius: 50%; width: 25px; height: 25px; background: #fff; color: #666; box-shadow: 0 8px 15px 0 rgba(51, 51, 51, 0.2); } } .user-sub-img { position: relative; margin: 30px 0 10px; padding-top: 30px; > img { width: 30px; cursor: pointer; margin: 5px; } &:after { content: ""; width: 30px; height: 1px; background: #2b2b2b; position: absolute; top: 0; right: calc(50% - 15px); } } .f-btn { cursor: pointer; transition: all 0.3s ease-in-out; a { transition: all 0.3s ease-in-out; } &:hover { background-color: lighten($primary,30%); box-shadow: inset 0 5px 7px -3px rgba(43, 43, 43, 0.15); a { color: $primary; } } } } .soc-cont-card { color: #fff; position: relative; overflow: hidden; .soc-slider { margin-right: 85px; } .soc-cont-icon { color: #fff; font-size: 50px; width: 100px; text-align: center; position: absolute; right: 0; top: 20px; } .num-block { background: #fff; color: $theme; padding: 8px 15px; display: inline-block; margin: 5px 0 10px; border-radius: 5px; box-shadow: inset 0 1px 3px -1px rgba(43, 43, 43, 0.25); +.num-block { margin-left: 15px; } i { font-size: 16px; opacity: 1; } } .card-block { margin-bottom: 20px; padding-bottom: 10px; } &:after { content: ""; background: rgba(256,256,256,0.5); // border-top: 1px solid rgba(256,256,256,0.5); height: 20px; width: 100%; position: absolute; bottom: 0; left: 0; } @media only screen and (max-width: 575px) { .soc-slider { margin-right: 0; } .soc-cont-icon { font-size: 40px; width: 50px; top: auto; bottom: 35px; } } } .st-cir-card { position: relative; overflow: hidden; .st-bt-lbl { font: { size: 60px; weight: 700; } opacity: 0.3; position: absolute; bottom: -30px; right: -5px; } .st-cir-chart { position: relative; h5 { position: absolute; margin-bottom: 0; top: 50%; left: 50%; transform: translate(-50%,-50%); } } .ct-series-a .ct-slice-donut{ stroke: #fff; } &.card { &-red { .ct-series-b path { stroke: lighten($danger,20%); } } &-blue { .ct-series-b path { stroke: lighten($primary,20%); } } &-green { .ct-series-b path { stroke: lighten($success,20%); } } &-yellow { .ct-series-b path { stroke: lighten($warning,20%); } } } } .prod-bar-card { .pbc-chart { width: 50px; margin: 0 auto 10px; } .radial-bar:after { box-shadow: 0 0 3px #fff; } } .sale-card { .s-chart { position: relative; .bottom-line { background: #ccc; position: absolute; width: 80px; height: 3px; bottom: 30px; left: 50%; transform: translatex(-50%); } } .radial-bar { margin: 15px 0 35px; > img { box-shadow: 0 0 0 8px #fff; } } .s-caption { width: 20px; height: 20px; border-radius: 5px; display: inline-block; vertical-align: super; margin-right: 5px; } .progress { height: 5px; } .tot-rev-chart { position: relative; margin: 0 auto; .ct-series-b path { stroke: #fff; } .ct-series-a .ct-slice-donut { stroke: $warning; } h3 { position: absolute; margin-bottom: 0; top: 50%; left: 50%; transform: translate(-50%, -50%); } } } .new-cust-card { img { border: 2px solid #fff; box-shadow: 0 5px 10px 0 rgba(43, 43, 43, 0.2); } h6 { margin-bottom: 0; } .align-middle { position: relative; .status { position: absolute; right: 0; top: 19px; font-size: 13px; &.active { width: 10px; height: 10px; border-radius: 50%; background: $success; } } } } .table-card { .card-block { padding-left: 0; padding-right: 0; padding-top: 0; .table { > thead > tr > th { border-top: 0; } tr { td, th { &:first-child { padding-left: 20px; } &:last-child { padding-right: 20px; } } } &.without-header { tr { &:first-child { td { border-top: none; } } } } } } .p-status { width: 10px; height: 10px; border-radius: 50%; } } .latest-update-card { .card-block { padding-top: 0; .latest-update-box { position: relative; &:after { content: ""; position: absolute; background: #ebebeb; height: 100%; width: 3px; top: 0; left: 19px; z-index: 1; } .update-meta { z-index: 2; .update-icon { width: 30px; height: 30px; border-radius: 50%; text-align: center; padding: 7px 8px; font-size: 16px; color: #fff; &.bg-red { box-shadow: 0 0 0 4px transparentize($danger, 0.5),; } &.bg-blue { box-shadow: 0 0 0 4px transparentize($primary, 0.5); } &.bg-green { box-shadow: 0 0 0 4px transparentize($success, 0.5); } &.bg-yellow { box-shadow: 0 0 0 4px transparentize($warning, 0.5); } &.ring { border-width: 3px; width: 15px; height: 15px; padding: 0; display: block; margin-left: 13px; background: #fff; } } i.update-icon { margin-left: 4px; margin-right: 19px; } img.update-icon { padding: 0; width: 40px; height: 40px; } } @media only screen and (max-width: 575px) { &:after { display: none; } .update-meta { z-index: 2; min-width: 100%; text-align: left !important; margin-bottom: 15px; border-top: 1px solid #f1f1f1; padding-top: 15px; } } } } } .testimonial-card { .progress { height: 5px; } .review-block { .cust-img { width: 50px; height: 50px; } > div { padding-top: 15px; padding-bottom: 15px; margin-left: 0; margin-right: 0; padding-left: 5px; padding-right: 5px; &:hover { background-color: transparentize($primary, 0.9); } } } } .feed-card { h6 { margin-top: 7px; } .feed-icon { color: #fff; border-radius: 50%; width: 30px; height: 30px; text-align: center; padding: 8px 9px; } } .chat-card { .msg { margin-bottom: 5px; display: inline-block; padding: 10px; position: relative; img { width: 60px; border-radius: 5px; margin-bottom: 5px; margin-top: 5px; margin-right: 10px; } } .received-chat { .msg { background: transparentize($primary, 0.9); border-radius: 0 5px 5px 5px; box-shadow: 2px 3px 7px 0 rgba(43, 43, 43, 0.15); &:after { content: ""; position: absolute; left: -7px; top: -7px; transform: rotate(45deg); border: 7px solid transparent; border-bottom-color: transparentize($primary, 0.9); } } } .send-chat { text-align: right; .msg { background: transparentize($success, 0.9); border-radius: 5px 0 5px 5px; box-shadow: -2px 3px 7px 0 rgba(43, 43, 43, 0.15); &:after { content: ""; position: absolute; right: -7px; top: -7px; transform: rotate(45deg); border: 7px solid transparent; border-right-color: transparentize($success, 0.9); } } } } /* ------------------------------------- * Bar container * ------------------------------------- */ .radial-bar { position: relative; display: inline-block; border-radius: 50%; background-color: transparent; margin-bottom: 20px; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; width: 80px; height: 80px; font-size: 18px; } .radial-bar:after, .radial-bar > img { display: inline-block; position: absolute; top: 0; left: 0; border-radius: 50%; text-align: center; font-weight: 500; color: #455a64; } .radial-bar:after { content: attr(data-label); background-color: #fff; z-index: 55; } .radial-bar > img { z-index: 102; } .radial-bar:after, .radial-bar > img { width: 56px; height: 56px; margin-left: 12px; margin-top: 12px; line-height: 56px; } .radial-bar.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-50 { background-image: linear-gradient(270deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-55 { background-image: linear-gradient(288deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-60 { background-image: linear-gradient(306deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-65 { background-image: linear-gradient(324deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-70 { background-image: linear-gradient(342deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-75 { background-image: linear-gradient(360deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-80 { background-image: linear-gradient(378deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-85 { background-image: linear-gradient(396deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-90 { background-image: linear-gradient(414deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-95 { background-image: linear-gradient(432deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-100 { background-image: linear-gradient(450deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-50 { background-image: linear-gradient(270deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-55 { background-image: linear-gradient(288deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-60 { background-image: linear-gradient(306deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-65 { background-image: linear-gradient(324deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-70 { background-image: linear-gradient(342deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-75 { background-image: linear-gradient(360deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-80 { background-image: linear-gradient(378deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-85 { background-image: linear-gradient(396deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-90 { background-image: linear-gradient(414deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-95 { background-image: linear-gradient(432deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-100 { background-image: linear-gradient(450deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-50 { background-image: linear-gradient(270deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-55 { background-image: linear-gradient(288deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-60 { background-image: linear-gradient(306deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-65 { background-image: linear-gradient(324deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-70 { background-image: linear-gradient(342deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-75 { background-image: linear-gradient(360deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-80 { background-image: linear-gradient(378deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-85 { background-image: linear-gradient(396deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-90 { background-image: linear-gradient(414deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-95 { background-image: linear-gradient(432deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-100 { background-image: linear-gradient(450deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-50 { background-image: linear-gradient(270deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-55 { background-image: linear-gradient(288deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-60 { background-image: linear-gradient(306deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-65 { background-image: linear-gradient(324deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-70 { background-image: linear-gradient(342deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-75 { background-image: linear-gradient(360deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-80 { background-image: linear-gradient(378deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-85 { background-image: linear-gradient(396deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-90 { background-image: linear-gradient(414deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-95 { background-image: linear-gradient(432deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-100 { background-image: linear-gradient(450deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-50 { background-image: linear-gradient(270deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-55 { background-image: linear-gradient(288deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-60 { background-image: linear-gradient(306deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-65 { background-image: linear-gradient(324deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-70 { background-image: linear-gradient(342deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-75 { background-image: linear-gradient(360deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-80 { background-image: linear-gradient(378deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-85 { background-image: linear-gradient(396deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-90 { background-image: linear-gradient(414deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-95 { background-image: linear-gradient(432deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-100 { background-image: linear-gradient(450deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-50 { background-image: linear-gradient(270deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-55 { background-image: linear-gradient(288deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-60 { background-image: linear-gradient(306deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-65 { background-image: linear-gradient(324deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-70 { background-image: linear-gradient(342deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-75 { background-image: linear-gradient(360deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-80 { background-image: linear-gradient(378deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-85 { background-image: linear-gradient(396deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-90 { background-image: linear-gradient(414deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-95 { background-image: linear-gradient(432deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-100 { background-image: linear-gradient(450deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Default -- */ .radial-bar-default.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-50 { background-image: linear-gradient(270deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-55 { background-image: linear-gradient(288deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-60 { background-image: linear-gradient(306deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-65 { background-image: linear-gradient(324deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-70 { background-image: linear-gradient(342deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-75 { background-image: linear-gradient(360deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-80 { background-image: linear-gradient(378deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-85 { background-image: linear-gradient(396deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-90 { background-image: linear-gradient(414deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-95 { background-image: linear-gradient(432deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-100 { background-image: linear-gradient(450deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Pink -- */ .radial-bar-pink.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-50 { background-image: linear-gradient(270deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-55 { background-image: linear-gradient(288deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-60 { background-image: linear-gradient(306deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-65 { background-image: linear-gradient(324deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-70 { background-image: linear-gradient(342deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-75 { background-image: linear-gradient(360deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-80 { background-image: linear-gradient(378deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-85 { background-image: linear-gradient(396deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-90 { background-image: linear-gradient(414deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-95 { background-image: linear-gradient(432deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-100 { background-image: linear-gradient(450deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Purple -- */ .radial-bar-purple.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-50 { background-image: linear-gradient(270deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-55 { background-image: linear-gradient(288deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-60 { background-image: linear-gradient(306deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-65 { background-image: linear-gradient(324deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-70 { background-image: linear-gradient(342deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-75 { background-image: linear-gradient(360deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-80 { background-image: linear-gradient(378deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-85 { background-image: linear-gradient(396deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-90 { background-image: linear-gradient(414deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-95 { background-image: linear-gradient(432deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-100 { background-image: linear-gradient(450deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Inverse -- */ .radial-bar-inverse.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-50 { background-image: linear-gradient(270deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-55 { background-image: linear-gradient(288deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-60 { background-image: linear-gradient(306deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-65 { background-image: linear-gradient(324deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-70 { background-image: linear-gradient(342deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-75 { background-image: linear-gradient(360deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-80 { background-image: linear-gradient(378deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-85 { background-image: linear-gradient(396deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-90 { background-image: linear-gradient(414deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-95 { background-image: linear-gradient(432deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-100 { background-image: linear-gradient(450deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-lg { width: 100px; height: 100px; font-size: 20px; } .radial-bar-lg:after, .radial-bar-lg > img { width: 70px; height: 70px; margin-left: 15px; margin-top: 15px; line-height: 70px; } .radial-bar-sm { width: 50px; height: 50px; font-size: 12px; } .radial-bar-sm:after, .radial-bar-sm > img { width: 35px; height: 35px; margin-left: 7.5px; margin-top: 7.5px; line-height: 35px; } .radial-bar-xs { width: 30px; height: 30px; font-size: 8px; } .radial-bar-xs:after, .radial-bar-xs > img { width: 20px; height: 20px; margin-left: 5.5px; margin-top: 4.5px; line-height: 21px; } .radial-bar { background-clip: content-box; } scss/_buttons.scss000064400000007725151676723140010300 0ustar00.btn { padding: 6px 14px; height: 30px; font-size: 13px; font-weight: 600; @include transition(0.3s ease-in-out); i { margin-right: 5px; } } .btn-icon { width: 30px; height: 30px; padding: 0; text-align: center; line-height: 32px; font-size: 14px; display: inline-block; @include border-radius(50%); @include transition(all .5s ease-in-out); i { margin-right: 0 !important; } } .social-btn { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 30px; color: $white; i { margin: 0; } } .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger, .btn-inverse, .btn-purple, .btn-pink, .btn-twitter, .btn-facebook, .btn-linkedin, .btn-google, .btn-dribbble, .btn-instagram { color: $white; } .btn { &-theme { background: linear-gradient(150deg, #f05138 15%, #ee3a5b 70%, #ed1375 94%); color: #fff; } &default { background-color: #dae6ec; border-color: #dae6ec; &:focus, &:hover, &:active, &.active { background-color: #dae6ec; border-color: #C2CED4; color: $white !important; } } &-primary { background-color: $primary; border: 1px solid $primary; &:hover, &:focus, &.active { background-color: darken($primary, 5%); border: 1px solid darken($primary, 5%); color: $white !important; } } &-success { background-color: $success; border: 1px solid $success; &:hover, &:focus, &.active { background-color: darken($success, 5%); border: 1px solid darken($success, 5%); color: $white !important; } } &-info { background-color: $info; border: 1px solid $info; &:hover, &:focus, &.active { background-color: darken($info, 5%); border: 1px solid darken($info, 5%); color: $white !important; } } &-warning { background-color: $warning; border: 1px solid $warning; &:hover, &:focus, &.active { background-color: darken($warning, 5%); border: 1px solid darken($warning, 5%); color: $white !important; } } &-danger { background-color: $danger; border: 1px solid $danger; &:focus, &:hover, &.active { background-color: darken($danger, 5%); border: 1px solid darken($danger, 5%); color: $white !important; } } &-inverse { background-color: $inverse; border: 1px solid $inverse; &:hover, &:focus, &.active { background-color: darken($inverse, 5%); border: 1px solid darken($inverse, 5%); color: $white !important; } } &-purple { background-color: $purple; border: 1px solid $purple; &:hover, &:focus, &.active { background-color: darken($purple, 5%); border: 1px solid darken($purple, 5%); color: $white !important; } } &-pink { background-color: $pink; border: 1px solid $pink; &:hover, &:focus, &.active { background-color: darken($pink, 5%); border: 1px solid darken($pink, 5%); color: $white !important; } } &-facebook { background: $facebook; } &-twitter { background: $twitter; } &-dribbble { background: $dribbble; } &-linkedin { background: $linkedin; } &-google { background: $google; } &-instagram { background: $instagram; } } .template-demo { .btn { margin-right: 10px; margin-bottom: 10px; } } .btn-group { .btn { margin: 0; } }scss/_calendar.scss000064400000005236151676723140010346 0ustar00.fc { .fc-toolbar { .fc-button { background: #4a5361; color: #fff; padding: 5px 10px; height: auto; border: none; text-transform: capitalize; text-shadow: none; @include box-shadow(none); .fc-icon { margin: 0; top: 0; @include pseudo-element('after') { font-family: "iconkit"; font-size: 16px; } &.fc-icon-left-single-arrow { @include pseudo-element('after') { content: "\e843"; } } &.fc-icon-right-single-arrow { @include pseudo-element('after') { content: "\e844"; } } } &.fc-state-active, &.fc-state-down { background: #272d36 !important; } } h2 { font-size: 22px; font-weight: 600; } } .fc-view-container { .fc-view { table { thead { tr { td, th { &.fc-widget-header { color: #4a5361; background: #f3f4f4; border-color: #f3f4f4; padding: 10px 0px; } } } } } .fc-day-number { float: left; padding: 10px 0 5px 10px; } .fc-other-month { background: #f3f9ff; } .fc-event-container { .fc-event { display: block; padding: 3px 5px; color: $white; font-weight: 600; font-size: 12px; border: none; } } } } } .fc-unthemed { .fc-content, .fc-divider, .fc-list-heading, .fc-list-view, .fc-popover, .fc-row, tbody, td, thead { border-color: #f3f4f4; } } .color-selector { padding: 0; margin: 0; list-style: none; li { position: relative; display: inline-block; width: 25px; height: 25px; margin: 0 8px 8px 0; background-color: #3e8ef7; @include border-radius(50%); input[type=radio] { position: absolute; top: 0; left: 0; z-index: 1; width: inherit; height: inherit; cursor: pointer; border-radius: inherit; opacity: 0; &:checked + label { @include pseudo-element('after') { position: absolute; top: 0px; left: 5px; display: inline-block; margin-top: -3px; font-size: 16px; line-height: 1; content: "\e83f"; color: #fff; } } } label { position: relative; margin-bottom: .4rem; font-family: "iconkit"; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; } &:last-child { margin-right: 0; } } }scss/_auth.scss000064400000002031151676723140007524 0ustar00.auth-wrapper { .lavalite-bg { height: 100vh; position: relative; width: 100%; -webkit-background-size: cover; background-size: cover; background-repeat: no-repeat; .lavalite-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(135deg,rgba(46,52,81,.4) 0%,rgba(52,40,104,.95) 100%); } } .authentication-form { font-size: .9rem; width: 70%; display: block; padding: 100px 0; .logo-centered { width: 60px; margin: 0 auto; margin-bottom: 40px; } h3 { font-size: 20px; color: #272d36; margin-bottom: 20px; } .form-group { position: relative; .form-control { padding-left: 40px; & ~ i { position: absolute; top: 10px; left: 15px; } } } .sign-btn { margin-top: 30px; } .register { margin-top: 30px; text-align: center; } } }scss/_alert.scss000064400000000764151676723140007705 0ustar00.alert { border: none; .close { font-size: 18px; padding: 12px 15px; } } .jq-icon-info { background-color: $info; color: $white; border: none; } .jq-icon-warning { background-color: $warning; color: $white; } .jq-icon-error { background-color: $danger; color: $white; } .jq-icon-success { color: $white; background-color: $success; } .jq-toast-single, .jq-toast-single h2 { font-family: 'Nunito Sans', sans-serif; }scss/_rating.scss000064400000004271151676723140010057 0ustar00.br-wrapper { margin: 20px 0 50px; } .br-theme-bars-1to10 .br-widget .br-current-rating { clear: both; padding: 0; font-size: 13px; color: #757575; font-weight: 400; } .br-theme-bars-reversed .br-widget .br-current-rating { clear: both; padding: 0; line-height: 2; font-size: 13px; } .br-theme-bars-movie .br-widget .br-current-rating { color: #757575; font-weight: 400; text-align: left; } .br-theme-bars-horizontal, .br-theme-bars-reversed { .br-widget .br-current-rating { color: #757575; font-weight: 400; font-size: 13px; } } span.value { display: inline; } .current-rating { position: relative; top: -50px; &.hidden { display: none; } } .your-rating { position: relative; top: -50px; &.hidden { display: none; } } .br-theme-bars-1to10, .br-theme-bars-movie, .br-theme-bars-reversed, .br-theme-bars-horizontal { .br-widget a { background-color: lighten($primary, 20%); &.br-active, &.br-selected { background-color: $primary; } } } .br-theme-bars-pill { .br-widget a { background-color: lighten($primary, 20%); color: $primary; &.br-active, &.br-selected { background-color: $primary; } } } .br-theme-fontawesome-stars { .br-widget { a.br-active:after, a.br-selected:after { color: $primary; } } } .br-theme-css-stars { .br-widget { a.br-active:after, a.br-selected:after { color: $primary; } } } .br-theme-bars-square { .br-widget a { border: 2px solid lighten($primary, 20%); color: lighten($primary, 8%); &.br-active, &.br-selected { border: 2px solid $primary; color: $primary; } } } .br-theme-fontawesome-stars-o { .br-widget { a.br-selected:after, a:after, a.br-active:after, a.br-fractional:after { color: $primary; } } } scss/_forms.scss000064400000056205151676723140007725 0ustar00.form-group { margin-bottom: 1.25em; .form-control-lg { font-size: 1.25em; } .form-control-round { border-radius: 50px; } .form-control-static { &:focus { outline: none; } } } .form-control { height: auto; min-height: 35px; border: 1px solid #eaeaea; padding: 0 10px; background-color: #fff; font-size: 13px; @include border-radius(4px); @include input-placeholder { color: #999999; } &:focus { border-color: #e2dfdf; -webkit-box-shadow: none; box-shadow: none; } &.form-control-normal { font-weight: 400; } &.form-control-bold { font-weight: 700; } &.form-control-capitalize { text-transform: capitalize; } &.form-control-uppercase { text-transform: uppercase; } &.form-control-lowercase { text-transform: lowercase; } &.form-control-variant { font-variant: small-caps; } &.form-control-left { text-align: left; } &.form-control-center { text-align: center; } &.form-control-right { text-align: right; } &.form-control-rtl { direction: rtl; } &:disabled { cursor: not-allowed; opacity: 0.5; } } select.form-control { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 20px; background-image: url('../img/down-arrow.svg'); background-position: center right 15px; background-repeat: no-repeat; -webkit-background-size: 10px; background-size: 10px; height: 35px !important; } textarea.form-control { padding: 10px 15px; @include border-radius(4px); } .custom-radio { .custom-control-label { line-height: 24px; } } .custom-checkbox { .custom-control-label { line-height: 24px; } .custom-control-input { &:checked { &~.custom-control-label { &::after { background-image: none; content: "\e83f"; line-height: 16px; font-family: 'iconkit'; color: #fff; } } } } } .custom-control-label { text-align: center; } .input-group { .input-group-prepend { .input-group-text { border-top-left-radius: 4px; border-bottom-left-radius: 4px; background-color: #eaeaea; border-color: #eaeaea; padding-left: 15px; height: 35px; font-size: 14px; } .btn { height: 35px; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } } .input-group-append { .input-group-text { border-top-right-radius: 4px; border-bottom-right-radius: 4px; background-color: #eaeaea; border-color: #eaeaea; padding-right: 15px; height: 35px; font-size: 14px; } .btn { height: 35px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; } } } .form-group { .file-upload-default { visibility: hidden; position: absolute; } .file-upload-info { background: $empty; } } .select2 { &.select2-container--default { .select2-selection--single { border-color: #eaeaea; height: 35px; @include border-radius(4px); .select2-selection__rendered { line-height: 35px; padding-left: 15px; padding-right: 30px; } .select2-selection__arrow { height: 33px; right: 8px; } } .select2-selection--multiple { border-color: #eaeaea; .select2-selection__rendered { margin-top: 1px; .select2-selection__choice { border: none; padding: 1px 5px; } } } &.select2-container--focus { .select2-selection--multiple { border-color: #8e8e8e; } } &.select2-container--open { &.select2-container--below { .select2-selection--single, .select2-selection--multiple { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } } } } &.select2-container { .select2-selection--multiple { min-height: 35px; } } } .select2-container--default { .select2-dropdown { background-color: $white; border: none; @include border-radius(6px); @include box-shadow(0 2px 30px rgba(0,0,0,.08)); .select2-search--dropdown { padding: 5px; .select2-search__field { height: 30px; border: none; background-color: #eaeaea; padding: 5px 10px; @include border-radius(4px); } } .select2-results { .select2-results__options { padding: 5px; } } } } .select2-results__option { background-color: #fff; padding: 8px 15px; border-radius: 4px; line-height: 14px; } .bootstrap-datetimepicker-widget { .table { thead { background-color: $empty; tr { th { color: $dark; @include border-radius(6px); } } } tr { td, th { text-align: center; width: 35px; height: 35px; border-radius: 50%; border: none; line-height: 35px; position: relative; z-index: 1; } td { &.today, &.active { color: $white; position: relative; z-index: 1; background-color: transparent; text-shadow: none; @include pseudo-element('before') { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: #4a5361; position: absolute; z-index: -1; display: block; margin: auto; content: ''; top: 6px; left: 0px; right: 0px; bottom: auto; @include transform(scale(1)); } } &.active:hover { @include pseudo-element('before') { background-color: #4a5361 !important; } } &.today { @include pseudo-element('before') { background-color: $theme; } } &.day, &.hour, &.minute, &.second { &:hover { background-color: transparent; } } @include pseudo-element('before') { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: transparent; position: absolute; z-index: -1; display: block; margin: auto; content: ''; top: 6px; left: 0px; right: 0px; bottom: auto; @include transform(scale(0)); @include transition(0.3s ease-in-out); } &:hover { @include pseudo-element('before') { background-color: #f4f4f4; @include transform(scale(1)); } } } } } .timepicker { table { td { position: relative; z-index: 1; width: 35px; height: 35px; line-height: 35px; .btn { height: auto; } span { width: 35px; height: 35px; line-height: 35px; } } } } &.dropdown-menu { min-width: 280px; &.bottom { @include pseudo-element('before') { border-bottom-color: #fff; } } &.top { @include pseudo-element('before') { border-top-color: #fff; } } .datepicker { table { tr { th, td { width: 30px; height: 30px; line-height: 30px; } td { @include pseudo-element('before') { top: 4px; left: 0px; } &.today, &.active { @include pseudo-element('before') { top: 4px; left: 0px; } } } } } } } } .bootstrap-tagsinput { display: block; border: 1px solid #eaeaea; min-height: 35px; padding: 0px 10px; padding-top: 4px; @include box-shadow(none); .tag { padding: 1px 5px; margin-right: 2px; margin-bottom: 4px; display: inline-block; text-transform: capitalize; @include border-radius(4px); background-color: $inverse; } } .note-editor.note-frame.card { @include box-shadow(none); } .input-group { margin-bottom: 1.25em; } $form-border-state: primary, warning, default, danger, success, inverse, info; $form-border-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $form-border-state { $i: index($form-border-state, $var); .form-control-#{$var} { border-color: nth($form-border-color, $i); color: nth($form-border-color, $i); &:focus { border-color: nth($form-border-color, $i); } } .input-group-#{$var} { .input-group-append, .input-group-prepend { .input-group-text { background-color: nth($form-border-color, $i); border-color: nth($form-border-color, $i); color: $white; } } .form-control { border-color: nth($form-border-color, $i); } } } $form-txt-state: primary, warning, default, danger, success, inverse, info; $form-txt-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $form-txt-state { $i: index($form-txt-state, $var); .form-txt-#{$var} { color: nth($form-txt-color, $i); &:focus { color: nth($form-txt-color, $i); } &::-moz-placeholder { color: nth($form-txt-color, $i); opacity: 1; } &:-ms-input-placeholder { color: nth($form-txt-color, $i); } &::-webkit-input-placeholder { color: nth($form-txt-color, $i); } } } $form-bg-state: primary, warning, default, danger, success, inverse, info; $form-bg-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $form-bg-state { $i: index($form-bg-state, $var); .form-bg-#{$var} { background-color: nth($form-bg-color, $i); border-color: nth($form-bg-color, $i); color: #fff; &:focus { background-color: nth($form-bg-color, $i); border-color: nth($form-bg-color, $i); color: #fff; } &::-moz-placeholder { color: #fff; opacity: 1; } &:-ms-input-placeholder { color: #fff; } &::-webkit-input-placeholder { color: #fff; } } } .form-radio { position: relative; .form-help { position: absolute; width: 100%; } label { position: relative; padding-left: 1.5rem; text-align: left; color: #333; display: block; line-height: 1.8; } input { width: auto; opacity: 0.00000001; position: absolute; left: 0; } } .radio { .helper { position: absolute; top: -0.25rem; left: -0.25rem; cursor: pointer; display: block; font-size: 1rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #999; &::after { transform: scale(0); background-color: $primary; border-color: $primary; } &::after, &::before { content: ''; position: absolute; left: 0; top: 3px; margin: 0.25rem; width: 1rem; height: 1rem; -webkit-transition: -webkit-transform 0.28s ease; transition: -webkit-transform 0.28s ease; transition: transform 0.28s ease, -webkit-transform 0.28s ease; border-radius: 50%; border: 0.125rem solid $primary; } } label:hover .helper { color: $primary; } input { &:checked ~ .helper::after { transform: scale(0.5); } &:checked ~ .helper::before { color: $primary; animation: ripple 0.3s linear forwards; } } &.radiofill { input:checked ~ .helper::after { transform: scale(1); } .helper::after { background-color: $primary; } } &.radio-outline { input:checked ~ .helper::after { transform: scale(0.6); } .helper::after { background-color: #fff; border: 0.225rem solid $primary; } } &.radio-matrial { input ~ .helper::after { background-color: #fff; } input:checked ~ .helper::after { transform: scale(0.5); box-shadow: 0 1px 7px -1px rgba(0, 0, 0, 0.72); } input:checked ~ .helper::before { background-color: $primary; } } &.radio-disable { label { cursor: not-allowed; } opacity: 0.7; } } .radio-inline { display: inline-block; margin-right: 20px; } $radio-bg-state: primary, warning, default, danger, success, inverse, info; $radio-bg-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $radio-bg-state { $i: index($radio-bg-state, $var); .radio { &.radio-#{$var} { .helper::after { background-color: nth($radio-bg-color, $i); border-color: nth($radio-bg-color, $i); } .helper::before { border-color: nth($radio-bg-color, $i); } } &.radio-outline { &.radio-#{$var} { .helper::after { background-color: #fff; border: 0.225rem solid nth($radio-bg-color, $i); } .helper::before { border-color: nth($radio-bg-color, $i); } } } &.radio-matrial { &.radio-#{$var} { input ~ .helper::after { background-color: #fff; border-color: #fff; } input ~ .helper::before { background-color: nth($radio-bg-color, $i); border-color: nth($radio-bg-color, $i); } } } } } @keyframes ripple { 0% { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0); } 50% { box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.05); } 100% { box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); } } .border-checkbox-section { .border-checkbox-group { display: inline-block; .border-checkbox:checked + .border-checkbox-label:before { animation: ripple 0.3s linear forwards; } .border-checkbox:checked + .border-checkbox-label:after { -webkit-animation: check linear 0.5s; animation: check linear 0.5s; opacity: 1; border-color: $primary; .border-checkbox-label { &:before { border-color: #eee; } } } .border-checkbox-label { position: relative; display: inline-block; cursor: pointer; height: 20px; line-height: 20px; padding-left: 30px; margin-right: 15px; &:after { content: ""; display: block; width: 6px; height: 12px; opacity: 0.9; border-right: 2px solid #eee; border-top: 2px solid #eee; position: absolute; left: 4px; top: 11px; -webkit-transform: scaleX(-1) rotate(135deg); transform: scaleX(-1) rotate(135deg); -webkit-transform-origin: left top; transform-origin: left top; } &:before { content: ""; display: block; border: 2px solid $primary; width: 20px; height: 20px; position: absolute; left: 0; } } } .border-checkbox { display: none; &:disabled { ~ .border-checkbox-label { cursor: no-drop; color: #ccc; } } } } @include theme-keyframes(check) { 0% { height: 0; width: 0; } 25% { height: 0; width: 6px; } 50% { height: 12px; width: 6px; } } $border-checkbox-bg-state: primary, warning, default, danger, success, inverse, info; $border-checkbox-bg-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $border-checkbox-bg-state { $i: index($border-checkbox-bg-state, $var); .border-checkbox-section .border-checkbox-group-#{$var} { .border-checkbox-label:before { border: 2px solid nth($border-checkbox-bg-color, $i); } .border-checkbox:checked + .border-checkbox-label:after { border-color: nth($border-checkbox-bg-color, $i); } } } .checkbox-fade, .checkbox-zoom { display: inline-block; margin-right: 15px; label { line-height: 20px; input[type="checkbox"], input[type="radio"] { display: none; &:checked + .cr > .cr-icon { transform: scale(1) rotateZ(0deg); opacity: 1; } + .cr > .cr-icon { transform: scale(3) rotateZ(-20deg); opacity: 0; transition: all 0.3s ease-in; } } &:after { content: ''; display: table; clear: both; } } &.fade-in-disable { .cr, label { color: #ccc; cursor: no-drop; } } .cr { border-radius: 0; border: 2px solid $primary; cursor: pointer; display: inline-block; float: left; height: 20px; margin-right: 1rem; position: relative; width: 20px; .cr-icon { color: $primary; font-size: 1em; left: 0; line-height: 0; position: absolute; right: 0; text-align: center; top: 50%; } } input[type="checkbox"]:checked { + .cr { animation: ripple 0.3s linear forwards; } } } .checkbox-fade { label { line-height: 20px; input[type="checkbox"], input[type="radio"] { display: none; &:checked + .cr > .cr-icon { transform: scale(1) rotateZ(0deg); opacity: 1; } + .cr > .cr-icon { transform: scale(3) rotateZ(-20deg); opacity: 0; transition: all 0.3s ease-in; } } } } .checkbox-zoom { label { line-height: 20px; input[type="checkbox"], input[type="radio"] { display: none; &:checked + .cr > .cr-icon { transform: scale3d(1, 1, 1) translate3d(0, 0, 0); opacity: 1; } + .cr > .cr-icon { transform: scale3d(0.2, 0.2, .1) translate3d(0, 0, 0); opacity: 0; transition: all 0.3s ease-in; } } } } $fade-in-checkbox-bg-state: primary, warning, default, danger, success, inverse, info; $fade-in-checkbox-bg-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $fade-in-checkbox-bg-state { $i: index($fade-in-checkbox-bg-state, $var); .checkbox-fade, .checkbox-zoom { &.fade-in-#{$var}, &.zoom-#{$var} { .cr { border: 2px solid nth($fade-in-checkbox-bg-color, $i); .cr-icon { color: nth($fade-in-checkbox-bg-color, $i); } } } } } .checkbox-color { display: inline-block; margin-right: 20px; cursor: pointer; label { display: inline-block; position: relative; padding-left: 10px; line-height: 20px; &::before { content: ""; display: inline-block; position: absolute; top: 0; width: 20px; height: 20px; left: 0; right: 0; text-align: center; margin-left: -20px; border: 1px solid #ccc; border-radius: 0; background-color: #fff; transition: border 0.15s ease-in-out, color 0.15s ease-in-out; } &::after { display: inline-block; position: absolute; width: 16px; height: 16px; left: -1px; top: 0; margin-left: -17px; padding-left: 3px; padding-top: 1px; font-size: 11px; color: #fff; } } input[type="checkbox"] { opacity: 0; &:focus + label::before { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } &:checked + label::after { font-family: 'FontAwesome'; content: "\f00c"; } &:checked + label::before { animation: ripple 0.3s linear forwards; } &:disabled + label { opacity: 0.65; &::before { background-color: #eee; cursor: not-allowed; } } } &.checkbox-circle label::before { border-radius: 50%; } &.checkbox-inline { margin-top: 0; } } .checkbox-danger, .checkbox-info, .checkbox-primary, .checkbox-success, .checkbox-warning { input[type="checkbox"]:checked + label::after { color: #fff; } } .checkbox-primary input[type="checkbox"]:checked + label::before { background-color: #2196f3; border-color: #2196f3; } $background-checkbox-bg-state: primary, warning, default, danger, success, inverse, info; $background-checkbox-bg-color: $primary, $warning, $default, $danger, $success, $inverse, $info; @each $var in $background-checkbox-bg-state { $i: index($background-checkbox-bg-state, $var); .checkbox-#{$var} input[type="checkbox"]:checked + label::before { background-color: nth($background-checkbox-bg-color, $i); } }scss/_tables.scss000064400000003275151676723140010050 0ustar00.card { .card-body { .dataTables_wrapper { .dataTables_scroll { margin-left: -20px; width: calc(100% + 40px); .dataTable { margin-left: 0px; width: 100%; } } .dataTable { margin-left: -20px; width: calc(100% + 40px); } .form-control { border: none; min-height: 30px; background-color: #f4f4f4; } select.form-control { height: 30px !important; } .dataTables_paginate { .pagination { .page-item { .page-link { margin-left: 5px; min-width: 30px; height: 30px; padding: 0; text-align: center; line-height: 30px; border: none; background-color: #f4f4f4; color: #212121; @include border-radius(30px); } &.previous, &.next, &.first, &.last { .page-link { padding: 0 15px; } } &.disabled { .page-link { color: #6c757d; background-color: #f4f4f4; cursor: not-allowed; } } } } } } } .card-table { .card-item { border-top: 1px solid #ededed; } } } .table { thead { background-color: #f6f8fb; th { font-weight: 600; color: #879099; font-size: 14px; } } tbody { td { vertical-align: middle; .table-user-thumb { width: 30px; height: 30px; border-radius: 50%; } .table-actions { text-align: right; a { color: #bcc1c6; display: inline-block; margin-left: 8px; font-size: 16px; } } } } }scss/_settings.scss000064400000024455151676723140010441 0ustar00 html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } strong { font-weight: bold; } dfn { font-style: italic; } h1 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], /* 1 */ input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-appearance: textfield; /* 1 */ box-sizing: content-box; /* 2 */ } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; /* 1 */ padding: 0; /* 2 */ } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } *, body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; } ::-moz-selection { background: #b3d4fc; text-shadow: none; } ::selection { background: #b3d4fc; text-shadow: none; } hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } audio, canvas, iframe, img, svg, video { vertical-align: middle; } fieldset { border: 0; margin: 0; padding: 0; } textarea { resize: vertical; } .browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; } * { outline: none !important; } a { color: #212121; @include transition(color .2s); &:hover, &:focus, &:active { outline: 0; text-decoration: none; color: #212121; } } $empty: transparent; $default: #d6d6d6; $primary: #007bff; $success: #2dce89; $info: #11cdef; $warning: #fb6340; $danger: #f5365c; $muted: #6c757d; $inverse: #4c5667; $purple: #BF55EC; $pink: #f76397; $white: #ffffff; $dark: #212121; $grey: #9aa0ac; $aqua: #3ec5d6; $blue: #19B5FE; $light-blue: #89CFF0; $teal: #008081; $yellow: #F7CA18; $orange: #FF8000; $green: #26C281; $lime: #cad900; $red: #F22613; $fuchsia: #df2de3; $navy: #000080; $theme: #ef4153; $facebook: #3b579d; $twitter: #1da1f2; $dribbble: #ea4c89; $linkedin: #0177b4; $google: #dc4a38; $instagram: #fb3958; $behance: #053eff; $element-color: 'primary' $primary, 'warning' $warning, 'danger' $danger, 'success' $success, 'inverse' $inverse, 'info' $info; $i: 0; @while $i<=50 { .p { &#{$i} { padding: #{$i}px !important; } &t-#{$i} { padding-top: #{$i}px !important; } &b-#{$i} { padding-bottom: #{$i}px !important; } &l-#{$i} { padding-left: #{$i}px !important; } &r-#{$i} { padding-right: #{$i}px !important; } } .m { &#{$i} { margin: #{$i}px !important; } &t-#{$i} { margin-top: #{$i}px !important; } &b-#{$i} { margin-bottom: #{$i}px !important; } &l-#{$i} { margin-left: #{$i}px !important; } &r-#{$i} { margin-right: #{$i}px !important; } } $i: $i+5; } $i: 10; @while $i<=80 { .f-#{$i} { font-size: #{$i}px; } $i: $i+2; } $i: 100; @while $i<=900 { .fw-#{$i} { font-weight: #{$i}; } $i: $i+100; } $i: 20; @while $i<=100 { .img-#{$i} { width: #{$i}px; } $i: $i+10; } @each $value in $element-color { .b-t-#{nth($value, 1)} { border-top: 1px solid #{nth($value, 2)}; } .b-b-#{nth($value, 1)} { border-bottom: 1px solid #{nth($value, 2)}; } .b-l-#{nth($value, 1)} { border-left: 1px solid #{nth($value, 2)}; } .b-r-#{nth($value, 1)} { border-right: 1px solid #{nth($value, 2)}; } .b-#{nth($value, 1)} { border: 1px solid #{nth($value, 2)}; } } .bg-default { background-color: $default !important; } .bg-theme { background-color: $theme !important; } .bg-aqua { background-color: $aqua !important; } .bg-blue { background-color: $blue !important; } .bg-light-blue { background-color: $light-blue !important; } .bg-teal { background-color: $teal !important; } .bg-yellow { background-color: $yellow !important; } .bg-orange { background-color: $orange !important; } .bg-green { background-color: $green !important; } .bg-lime { background-color: $lime !important; } .bg-red { background-color: $red !important; } .bg-fuchsia { background-color: $fuchsia !important; } .bg-navy { background-color: $navy !important; } .bg-empty { background: $empty !important; } .bg-primary { background-color: $primary !important; } .bg-success { background-color: $success !important; } .bg-info { background-color: $info !important; } .bg-warning { background-color: $warning !important; } .bg-danger { background-color: $danger !important; } .bg-muted { background-color: $muted !important; } .bg-inverse { background-color: $inverse !important; } .bg-purple { background-color: $purple !important; } .bg-pink { background-color: $pink !important; } .bg-white { background-color: $white !important; } .bg-facebook { background-color: $facebook !important; } .bg-twitter { background-color: $twitter !important; } .bg-google { background-color: $google !important; } .bg-linkedin { background-color: $linkedin !important; } .text-default { color: $default !important; } .text-blue { color: $blue !important; } .text-light-blue { color: $light-blue !important; } .text-teal { color: $teal !important; } .text-navy { color: $navy !important; } .text-lime { color: $lime !important; } .text-orange { color: $orange !important; } .text-yellow { color: $yellow !important; } .text-aqua { color: $aqua !important; } .text-white { color: $white !important; } .text-danger { color: $danger !important; } .text-green { color: $green !important; } .text-primary { color: $primary !important; } .text-warning { color: $warning !important; } .text-success { color: $success !important; } .text-info { color: $info !important; } .text-inverse { color: $inverse !important; } .text-pink { color: $pink !important; } .text-purple { color: $purple !important; } .text-dark { color: $dark !important; } .text-fuchsia { color: $fuchsia !important; } .text-red { color: $red !important; } .text-facebook { color: $facebook !important; } .text-twitter { color: $twitter !important; } .text-instagram { color: $instagram !important; } .text-google { color: $google !important; } .text-linkedin { color: $linkedin !important; } .text-behance { color: $behance !important; } .text-dribbble { color: $dribbble !important; } .text-red { color: $red !important; } .min-width-zero { min-width: 0; } .w-10 { width: 10%!important } .w-90 { width: 90%!important } .w-12 { width: 12%!important } .w-88 { width: 88%!important } .w-15 { width: 15%!important } .w-85 { width: 85%!important } .w-20 { width: 20%!important } .w-80 { width: 80%!important } .w-30 { width: 30%!important } .w-70 { width: 70%!important } .w-40 { width: 40%!important } .w-60 { width: 60%!important } .hidden { display: none !important; } .d-inline-block { display: inline-block !important; } .d-block { display: block !important; } .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } .invisible { visibility: hidden; } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } @include mq('tablet-wide', 'max') { .w-sm-100 { width: 100%!important; } } @include mq('tablet', 'max') { .w-xs-100 { width: 100%!important; } }scss/_cards.scss000064400000007117151676723140007671 0ustar00.card { border-color: #ffff; position: relative; width: 100%; border: none; margin-bottom: 30px; @include box-shadow(0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06)); @include transition(all 0.5s ease-in-out); @include border-radius(4px); .card-header { padding: 20px 20px; border: 0; background: none; @include flexbox(); @include align-items(center); &:first-child { border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; } h3 { margin: 0; font-size: 18px; font-weight: normal; color: #212121; } .card-options { a:not(.dropdown-item) { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 33px; color: #212121; display: inline-block; @include transition(all 0.5s ease-in-out); } span { color: #444; font-size: 12px; } } .card-search { position: relative; .form-control { padding-right: 60px; font-size: 14px; max-height: 30px; min-height: 30px; &~ .btn { position: absolute; right: 0; top: 0; padding: 0; width: 30px; height: 30px; line-height: 30px; border-radius: 4px; background-color: #eceff1; border: none; @include box-shadow(none); } } &.with-adv-search { .adv-btn { background-color: transparent; border: 0; position: absolute; right: 30px; top: 0; width: 30px; height: 30px; line-height: 30px; padding: 0; @include box-shadow(none); } .adv-search-wrap { padding: 20px; display: none; position: absolute; left: 30px !important; width: 100%; top: 30px; background-color: $white; z-index: 4; @include box-shadow(0 2px 30px rgba(0,0,0,.08)); @include border-radius(6px); .form-control { padding-right: 15px; } .btn { padding: 0 15px; font-size: 14px; height: 30px; @include border-radius(30px); } &.show { display: block; } } } } &.note-toolbar { padding: 0 0 5px 5px; } .dropdown { .checkbox-dropdown { padding: 0px; width: 16px; height: 16px; background-color: #dee2e6; border-radius: .25rem; margin-right: 15px; } } } .card-body { padding: 20px 20px; flex: 1 1 auto; position: relative; } .card-img { height: 100%; object-fit: cover; max-height: 200px; width: unset; @include border-radius(4px); } .card-img-overlay { background: rgba(0,0,0,.5); padding: 1.75rem; border-radius: 4px; } &.icon-card { .card-body { i { font-size: 46px; line-height: 66px; color: $dark; } .card-text { color: #8f8f8f; height: 30px; line-height: 26px; } .lead { color: $dark; margin-bottom: 0; } } } .nav-pills { &.custom-pills { border-bottom: 1px solid #f1f1f1; .nav-link { border-radius: 0; opacity: .7; font-size: 14px; padding: 12px 15px; &.active { color: #ef4153; opacity: 1; background-color: transparent; border-bottom: 2px solid #ef4153; } } } } }js/vendor/jquery-3.3.1.slim.min.js000064400000210437151676723140012542 0ustar00/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,u=n.push,s=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,d=f.toString,p=d.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},v=function e(t){return null!=t&&t===t.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var x="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(e,t){return new w.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:x,constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,u,s,l,c,f,d,p,h,g,v,y,m,b,x="sizzle"+1*new Date,w=e.document,C=0,T=0,E=ae(),N=ae(),k=ae(),A=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,S=[],L=S.pop,j=S.push,q=S.push,O=S.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+I+")"+I+"*"),_=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),U=new RegExp(M),V=new RegExp("^"+R+"$"),X={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){d()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{q.apply(S=O.call(w.childNodes),w.childNodes),S[w.childNodes.length].nodeType}catch(e){q={apply:S.length?function(e,t){j.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,u,l,c,f,h,y,m=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(f=K.exec(e)))if(o=f[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&b(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+" "]&&(!v||!v.test(e))){if(1!==C)m=t,y=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=x),u=(h=a(e)).length;while(u--)h[u]="#"+c+" "+ye(h[u]);y=h.join(","),m=J.test(e)&&ge(t.parentNode)||t}if(y)try{return q.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===x&&t.removeAttribute("id")}}}return s(e.replace($,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function ue(e){return e[x]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return ue(function(t){return t=+t,ue(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(p=a,h=p.documentElement,g=!o(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=G.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+I+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+x+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]")}),se(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=G.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",M)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=G.test(h.compareDocumentPosition),b=t||G.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)u.unshift(n);while(a[r]===u[r])r++;return r?ce(a[r],u[r]):a[r]===w?-1:u[r]===w?1:0},p):p},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(_,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,p,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ue,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),u="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,s){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=u&&t.nodeName.toLowerCase(),m=!s&&!u,b=!1;if(v){if(o){while(g){d=t;while(d=d[g])if(u?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){b=(p=(l=(c=(f=(d=v)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1])&&l[2],d=p&&v.childNodes[p];while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if(1===d.nodeType&&++b&&d===t){c[e]=[C,p,b];break}}else if(m&&(b=p=(l=(c=(f=(d=t)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1]),!1===b)while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if((u?d.nodeName.toLowerCase()===y:1===d.nodeType)&&++b&&(m&&((c=(f=d[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[C,b]),d===t))break;return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[x]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ue(function(e){var t=[],n=[],r=u(e.replace($,"$1"));return r[x]?ue(function(e,t,n,i){var o,a=r(e,null,i,[]),u=e.length;while(u--)(o=a[u])&&(e[u]=!(t[u]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return oe(e,t).length>0}}),contains:ue(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ue(function(e){return V.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xe(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else y=we(y===a?y.splice(h,y.length):y),i?i(null,a,y,s):q.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],u=a||r.relative[" "],s=a?1:0,c=me(function(e){return e===t},u,!0),f=me(function(e){return P(t,e)>-1},u,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];s1&&be(d),s>1&&ye(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),n,s0,i=e.length>0,o=function(o,a,u,s,c){var f,h,v,y=0,m="0",b=o&&[],x=[],w=l,T=o||i&&r.find.TAG("*",c),E=C+=null==w?1:Math.random()||.1,N=T.length;for(c&&(l=a===p||a||c);m!==N&&null!=(f=T[m]);m++){if(i&&f){h=0,a||f.ownerDocument===p||(d(f),u=!g);while(v=e[h++])if(v(f,a||p,u)){s.push(f);break}c&&(C=E)}n&&((f=!v&&f)&&y--,o&&b.push(f))}if(y+=m,n&&m!==y){h=0;while(v=t[h++])v(b,x,a,u);if(o){if(y>0)while(m--)b[m]||x[m]||(x[m]=L.call(s));x=we(x)}q.apply(s,x),c&&!o&&x.length>0&&y+t.length>1&&oe.uniqueSort(s)}return c&&(C=E,l=w),b};return n?ue(o):o}return u=oe.compile=function(e,t){var n,r=[],i=[],o=k[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Te(t[n]))[x]?r.push(o):i.push(o);(o=k(e,Ee(i,r))).selector=e}return o},s=oe.select=function(e,t,n,i){var o,s,l,c,f,d="function"==typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&"ID"===(l=s[0]).type&&9===t.nodeType&&g&&r.relative[s[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}o=X.needsContext.test(e)?0:s.length;while(o--){if(l=s[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),J.test(s[0].type)&&ge(t.parentNode)||t))){if(s.splice(o,1),!(e=i.length&&ye(s)))return q.apply(n,i),n;break}}}return(d||u(e,p))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=x.split("").sort(A).join("")===x,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||le(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},A=w.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&A.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),S.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,j=w(r);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,"iframe")?e.contentDocument:(D(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(P[e]||w.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(I)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],u=-1,s=function(){for(i=i||e.once,r=t=!0;a.length;u=-1){n=a.shift();while(++u-1)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||s()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function B(e){return e}function M(e){throw e}function W(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var u=this,s=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(u=void 0,s=[e]),n.rejectWith(u,s))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:B,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:B)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],u=t[5];i[t[1]]=a.add,u&&a.add(function(){r=u},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),u=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(W(e,a.done(u(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)W(i[n],u(n),a.reject);return a.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&$.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function z(){r.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var _=function(e,t,n,r,i,o,a){var u=0,s=e.length,l=null==n;if("object"===b(n)){i=!0;for(u in n)_(e,t,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;u1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:w.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?w.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var xe=r.documentElement,we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function ke(){try{return r.activeElement}catch(e){}}function Ae(e,t,n,r,i,o){var a,u;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(u in t)Ae(e,u,n,r,t[u],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.get(e);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(xe,i),n.guid||(n.guid=w.guid++),(s=v.events)||(s=v.events={}),(a=v.handle)||(a=v.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(I)||[""]).length;while(l--)p=g=(u=Te.exec(t[l])||[])[1],h=(u[2]||"").split(".").sort(),p&&(f=w.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=w.event.special[p]||{},c=w.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=s[p])||((d=s[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),w.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.hasData(e)&&K.get(e);if(v&&(s=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(u=Te.exec(t[l])||[],p=g=u[1],h=(u[2]||"").split(".").sort(),p){f=w.event.special[p]||{},d=s[p=(r?f.delegateType:f.bindType)||p]||[],u=u[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,p,v.handle),delete s[p])}else for(p in s)w.event.remove(e,p+t[l],n,r,!0);w.isEmptyObject(s)&&K.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,u,s=new Array(arguments.length),l=(K.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(s[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&u.push({elem:l,handlers:o})}return l=this,s\x20\t\r\n\f]*)[^>]*)\/>/gi,Se=/\s*$/g;function qe(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function He(e,t){var n,r,i,o,a,u,s,l;if(1===t.nodeType){if(K.hasData(e)&&(o=K.access(e),a=K.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof v&&!h.checkClone&&Le.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)});if(d&&(i=be(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(u=w.map(ve(i,"script"),Oe)).length;f")},clone:function(e,t,n){var r,i,o,a,u=e.cloneNode(!0),s=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ve(u),r=0,i=(o=ve(e)).length;r0&&ye(a,!s&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return _(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!ge[(pe.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(s+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-s-u-.5))),s}function et(e,t,n){var r=We(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(Me.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,u=Q(t),s=Ue.test(t),l=e.style;if(s||(t=Ke(u)),a=w.cssHooks[t]||w.cssHooks[u],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[u]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(s?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,u=Q(t);return Ue.test(t)||(t=Ke(u)),(a=w.cssHooks[t]||w.cssHooks[u])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Xe&&(i=Xe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!_e.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ue(e,Ve,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),a="border-box"===w.css(e,"boxSizing",!1,o),u=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),u&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Je(e,n,u)}}}),w.cssHooks.marginLeft=ze(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Je)}),w.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var tt,nt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return _(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=nt[t]||w.find.attr;nt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=nt[a],nt[a]=i,i=null!=n(e,t,r)?a:null,nt[a]=o),i}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return _(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function ot(e){return(e.match(I)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function ut(e){return Array.isArray(e)?e:"string"==typeof e?e.match(I)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,at(this)))});if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},removeClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,at(this)))});if(!arguments.length)return this.attr("class","");if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,at(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=ut(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=at(this))&&K.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":K.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+ot(at(n))+" ").indexOf(t)>-1)return!0;return!1}});var st=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(st,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ot(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,u=a?null:[],s=a?o+1:i.length;for(r=o<0?s:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,u,s,l,c,d,p,h,y=[i||r],m=f.call(t,"type")?t.type:t,b=f.call(t,"namespace")?t.namespace.split("."):[];if(u=h=s=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!lt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(b=m.split(".")).shift(),b.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},o||!p.trigger||!1!==p.trigger.apply(i,n))){if(!o&&!p.noBubble&&!v(i)){for(l=p.delegateType||m,lt.test(l+m)||(u=u.parentNode);u;u=u.parentNode)y.push(u),s=u;s===(i.ownerDocument||r)&&y.push(s.defaultView||s.parentWindow||e)}a=0;while((u=y[a++])&&!t.isPropagationStopped())h=u,t.type=a>1?l:p.bindType||m,(d=(K.get(u,"events")||{})[t.type]&&K.get(u,"handle"))&&d.apply(u,n),(d=c&&u[c])&&d.apply&&Y(u)&&(t.result=d.apply(u,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!Y(i)||c&&g(i[m])&&!v(i)&&((s=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,ct),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,ct),w.event.triggered=void 0,s&&(i[c]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}});var ft=/\[\]$/,dt=/\r?\n/g,pt=/^(?:submit|button|image|reset|file)$/i,ht=/^(?:input|select|textarea|keygen)/i;function gt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||ft.test(e)?r(e,i):gt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==b(t))r(e,t);else for(i in t)gt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)gt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&ht.test(this.nodeName)&&!pt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(dt,"\r\n")}}):{name:t.name,value:n.replace(dt,"\r\n")}}).get()}}),w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="
",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=S.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=be([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.offset={setOffset:function(e,t,n){var r,i,o,a,u,s,l,c=w.css(e,"position"),f=w(e),d={};"static"===c&&(e.style.position="relative"),u=f.offset(),o=w.css(e,"top"),s=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+s).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),g(t)&&(t=t.call(e,n,w.extend({},u))),null!=t.top&&(d.top=t.top-u.top+a),null!=t.left&&(d.left=t.left-u.left+i),"using"in t?t.using.call(e,d):f.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||xe})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return _(this,function(e,r,i){var o;if(v(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=ze(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),Me.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),u=n||(!0===i||!0===o?"margin":"border");return _(this,function(t,n,i){var o;return v(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,u):w.style(t,n,i,u)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=D,w.isFunction=g,w.isWindow=v,w.camelCase=Q,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var vt=e.jQuery,yt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=yt),t&&e.jQuery===w&&(e.jQuery=vt),w},t||(e.jQuery=e.$=w),w}); js/vendor/jquery-jvectormap-2.0.5.css000064400000014753151676723140013344 0ustar00svg { touch-action: none; } .jvectormap-container { width: 100%; height: 100%; position: relative; overflow: hidden; touch-action: none; } .jvectormap-tip { position: absolute; display: none; border: solid 1px #CDCDCD; border-radius: 3px; background: #292929; color: white; font-family: sans-serif, Verdana; font-size: smaller; padding: 3px; } .jvectormap-zoomin, .jvectormap-zoomout, .jvectormap-goback { position: absolute; left: 10px; border-radius: 3px; background: #292929; padding: 3px; color: white; cursor: pointer; line-height: 10px; text-align: center; box-sizing: content-box; } .jvectormap-zoomin, .jvectormap-zoomout { width: 10px; height: 10px; } .jvectormap-zoomin { top: 10px; } .jvectormap-zoomout { top: 30px; } .jvectormap-goback { bottom: 10px; z-index: 1000; padding: 6px; } .jvectormap-spinner { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: center no-repeat url(data:image/gif;base64,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); } .jvectormap-legend-title { font-weight: bold; font-size: 14px; text-align: center; } .jvectormap-legend-cnt { position: absolute; } .jvectormap-legend-cnt-h { bottom: 0; right: 0; } .jvectormap-legend-cnt-v { top: 0; right: 0; } .jvectormap-legend { background: black; color: white; border-radius: 3px; } .jvectormap-legend-cnt-h .jvectormap-legend { float: left; margin: 0 10px 10px 0; padding: 3px 3px 1px 3px; } .jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick { float: left; } .jvectormap-legend-cnt-v .jvectormap-legend { margin: 10px 10px 0 0; padding: 3px; } .jvectormap-legend-cnt-h .jvectormap-legend-tick { width: 40px; } .jvectormap-legend-cnt-h .jvectormap-legend-tick-sample { height: 15px; } .jvectormap-legend-cnt-v .jvectormap-legend-tick-sample { height: 20px; width: 20px; display: inline-block; vertical-align: middle; } .jvectormap-legend-tick-text { font-size: 12px; } .jvectormap-legend-cnt-h .jvectormap-legend-tick-text { text-align: center; } .jvectormap-legend-cnt-v .jvectormap-legend-tick-text { display: inline-block; vertical-align: middle; line-height: 20px; padding-left: 3px; }js/vendor/modernizr-2.8.3.min.js000064400000036236151676723140012302 0ustar00/* Modernizr 2.8.3 (Custom Build) | MIT & BSD * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load */ ;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;fmax&&(max=values[i]);else for(i in values)values[i]>max&&(max=values[i]);return max},keys:function(object){var key,keys=[];for(key in object)keys.push(key);return keys},values:function(object){var key,i,values=[];for(i=0;i");return img.on("error",function(){deferred.reject()}).on("load",function(){deferred.resolve(img)}),img.attr("src",url),deferred},isImageUrl:function(s){return/\.\w{3,4}$/.test(s)}};jvm.$=jQuery,Array.prototype.indexOf||(Array.prototype.indexOf=function(searchElement,fromIndex){var k;if(null==this)throw new TypeError('"this" is null or not defined');var O=Object(this),len=O.length>>>0;if(0==len)return-1;var n=+fromIndex||0;if(Math.abs(n)===1/0&&(n=0),len<=n)return-1;for(k=Math.max(0<=n?n:len-Math.abs(n),0);k')}}catch(e){jvm.VMLElement.prototype.createElement=function(tagName){return document.createElement("<"+tagName+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(ctr){return jvm["VML"+ctr]},jvm.VMLElement.prototype.addClass=function(className){jvm.$(this.node).addClass(className)},jvm.VMLElement.prototype.applyAttr=function(attr,value){this.node[attr]=value},jvm.VMLElement.prototype.getBBox=function(){var node=jvm.$(this.node);return{x:node.position().left/this.canvas.scale,y:node.position().top/this.canvas.scale,width:node.width()/this.canvas.scale,height:node.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,"group"),this.node.style.left="0px",this.node.style.top="0px",this.node.coordorigin="0 0"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(element){this.node.appendChild(element.node)},jvm.VMLCanvasElement=function(container,width,height){this.classPrefix="VML",jvm.VMLCanvasElement.parentClass.call(this,"group"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position="absolute"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(width,height){var paths,groups,i,l;if(this.width=width,this.height=height,this.node.style.width=width+"px",this.node.style.height=height+"px",this.node.coordsize=width+" "+height,this.node.coordorigin="0 0",this.rootElement){for(i=0,l=(paths=this.rootElement.node.getElementsByTagName("shape")).length;i"),this.body.addClass("jvectormap-legend"),this.params.cssClass&&this.body.addClass(this.params.cssClass),params.vertical?this.map.legendCntVertical.append(this.body):this.map.legendCntHorizontal.append(this.body),this.render()},jvm.Legend.prototype.render=function(){var i,tick,sample,label,ticks=this.series.scale.getTicks(),inner=jvm.$("
").addClass("jvectormap-legend-inner");for(this.body.html(""),this.params.title&&this.body.append(jvm.$("
").addClass("jvectormap-legend-title").html(this.params.title)),this.body.append(inner),i=0;i").addClass("jvectormap-legend-tick"),sample=jvm.$("
").addClass("jvectormap-legend-tick-sample"),this.series.params.attribute){case"fill":jvm.isImageUrl(ticks[i].value)?sample.css("background","url("+ticks[i].value+")"):sample.css("background",ticks[i].value);break;case"stroke":sample.css("background",ticks[i].value);break;case"image":sample.css("background","url("+("object"==typeof ticks[i].value?ticks[i].value.url:ticks[i].value)+") no-repeat center center");break;case"r":jvm.$("
").css({"border-radius":ticks[i].value,border:this.map.params.markerStyle.initial["stroke-width"]+"px "+this.map.params.markerStyle.initial.stroke+" solid",width:2*ticks[i].value+"px",height:2*ticks[i].value+"px",background:this.map.params.markerStyle.initial.fill}).appendTo(sample)}tick.append(sample),label=ticks[i].label,this.params.labelRender&&(label=this.params.labelRender(label)),tick.append(jvm.$("
"+label+"
").addClass("jvectormap-legend-tick-text")),inner.append(tick)}inner.append(jvm.$("
").css("clear","both"))},jvm.DataSeries=function(params,elements,map){var scaleConstructor;(params=params||{}).attribute=params.attribute||"fill",this.elements=elements,this.params=params,this.map=map,params.attributes&&this.setAttributes(params.attributes),jvm.$.isArray(params.scale)?(scaleConstructor="fill"===params.attribute||"stroke"===params.attribute?jvm.ColorScale:jvm.NumericScale,this.scale=new scaleConstructor(params.scale,params.normalizeFunction,params.min,params.max)):params.scale?this.scale=new jvm.OrdinalScale(params.scale):this.scale=new jvm.SimpleScale(params.scale),this.values=params.values||{},this.setValues(this.values),this.params.legend&&(this.legend=new jvm.Legend(jvm.$.extend({map:this.map,series:this},this.params.legend)))},jvm.DataSeries.prototype={setAttributes:function(key,attr){var code,attrs=key;if("string"==typeof key)this.elements[key]&&this.elements[key].setStyle(this.params.attribute,attr);else for(code in attrs)this.elements[code]&&this.elements[code].element.setStyle(this.params.attribute,attrs[code])},setValues:function(values){var val,cc,max=-Number.MAX_VALUE,min=Number.MAX_VALUE,attrs={};if(this.scale instanceof jvm.OrdinalScale||this.scale instanceof jvm.SimpleScale)for(cc in values)values[cc]?attrs[cc]=this.scale.getValue(values[cc]):attrs[cc]=this.elements[cc].element.style.initial[this.params.attribute];else{if(void 0===this.params.min||void 0===this.params.max)for(cc in values)max<(val=parseFloat(values[cc]))&&(max=val),val").addClass("jvectormap-container"),this.params.container&&this.params.container.append(this.container),this.container.data("mapObject",this),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){map.updateSize()},jvm.$(window).resize(this.onResize),jvm.Map.apiEvents)this.params[e]&&this.container.bind(jvm.Map.apiEvents[e]+".jvectormap",this.params[e]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),this.params.bindTouchEvents&&("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.bindContainerTouchEvents():window.MSGesture&&this.bindContainerPointerEvents()),this.bindContainerEvents(),this.bindElementEvents(),this.createTip(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.updateSize(),this.params.focusOn&&("string"==typeof this.params.focusOn?this.params.focusOn={region:this.params.focusOn}:jvm.$.isArray(this.params.focusOn)&&(this.params.focusOn={regions:this.params.focusOn}),this.setFocus(this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.legendCntHorizontal=jvm.$("
").addClass("jvectormap-legend-cnt jvectormap-legend-cnt-h"),this.legendCntVertical=jvm.$("
").addClass("jvectormap-legend-cnt jvectormap-legend-cnt-v"),this.container.append(this.legendCntHorizontal),this.container.append(this.legendCntVertical),this.params.series&&this.createSeries()},jvm.Map.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(backgroundColor){this.container.css("background-color",backgroundColor)},resize:function(){var curBaseScale=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/curBaseScale,this.transX*=this.baseScale/curBaseScale,this.transY*=this.baseScale/curBaseScale},updateSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var key,i;for(key in this.series)for(i=0;imaxTransY?this.transY=maxTransY:this.transYmaxTransX?this.transX=maxTransX:this.transXtouches[1].pageX?touches[1].pageX+(touches[0].pageX-touches[1].pageX)/2:touches[0].pageX+(touches[1].pageX-touches[0].pageX)/2,centerTouchY=touches[0].pageY>touches[1].pageY?touches[1].pageY+(touches[0].pageY-touches[1].pageY)/2:touches[0].pageY+(touches[1].pageY-touches[0].pageY)/2,centerTouchX-=offset.left,centerTouchY-=offset.top,touchStartScale=map.scale,touchStartDistance=Math.sqrt(Math.pow(touches[0].pageX-touches[1].pageX,2)+Math.pow(touches[0].pageY-touches[1].pageY,2)))),lastTouchesLength=touches.length}var touchStartScale,touchStartDistance,touchX,touchY,centerTouchX,centerTouchY,lastTouchesLength,map=this;jvm.$(this.container).bind("touchstart",handleTouchEvent),jvm.$(this.container).bind("touchmove",handleTouchEvent)},bindContainerPointerEvents:function(){var map=this,gesture=new MSGesture,element=this.container[0];(gesture.target=element).addEventListener("MSGestureChange",function(e){var transXOld,transYOld;0==e.translationX&&0==e.translationY||(transXOld=map.transX,transYOld=map.transY,map.transX+=e.translationX/map.scale,map.transY+=e.translationY/map.scale,map.applyTransform(),map.tip.hide(),transXOld==map.transX&&transYOld==map.transY||e.preventDefault()),1!=e.scale&&(map.setScale(map.scale*e.scale,e.offsetX,e.offsetY),map.tip.hide(),e.preventDefault())},!1),element.addEventListener("pointerdown",function(e){gesture.addPointer(e.pointerId)},!1)},bindElementEvents:function(){var pageX,pageY,mouseMoved,map=this;this.container.mousemove(function(e){2").addClass("jvectormap-zoomin").text("+").appendTo(this.container),jvm.$("
").addClass("jvectormap-zoomout").html("−").appendTo(this.container),this.container.find(".jvectormap-zoomin").click(function(){map.setScale(map.scale*map.params.zoomStep,map.width/2,map.height/2,!1,map.params.zoomAnimate)}),this.container.find(".jvectormap-zoomout").click(function(){map.setScale(map.scale/map.params.zoomStep,map.width/2,map.height/2,!1,map.params.zoomAnimate)})},createTip:function(){var map=this;this.tip=jvm.$("
").addClass("jvectormap-tip").appendTo(jvm.$("body")),this.container.mousemove(function(e){var left=e.pageX-15-map.tipWidth,top=e.pageY-15-map.tipHeight;left<5&&(left=e.pageX+15),top<5&&(top=e.pageY+15),map.tip.css({left:left,top:top})})},setScale:function(scale,anchorX,anchorY,isCentered,animate){var interval,scaleStart,scaleDiff,transXStart,transXDiff,transYStart,transYDiff,transX,transY,viewportChangeEvent=jvm.$.Event("zoom.jvectormap"),that=this,i=0,count=Math.abs(Math.round(60*(scale-this.scale)/Math.max(scale,this.scale))),deferred=new jvm.$.Deferred;return scale>this.params.zoomMax*this.baseScale?scale=this.params.zoomMax*this.baseScale:scalebbox[0].x&&nxbbox[0].y&&ny(bbox=insets[i].bbox)[0].x&&xbbox[0].y&&y").addClass("jvectormap-goback").text("Back").appendTo(this.params.container),this.backButton.hide(),this.backButton.click(function(){that.goBack()}),this.spinner=jvm.$("
").addClass("jvectormap-spinner").appendTo(this.params.container),this.spinner.hide()},jvm.MultiMap.prototype={addMap:function(name,config){var cnt=jvm.$("
").css({width:"100%",height:"100%"});return this.params.container.append(cnt),this.maps[name]=new jvm.Map(jvm.$.extend(config,{container:cnt})),this.params.maxLevel>config.multiMapLevel&&this.maps[name].container.on("regionClick.jvectormap",{scope:this},function(e,code){var multimap=e.data.scope,mapName=multimap.params.mapNameByCode(code,multimap);multimap.drillDownPromise&&"pending"===multimap.drillDownPromise.state()||multimap.drillDown(mapName,code)}),this.maps[name]},downloadMap:function(code){var that=this,deferred=jvm.$.Deferred();return this.mapsLoaded[code]?deferred.resolve():jvm.$.get(this.params.mapUrlByCode(code,this)).then(function(){that.mapsLoaded[code]=!0,deferred.resolve()},function(){deferred.reject()}),deferred},drillDown:function(name,code){var currentMap=this.history[this.history.length-1],that=this,focusPromise=currentMap.setFocus({region:code,animate:!0}),downloadPromise=this.downloadMap(code);focusPromise.then(function(){"pending"===downloadPromise.state()&&that.spinner.show()}),downloadPromise.always(function(){that.spinner.hide()}),this.drillDownPromise=jvm.$.when(downloadPromise,focusPromise),this.drillDownPromise.then(function(){currentMap.params.container.hide(),that.maps[name]?that.maps[name].params.container.show():that.addMap(name,{map:name,multiMapLevel:currentMap.params.multiMapLevel+1}),that.history.push(that.maps[name]),that.backButton.show()})},goBack:function(){var currentMap=this.history.pop(),prevMap=this.history[this.history.length-1],that=this;currentMap.setFocus({scale:1,x:.5,y:.5,animate:!0}).then(function(){currentMap.params.container.hide(),prevMap.params.container.show(),prevMap.updateSize(),1===that.history.length&&that.backButton.hide(),prevMap.setFocus({scale:1,x:.5,y:.5,animate:!0})})}},jvm.MultiMap.defaultParams={mapNameByCode:function(code,multiMap){return code.toLowerCase()+"_"+multiMap.defaultProjection+"_en"},mapUrlByCode:function(code,multiMap){return"jquery-jvectormap-data-"+code.toLowerCase()+"-"+multiMap.defaultProjection+"-en.js"}};js/vendor/jquery-3.3.1.min.js000064400000251621151676723140011577 0ustar00/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" icons/dist/font/summernote.ttf000064400000021300151677272030012513 0ustar00 PFFTM>u"OS/2A(]X`cmap0Bcvt Dtgasp"glyfyk\headn!t6hheaG $hmtxvlocartxpmaxp8 nameZDpostKIP ^_< ֧y֧ynkn.k7 @.LfGLf PfEd4.  $$$$0J'Q@6Z< 4D***FxVDv  .@fR|.: Dr   Z  p  .U./<2<2/<2<233'3#wffU3} !5!5!!!V^|KKLK !!5!5!%&=46   xw MLLLL`_} !5!5!!|KKLLK} !5!5!!8||LLKKK !!5!5!%6'.'&47>    wxMLLLL_` | !!5!5!/7L}|LKKKK p 75!%!!!5! /QGGHH$+$4/&"54&+"'&"2?6".4>26 $ 6ggM:exe::exe6 6hhIxe::exe::$+%54&+764/&"2?64/32>".4>2 6hh6 I:exe::exe$ 6gg6 Vxe::exe::$+$4/&"#";2?6".4>2h6 6hL:exe::exeg6 $ 6gIxe::exe::$+$4/&"2?;26=2?6".4>2gg6 $ 6M:exe::exehh6 6Ixe::exe::7#7'#57'537'3AAAA=>>AA@~~@A===d$"&=!"/&4?62!5462J JJ $ JI $$ II $$ I\+32"/&46;#"&4?62[ $$ II $$ IIl JJ $ JJ -+52654ᙤ'32654.#32654.::EDXf%&yW%&& !%6 ?28@%"!&<3F#+ & ȃ .-%)0m32"'.'&6=01cAC / )7Uq&/&6767>'.'.?>'&676&2#".4>;2>&+".54632+"&46372+"3& & p& & ?& & e& & Q3535358 8{{ ~~~~~T8  7{{u+uuvvuu#37;?4?62762"/"/&4?'#"&546;2'5#75#75#EEDDEEDD.  "}}}}}  EE DE EE ED*vvvvuu'2+"&54637#\##[$##-#%#3#52733#52654/3 .*%!\9vL ((Nx8(( ݑU*:T`lx!2#!"&546"&3!26=4.#%!2#!"&546"#"3!2654.#"#6&"2?664/&"64/&"$&"2?6  %RO!$ %l  s (:<% r 8 8 8 86 8 8 8 8  H $  k *   #  6"9K   8 7D 8 7g 8 8S 8 8Q3"3#7267654&'Ӻ  Y Z   //Q9H2#".4>;2>&+".54632+"&46372+"374>;2+"&[e[[[@ `7'577ɉ7S7!3S3675!6PP%)-17>54&#"#&6323#4>#573#%!5!!5!*   $# %. V.0%}|:    (4%UUTTT 7'72,W I+;gVG7)1I!"&5463!24.##!"'"3!265&"&462#&#!"#.6?>7>  #   u **d((    E ,D+( q   ))$$  ^%Z#5367632#>?67654&#"b='8Ib #X$  &&-^^F\&FD* 6* (1SOn!74.">32ON HfZ7) /4K(8d>. _J) --2.8( /37;"/+"&="/&4?62#!"&=4>3!2#3'#3'#38  8{{u*vvuuvv68 8{{   }}}}}-159$"/&4?62546;27627#!"&=463!25##5##5#{{8  7t*v'u'v]{{8 8  }}}}}}#59=A6"/&4?'&4?62762"/#!"&=4>3!2#3'#3'#3 EE EE EE EED*vvuuuu DE EE ED EE.   !}}}}} $0<$&5462# &54632#7&=4632#"'&&54632#''7'7* z̎-- w1!2#!"&546"3!2654&# %%&&>%%%%&i&&&$%&&O%/S%!"=4;&'&54>323273#.#"3232>54'&'3#".#"#53c(+<"', #!4>!#* FC%( ,N. 3@    7&2/" &9! # 7!!!'A$  e1#567>74#"'6323%#532?'&+5373#";#dm 03_}b_uabu _b~o  (0000 nR %/8CNXb%#654'32'&'762?"&463275462&"'&462"&46;#"'&47"&=27#"/61,, m  E.ƍcN?"  v  ,7 "    ?Ncƍ.,  ,e    C,  ,d  e1#567>74#"'632#'#532?'&+5373#"3dm 0u~__~ b^ubbu_b;"  (0000  #'+;'35#75#35#75#35#75#535335335%$$$$(1$j$kkj$kkj$kkllllll^ &%3'3#7#&+;#53265#"#5!#EVVEARQ@&4'" %)#%(BB(BB#$$,+|| )53!532653 ! 32>54&"2654&"&"2654VqFE1    p   Y #  $##>}@      (,#".=45#"32>=4#53!5! +N01O*$ 3$'7@Q~-:6 1:(##.5$'92A##7#SMn>32."!*I7=a3)J5. -5[eIM_E +34* 5)!$# J !5!!5!#55353}}LUUVUUUTTTUUTTTT#\'5%2#!"&=4>3#v   T<`    4&     $ L<    summernotesummernoteRegularRegularFontForge 2.0 : summernote : 13-2-2018FontForge 2.0 : summernote : 13-2-2018summernotesummernoteVersion 001.000 Version 001.000 summernotesummernote7      !""#$%&'()*+,-./0123 align-center align-indent align-justify align-left align-outdent align-rightalignarrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrows-altarrows-harrows-vboldcaret chain-brokencircleclosecode col-after col-before col-removeeraserfontframeitaliclinkmagic menu-check orderedlistpencilpictureredo row-above row-below row-removespecial-charactersquare strikethrough subscript summernote superscripttable text-heighttrash underlineundo unorderedlistvideo֧y֧yicons/dist/font/summernote.eot000064400000021572151677272030012520 0ustar00z#" LP^߲summernoteRegular Version 001.000 summernote PFFTM>u"OS/2A(]X`cmap0Bcvt Dtgasp"glyfyk\headn!t6hheaG $hmtxvlocartxpmaxp8 nameZDpostKIP ^_< ֧y֧ynkn.k7 @.LfGLf PfEd4.  $$$$0J'Q@6Z< 4D***FxVDv  .@fR|.: Dr   Z  p  .U./<2<2/<2<233'3#wffU3} !5!5!!!V^|KKLK !!5!5!%&=46   xw MLLLL`_} !5!5!!|KKLLK} !5!5!!8||LLKKK !!5!5!%6'.'&47>    wxMLLLL_` | !!5!5!/7L}|LKKKK p 75!%!!!5! /QGGHH$+$4/&"54&+"'&"2?6".4>26 $ 6ggM:exe::exe6 6hhIxe::exe::$+%54&+764/&"2?64/32>".4>2 6hh6 I:exe::exe$ 6gg6 Vxe::exe::$+$4/&"#";2?6".4>2h6 6hL:exe::exeg6 $ 6gIxe::exe::$+$4/&"2?;26=2?6".4>2gg6 $ 6M:exe::exehh6 6Ixe::exe::7#7'#57'537'3AAAA=>>AA@~~@A===d$"&=!"/&4?62!5462J JJ $ JI $$ II $$ I\+32"/&46;#"&4?62[ $$ II $$ IIl JJ $ JJ -+52654ᙤ'32654.#32654.::EDXf%&yW%&& !%6 ?28@%"!&<3F#+ & ȃ .-%)0m32"'.'&6=01cAC / )7Uq&/&6767>'.'.?>'&676&2#".4>;2>&+".54632+"&46372+"3& & p& & ?& & e& & Q3535358 8{{ ~~~~~T8  7{{u+uuvvuu#37;?4?62762"/"/&4?'#"&546;2'5#75#75#EEDDEEDD.  "}}}}}  EE DE EE ED*vvvvuu'2+"&54637#\##[$##-#%#3#52733#52654/3 .*%!\9vL ((Nx8(( ݑU*:T`lx!2#!"&546"&3!26=4.#%!2#!"&546"#"3!2654.#"#6&"2?664/&"64/&"$&"2?6  %RO!$ %l  s (:<% r 8 8 8 86 8 8 8 8  H $  k *   #  6"9K   8 7D 8 7g 8 8S 8 8Q3"3#7267654&'Ӻ  Y Z   //Q9H2#".4>;2>&+".54632+"&46372+"374>;2+"&[e[[[@ `7'577ɉ7S7!3S3675!6PP%)-17>54&#"#&6323#4>#573#%!5!!5!*   $# %. V.0%}|:    (4%UUTTT 7'72,W I+;gVG7)1I!"&5463!24.##!"'"3!265&"&462#&#!"#.6?>7>  #   u **d((    E ,D+( q   ))$$  ^%Z#5367632#>?67654&#"b='8Ib #X$  &&-^^F\&FD* 6* (1SOn!74.">32ON HfZ7) /4K(8d>. _J) --2.8( /37;"/+"&="/&4?62#!"&=4>3!2#3'#3'#38  8{{u*vvuuvv68 8{{   }}}}}-159$"/&4?62546;27627#!"&=463!25##5##5#{{8  7t*v'u'v]{{8 8  }}}}}}#59=A6"/&4?'&4?62762"/#!"&=4>3!2#3'#3'#3 EE EE EE EED*vvuuuu DE EE ED EE.   !}}}}} $0<$&5462# &54632#7&=4632#"'&&54632#''7'7* z̎-- w1!2#!"&546"3!2654&# %%&&>%%%%&i&&&$%&&O%/S%!"=4;&'&54>323273#.#"3232>54'&'3#".#"#53c(+<"', #!4>!#* FC%( ,N. 3@    7&2/" &9! # 7!!!'A$  e1#567>74#"'6323%#532?'&+5373#";#dm 03_}b_uabu _b~o  (0000 nR %/8CNXb%#654'32'&'762?"&463275462&"'&462"&46;#"'&47"&=27#"/61,, m  E.ƍcN?"  v  ,7 "    ?Ncƍ.,  ,e    C,  ,d  e1#567>74#"'632#'#532?'&+5373#"3dm 0u~__~ b^ubbu_b;"  (0000  #'+;'35#75#35#75#35#75#535335335%$$$$(1$j$kkj$kkj$kkllllll^ &%3'3#7#&+;#53265#"#5!#EVVEARQ@&4'" %)#%(BB(BB#$$,+|| )53!532653 ! 32>54&"2654&"&"2654VqFE1    p   Y #  $##>}@      (,#".=45#"32>=4#53!5! +N01O*$ 3$'7@Q~-:6 1:(##.5$'92A##7#SMn>32."!*I7=a3)J5. -5[eIM_E +34* 5)!$# J !5!!5!#55353}}LUUVUUUTTTUUTTTT#\'5%2#!"&=4>3#v   T<`    4&     $ L<    summernotesummernoteRegularRegularFontForge 2.0 : summernote : 13-2-2018FontForge 2.0 : summernote : 13-2-2018summernotesummernoteVersion 001.000 Version 001.000 summernotesummernote7      !""#$%&'()*+,-./0123 align-center align-indent align-justify align-left align-outdent align-rightalignarrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrows-altarrows-harrows-vboldcaret chain-brokencircleclosecode col-after col-before col-removeeraserfontframeitaliclinkmagic menu-check orderedlistpencilpictureredo row-above row-below row-removespecial-charactersquare strikethrough subscript summernote superscripttable text-heighttrash underlineundo unorderedlistvideo֧y֧yicons/dist/font/summernote.woff000064400000036514151677272030012674 0ustar00wOFFOTTO=L nCFF 9iY'aFFTM=0>uOS/2LJ`A']cmap6B head06n!thhea$ $Fhmtx<inmaxpD5PnameԜZpost xc`d``$m2p31*a󙲘Ā\4eo xc`d``ϠiLY @PPP5xc`ab`Ø2H20001r2 & ? xj0E;!J,Fv29S 3%-\ٯt)A{% < 'a+<7·pG| OP4U:ԑ/)w S,UZh-<:ھilp#PSLG[3@Q5аLPy~ ;%6cx1̻CmuU?Rn*LǴ2L('Ɇ6,1;Exc```f`F| @G$ P lpm;xc`f$#+x}|U^IzP M EzUrPRG@X8Oi AB{|o2;;;;3{Є4-h܄#ǎ5>YhDAgWAeZ̅&^1uV[1J+%VAO5dž Մ^MVKΉi"ꊦxRt(1Eb(]bY.Ήt%n"MhZhxZ{J^hKZIZۍhi<*x$R ƍ:ecx ;{Ԅeuކ'&4p :qQÒGv>i!kKer'JZ[ֈZmAL۬mѶj۴ϵ%89m5o> +]hǰ*[cjXf4|j6Gz롢V_,po.]~S'zvK}w<~@_%JY?creAӕ^+ -I]Yʙ?i Yx~&ObjwôWhY[3L:]8U׺-i]AY30G%: &&*}@*|^3,u hC$pơku1Uhj$vE fm;":1G˾B?ͩ$Zg Yz~m@gQ~Z'jhDAQH~< /{yų9&^@u)_2-q`  Grfs*PQ Ÿ|58:~*3aYFT^P~[}?ݎD2^7^WP=!MAQW`RRN˴&]]*,1@ڔLN"jGԮ_vL,Z"%:Ԇs#Vq]M'T$:ă5-dNLC ɘ1>̊ 4ŝ2Wh,bM5"*C aWw.|j2MUPUVa'l椥xRjjJVwgWU݈˰MM'&*}y8vr 8Fw)=&9:3fE$iDb1v;+G%@::j~TS[~1s: gE=%jFexcHٝ&7i%#-G=ҒPNZ=Ң¿LVƬ*4ė#-FAZds[nglqKQ➀pUieOHswt5;r,:.rN.ʻy:e{\ߦ )jn 5@ xN:{öogAyN1U靟A;ʖ_ viiRN"8:o%ndsy͍(K$9sQ-?w\Mh-0+ޝ swAoo#(njˋZu?r{GZ`Oogzo[ Mt{zڰuW[1QXU:X;?I V, sNSAbX~魞F^]Z3+/\fc~ci3FΔ})ى7~?zR+DůӂIRkЈ0p1mҗ5Ao RtgfyL `\rab[29]zTr5M+,KɄ%WFDԿ۱M8[έ< -b}9"vm_lH;_^aє,+#"CD4&\X9r˾Md-XԒ%tBY4yYuU]}X[\p+38.tY$M#/ t[@3@ AJЫ%r*8@hߣݐ8ØwA3?C+Xg8ӚW >]FyES/Aѯ7!Duf+vspx[C;pwro &9󼄐WX8ɱ}b;(ۋiu2JɷCQ/VMnw q<ؒ<5tIV]L죯Ip"zJ%/▤/גV&+TCj /?g#iu]zkG(TW@rjfRo y7Q ϫ:ǔdž7:GsD nH8~;TE/drmB^'m7/bZΓ9x'i dDxrLVB,9<{oG:xU8m)Ϻw^f{Wi)z$}:({]Zt  X!ZZ s| ~}B^֍]7ۜp%>/CaߧDDGٓMVSuRd!>ts܌|"/ŞӹxG!cDa3暪!H!C 7#h*)$E jAՐH?HR@ld(&!Y QW7~'ϑD 7ZyڟtG@<'ܬqcN5{\MHlUN5UsUI-ʁn ϼ6)5@ Im*&b =jy<-όyB1CO>hhY7вjOebPK0E9q}| x(h\!`S1D 0b9r+DMh>9$jz![n$ `{S}S{롵O??keD-,iߑX]M0w 蜺yYHK er =F!'|2D8bQ;1wڅUhx6\9mPi5)dXJ_a i[`¶<;~=mxc_y简ҸY:!ܕe* 3%˥gWP0'$:talgzZ4-| ݮ/b'?!uoOE @"K?d7<-M'Նk(+(~S@/m>;I6d{W@q7}.OGRPo0V4;G p H\ϣK @N"zۯh> } z~%MˌÀF2a1zaH܌Gr>u6j |rhhI}6Ϯػ{uޟqf&ߣ˄zđCh3^]7 hT'H19joC0ɋd0|]S1;N 糦>.oA+}<{Z4׳P @oi;Iy P۷F-=2P hv8#aݾh^1/tP 犪ثU:y4H:hC/:={@0ٓ}cyȫ,x@N.! lJRJ_nuFI}Tou-VzYZC[!!lFs޳6-RqCHHRg SKaɢ]:ϧ4]H" &E]{|&sM>H| {k,GH`ׅ2a+9eu6=,&U+$脗.ۋhMkAs/2=M_Q{Cy u?Mv,D7T+Ĩ>uT0i/cta #aK{Ļ?Kϒ r*27Uؼv$Ml![@ƈM&kԩBV+ھ遦_{#ߐ|wG32Gяпmz=VqBꆫztZ+6zn _>;;H 9#QKk: K( M} |y#t tɓ[gVֆ l2먃kHDUµTlS*~ e=NP]ikRtΫcw@K}Ii؇J4's~N`IǨ\AKBKͥ; h LWpInVRBc.mR8djx0݂)ڟm*^tDNJ}:7$=dݘӃpc"%Hܔ IS4TB'|:]UcV%'(ar'LzJ)S-ĝKaK:T [5l21M,wc:zGLLّƫyEcaRtt>Jxs7D|}q3/ i0&~\" nP+`Yn; o@ `'oBY\ʽ$%!42-Zr7 WG0l&+,;UOu5RyaN;ETbʽ^{ so*]"'Pȫ0oJW^<iӌi N[+P\}~yuyӉ'5B%޿yEZ 4п:]h\ T*Tu~jU F}n)gb+Cj?#4yqa Nbm=.0z^Qzwkf2E"].׋K;9VezH%ki,R dS \COMcU óYl2PNI xD'ywǼX$wHσ$6v{Pהsl_*w q~QXd1Ϩqd1Ɓm̒_E _$~нqHnH#7Q$ ђ~@yŇv;Y"~'oh1~w;a_Dx"?E/(#ԥurSE _DHo|"1 u5׵dv_e3dBc=.r>@]J2 q4L*K&"8&1j= =T)p Wؒ§8rQka@͍2r `5ЃKВ\zrzн /QSM̹mGg}E{m9R+UA?+)gg*,-"3NԬoLK1kGm{rLN y969a}; @͵ !q.AAlss2}z CU.땕 f J}# Xe<-"5rH`b^t~E> *v6 aj ŠVSaKg&TdXԌ'z#e Pv:e"G E{5ү+m4Z>YI\e9 r ŁP% {փa.2zPz3^]d0#]ΟG 7.Hpƈ}6t*''"Y=jqH/֪;yG6:EZwחďElT}2I(rCɰ\[+2 )r?\]*[k4U.QO(FOy,M[d0J*wjLefOp  Xbkҷx#N}ε>kfTGSgJ!orcNȬyy(h3[ɖUh wckW@>^s 4zʮyJ(k+~\Ck KZ3W?św^_W%pϟ_PG99[)z JIÑTnDp-FZ?#/ g(m֐t߻Xaa?`?_OSܷN&+ϾѺ8@~OBE/%m&=~d;x^}.`ߍv;/ ZwP8lgO(vD܁Ð|Qg•Ut!R`l58hѣu.8űY4oդ[a}}qއ5WF—Qs oI,TME4cG6I^=n h"S sѣӔGv ۭG)WI۫'܂N_ҹw>9#b{r U'v}I*?ȥw|py.@ I[:Jb*_i-=z},$}4tc{彛rrG,#6aB`^fuC-k?jO\ݛ(Uz E mV)qǻ-/:} vS !W*;(SlJl@mTv^m>FEZs<\:ަ!Pڅx픢rB;Q׮o]"^9O]5G.(w;*ciG%DŘ{Wq6=)}ŀnjye]y ^9JiJdn׮eOP"G77=D%>JLQ!v[Tkk(Qۤ):.P"2fҏPRYd@@"R!M)RCP@jaLHuC0Բra jYp/+eT(  ʐ4X,{qq|W(gg9lrΫP`TJWB{ɍ頳Axj&6'rq؝؜ $/gi%[PΐOųxC:1u©\Nt۫Pð\7)M* #> hGn5\O+1n|.iJQ (4( Bkx{Qi\ޯz#-nujSrn+/%*p 9BlA:"?elp6O7=}* D/xyqn X.ON@"~׳|/6}&Vڀ )VH $ֵ[.s勫Mo iϫ GkGX ~KB;ŐAfomi9?nlyg,LXFxYt̽ɗ> 7W~i/O}5W=f]9 2^6h7HʄЈz ^ /B\@wv^)x֡}T oCȋ؈oy@?x(|{*(Qod*~~oWkBEAE/ CRq@6PM~3i ?9>іF!\^ӂiKIyE4X}1pj>fA,G%0i}E,J5:1nfOWhs]sٮ5T[3Nʧg"#sy5۴\^eʧg_JQ%7z.؝Cx'O%7\7H/c]Y(ؕŗR ~yNR*绅\K2S8#aZTq\+ԋ+\/=z~K]47gDŽf C}I$g>C *MhBO8=B"S+Y ;c(~H -JYb)^D/cO2 #ڇ"?U[_"qVLVlR 9EBmPP݋ޢ#\*<&Q ":yu ; އ}%W81䰋>,ɰtiظK(Q&DxGe}|ɜ2sT@>N2}lIB@k\j⤩onont߉| 1P,/hzsQ/-Xri]aQ UܵRr 1٦Y»qp%凙*Q EsI]&pf?n 4wV(m ϺʿjQIϥčbG悤 "Zs ?;06b*E+N&lCF A8x13.KYY<1eOhMF_e<*c_SȪUF j:$|BڗLɪ2)dʅ|pEeu0E6V~lCZj2 c4O4;w9M ^l>:l7_Q|ܖoVpx1#~EC t50¼ 21L0/ Ե M? 3nm8#M$B[JD~)BfNr'/ / ipᦡ+aΓ9Ji\W󐈣~$8hLF۪rKޢh6zE );a 4 Ӈ~B!הLjI\}kQ˜7? ![ז*xYz=*O=&cЌ=G*p5mK:%ƥ{ f$~~™5uO0t)bA[,e&9|~=IK,L5uP;e[ƫ%2@e=V[E ֑=2f@VvȄyjQO4e;4rsbDHV{.R|S! ?@<90[O%g$ LiH\" jTӬbRD['? &.nQ܅U6udLs+n8~UQ+jö0S1&c8P0b2o3i}AGc(""sSx _o?bDǖ2CZ!Z}{(m|K/4(l+> ά]zlƮKج{q9 FaHF U0O5IRC]6x* TӚyΠ$o:}o1b7ԗMAM r4Ijp/m2lkop^LoE! -)dq>e`;KR|q[lĆۋ|e&e1. bG5~5rZ&[J٩B.t<5 ןØ\(N <43_ZD<PЮKNqIFaK5 8yrkhQ͇5b _Դ3/M&ԅy1!JCSx+?U͂4 [էciWw(AQ2u~b'9[ <~&w7;;CEc/ {9]DUlqpzԌAjW;ufz::Aic˺u㼩Eӝ{E݂26{IFpPxO +yӶ8FU։#緤凲G?7Z_fdO`F&~N `s,R.,kGhu6ZNWDos(cV?/3Fr"ZZV4PRQ:e6}kG#dlk#n8E(ʸFm嘂s,:OByex$Uj$6c85#0R vGX* <о \-=5>=Z$ā;=;2ߠ 6Vt1iF>7ah IwT. KQf3K%o4Ujy@ȫȯ4r AnbJpS/z"QɭTǪ*_,c{w z8b/|'&t0V-)ۮn=51Ztk#c\F弅kXe[>4U$>&*yNi;ŰyӏdCBU|8((+]AsD8|KheE_`=mܾGj={f7GGg d4u6 ֵ)_|Z#dȩlf-2,қ|aHo IX]=D+e7(eBZr|a,cpd9(a*0)2͸lDV nP-+2 cB ULq. qg pmpH50[&"Dh&ڊ^rF.a9GWE:(:) খ?OU o鲉 -$[*|= ?5~"&?Y] M4[t0\XS ).x $$w5_EށhQ/!969J7ŝ2W5%rP'@BYm~%|^"{e2#ZYRy+DQOyDa?n#GS\KO]g <{zٱp$r l"ÆE,deA5?1lW=u+}0v?yէtxt x:`j-^ɐ✺ +%r0(WzϺa +7Rk:80xcb```b```b Ϡ@% B /*3_`/3D?8g`vB$vxc```d|זc icons/col-after.svg000064400000007673151677272030010303 0ustar00 image/svg+xml icons/square.svg000064400000001073151677272030007713 0ustar00 icons/eraser.svg000064400000001520151677272030007671 0ustar00 icons/arrow-circle-up.svg000064400000000720151677272030011424 0ustar00icons/col-before.svg000064400000003522151677272030010431 0ustar00 image/svg+xml icons/align-right.svg000064400000001112151677272030010612 0ustar00 icons/superscript.svg000064400000002425151677272030011000 0ustar00 icons/templates/summernote.json000064400000000126151677272030012757 0ustar00{ "baseClass": "", "classPrefix": "note-icon-", "mixinPrefix": "note-icon-" } icons/templates/summernote.css000064400000006762151677272030012612 0ustar00/* Generated by grunt-webfont */ /* Based on https://github.com/endtwist/fontcustom/blob/master/lib/fontcustom/templates/fontcustom.css */ <% if (fontfaceStyles) { %> <% if (fontSrc1 && embed.length) { %> @font-face { font-family:"<%= fontBaseName %>"; src:<%= fontSrc1 %>; font-weight:normal; font-style:normal; } <% } %>@font-face { font-family:"<%= fontBaseName %>";<% if (fontSrc1) { %> src:<%= fontSrc1 %>;<% }%> src:<%= fontSrc2 %>; font-weight:normal; font-style:normal; } <% } %> <% if (baseStyles) { %> /* Bootstrap Overrides */ [class^="<%= classPrefix %>"]:before, [class*=" <%= classPrefix %>"]:before<% if (ie7) {%>, [class^="<%= classPrefix %>"], [class*=" <%= classPrefix %>"]<% } %><% if (addLigatures) { %>, .ligature-icons<% } %> { display:inline-block; vertical-align:middle; font: normal normal normal 14px <%= fontBaseName %>; font-size: inherit; speak:none; text-decoration:inherit; text-transform:none; text-rendering:auto; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }<% } %> <% if (iconsStyles && stylesheet === 'less') { %> /* Mixins */ <% for (var glyphIdx = 0; glyphIdx < glyphs.length; glyphIdx++) { %> .<%= classPrefix %><%= glyphs[glyphIdx] %><% if(glyphIdx === glyphs.length-1) { %> { <% } else { %>, <% } } %> &:before { font-family:"<%= fontBaseName %>"; display:inline-block; font-weight:normal; font-style:normal; text-decoration:inherit; } }<% } %> <% if (extraStyles) { %> a [class^="<%= classPrefix %>"], a [class*=" <%= classPrefix %>"] { display:inline-block; text-decoration:inherit; } /* Makes the font 33% larger relative to the icon container */ .<%= classPrefix %>large:before { vertical-align:top; font-size:1.333em; } /* Keeps button heights with and without icons the same */ .btn [class^="<%= classPrefix %>"], .btn [class*=" <%= classPrefix %>"] { line-height:0.9em; } li [class^="<%= classPrefix %>"], li [class*=" <%= classPrefix %>"] { display:inline-block; width:1.25em; text-align:center; } /* 1.5 increased font size for <%= classPrefix %>large * 1.25 width */ li .<%= classPrefix %>large[class^="<%= classPrefix %>"], li .<%= classPrefix %>large[class*=" <%= classPrefix %>"] { width:1.875em; } li[class^="<%= classPrefix %>"], li[class*=" <%= classPrefix %>"] { margin-left:0; list-style-type:none; } li[class^="<%= classPrefix %>"]:before, li[class*=" <%= classPrefix %>"]:before { text-indent:-2em; text-align:center; } li[class^="<%= classPrefix %>"].<%= classPrefix %>large:before, li[class*=" <%= classPrefix %>"].<%= classPrefix %>large:before { text-indent:-1.333em; } <% } %> <% if (iconsStyles) { %>/* Icons */<% for (var glyphIdx = 0; glyphIdx < glyphs.length; glyphIdx++) { %> <% if (stylesheet === 'less') { %> .<%= classPrefix %><%= glyphs[glyphIdx] %> { &:before { content:"<% if (addLigatures) { %><%= glyphs[glyphIdx] %><% } else { %>\<%= codepoints[glyphIdx] %><% } %>"; } <% if (ie7) {%> *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#x<%= codepoints[glyphIdx] %>;'); <% } %> }<% } else { %> <% if (ie7) {%>.<%= classPrefix %><%= glyphs[glyphIdx] %> { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#x<%= codepoints[glyphIdx] %>;'); } <% } %> .<%= classPrefix %><%= glyphs[glyphIdx] %>:before { content:"<% if (addLigatures) { %><%= glyphs[glyphIdx] %><% } else { %>\<%= codepoints[glyphIdx] %><% } %>"; }<% } %> <% } } %> icons/caret.svg000064400000001375151677272030007516 0ustar00 icons/orderedlist.svg000064400000002126151677272030010733 0ustar00 icons/underline.svg000064400000003232151677272030010377 0ustar00 icons/frame.svg000064400000003044151677272030007505 0ustar00 icons/row-remove.svg000064400000003537151677272030010524 0ustar00 image/svg+xml icons/unorderedlist.svg000064400000001507151677272030011300 0ustar00 icons/align.svg000064400000001210151677272030007476 0ustar00 js/base/editing/Typing.js000064400000005140151677272030011337 0ustar00import $ from 'jquery'; import dom from '../core/dom'; import range from '../core/range'; import Bullet from '../editing/Bullet'; /** * @class editing.Typing * * Typing * */ export default class Typing { constructor() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ insertTab(rng, tabsize) { const tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); } /** * insert paragraph */ insertParagraph(editable) { let rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph const splitRoot = dom.ancestor(rng.sc, dom.isPara); let nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); let emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $.each(emptyAnchors, (idx, anchor) => { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { const next = rng.sc.childNodes[rng.so]; nextPara = $(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); } } js/base/editing/Table.js000064400000046120151677272030011117 0ustar00import $ from 'jquery'; import dom from '../core/dom'; import range from '../core/range'; import lists from '../core/lists'; /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ const TableResultAction = function(startPoint, where, action, domTable) { const _startPoint = { 'colPos': 0, 'rowPos': 0 }; const _virtualTable = []; const _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { const objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } let newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { const cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); const cellHasColspan = (cell.colSpan > 1); const cellHasRowspan = (cell.rowSpan > 1); const isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. const rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (let rp = 1; rp < rowspanNumber; rp++) { const rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. const colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (let cp = 1; cp < colspanNumber; cp++) { const cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { const rows = domTable.rows; for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) { const cells = rows[rowIndex].cells; for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function() { const fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; const fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; let actualPosition = 0; let canContinue = true; while (canContinue) { const rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; const colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; const row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } const cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell let resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ export default class Table { /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ tab(rng, isShift) { const cell = dom.ancestor(rng.commonAncestor(), dom.isCell); const table = dom.ancestor(cell, dom.isTable); const cells = dom.listDescendant(table, dom.isCell); const nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } } /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ addRow(rng, position) { const cell = dom.ancestor(rng.commonAncestor(), dom.isCell); const currentTr = $(cell).closest('tr'); const trAttributes = this.recoverAttributes(currentTr); const html = $(''); const vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $(currentTr).closest('table')[0]); const actions = vTable.getActionList(); for (let idCell = 0; idCell < actions.length; idCell++) { const currentCell = actions[idCell]; const tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('' + dom.blank + ''); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { const baseCellTr = currentCell.baseCell.parent; const isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { const newTd = $('
').append($('' + dom.blank + '').removeAttr('rowspan')).html(); html.append(newTd); break; } } let rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { const cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { const lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $($(currentTr).parent().find('tr')[lastTrIndex]).after($(html)); return; } currentTr.after(html); } } /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ addCol(rng, position) { const cell = dom.ancestor(rng.commonAncestor(), dom.isCell); const row = $(cell).closest('tr'); const rowsGroup = $(row).siblings(); rowsGroup.push(row); const vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $(row).closest('table')[0]); const actions = vTable.getActionList(); for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) { const currentCell = actions[actionIndex]; const tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $(currentCell.baseCell).after('' + dom.blank + ''); } else { $(currentCell.baseCell).before('' + dom.blank + ''); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { let colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $(currentCell.baseCell).before('' + dom.blank + ''); } break; } } } /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ recoverAttributes(el) { let resultStr = ''; if (!el) { return resultStr; } const attrList = el.attributes || []; for (let i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; } /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ deleteRow(rng) { const cell = dom.ancestor(rng.commonAncestor(), dom.isCell); const row = $(cell).closest('tr'); const cellPos = row.children('td, th').index($(cell)); const rowPos = row[0].rowIndex; const vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $(row).closest('table')[0]); const actions = vTable.getActionList(); for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } const baseCell = actions[actionIndex].baseCell; const virtualPosition = actions[actionIndex].virtualTable; const hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); let rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: const nextRow = row.next('tr')[0]; if (!nextRow) { continue; } const cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); } /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ deleteCol(rng) { const cell = dom.ancestor(rng.commonAncestor(), dom.isCell); const row = $(cell).closest('tr'); const cellPos = row.children('td, th').index($(cell)); const vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $(row).closest('table')[0]); const actions = vTable.getActionList(); for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: const baseCell = actions[actionIndex].baseCell; const hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { let colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } } /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ createTable(colCount, rowCount, options) { const tds = []; let tdHTML; for (let idxCol = 0; idxCol < colCount; idxCol++) { tds.push('' + dom.blank + ''); } tdHTML = tds.join(''); const trs = []; let trHTML; for (let idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('' + tdHTML + ''); } trHTML = trs.join(''); const $table = $('' + trHTML + '
'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; } /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ deleteTable(rng) { const cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $(cell).closest('table').remove(); } } js/base/editing/Bullet.js000064400000012674151677272030011326 0ustar00import $ from 'jquery'; import lists from '../core/lists'; import func from '../core/func'; import dom from '../core/dom'; import range from '../core/range'; export default class Bullet { /** * toggle ordered list */ insertOrderedList(editable) { this.toggleList('OL', editable); } /** * toggle unordered list */ insertUnorderedList(editable) { this.toggleList('UL', editable); } /** * indent */ indent(editable) { const rng = range.create(editable).wrapBodyInlineWithPara(); const paras = rng.nodes(dom.isPara, { includeAncestor: true }); const clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $.each(clustereds, (idx, paras) => { const head = lists.head(paras); if (dom.isLi(head)) { this.wrapList(paras, head.parentNode.nodeName); } else { $.each(paras, (idx, para) => { $(para).css('marginLeft', (idx, val) => { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); } /** * outdent */ outdent(editable) { const rng = range.create(editable).wrapBodyInlineWithPara(); const paras = rng.nodes(dom.isPara, { includeAncestor: true }); const clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $.each(clustereds, (idx, paras) => { const head = lists.head(paras); if (dom.isLi(head)) { this.releaseList([paras]); } else { $.each(paras, (idx, para) => { $(para).css('marginLeft', (idx, val) => { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); } /** * toggle list * * @param {String} listName - OL or UL */ toggleList(listName, editable) { const rng = range.create(editable).wrapBodyInlineWithPara(); let paras = rng.nodes(dom.isPara, { includeAncestor: true }); const bookmark = rng.paraBookmark(paras); const clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { let wrappedParas = []; $.each(clustereds, (idx, paras) => { wrappedParas = wrappedParas.concat(this.wrapList(paras, listName)); }); paras = wrappedParas; // list to paragraph or change list style } else { const diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter((listNode) => { return !$.nodeName(listNode, listName); }); if (diffLists.length) { $.each(diffLists, (idx, listNode) => { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); } /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ wrapList(paras, listName) { const head = lists.head(paras); const last = lists.last(paras); const prevList = dom.isList(head.previousSibling) && head.previousSibling; const nextList = dom.isList(last.nextSibling) && last.nextSibling; const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map((para) => { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(
    ,
      ) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; } /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ releaseList(clustereds, isEscapseToBody) { let releasedParas = []; $.each(clustereds, (idx, paras) => { const head = lists.head(paras); const last = lists.last(paras); const headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; const lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; const middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map((para) => { return dom.replace(para, 'P'); }); } $.each(lists.from(paras).reverse(), (idx, para) => { dom.insertAfter(para, headList); }); // remove empty lists const rootLists = lists.compact([headList, middleList, lastList]); $.each(rootLists, (idx, rootList) => { const listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $.each(listNodes.reverse(), (idx, listNode) => { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; } } js/base/editing/Style.js000064400000012300151677272030011161 0ustar00import $ from 'jquery'; import env from '../core/env'; import func from '../core/func'; import lists from '../core/lists'; import dom from '../core/dom'; export default class Style { /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ jQueryCSS($obj, propertyNames) { if (env.jqueryVersion < 1.9) { const result = {}; $.each(propertyNames, (idx, propertyName) => { result[propertyName] = $obj.css(propertyName); }); return result; } return $obj.css(propertyNames); } /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ fromNode($node) { const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; const styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; } /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ stylePara(rng, styleInfo) { $.each(rng.nodes(dom.isPara, { includeAncestor: true }), (idx, para) => { $(para).css(styleInfo); }); } /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ styleNodes(rng, options) { rng = rng.splitText(); const nodeName = (options && options.nodeName) || 'SPAN'; const expandClosestSibling = !!(options && options.expandClosestSibling); const onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } let pred = dom.makePredByNodeName(nodeName); const nodes = rng.nodes(dom.isText, { fullyContains: true }).map((text) => { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { const nodesInRange = rng.nodes(); // compose with partial contains predication pred = func.and(pred, (node) => { return lists.contains(nodesInRange, node); }); } return nodes.map((node) => { const siblings = dom.withClosestSiblings(node, pred); const head = lists.head(siblings); const tails = lists.tail(siblings); $.each(tails, (idx, elem) => { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } } /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ current(rng) { const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); let styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) {} // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; const isUnordered = $.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } const para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; } } js/base/editing/History.js000064400000004707151677272030011536 0ustar00import range from '../core/range'; export default class History { constructor($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } makeSnapshot() { const rng = range.create(this.editable); const emptyBookmark = {s: {path: [], offset: 0}, e: {path: [], offset: 0}}; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; } applySnapshot(snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } } /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ rewind() { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); } /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ reset() { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); } /** * undo */ undo() { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } } /** * redo */ redo() { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } } /** * recorded undo */ recordUndo() { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); } } js/base/Context.js000064400000013423151677272030010071 0ustar00import $ from 'jquery'; import func from './core/func'; import lists from './core/lists'; import dom from './core/dom'; export default class Context { /** * @param {jQuery} $note * @param {Object} options */ constructor($note, options) { this.ui = $.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ initialize() { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; } /** * destroy modules and other resources and remove layout */ destroy() { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); } /** * destory modules and other resources and initialize it again */ reset() { const disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } } _initialize() { // add optional buttons const buttons = $.extend({}, this.options.buttons); Object.keys(buttons).forEach((key) => { this.memo('button.' + key, buttons[key]); }); const modules = $.extend({}, this.options.modules, $.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach((key) => { this.module(key, modules[key], true); }); Object.keys(this.modules).forEach((key) => { this.initializeModule(key); }); } _destroy() { // destroy modules with reversed order Object.keys(this.modules).reverse().forEach((key) => { this.removeModule(key); }); Object.keys(this.memos).forEach((key) => { this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); } code(html) { const isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } } isDisabled() { return this.layoutInfo.editable.attr('contenteditable') === 'false'; } enable() { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); } disable() { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); } triggerEvent() { const namespace = lists.head(arguments); const args = lists.tail(lists.from(arguments)); const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); } initializeModule(key) { const module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } } module(key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } } removeModule(key) { const module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; } memo(key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; } removeMemo(key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; } /** * Some buttons need to change their visual style immediately once they get pressed */ createInvokeHandlerAndUpdateState(namespace, value) { return (event) => { this.createInvokeHandler(namespace, value)(event); this.invoke('buttons.updateCurrentStyle'); }; } createInvokeHandler(namespace, value) { return (event) => { event.preventDefault(); const $target = $(event.target); this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; } invoke() { const namespace = lists.head(arguments); const args = lists.tail(lists.from(arguments)); const splits = namespace.split('.'); const hasSeparator = splits.length > 1; const moduleName = hasSeparator && lists.head(splits); const methodName = hasSeparator ? lists.last(splits) : lists.head(splits); const module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } } } js/base/core/key.js000064400000002712151677272030010164 0ustar00import lists from './lists'; import func from './func'; const KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ export default { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: (keyCode) => { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: (keyCode) => { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; js/base/core/range.js000064400000051772151677272030010502 0ustar00import $ from 'jquery'; import env from './env'; import func from './func'; import lists from './lists'; import dom from './dom'; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { let container = textRange.parentElement(); let offset; const tester = document.body.createTextRange(); let prevContainer; const childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { const textRangeStart = document.body.createTextRange(); let curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; const pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); let textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack const dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { const textRangeInfo = function(container, offset) { let node, isCollapseToStart; if (dom.isText(container)) { const prevTextNodes = dom.listPrev(container, func.not(dom.isText)); const prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; const textRange = document.body.createTextRange(); const info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ class WrappedRange { constructor(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo nativeRange() { if (env.isW3CRangeSupport) { const w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { const textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } } getPoints() { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; } getStartPoint() { return { node: this.sc, offset: this.so }; } getEndPoint() { return { node: this.ec, offset: this.eo }; } /** * select update visible range */ select() { const nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { const selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; } /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ scrollIntoView(container) { const height = $(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; } /** * @return {WrappedRange} */ normalize() { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ const getVisiblePoint = function(point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge const block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; const endPoint = getVisiblePoint(this.getEndPoint(), false); const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange( startPoint.node, startPoint.offset, endPoint.node, endPoint.offset ); } /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ nodes(pred, options) { pred = pred || func.ok; const includeAncestor = options && options.includeAncestor; const fullyContains = options && options.fullyContains; // TODO compare points and sort const startPoint = this.getStartPoint(); const endPoint = this.getEndPoint(); const nodes = []; const leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function(point) { if (dom.isEditable(point.node)) { return; } let node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); } /** * returns commonAncestor of range * @return {Element} - commonAncestor */ commonAncestor() { return dom.commonAncestor(this.sc, this.ec); } /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ expand(pred) { const startAncestor = dom.ancestor(this.sc, pred); const endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } const boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange( boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo ); } /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ collapse(isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } } /** * splitText on range */ splitText() { const isSameContainer = this.sc === this.ec; const boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange( boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo ); } /** * delete contents on range * @return {WrappedRange} */ deleteContents() { if (this.isCollapsed()) { return this; } const rng = this.splitText(); const nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point const point = dom.prevPointUntil(rng.getStartPoint(), function(point) { return !lists.contains(nodes, point.node); }); const emptyParents = []; $.each(nodes, function(idx, node) { // find empty parents const parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $.each(emptyParents, function(idx, node) { dom.remove(node, false); }); return new WrappedRange( point.node, point.offset, point.node, point.offset ).normalize(); } /** * makeIsOn: return isOn(pred) function */ makeIsOn(pred) { return function() { const ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; } /** * @param {Function} pred * @return {Boolean} */ isLeftEdgeOf(pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } const node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); } /** * returns whether range was collapsed or not */ isCollapsed() { return this.sc === this.ec && this.so === this.eo; } /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ wrapBodyInlineWithPara() { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |

      text

      | * - chrome:

      |text|

      */ const rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor let topAncestor; if (dom.isInline(rng.sc)) { const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { const para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); } /** * insert node at current cursor * * @param {Node} node * @return {Node} */ insertNode(node) { const rng = this.wrapBodyInlineWithPara().deleteContents(); const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; } /** * insert html at current cursor */ pasteHTML(markup) { const contentsContainer = $('
      ').html(markup)[0]; const childNodes = lists.from(contentsContainer.childNodes); const rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function(childNode) { return rng.insertNode(childNode); }).reverse(); } /** * returns text in range * * @return {String} */ toString() { const nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; } /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ getWordRange(findAfter) { let endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } const startPoint = dom.prevPointUntil(endPoint, function(point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function(point) { return !dom.isCharPoint(point); }); } return new WrappedRange( startPoint.node, startPoint.offset, endPoint.node, endPoint.offset ); } /** * create offsetPath bookmark * * @param {Node} editable */ bookmark(editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; } /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ paraBookmark(paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; } /** * getClientRects * @return {Rect[]} */ getClientRects() { const nativeRng = this.nativeRange(); return nativeRng.getClientRects(); } } /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ export default { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function(sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { // collapsed ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { let wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function() { let sc, so, ec, eo; if (env.isW3CRangeSupport) { const selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } const nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { // IE8: TextRange const textRange = document.selection.createRange(); const textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); const textRangeStart = textRange; textRangeStart.collapse(true); let startPoint = textRangeToPoint(textRangeStart, true); let endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function(node) { let sc = node; let so = 0; let ec = node; let eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function(node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function(node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function(editable, bookmark) { const sc = dom.fromOffsetPath(editable, bookmark.s.path); const so = bookmark.s.offset; const ec = dom.fromOffsetPath(editable, bookmark.e.path); const eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function(bookmark, paras) { const so = bookmark.s.offset; const eo = bookmark.e.offset; const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; js/base/core/async.js000064400000002056151677272030010512 0ustar00import $ from 'jquery'; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ export function readFileAsDataURL(file) { return $.Deferred((deferred) => { $.extend(new FileReader(), { onload: (e) => { const dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: (err) => { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `` from url string * * @param {String} url * @return {Promise} - then: $image */ export function createImage(url) { return $.Deferred((deferred) => { const $img = $(''); $img.one('load', () => { $img.off('error abort'); deferred.resolve($img); }).one('error abort', () => { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } js/base/core/env.js000064400000006206151677272030010166 0ustar00import $ from 'jquery'; const isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; const $tester = $('
      ').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); const originalWidth = $tester.css('fontFamily', testFontName).width(); const width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } const userAgent = navigator.userAgent; const isMSIE = /MSIE|Trident/i.test(userAgent); let browserVersion; if (isMSIE) { let matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } const isEdge = /Edge\/\d+/.test(userAgent); let hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { // eslint-disable-line try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } const isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA const inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ export default { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE, isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion, jqueryVersion: parseFloat($.fn.jquery), isSupportAmd, isSupportTouch, hasCodeMirror, isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName }; js/base/core/func.js000064400000006255151677272030010335 0ustar00/** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function(itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function(itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return () => { return !f.apply(f, arguments); }; } function and(fA, fB) { return function(item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return () => { return obj[method].apply(obj, arguments); }; } let idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { const id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { const $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { const inverted = {}; for (const key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function(name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { let timeout; return () => { const context = this; const args = arguments; const later = () => { timeout = null; if (!immediate) { func.apply(context, args); } }; const callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } export default { eq, eq2, peq2, ok, fail, self, not, and, invoke, uniqueId, rect2bnd, invertObject, namespaceToCamel, debounce }; js/base/core/lists.js000064400000007514151677272030010537 0ustar00import $ from 'jquery'; import func from './func'; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (let idx = 0, len = array.length; idx < len; idx++) { const item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (let idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function(memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { const result = []; const length = collection.length; let idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } const aTail = tail(array); return aTail.reduce(function(memo, v) { const aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { const aResult = []; for (let idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { const results = []; for (let idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { const idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { const idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ export default { head, last, initial, tail, prev, next, find, contains, all, sum, from, isEmpty, clusterBy, compact, unique }; js/base/core/dom.js000064400000057270151677272030010164 0ustar00import $ from 'jquery'; import func from './func'; import lists from './lists'; import env from './env'; const NBSP_CHAR = String.fromCharCode(160); const ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function(node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } const isPre = makePredByNodeName('PRE'); const isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } const isTable = makePredByNodeName('TABLE'); const isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } const isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } const isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } const isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } const isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; const siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with   * - [workaround] IE11 and other browser works with bogus br */ const blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '
      '; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty(node) { const len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex)


      ,
      return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex)

      , return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; const ancestors = []; ancestor(node, function(el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { const ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { const ancestors = listAncestor(nodeA); for (let n = nodeB; n; n = n.parentNode) { if ($.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; const nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; const nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { const descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (let idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { const parent = node.parentNode; const wrapper = $('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { const next = preceding.nextSibling; let parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $.each(aChild, function(idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { let offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { let node; let offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { let node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) { return true; } const leftNode = point.node.childNodes[point.offset - 1]; const rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } const ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { let point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } const isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { const ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { let current = ancestor; for (let i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { const isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { const childNode = point.node.childNodes[point.offset]; const clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, ,

      ] const ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function(node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer const pred = isInline ? isPara : isBodyContainer; const ancestors = listAncestor(point.node, pred); const topAncestor = lists.last(ancestors) || point.node; let splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree let pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } const parent = node.parentNode; if (!isRemoveChild) { const nodes = []; for (let i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (let i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } const parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } const newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } const isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { const val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { let markup = value($node); if (isNewlineOnBlock) { const regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function(match, endSlash, name) { name = name.toUpperCase(); const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { const $placeholder = $(placeholder); const pos = $placeholder.offset(); const height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function(key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function(key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } export default { /** @property {String} NBSP_CHAR */ NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: `

      ${blankHTML}

      `, makePredByNodeName, isEditable, isControlSizing, isText, isElement, isVoid, isPara, isPurePara, isHeading, isInline, isBlock: func.not(isInline), isBodyInline, isBody, isParaInline, isPre, isList, isTable, isData, isCell, isBlockquote, isBodyContainer, isAnchor, isDiv: makePredByNodeName('DIV'), isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea, isEmpty, isEmptyAnchor: func.and(isAnchor, isEmpty), isClosestSibling, withClosestSiblings, nodeLength, isLeftEdgePoint, isRightEdgePoint, isEdgePoint, isLeftEdgeOf, isRightEdgeOf, isLeftEdgePointOf, isRightEdgePointOf, prevPoint, nextPoint, isSamePoint, isVisiblePoint, prevPointUntil, nextPointUntil, isCharPoint, walkPoint, ancestor, singleChildAncestor, listAncestor, lastAncestor, listNext, listPrev, listDescendant, commonAncestor, wrap, insertAfter, appendChildNodes, position, hasChildren, makeOffsetPath, fromOffsetPath, splitTree, splitPoint, create, createText, remove, removeWhile, replace, html, value, posFromPlaceholder, attachEvents, detachEvents, isCustomStyleTag }; js/base/renderer.js000064400000003121151677272030010245 0ustar00import $ from 'jquery'; class Renderer { constructor(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } render($parent) { const $node = $(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $.each(this.options.data, (k, v) => { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { const $container = $node.find('.note-children-container'); this.children.forEach((child) => { child.render($container.length ? $container : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; } } export default { create: (markup, callback) => { return () => { const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; let children = $.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; js/base/module/Fullscreen.js000064400000002612151677272030012032 0ustar00import $ from 'jquery'; export default class Fullscreen { constructor(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $(window); this.$scrollbar = $('html, body'); this.onResize = () => { this.resizeTo({ h: this.$window.height() - this.$toolbar.outerHeight() }); }; } resizeTo(size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } } /** * toggle fullscreen */ toggle() { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); } isFullscreen() { return this.$editor.hasClass('fullscreen'); } } js/base/module/Placeholder.js000064400000001705151677272030012154 0ustar00import $ from 'jquery'; export default class Placeholder { constructor(context) { this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': () => { this.update(); }, 'summernote.codeview.toggled': () => { this.update(); } }; } shouldInitialize() { return !!this.options.placeholder; } initialize() { this.$placeholder = $('
      '); this.$placeholder.on('click', () => { this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); } destroy() { this.$placeholder.remove(); } update() { const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); } } js/base/module/TablePopover.js000064400000003142151677272030012331 0ustar00import $ from 'jquery'; import env from '../core/env'; import lists from '../core/lists'; import dom from '../core/dom'; export default class TablePopover { constructor(context) { this.context = context; this.ui = $.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': (we, e) => { this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': () => { this.update(); }, 'summernote.disable': () => { this.hide(); } }; } shouldInitialize() { return !lists.isEmpty(this.options.popover.table); } initialize() { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); const $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } } destroy() { this.$popover.remove(); } update(target) { if (this.context.isDisabled()) { return false; } const isCell = dom.isCell(target); if (isCell) { const pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; } hide() { this.$popover.hide(); } } js/base/module/ImageDialog.js000064400000010373151677272030012075 0ustar00import $ from 'jquery'; import env from '../core/env'; import key from '../core/key'; export default class ImageDialog { constructor(context) { this.context = context; this.ui = $.summernote.ui; this.$body = $(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } initialize() { const $container = this.options.dialogsInBody ? this.$body : this.$editor; let imageLimitation = ''; if (this.options.maximumImageFileSize) { const unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); const readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = `${this.lang.image.maximumFileSize + ' : ' + readableSize}`; } const body = [ '
      ', '', '', imageLimitation, '
      ', '
      ', '', '', '
      ' ].join(''); const buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; const footer = ``; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); } destroy() { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); } bindEnterKey($input, $btn) { $input.on('keypress', (event) => { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); } show() { this.context.invoke('editor.saveRange'); this.showImageDialog().then((data) => { // [workaround] hide dialog before restore range for IE range focus this.ui.hideDialog(this.$dialog); this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { // image url this.context.invoke('editor.insertImage', data); } else { // array of files this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(() => { this.context.invoke('editor.restoreRange'); }); } /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ showImageDialog() { return $.Deferred((deferred) => { const $imageInput = this.$dialog.find('.note-image-input'); const $imageUrl = this.$dialog.find('.note-image-url'); const $imageBtn = this.$dialog.find('.note-image-btn'); this.ui.onDialogShown(this.$dialog, () => { this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', (event) => { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click((event) => { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', () => { const url = $imageUrl.val(); this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } this.bindEnterKey($imageUrl, $imageBtn); }); this.ui.onDialogHidden(this.$dialog, () => { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); this.ui.showDialog(this.$dialog); }); } } js/base/module/ImagePopover.js000064400000002777151677272030012341 0ustar00import $ from 'jquery'; import lists from '../core/lists'; import dom from '../core/dom'; /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ export default class ImagePopover { constructor(context) { this.context = context; this.ui = $.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': () => { this.hide(); } }; } shouldInitialize() { return !lists.isEmpty(this.options.popover.image); } initialize() { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); const $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); } destroy() { this.$popover.remove(); } update(target) { if (dom.isImg(target)) { const pos = dom.posFromPlaceholder(target); const posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } } hide() { this.$popover.hide(); } } js/base/module/LinkPopover.js000064400000003517151677272030012205 0ustar00import $ from 'jquery'; import lists from '../core/lists'; import dom from '../core/dom'; export default class LinkPopover { constructor(context) { this.context = context; this.ui = $.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': () => { this.update(); }, 'summernote.disable summernote.dialog.shown': () => { this.hide(); } }; } shouldInitialize() { return !lists.isEmpty(this.options.popover.link); } initialize() { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: ($node) => { const $content = $node.find('.popover-content,.note-popover-content'); $content.prepend(' '); } }).render().appendTo(this.options.container); const $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); } destroy() { this.$popover.remove(); } update() { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } const rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { const anchor = dom.ancestor(rng.sc, dom.isAnchor); const href = $(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); const pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } } hide() { this.$popover.hide(); } } js/base/module/Buttons.js000064400000073140151677272030011372 0ustar00import $ from 'jquery'; import func from '../core/func'; import lists from '../core/lists'; import env from '../core/env'; export default class Buttons { constructor(context) { this.ui = $.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject( this.options.keyMap[env.isMac ? 'mac' : 'pc'] ); } representShortcut(editorMethod) { let shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; } button(o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); } initialize() { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; } destroy() { delete this.fontInstalledMap; } isFontInstalled(name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; } isFontDeservedToAdd(name) { const genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($.inArray(name, genericFamilies) === -1)); } addToolbarButtons() { this.context.memo('button.style', () => { return this.ui.buttonGroup([ this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents( this.ui.icon(this.options.icons.magic), this.options ), tooltip: this.lang.style.style, data: { toggle: 'dropdown' } }), this.ui.dropdown({ className: 'dropdown-style', items: this.options.styleTags, title: this.lang.style.style, template: (item) => { if (typeof item === 'string') { item = { tag: item, title: (this.lang.style.hasOwnProperty(item) ? this.lang.style[item] : item) }; } const tag = item.tag; const title = item.title; const style = item.style ? ' style="' + item.style + '" ' : ''; const className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + ''; }, click: this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); for (let styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { const item = this.options.styleTags[styleIdx]; this.context.memo('button.style.' + item, () => { return this.button({ className: 'note-btn-style-' + item, contents: '
      ' + item.toUpperCase() + '
      ', tooltip: this.lang.style[item], click: this.context.createInvokeHandler('editor.formatBlock') }).render(); }); } this.context.memo('button.bold', () => { return this.button({ className: 'note-btn-bold', contents: this.ui.icon(this.options.icons.bold), tooltip: this.lang.font.bold + this.representShortcut('bold'), click: this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', () => { return this.button({ className: 'note-btn-italic', contents: this.ui.icon(this.options.icons.italic), tooltip: this.lang.font.italic + this.representShortcut('italic'), click: this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', () => { return this.button({ className: 'note-btn-underline', contents: this.ui.icon(this.options.icons.underline), tooltip: this.lang.font.underline + this.representShortcut('underline'), click: this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', () => { return this.button({ contents: this.ui.icon(this.options.icons.eraser), tooltip: this.lang.font.clear + this.representShortcut('removeFormat'), click: this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', () => { return this.button({ className: 'note-btn-strikethrough', contents: this.ui.icon(this.options.icons.strikethrough), tooltip: this.lang.font.strikethrough + this.representShortcut('strikethrough'), click: this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', () => { return this.button({ className: 'note-btn-superscript', contents: this.ui.icon(this.options.icons.superscript), tooltip: this.lang.font.superscript, click: this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', () => { return this.button({ className: 'note-btn-subscript', contents: this.ui.icon(this.options.icons.subscript), tooltip: this.lang.font.subscript, click: this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', () => { const styleInfo = this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $.each(styleInfo['font-family'].split(','), (idx, fontname) => { fontname = fontname.trim().replace(/['"]+/g, ''); if (this.isFontDeservedToAdd(fontname)) { if ($.inArray(fontname, this.options.fontNames) === -1) { this.options.fontNames.push(fontname); } } }); return this.ui.buttonGroup([ this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents( '', this.options ), tooltip: this.lang.font.name, data: { toggle: 'dropdown' } }), this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: this.options.icons.menuCheck, items: this.options.fontNames.filter(this.isFontInstalled.bind(this)), title: this.lang.font.name, template: (item) => { return '' + item + ''; }, click: this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', () => { return this.ui.buttonGroup([ this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents('', this.options), tooltip: this.lang.font.size, data: { toggle: 'dropdown' } }), this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: this.options.icons.menuCheck, items: this.options.fontSizes, title: this.lang.font.size, click: this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', () => { return this.ui.buttonGroup({ className: 'note-color', children: [ this.button({ className: 'note-current-color-button', contents: this.ui.icon(this.options.icons.font + ' note-recent-color'), tooltip: this.lang.color.recent, click: (e) => { const $button = $(e.currentTarget); this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: ($button) => { const $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents('', this.options), tooltip: this.lang.color.more, data: { toggle: 'dropdown' } }), this.ui.dropdown({ items: [ '
      ', '
      ' + this.lang.color.background + '
      ', '
      ', ' ', '
      ', '
      ', '
      ', '
      ', '
      ' + this.lang.color.foreground + '
      ', '
      ', ' ', '
      ', '
      ', '
      ' ].join(''), callback: ($dropdown) => { $dropdown.find('.note-holder').each((idx, item) => { const $holder = $(item); $holder.append(this.ui.palette({ colors: this.options.colors, colorsName: this.options.colorsName, eventName: $holder.data('event'), container: this.options.container, tooltip: this.options.tooltip }).render()); }); }, click: (event) => { const $button = $(event.target); const eventName = $button.data('event'); const value = $button.data('value'); if (eventName && value) { const key = eventName === 'backColor' ? 'background-color' : 'color'; const $color = $button.closest('.note-color').find('.note-recent-color'); const $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', () => { return this.button({ contents: this.ui.icon(this.options.icons.unorderedlist), tooltip: this.lang.lists.unordered + this.representShortcut('insertUnorderedList'), click: this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', () => { return this.button({ contents: this.ui.icon(this.options.icons.orderedlist), tooltip: this.lang.lists.ordered + this.representShortcut('insertOrderedList'), click: this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); const justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); const justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); const justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); const justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); const outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); const indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', () => { return this.ui.buttonGroup([ this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.alignLeft), this.options), tooltip: this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), this.ui.dropdown([ this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', () => { return this.ui.buttonGroup([ this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.textHeight), this.options), tooltip: this.lang.font.height, data: { toggle: 'dropdown' } }), this.ui.dropdownCheck({ items: this.options.lineHeights, checkClassName: this.options.icons.menuCheck, className: 'dropdown-line-height', title: this.lang.font.height, click: this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', () => { return this.ui.buttonGroup([ this.button({ className: 'dropdown-toggle', contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.table), this.options), tooltip: this.lang.table.table, data: { toggle: 'dropdown' } }), this.ui.dropdown({ title: this.lang.table.table, className: 'note-table', items: [ '
      ', '
      ', '
      ', '
      ', '
      ', '
      1 x 1
      ' ].join('') }) ], { callback: ($node) => { const $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: this.options.insertTableMaxSize.col + 'em', height: this.options.insertTableMaxSize.row + 'em' }).mousedown(this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', this.tableMoveHandler.bind(this)); } }).render(); }); this.context.memo('button.link', () => { return this.button({ contents: this.ui.icon(this.options.icons.link), tooltip: this.lang.link.link + this.representShortcut('linkDialog.show'), click: this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', () => { return this.button({ contents: this.ui.icon(this.options.icons.picture), tooltip: this.lang.image.image, click: this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', () => { return this.button({ contents: this.ui.icon(this.options.icons.video), tooltip: this.lang.video.video, click: this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', () => { return this.button({ contents: this.ui.icon(this.options.icons.minus), tooltip: this.lang.hr.insert + this.representShortcut('insertHorizontalRule'), click: this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', () => { return this.button({ className: 'btn-fullscreen', contents: this.ui.icon(this.options.icons.arrowsAlt), tooltip: this.lang.options.fullscreen, click: this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', () => { return this.button({ className: 'btn-codeview', contents: this.ui.icon(this.options.icons.code), tooltip: this.lang.options.codeview, click: this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', () => { return this.button({ contents: this.ui.icon(this.options.icons.redo), tooltip: this.lang.history.redo + this.representShortcut('redo'), click: this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', () => { return this.button({ contents: this.ui.icon(this.options.icons.undo), tooltip: this.lang.history.undo + this.representShortcut('undo'), click: this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', () => { return this.button({ contents: this.ui.icon(this.options.icons.question), tooltip: this.lang.options.help, click: this.context.createInvokeHandler('helpDialog.show') }).render(); }); } /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ addImagePopoverButtons() { // Image Size Buttons this.context.memo('button.imageSize100', () => { return this.button({ contents: '100%', tooltip: this.lang.image.resizeFull, click: this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', () => { return this.button({ contents: '50%', tooltip: this.lang.image.resizeHalf, click: this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', () => { return this.button({ contents: '25%', tooltip: this.lang.image.resizeQuarter, click: this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', () => { return this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.image.floatLeft, click: this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', () => { return this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.image.floatRight, click: this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', () => { return this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.image.floatNone, click: this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', () => { return this.button({ contents: this.ui.icon(this.options.icons.trash), tooltip: this.lang.image.remove, click: this.context.createInvokeHandler('editor.removeMedia') }).render(); }); } addLinkPopoverButtons() { this.context.memo('button.linkDialogShow', () => { return this.button({ contents: this.ui.icon(this.options.icons.link), tooltip: this.lang.link.edit, click: this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', () => { return this.button({ contents: this.ui.icon(this.options.icons.unlink), tooltip: this.lang.link.unlink, click: this.context.createInvokeHandler('editor.unlink') }).render(); }); } /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ addTablePopoverButtons() { this.context.memo('button.addRowUp', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.rowAbove), tooltip: this.lang.table.addRowAbove, click: this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.rowBelow), tooltip: this.lang.table.addRowBelow, click: this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.colBefore), tooltip: this.lang.table.addColLeft, click: this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.colAfter), tooltip: this.lang.table.addColRight, click: this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.rowRemove), tooltip: this.lang.table.delRow, click: this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.colRemove), tooltip: this.lang.table.delCol, click: this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', () => { return this.button({ className: 'btn-md', contents: this.ui.icon(this.options.icons.trash), tooltip: this.lang.table.delTable, click: this.context.createInvokeHandler('editor.deleteTable') }).render(); }); } build($container, groups) { for (let groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { const group = groups[groupIdx]; const groupName = $.isArray(group) ? group[0] : group; const buttons = $.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; const $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (let idx = 0, len = buttons.length; idx < len; idx++) { const btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } } /** * @param {jQuery} [$container] */ updateCurrentStyle($container) { const $cont = $container || this.$toolbar; const styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': () => { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': () => { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': () => { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': () => { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': () => { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': () => { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { const fontNames = styleInfo['font-family'].split(',').map((name) => { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); const fontName = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each((idx, item) => { const $item = $(item); // always compare string to avoid creating another func. const isChecked = ($item.data('value') + '') === (fontName + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName).css('font-family', fontName); } if (styleInfo['font-size']) { const fontSize = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each((idx, item) => { const $item = $(item); // always compare with string to avoid creating another func. const isChecked = ($item.data('value') + '') === (fontSize + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize); } if (styleInfo['line-height']) { const lineHeight = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each((idx, item) => { // always compare with string to avoid creating another func. const isChecked = ($(item).data('value') + '') === (lineHeight + ''); this.className = isChecked ? 'checked' : ''; }); } } updateBtnStates($container, infos) { $.each(infos, (selector, pred) => { this.ui.toggleBtnActive($container.find(selector), pred()); }); } tableMoveHandler(event) { const PX_PER_EM = 18; const $picker = $(event.target.parentNode); // target is mousecatcher const $dimensionDisplay = $picker.next(); const $catcher = $picker.find('.note-dimension-picker-mousecatcher'); const $highlighted = $picker.find('.note-dimension-picker-highlighted'); const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); let posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { const posCatcher = $(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } const dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); } } js/base/module/AutoSync.js000064400000000567151677272030011504 0ustar00import dom from '../core/dom'; /** * textarea auto sync. */ export default class AutoSync { constructor(context) { this.$note = context.layoutInfo.note; this.events = { 'summernote.change': () => { this.$note.val(context.invoke('code')); } }; } shouldInitialize() { return dom.isTextarea(this.$note[0]); } } js/base/module/Handle.js000064400000010230151677272030011116 0ustar00import $ from 'jquery'; import dom from '../core/dom'; export default class Handle { constructor(context) { this.context = context; this.$document = $(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': (we, e) => { if (this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': () => { this.update(); }, 'summernote.disable': () => { this.hide(); }, 'summernote.codeview.toggled': () => { this.update(); } }; } initialize() { this.$handle = $([ '
      ', '
      ', '
      ', '
      ', '
      ', '
      ', '
      ', (this.options.disableResizeImage ? '' : '
      '), '
      ', '
      ' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', (event) => { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); const $target = this.$handle.find('.note-control-selection').data('target'); const posStart = $target.offset(); const scrollTop = this.$document.scrollTop(); const onMouseMove = (event) => { this.context.invoke('editor.resizeTo', { x: event.clientX - posStart.left, y: event.clientY - (posStart.top - scrollTop) }, $target, !event.shiftKey); this.update($target[0]); }; this.$document .on('mousemove', onMouseMove) .one('mouseup', (e) => { e.preventDefault(); this.$document.off('mousemove', onMouseMove); this.context.invoke('editor.afterCommand'); }); if (!$target.data('ratio')) { // original ratio. $target.data('ratio', $target.height() / $target.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', (e) => { e.preventDefault(); this.update(); }); } destroy() { this.$handle.remove(); } update(target) { if (this.context.isDisabled()) { return false; } const isImage = dom.isImg(target); const $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { const $image = $(target); const position = $image.position(); const pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin const imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. const origImageObj = new Image(); origImageObj.src = $image.attr('src'); const sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; } /** * hide * * @param {jQuery} $handle */ hide() { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); } } js/base/module/Editor.js000064400000055561151677272030011171 0ustar00import $ from 'jquery'; import env from '../core/env'; import key from '../core/key'; import func from '../core/func'; import lists from '../core/lists'; import dom from '../core/dom'; import range from '../core/range'; import { readFileAsDataURL, createImage } from '../core/async'; import History from '../editing/History'; import Style from '../editing/Style'; import Typing from '../editing/Typing'; import Table from '../editing/Table'; import Bullet from '../editing/Bullet'; const KEY_BOGUS = 'bogus'; /** * @class Editor */ export default class Editor { constructor(context) { this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand const commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (let idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = ((sCmd) => { return (value) => { this.beforeCommand(); document.execCommand(sCmd, false, value); this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand((value) => { return this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand((value) => { return this.fontStyling('font-size', value + 'px'); }); for (let idx = 1; idx <= 6; idx++) { this['formatH' + idx] = ((idx) => { return () => { this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); }; this.insertParagraph = this.wrapCommand(() => { this.typing.insertParagraph(this.editable); }); this.insertOrderedList = this.wrapCommand(() => { this.bullet.insertOrderedList(this.editable); }); this.insertUnorderedList = this.wrapCommand(() => { this.bullet.insertUnorderedList(this.editable); }); this.indent = this.wrapCommand(() => { this.bullet.indent(this.editable); }); this.outdent = this.wrapCommand(() => { this.bullet.outdent(this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand((node) => { if (this.isLimited($(node).text().length)) { return; } const rng = this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand((text) => { if (this.isLimited(text.length)) { return; } const rng = this.createRange(); const textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand((markup) => { if (this.isLimited(markup.length)) { return; } const contents = this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand((tagName, $target) => { const onApplyCustomStyle = this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(this, $target, this.context, this.onFormatBlock); } else { this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(() => { const hrNode = this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand((value) => { this.style.stylePara(this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand((linkInfo) => { let linkUrl = linkInfo.url; const linkText = linkInfo.text; const isNewWindow = linkInfo.isNewWindow; let rng = linkInfo.range || this.createRange(); const isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (this.options.onCreateLink) { linkUrl = this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } let anchors = []; if (isTextChanged) { rng = rng.deleteContents(); const anchor = rng.insertNode($('' + linkText + '')[0]); anchors.push(anchor); } else { anchors = this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $.each(anchors, (idx, anchor) => { $(anchor).attr('href', linkUrl); if (isNewWindow) { $(anchor).attr('target', '_blank'); } else { $(anchor).removeAttr('target'); } }); const startRange = range.createFromNodeBefore(lists.head(anchors)); const startPoint = startRange.getStartPoint(); const endRange = range.createFromNodeAfter(lists.last(anchors)); const endPoint = endRange.getEndPoint(); range.create( startPoint.node, startPoint.offset, endPoint.node, endPoint.offset ).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand((colorInfo) => { const foreColor = colorInfo.foreColor; const backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand((colorInfo) => { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand((dim) => { const dimension = dim.split('x'); const rng = this.createRange().deleteContents(); rng.insertNode(this.table.createTable(dimension[0], dimension[1], this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(() => { let $target = $(this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $(this.restoreTarget()).detach(); } this.context.triggerEvent('media.delete', $target, this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand((value) => { const $target = $(this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand((value) => { const $target = $(this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } initialize() { // bind custom events this.$editable.on('keydown', (event) => { if (event.keyCode === key.code.ENTER) { this.context.triggerEvent('enter', event); } this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (this.options.shortcuts) { this.handleKeyMap(event); } else { this.preventDefaultEditableShortCuts(event); } } if (this.isLimited(1, event)) { return false; } }).on('keyup', (event) => { this.context.triggerEvent('keyup', event); }).on('focus', (event) => { this.context.triggerEvent('focus', event); }).on('blur', (event) => { this.context.triggerEvent('blur', event); }).on('mousedown', (event) => { this.context.triggerEvent('mousedown', event); }).on('mouseup', (event) => { this.context.triggerEvent('mouseup', event); }).on('scroll', (event) => { this.context.triggerEvent('scroll', event); }).on('paste', (event) => { this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(() => { this.context.triggerEvent('change', this.$editable.html()); }, 100)); this.$editor.on('focusin', (event) => { this.context.triggerEvent('focusin', event); }).on('focusout', (event) => { this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); } destroy() { this.$editable.off(); } handleKeyMap(event) { const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; const keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } const keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } const eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } } preventDefaultEditableShortCuts(event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } } isLimited(pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; } /** * create range * @return {WrappedRange} */ createRange() { this.focus(); return range.create(this.editable); } /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ saveRange(thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } } /** * restoreRange * * restore lately range */ restoreRange() { if (this.lastRange) { this.lastRange.select(); this.focus(); } } saveTarget(node) { this.$editable.data('target', node); } clearTarget() { this.$editable.removeData('target'); } restoreTarget() { return this.$editable.data('target'); } /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ currentStyle() { let rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); } /** * style from node * * @param {jQuery} $node * @return {Object} */ styleFromNode($node) { return this.style.fromNode($node); } /** * undo */ undo() { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); } /** * redo */ redo() { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); } /** * before command */ beforeCommand() { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); } /** * after command * @param {Boolean} isPreventTrigger */ afterCommand(isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } } /** * handle tab key */ tab() { const rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } } /** * handle shift+tab key */ untab() { const rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } } /** * run given function between beforeCommand and afterCommand */ wrapCommand(fn) { return () => { this.beforeCommand(); fn.apply(this, arguments); this.afterCommand(); }; } /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ insertImage(src, param) { return createImage(src, param).then(($image) => { this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(this.$editable.width(), $image.width())); } $image.show(); range.create(this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); this.afterCommand(); }).fail((e) => { this.context.triggerEvent('image.upload.error', e); }); } /** * insertImages * @param {File[]} files */ insertImages(files) { $.each(files, (idx, file) => { const filename = file.name; if (this.options.maximumImageFileSize && this.options.maximumImageFileSize < file.size) { this.context.triggerEvent('image.upload.error', this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then((dataURL) => { return this.insertImage(dataURL, filename); }).fail(() => { this.context.triggerEvent('image.upload.error'); }); } }); } /** * insertImagesOrCallback * @param {File[]} files */ insertImagesOrCallback(files) { const callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } } /** * return selected plain text * @return {String} text */ getSelectedText() { let rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); } onFormatBlock(tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { const className = $target[0].className || ''; if (className) { const currentRange = this.createRange(); const $parent = $([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } } formatPara() { this.formatBlock('P'); } fontStyling(target, value) { const rng = this.createRange(); if (rng) { const spans = this.style.styleNodes(rng); $(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { const firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } } /** * unlink * * @type command */ unlink() { let rng = this.createRange(); if (rng.isOnAnchor()) { const anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } } /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ getLinkInfo() { const rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). const $anchor = $(lists.head(rng.nodes(dom.isAnchor))); const linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; } addRow(position) { const rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } } addCol(position) { const rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } } deleteRow() { const rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } } deleteCol() { const rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } } deleteTable() { const rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } } /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ resizeTo(pos, $target, bKeepRatio) { let imageSize; if (bKeepRatio) { const newRatio = pos.y / pos.x; const ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); } /** * returns whether editable area has focus or not. */ hasFocus() { return this.$editable.is(':focus'); } /** * set focus */ focus() { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } } /** * returns whether contents is empty or not. * @return {Boolean} */ isEmpty() { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); } /** * Removes all contents and restores the editable instance to an _emptyPara_. */ empty() { this.context.invoke('code', dom.emptyPara); } /** * normalize content */ normalizeContent() { this.$editable[0].normalize(); } } js/base/module/VideoDialog.js000064400000015667151677272030012134 0ustar00import $ from 'jquery'; import env from '../core/env'; import key from '../core/key'; export default class VideoDialog { constructor(context) { this.context = context; this.ui = $.summernote.ui; this.$body = $(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } initialize() { const $container = this.options.dialogsInBody ? this.$body : this.$editor; const body = [ '
      ', ``, '', '
      ' ].join(''); const buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; const footer = ``; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); } destroy() { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); } bindEnterKey($input, $btn) { $input.on('keypress', (event) => { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); } createVideoNode(url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) const ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; const ytMatch = url.match(ytRegExp); const igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; const igMatch = url.match(igRegExp); const vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; const vMatch = url.match(vRegExp); const vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; const vimMatch = url.match(vimRegExp); const dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; const dmMatch = url.match(dmRegExp); const youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; const youkuMatch = url.match(youkuRegExp); const qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; const qqMatch = url.match(qqRegExp); const qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; const qqMatch2 = url.match(qqRegExp2); const mp4RegExp = /^.+.(mp4|m4v)$/; const mp4Match = url.match(mp4RegExp); const oggRegExp = /^.+.(ogg|ogv)$/; const oggMatch = url.match(oggRegExp); const webmRegExp = /^.+.(webm)$/; const webmMatch = url.match(webmRegExp); let $video; if (ytMatch && ytMatch[1].length === 11) { const youtubeId = ytMatch[1]; $video = $('