diff --git a/README.md b/README.md index dfba0278ee..e12dec893e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,33 @@ # frio -A bootstrap based theme for friendica +### A bootstrap based theme for friendica +This Theme was started as Experiment to give the user a good looking and modern theme for friendica. + +I conentrated on 3 topics: +1. A Modern, mobile friendly UI with bootstrap and awesome font +2. Try to get a new UX for friendica (e.g. use modals where it seems to be useful) +3. Give the user a powerfull (but easy) possebillities for custimation to personalize the theme and give it a own note. + +**Note:** +This theme is far from beeing stable and ready for productive use. Many parts are missing and will be never added. +Because of the heavy use of the bootstrap framework nearly every friendica theme template may have to be overwritten. It would be a lot of work and after that it would be hard to maintain the theme. + +So why I am doing this? +This theme should be the start of a discussion in the friendica community (users and developers) about UI/UX in friendica. +What frameworks do we want to use? How should default friendica look like? And how do we want to use friendica? What do we need in the core code (At the present time some stuff in this is done with ugly javascript hacks and own php code)? + +Coding a theme is much work but you will get a really good insight of the limitations of friendica and can start a discussion about doing things differently. +So join the discussion at the friendica forums ;-) + +If anyone wants to contribute to this theme he/she is welcome to do this. + +PS: +Don't blame me too much for ugly code and hacks. Fix it ;-) + +#### Credits: +HumHub - Social Network Kit - +Hubzilla - Community Server - +Michael Vogel (Vier Theme) - +StefOfficiel (Friendiboot Theme) - + +#### License: + diff --git a/config.php b/config.php new file mode 100644 index 0000000000..645613363a --- /dev/null +++ b/config.php @@ -0,0 +1,65 @@ + t('Submit'), + '$baseurl' => $a->get_baseurl(), + '$title' => t("Theme settings"), + '$schema' => array('frio_schema', t("Select scheme"), $arr["schema"], '', $scheme_choices), + '$nav_bg' => array('frio_nav_bg', t('Navigation bar background color'), $arr['nav_bg']), + '$nav_icon_color' => array('frio_nav_icon_color', t('Navigation bar icon color '), $arr['nav_icon_color']), + '$link_color' => array('frio_link_color', t('Link color'), $arr['link_color'], '', $link_colors), + '$bgcolor' => array('frio_background_color', t('Set the background color'), $arr['bgcolor']), + '$contentbg_transp' => array('frio_contentbg_transp', t("Content background transparency"), ($arr["contentbg_transp"] ? $arr["contentbg_transp"] : 0 )), + '$background_image' => array('frio_background_image', t('Set the background image'), $arr['background_image']), + '$bg_image_options' => Image::get_options($arr), + )); + + return $o; +} diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000000..5a3347de67 --- /dev/null +++ b/css/style.css @@ -0,0 +1,1435 @@ +/* +To change this license header, choose License Headers in Project Properties. +To change this template file, choose Tools | Templates +and open the template in the editor. +*/ +/* + Created on : 17.02.2016, 23:55:45 + Author : rabuzarus +*/ + +/* Imports */ +@import url("frameworks/bootstrap/css/bootstrap.min.css"); +@import url("frameworks/bootstrap/css/bootstrap-theme.min.css"); +@import url("frameworks/font-awesome/css/font-awesome.min.css"); +@import url("frameworks/jasny/css/jasny-bootstrap.min.css"); +@import url("frameworks/bootstrap-select/css/bootstrap-select.min.css"); +@import url("frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"); +@import url("frameworks/ekko-lightbox/ekko-lightbox.min.css"); +@import url("frameworks/justifiedGallery/justifiedGallery.min.css"); +@import url("frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css"); +@import url("font/open_sans/open-sans.css"); + + +body { + padding-top: 110px; + background-color: $bgcolor; + background-image: url("$background_image"); + background-size: $background_size_img; + color: #777; + /*color: #555;*/ + font-family: 'Open Sans',sans-serif; +} +body a { + /*color: #555;*/ + /*color: #6fdbe8;*/ + color: $link_color; + text-decoration: none; +} + +body a:hover, body a:focus, body a:active, body a.active, body .btn-link:hover{ + /*color: #59d6e4;*/ + color: $link_hover_color; + text-decoration: none; +} + +hr { + margin-top: 10px; + margin-bottom: 10px; +} +iframe, img { + max-width: 100%; +} +.clear { + clear: both; +} +.no-padding { + padding: 0; +} +.fakelink { + cursor: pointer; +} + +/* +* standard page elements +*/ +#back-to-top { + display: none; + cursor: pointer; + color: white; + position: fixed; + z-index: 49; + right: 20px; + bottom: 20px; + opacity: 1; + font-size: 2.9em; + padding: 0 12px 0 12px; + border-radius: 10px; + background-color: #aaa; + line-height: 1.5; +} + +/* +* Overwriting and Extend Bootstrap +*/ +.label, .label a { + color: #fff !important; +} + +/* Buttons */ + +.btn { + float: none; + border: none; + -webkit-box-shadow: none; + box-shadow: none; + -moz-box-shadow: none; + background-image: none; + text-shadow: none; + border-radius: 3px; + outline: 0!important; + margin-bottom: 0; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; +} + +.btn-default { + background: #ededed; + color: #7a7a7a!important; +} +.btn-sm { + padding: 4px 8px; + font-size: 12px; +} +.btn-primary { + background: $nav_bg; + color: $btn_primary_color !important; +} +.btn-primary:hover, .btn-primary:focus { + background: $btn_primary_hover_color; + text-decoration: none; +} +.btn-primary:active, .btn-primary.active { + outline: 0; + background: $btn_primary_hover_color !important; +} +.btn-link { +/* color: #6fdbe8;*/ + color: $link_color; +} +.btn-link:focus, .btn-link:hover { + color: #23527c; +} +/*.btn-info { + background: #6fdbe8; + color: #fff!important; +} +.btn-info:hover, .btn-info:focus { + background: #59d6e4!important; + text-decoration: none; +} +.btn-info:active, .btn-info.active { + outline: 0; + background: #59d6e4; +}*/ + +.btn-main { + /*background: #6fdbe8;*/ + background: $link_color; + color: #fff!important; +} +.btn-main:hover, .btn-main:focus { + /*background: #59d6e4!important;*/ + background: $link_hover_color !important; + text-decoration: none; +} +.btn-main:active, .btn-main.active { + outline: 0; + /*background: #59d6e4;*/ + background: $link_hover_color; +} + +/* NavBar */ +.topbar { + position: fixed; + display: block; + height: 50px; + width: 100%; + padding-left: 15px; + padding-right: 15px +} +.topbar ul.nav { + float: left +} +.topbar ul.nav>li { + float: left +} +@media (min-width: 992px) { +.topbar ul.nav>li>a { + padding-top: 15px; + padding-bottom: 15px; + line-height: 20px +} +} +@media (max-width: 991px) { + .topbar ul.nav>li>a { padding-left: 10px; padding-right: 10px; }; +} +.topbar .dropdown-footer { + margin: 10px +} +.topbar .dropdown-header { + font-size: 16px; + padding: 3px 10px; + margin-bottom: 10px; + font-weight: 300; + color: #bebebe +} +.topbar .dropdown-header .dropdown-header-link { + position: absolute; + top: 2px; + right: 10px +} +.topbar .dropdown-header .dropdown-header-link a { + /*color: #6fdbe8!important;*/ + color: $link_color !important; + font-size: 12px; + font-weight: 400 +} +.topbar .dropdown-header:hover { + color: #bebebe +} +#topbar-first, +nav.navbar { + background-color: $nav_bg; + top: 0; + z-index: 1030; + color: $nav_icon_color; +} +#topbar-first .nav>li>a:hover, +#topbar-first .nav>li>a:focus, +#topbar-first .nav>.open>a, +nav.navbar .nav>li>a:hover, +nav.navbar .nav>li>a:focus{ + background-color: $nav_icon_hover_color; +} +#topbar-first .nav>.account { + height: 50px; + margin-left: 20px +} +#topbar-first .nav>.account img { + margin-left: 10px; + height: 32px; + width: 32px; + border-radius: 3px; +} +#topbar-first .nav>.account .dropdown-toggle { + padding: 10px 5px 8px; + line-height: 1.1em; + text-align: left +} +#topbar-first .nav>.account .dropdown-toggle span { + font-size: 12px +} +#topbar-first .topbar-brand { + position: relative; + z-index: 2 +} +#topbar-first .topbar-actions { + position: relative; + z-index: 3 +} +#topbar-first .topbar-nav { + /*position: absolute;*/ + left: 0; + right: 0; + text-align: center; + z-index: 1 +} +#topbar-first .topbar-nav .nav-segment { + position: relative; + text-align: left +} +#topbar-first .topbar-nav .nav-segment>a { +/* padding: 5px 10px; + margin: 10px 2px;*/ + display: inline-block; +/* border-radius: 2px;*/ + text-decoration: none; + text-align: left +} +#topbar-first .topbar-nav .nav-segment .nav-notify { + position: absolute; + top: 4px; + right: -2px; + background-color: #ff8989; + +/* text-transform: uppercase; + display: inline-block; + padding: 3px 5px 4px; + font-weight: 600; + font-size: 10px!important; + color: #fff!important; + vertical-align: baseline; + white-space: nowrap; + text-shadow: none; + display: none;*/ +} +#topbar-first .topbar-nav .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 10px; + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; + z-index: 1035 +} +#topbar-first .topbar-nav .arrow { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + z-index: 1001; + border-width: 11px; + left: 50%; + margin-left: -18px; + border-top-width: 0; + border-bottom-color: rgba(0, 0, 0, .15); + top: -19px; + z-index: 1035 +} +#topbar-first .topbar-nav .dropdown-menu { + width: 350px; + margin-left: -148px +} +#topbar-first .topbar-nav .dropdown-menu ul.media-list { + max-height: 400px; + overflow: auto +} +#topbar-first .topbar-nav .dropdown-menu li { + position: relative +} +#topbar-first .topbar-nav .dropdown-menu li i.approval { + position: absolute; + left: 2px; + top: 36px; + font-size: 14px +} +#topbar-first .topbar-nav .dropdown-menu li i.accepted { + color: #5cb85c +} +#topbar-first .topbar-nav .dropdown-menu li i.declined { + color: #d9534f +} +#topbar-first .topbar-nav .dropdown-menu li .media { + position: relative +} +#topbar-first .topbar-nav .dropdown-menu li .media .img-space { + position: absolute; + top: 14px; + left: 14px +} +#topbar-first .dropdown-footer { + margin: 10px 10px 5px +} +#topbar-first a, +nav.navbar a { + /*color: #fff*/ + color: $nav_icon_color; +} +#topbar-first .caret { + border-top-color: #bebebe +} +#topbar-first .btn-group>a { + background-color: #7f9baa +} +#topbar-first .btn-enter { + background-color: #7f9baa; + margin: 6px 0 +} +#topbar-first .btn-enter:hover { + background-color: #89a2b0 +} + + +/* Notification Menu */ +#topbar-first #nav-notifications-menu { + max-height: 400px; +} +#topbar-first #nav-notifications-menu a { + color: #555; + padding: 0; +} +#topbar-first #nav-notifications-menu li.notif-entry { + color: #555; + padding: 10px; + border-bottom: 1px solid #eee; + position: relative; + border-left: 3px solid #fff; + font-size: 12px; +} + +#topbar-first #nav-notifications-menu li.notify-unseen { + border-left: 3px solid #f3fcfd; + background-color: #f3fcfd; +} +#topbar-first #nav-notifications-menu li.notif-entry:hover { + background-color: #f7f7f7; + /*border-left: 3px solid #6fdbe8;*/ + border-left: 3px solid $link_color; +} +/*#topbar-first #nav-notifications-menu i.accepted { + color: #6fdbe8!important +} +#topbar-first #nav-notifications-menu i.declined { + color: #ff8989!important +}*/ +#topbar-first #nav-notifications-menu li.placeholder { + border-bottom: none +} +#topbar-first #nav-notifications-menu .media .media-body { + font-size: 13px!important; + font-weight: 600!important; +} +#topbar-first #nav-notifications-menu .media .media-body .contactname { + font-weight: bold; +} +#topbar-first #nav-notifications-menu .media .media-body .label { + padding: .1em .5em +} +#topbar-first #nav-notifications-menu li.notif-entry .media-object a img { + height: 32px; + width: 32px; + border-radius: 3px; +} +#topbar-first .account .user-title { + text-align: right +} +#topbar-first .account .user-title span { + color: #d7d7d7 +} +#topbar-first .account #main-menu .nav-notify { + position: absolute; + top: 4px; + right: -2px; + background-color: #ff8989; +} +#topbar-first .dropdown.account>a, +#topbar-first .dropdown.account.open>a, +#topbar-first .dropdown.account>a:hover, +#topbar-first .dropdown.account.open>a:hover { + background-color: $nav_bg +} +/* Nav Search */ +#topbar-first #search-box .navbar-form { + margin: 0px; + padding: 10px 15px; +} +#topbar-first #search-box .form-search { + height: 25px; + font-size: 13px; + background-position: 8px 4px; +} +#topbar-first #search-box .btn { + font-size: 10px; + padding: 1px 8px; +} + +/* second topbar */ +#topbar-second { + height: 40px; + top: 50px; + background-color: #fff; + z-index: 1029; + background-image: none; + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, .1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, .1); + box-shadow: 0 1px 10px rgba(0, 0, 0, .1); + border-bottom: 1px solid #d4d4d4 +} +#topbar-second > .container { + height: 100%; +} +@media screen and (max-width: 767px) { + #topbar-second > .container, + #topbar-second #navbar-button { + padding: 0; + } +} +#topbar-second .dropdown-menu { + padding-top: 0; + padding-bottom: 0 +} +#topbar-second .dropdown-menu .divider { + margin: 0 +} +#topbar-second #space-menu-dropdown, +#topbar-second #search-menu-dropdown { + width: 400px +} +#topbar-second #space-menu-dropdown .media-list, +#topbar-second #search-menu-dropdown .media-list { + max-height: 400px; + overflow: auto +} +@media screen and (max-width: 768px) { + #topbar-second #space-menu-dropdown .media-list, + #topbar-second #search-menu-dropdown .media-list { + max-height: 200px + } +} +#topbar-second #space-menu-dropdown form, +#topbar-second #search-menu-dropdown form { + margin: 10px +} +#topbar-second #space-menu-dropdown .search-reset, +#topbar-second #search-menu-dropdown .search-reset { + position: absolute; + color: #999; + margin: 10px; + top: 8px; + right: 10px; + display: none; + cursor: pointer +} +#topbar-second .nav>li>a { + padding: 6px 13px 0; + text-decoration: none; + text-shadow: none; + font-weight: 600; + font-size: 10px; + text-transform: uppercase; + text-align: center; + min-height: 49px +} +#topbar-second .nav>li>a:hover, +#topbar-second .nav>li>a:active, +#topbar-second .nav>li>a:focus { + /*border-bottom: 3px solid #6fdbe8;*/ + border-bottom: 3px solid $link_color; + background-color: #f7f7f7; + color: #555; + text-decoration: none +} +#topbar-second .nav>li>a i { + font-size: 14px +} +#topbar-second .nav>li>a .caret { + border-top-color: #7a7a7a +} +#topbar-second .nav>li>ul>li>a { + border-left: 3px solid #fff; + background-color: #fff; + color: #555 +} +#topbar-second .nav>li>ul>li>a:hover, +#topbar-second .nav>li>ul>li>a.active { + /*border-left: 3px solid #6fdbe8;*/ + border-left: 3px solid $link_color; + background-color: #f7f7f7; + color: #555 +} +#topbar-second .nav>li.active>a { + min-height: 46px +} +#topbar-second .nav>li>a#space-menu { + padding-right: 13px; + border-right: 1px solid #ededed +} +#topbar-second .nav>li>a#search-menu { + padding-top: 15px +} +#topbar-second .nav>li>a:hover, +#topbar-second .nav .open>a, +#topbar-second .nav>li.active { + /*border-bottom: 3px solid #6fdbe8;*/ + border-left: 3px solid $link_color; + background-color: #f7f7f7; + color: #555 +} +#topbar-second .nav>li.active>a:hover { + border-bottom: none +} +#topbar-second #space-menu-dropdown li>ul>li>a>.media .media-body p { + color: #bebebe; + font-size: 11px; + margin: 0; + font-weight: 400 +} + + +/* Dropdown Menus */ +.nav-pills .dropdown-menu, +.nav-tabs .dropdown-menu, +.account .dropdown-menu, +.contact-photo-wrapper .dropdown-menu { + background-color: $nav_bg; + border: none +} +.nav-pills .dropdown-menu li.divider, +.nav-tabs .dropdown-menu li.divider, +.account .dropdown-menu li.divider, +.contact-photo-wrapper .dropdown-menu li.divider { + background-color: $menu_background_hover_color; + border-bottom: none; + margin: 9px 1px!important +} +.nav-pills .dropdown-menu li, +.nav-tabs .dropdown-menu li, +.account .dropdown-menu li, +.contact-photo-wrapper .dropdown-menu li { + border-left: 3px solid $nav_bg; +} +.nav-pills .dropdown-menu li a, +.nav-tabs .dropdown-menu li a, +.account .dropdown-menu li a, +.contact-photo-wrapper .dropdown-menu li a { + color: $nav_icon_color; + font-weight: 400; + font-size: 13px; + padding: 4px 15px +} +.nav-pills .dropdown-menu li a i, +.nav-tabs .dropdown-menu li a i, +.account .dropdown-menu li a i, +.contact-photo-wrapper .dropdown-menu li a i { + margin-right: 5px; + font-size: 14px; + display: inline-block; + width: 14px +} +.nav-pills .dropdown-menu li a:hover, +.nav-tabs .dropdown-menu li a:hover, +.account .dropdown-menu li a:hover, +.contact-photo-wrapper .dropdown-menu li a:hover, +.nav-pills .dropdown-menu li a:visited, +.nav-tabs .dropdown-menu li a:visited, +.account .dropdown-menu li a:visited, +.contact-photo-wrapper .dropdown-menu li a:visited, +.nav-pills .dropdown-menu li a:hover, +.nav-tabs .dropdown-menu li a:hover, +.account .dropdown-menu li a:hover, +.contact-photo-wrapper .dropdown-menu li a:hover, +.nav-pills .dropdown-menu li a:focus, +.nav-tabs .dropdown-menu li a:focus, +.account .dropdown-menu li a:focus, +.contact-photo-wrapper .dropdown-menu li a:focus { + background: 0 0 +} +.nav-pills .dropdown-menu li:hover, +.nav-tabs .dropdown-menu li:hover, +.account .dropdown-menu li:hover, +.contact-photo-wrapper .dropdown-menu li:hover, +.nav-pills .dropdown-menu li.selected, +.nav-tabs .dropdown-menu li.selected, +.account .dropdown-menu li.selected, +.contact-photo-wrapper .dropdown-menu li.selected { + /*border-left: 3px solid #6fdbe8;*/ + border-left: 3px solid $link_color; + color: #fff!important; + background-color: $menu_background_hover_color !important +} +.nav-pills.preferences .dropdown .dropdown-toggle { + color: #bebebe +} +.nav-pills.preferences .dropdown.open .dropdown-toggle, +.nav-pills.preferences .dropdown.open .dropdown-toggle:hover { + background-color: $nav_bg +} + +.nav-pills.preferences .dropdown .dropdown-toggle { + padding: 2px 10px; +} + + +/* + * Aside + * + */ + +aside .widget, +.nav-container .widget { + border: none; + color: #777; + /*background-color: #fff;*/ + background-color: rgba(255,255,255,$contentbg_transp); + box-shadow: 0 0 3px #dadada; + -webkit-box-shadow: 0 0 3px #dadada; + -moz-box-shadow: 0 0 3px #dadada; + border-radius: 4px; + position: relative; + margin-bottom: 20px; + padding: 10px; + font-size: 13px; +} +aside .widget h3, +.nav-container .widget h3 { + font-weight: bold; + font-size: 16px; + margin: 0; + padding-bottom: 20px; +} + +aside .widget ul, +.nav-container .widget ul { + padding: 0px; + margin-top: 0px; + margin-bottom: 0px; + margin-left: -10px; + margin-right: -10px; + /*padding-left: 10px;*/ + list-style: none; +} + +aside .widget li, +.nav-container .widget li { + padding-top: 2px; + padding-bottom: 2px; + padding-left: 20px; + padding-right: 20px; +} +aside .widget li:hover, +aside .widget li.selected, +.nav-container .widget li:hover { + z-index: 2; + color: #555; + background-color: #f7f7f7; + /*border-left: 3px solid #6fdbe8!important;*/ + border-left: 3px solid $link_color !important; + padding-left: 17px; +} +aside .widget li a, +aside .widget li a:hover { + color: #555; +} + +/* forumlist widget */ +aside #datebrowse-sidebar .posted-date-selector-months{ + margin-left: 0; + margin-bottom: 10px; + width: 100% +} +aside #datebrowse-sidebar .posted-date-selector-months li{ + padding-left: 30px; +} +aside #datebrowse-sidebar .posted-date-selector-months li:hover{ + padding-left: 27px; +} + +/* vcard / h-card */ +aside .vcard #profile-photo-wrapper{ + margin: 0; +} +aside .vcard img.u-photo, +aside img.vcard-photo { + width: 100%; + border-radius: 3px; +} +aside .vcard .tool .action{ + position: absolute; + top:20px; + right: 20px; + font-size: 32px; + width: 45px; + height: 45px; + background: rgba(0,0,0,.50); + text-align: center; + border-radius: 3px; + opacity: 0; + -webkit-transition: all 0.25s ease-in-out; + -moz-transition: all 0.25s ease-in-out; + -o-transition: all 0.25s ease-in-out; + -ms-transition: all 0.25s ease-in-out; + transition: all 0.25s ease-in-out; +} +aside .vcard .tool a { +color: rgba(255,255,255,.85); +} +aside .vcard #profile-photo-wrapper:hover .tool .action { + opacity: 1; +} +aside .vcard .profile-header { + margin-bottom: 20px; +} +aside .vcard .fn { + font-size: 20px; + font-weight: bold; +} +aside .vcard .p-addr { + font-style: italic; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding-bottom: 2px; +} +aside .vcard .detail { + display: table; + padding: 5px 0; +} +aside .vcard .icon { + display: table-cell; + padding-right: 10px; +} +#profile-extra-links { + margin-bottom: 20px; +} +aside .vcard #dfrn-request-link-button, +aside .vcard #wallmessage-link-botton { + width: 50%; + margin: 0 0 0 -5px; + float: left; + padding: 0 5px; +} +aside .vcard #dfrn-request-link, +aside .vcard #wallmessage-link { + width: 100%; +} + +/* contact block widget */ +#contact-block .contact-block-content { + clear: both; + overflow: auto; + height: auto; +} +#contact-block .contact-block-div { + float: left; + margin: 0px 5px 5px 0px; +/* height: 90px; + width: 90px;*/ +} +#contact-block contact-block-link { + +} +#contact-block .contact-block-img { + height: 75px; + width: 75px; + border-radius: 4px; +} +/* Section */ +section ul.tabs { + display: none !important; +} + +/* Jot */ +section #jotOpen { + display: none; +} +#jotOpen { + margin-top: 3px; + float: right; +} +#jot-content { + display: none; +} +.jothidden { + /*display: none;*/ +} +#jot-modal .modal-header a, +#profile-jot-submit-wrapper a { + color: #555; +} +#jot-modal .modal-header { + border-bottom: none; +} +#jot-title-wrap, #jot-category-wrap { + margin-bottom: 5px; +} +#jot-text-wrap { + margin-top: 20px; +} +#jot-text-wrap textarea { + min-height: 100px; +} +#profile-jot-wrapper button#jot-submit { + margin-top: 5px; +} + +/* ACL */ +#acl-search { + margin-top: 20px; + padding: 8px; + border: 1px solid #ccc; + width: 100%; +} +#acl-list { + display: block; + border: 1px solid #ccc; + overflow: auto; + clear: both; + min-height: 62px; + margin-top: 20px; + padding: 10px 10px 0px 0px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.acl-list-item { + width: 48%; + width: calc(50% - 10px); + border: 1px solid #ccc; + margin: 0px 0px 10px 10px; + padding: 5px; + float: left; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.acl-list-item img { + width: 40px; + height: 40px; + float: left; + margin-right: 5px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.acl-list-item p { + margin: 0px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.acl-list-item.groupshow { + background-color: #8DB255 +} +.acl-list-item.grouphide { + background-color: #E68364; +} + + +/* +/* Stream +*/ +.panel { + border: none; + /*background-color: #fff;*/ + background-color: rgba(255,255,255,$contentbg_transp); + box-shadow: 0 0 3px #dadada; + -webkit-box-shadow: 0 0 3px #dadada; + -moz-box-shadow: 0 0 3px #dadada; + border-radius: 4px; + position: relative; +} +.panel .panel-body { + padding: 15px; + font-size: 14px; +} +.panel .panel-body .wall-item-content { + color: #555; +} +.tread-wrapper .media { + overflow: visible; + word-wrap: break-word; +} + +/* Thread hover effects */ +.wall-item-container .wall-item-content a, +.wall-item-container .fakelink, +.toplevel_item .fakelink, +.toplevel_item .wall-item-container .btn-link, +.toplevel_item .wall-item-container .wall-item-responses a { + color: #555; + -webkit-transition: all 0.25s ease-in-out; + -moz-transition: all 0.25s ease-in-out; + -o-transition: all 0.25s ease-in-out; + -ms-transition: all 0.25s ease-in-out; + transition: all 0.25s ease-in-out; +} + +.toplevel_item:hover .fakelink, .wall-item-container:hover .fakelink, +.toplevel_item:hover .wall-item-container:hover .btn-link, +.toplevel_item:hover .wall-item-container:hover .wall-item-responses a, +.toplevel_item:hover .wall-item-content a, +.toplevel_item:hover .wall-item-name, +.wall-item-container:hover .wall-item-content a, +.wall-item-container:hover .wall-item-name { + /*color: #6fdbe8;*/ + color: $link_color; + -webkit-transition: all 0.25s ease-in-out; + -moz-transition: all 0.25s ease-in-out; + -o-transition: all 0.25s ease-in-out; + -ms-transition: all 0.25s ease-in-out; + transition: all 0.25s ease-in-out; +} + +/* wall items */ +.wall-item-container { + position: relative; +} + +/* wall items contact photo */ +.contact-photo { + height: 48px; + width: 48px; + border-radius: 3px; + /*maybe some adional stuff is needed for the different screen sizes */ +} +.contact-photo-image-wrapper { + width: 100%; + height: 100%; + overflow: hidden; + position: relative; + text-align: center; +} +.contact-photo-overlay { + width: 100%; + height: 100%; + position: absolute; + overflow: hidden; + top: 0; + left: 0; + border-radius: 3px; + background:rgba(0,0,0,.50); + text-align:center; + opacity:0; + -webkit-transition: opacity .25s ease; + -moz-transition: opacity .25s ease; +} +.contact-photo-overlay:hover { + opacity: 1; +} +.contact-photo-overlay-content { + font-size: 26px; + text-shadow: 1px 1px 1px #ccc; + color:rgba(255,255,255,.85); + height: 100%; + vertical-align: bottom; +} +.contact-photo-xs{ + height: 38px; + width: 38px; + border-radius: 3px; +} +.wwto .contact-photo { + width: auto; + height: 25px; + font-size: 8.8px; + padding: 3.6px 0; + border-radius: 2px; + position: absolute; + top: 30px; + left: 30px; + display: inline-block; +} + +/* wall items action dropdown menu */ +.nav-pills.preferences { + position: absolute; + right: 15px; + top: 10px; +} +.comment .nav-pills.preferences { + right: 0px; + top: 0px; +} +.wall-item-network { + font-size: 13px; +} + +/* wall items contact info */ +.media .media-body { + font-size: 13px; +} +.media .media-body h4.media-heading { + font-size: 14px; + font-weight: 500; + color: #555; +} +.media .media-body .addional-info a, +.media .media-body h5.media-heading a { + display: block; +} +.media .contact-info-xs h5 { + margin: 0 0 5px; +} +.media-heading { + margin: 0 0 5px; +} +.wall-item-name { + font-size: 15px; + font-weight: bold; +} + +/* The lock symbol popup */ +#panel { + position: absolute; + list-style: none; + background-color: $nav_bg; + border: none; + border-radius: 3px; + float: left; + min-width: 160px; + max-width: 220px; + padding: 10px ; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + color: $nav_icon_color; + z-index: 1000; +} + +/* wall items content */ +.wall-item-content { + word-break: break-word; +} +.shared-content-wrapper, +.vevent { + margin-left: 50px; + margin-right: 50px; + padding: 10px; + box-shadow: 0 0 0 1.5px rgba(0, 0, 0, .1) inset, 0 1px 1px rgba(0, 0, 0, .05); +} +@media screen and (max-width: 767px) { + .shared-content-wrapper, + .vevent { + margin-left: 0px; + margin-right: 0px; + } +} +.shared-content-wrapper:hover, +.vevent:hover { + box-shadow: 0 0 0 1.5px rgba(0, 0, 0, .15) inset, 0 1px 1px rgba(0, 0, 0, .05); +} +.shared_header { + margin-left: 0px; + margin-top: 0px; + padding-top: 0px; + border-top: none; + color: inherit; +} +blockquote.shared_content { + margin-left: 20px; + color: inherit; +} +.wall-item-tags, +.itemedited { + margin-top: 10px; + font-size: 13px; +} + +.wall-item-tags a { + color: #555; +} + +/* item social action buttons */ +.wall-item-actions, .wall-item-actions a { + font-size: 13px; + /*color: #aeaeae;*/ + color: #555; + margin-top: 15px; + margin-bottom: 0; +} +.wall-item-actions a:hover { + color: #555; +} +.wall-item-actions-left { + display: table-cell; + vertical-align: middle; +} +.wall-item-actions-right { + display: flex; +} +.wall-item-actions .checkbox { + margin: 0; + margin-left: 20px; +} +.wall-item-actions .button-event { + padding-left: 5px; + padding-right: 5px; +} + +/* wall item hover effects */ +.wall-item-container .wall-item-links, +.wall-item-container .wall-item-actions { + opacity: 0.3; + -webkit-transition: all 0.25s ease-in-out; + -moz-transition: all 0.25s ease-in-out; + -o-transition: all 0.25s ease-in-out; + -ms-transition: all 0.25s ease-in-out; + transition: all 0.25s ease-in-out; +} +.wall-item-container:hover .wall-item-links, +.wall-item-container:hover .wall-item-actions { + opacity: 0.6; + -webkit-transition: all 0.25s ease-in-out; + -moz-transition: all 0.25s ease-in-out; + -o-transition: all 0.25s ease-in-out; + -ms-transition: all 0.25s ease-in-out; + transition: all 0.25s ease-in-out; +} + +/* +/* Comments +*/ +.well { + border: none; + box-shadow: none; + background-color: #ededed; + background-image: none; + margin-bottom: 1px; +} +.well-small { + padding: 10px; + border-radius: 3px; +} +.well hr { + margin: 15px 0 10px; + border-top: 1px solid #d9d9d9; +} +.wall-entry .well { + margin-bottom: 0; +} +.comment-container { + margin-top: 10px; + margin-bottom: 0px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} +.comment .media { + position: relative!important; + margin-top: 0; +} +.hide-comments-outer-wrapper { +/* text-align: center; + margin-top: -18px;*/ +} +.hide-comments-total { + cursor: pointer; +} + +/* +* Comment Box +*/ +.thread_level_2 .wall-item-comment-wrapper { + padding-right: 5px; +} +.comment-edit-submit-wrapper { + margin-bottom: 25px; +} +.comment-edit-submit-wrapper a, +.comment-edit-submit-wrapper a:hover { + color: #555; + padding-top: 5px !important; + padding-bottom: 5px !important; +} + +/* acpopup */ +.acpopup { + max-height: 150px; + background-color: #ffffff; + color: #555; + border-radius: 4px; + overflow: auto; + z-index: 100000; + box-shadow: 0 6px 12px rgba(0,0,0,.175); +} +.acpopupitem { + color: #555; + padding: 4px; + clear: left; +} +.acpopupitem.selected { + background-color: $nav_bg; + color: $nav_icon_color; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +/* The wall-item thread levels */ +/*.wall-item-container.thread_level_3 { + margin-left: 80px; + width: calc(100% - 90px); +} +.wall-item-container.thread_level_4 { + margin-left: 95px; + width: calc(100% - 105px); +} +.wall-item-container.thread_level_5 { + margin-left: 110px; + width: calc(100% - 120px); +} +.wall-item-container.thread_level_6 { + margin-left: 125px; + width: calc(100% - 135px); +} +.wall-item-container.thread_level_7 { + margin-left: 140px; + width: calc(100% - 150px); +}*/ + +.wall-item-container.thread_level_3, +.wall-item-container.thread_level_4, +.wall-item-container.thread_level_5, +.wall-item-container.thread_level_6, +.wall-item-container.thread_level_7 { + margin-left: 15px; + +} +/* Menubar Tabs */ +#tabmenu { + height: 100%; + /*margin-left: -15px;*/ + padding: 0; +} +ul.tabs { + list-style: none; + height: 100%; + padding: 0; + padding-top: 10px; + margin: 0; +} +ul.tabs li { + float: left; + margin: 0; + padding: 0; + /*border-bottom: 0 solid #6fdbe8;*/ + border-bottom: 0 solid $link_color; + font-size: 13px; + height: 100%; + transition: all .15s ease; +} +ul.tabs li a { + margin-left: 10px; + margin-right: 10px; + /*color: #6fdbe8;*/ + color: $link_color !important; +} +ul.tabs li:hover, ul.tabs li.active { + border-bottom-width: 4px; +} +ul.dropdown-menu li:hover { + border-bottom-width: 0; +} + + +/* Dropdown Menu */ +.dropdown-menu li a { + font-size: 13px!important; + font-weight: 600!important; +} +.dropdown-menu li a:hover, .dropdown-menu li a:visited, +.dropdown-menu li a:hover, .dropdown-menu li a:focus { + background: 0 0; +} + +.dropdown-menu li:first-child { + margin-top: 3px; +} + +/* Notificaiotn badges */ +.nav-notify .show { + display: block; +} + +/* Media Classes */ +.media .time { + font-size: 11px; + color: #bebebe; +} + +/* Forms */ +.form-control { + border: 2px solid #ededed; + box-shadow: none; +} +.form-control:focus { + /*border: 2px solid #6fdbe8;*/ + border: 2px solid $link_color; + outline: 0; + box-shadow: none; +} + + +.checkbox input[type="checkbox"]:focus + label::before, +.checkbox input[type="radio"]:focus + label::before { + /*border: 2px solid #6fdbe8;*/ + border: 2px solid $link_color; + outline: 0; + box-shadow: none; +} + +/* Search form */ +.form-control.form-search { + border-radius: 30px; + background-image: url(img/icon_search16x16.png); + background-repeat: no-repeat; + background-position: 10px 8px; + padding-left: 34px; +} +.form-group-search { + position: relative; +} + +.form-group-search { + position: relative; +} + +.form-group-search .form-button-search { + position: absolute; + top: 4px; + right: 4px; + border-radius: 30px; +} + +/* PAGES */ + +/* Profile-page */ +#profile-page, .photos-content-wrapper, .settings-content-wrapper { + padding: 15px; + padding-bottom: 20px; + margin-bottom: 20px; + border: none; + /*background-color: #fff;*/ + background-color: rgba(255,255,255,$contentbg_transp); + border-radius: 4px; + position: relative; + overflow: hidden; + color: #555; + box-shadow: 0 0 3px #dadada; + -webkit-box-shadow: 0 0 3px #dadada; + -moz-box-shadow: 0 0 3px #dadada; +} +#profile-content-standard, +#profile-content-advanced { + overflow: hidden; +} +#profile-menu { + margin-top: 20px; + margin-bottom: 20px; +} +.contact-block-div.forumlist-profile-advanced { + float: left; +} + +/* +* Overwriting for transparency and other colors +*/ +main .nav-tabs>li.active>a, +main .nav-tabs>li.active>a:focus, +main .nav-tabs>li.active>a:hover { + background-color: rgba(255,255,255,$contentbg_transp); +} + + diff --git a/default.php b/default.php new file mode 100644 index 0000000000..0362be916c --- /dev/null +++ b/default.php @@ -0,0 +1,29 @@ +argv[0]); +if($page_type === "modal") { + $_GET["mode"] = "modal"; +} + +if((isset($_GET["mode"]) AND ($_GET["mode"] == "modal"))) { + + require "view/theme/frio/php/modes/modal.php"; +} elseif($page_type === "standard_page") { + require "view/theme/frio/php/modes/standard.php"; +} else { + require "view/theme/frio/php/modes/default.php"; +} + diff --git a/font/open_sans/fonts/Bold/OpenSans-Bold.eot b/font/open_sans/fonts/Bold/OpenSans-Bold.eot new file mode 100755 index 0000000000..016123ba03 Binary files /dev/null and b/font/open_sans/fonts/Bold/OpenSans-Bold.eot differ diff --git a/font/open_sans/fonts/Bold/OpenSans-Bold.svg b/font/open_sans/fonts/Bold/OpenSans-Bold.svg new file mode 100755 index 0000000000..81c8a275a7 --- /dev/null +++ b/font/open_sans/fonts/Bold/OpenSans-Bold.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/Bold/OpenSans-Bold.ttf b/font/open_sans/fonts/Bold/OpenSans-Bold.ttf new file mode 100755 index 0000000000..cf53e6e46e Binary files /dev/null and b/font/open_sans/fonts/Bold/OpenSans-Bold.ttf differ diff --git a/font/open_sans/fonts/Bold/OpenSans-Bold.woff b/font/open_sans/fonts/Bold/OpenSans-Bold.woff new file mode 100755 index 0000000000..c668e4537f Binary files /dev/null and b/font/open_sans/fonts/Bold/OpenSans-Bold.woff differ diff --git a/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.eot b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.eot new file mode 100755 index 0000000000..7d45290b91 Binary files /dev/null and b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.eot differ diff --git a/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.svg b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.svg new file mode 100755 index 0000000000..d06de541a0 --- /dev/null +++ b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.ttf b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.ttf new file mode 100755 index 0000000000..11d107ba5d Binary files /dev/null and b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.ttf differ diff --git a/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.woff b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.woff new file mode 100755 index 0000000000..ced8f69711 Binary files /dev/null and b/font/open_sans/fonts/BoldItalic/OpenSans-BoldItalic.woff differ diff --git a/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.eot b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.eot new file mode 100755 index 0000000000..27ff0d5fac Binary files /dev/null and b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.eot differ diff --git a/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.svg b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.svg new file mode 100755 index 0000000000..aeb208de49 --- /dev/null +++ b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.ttf b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.ttf new file mode 100755 index 0000000000..5c2b96e986 Binary files /dev/null and b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.ttf differ diff --git a/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.woff b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.woff new file mode 100755 index 0000000000..498ddeb587 Binary files /dev/null and b/font/open_sans/fonts/ExtraBold/OpenSans-ExtraBold.woff differ diff --git a/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot new file mode 100755 index 0000000000..c848bb3479 Binary files /dev/null and b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot differ diff --git a/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg new file mode 100755 index 0000000000..2152de9ece --- /dev/null +++ b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf new file mode 100755 index 0000000000..ea1792973e Binary files /dev/null and b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf differ diff --git a/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff new file mode 100755 index 0000000000..6056847f96 Binary files /dev/null and b/font/open_sans/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff differ diff --git a/font/open_sans/fonts/Italic/OpenSans-Italic.eot b/font/open_sans/fonts/Italic/OpenSans-Italic.eot new file mode 100755 index 0000000000..55af8e72b1 Binary files /dev/null and b/font/open_sans/fonts/Italic/OpenSans-Italic.eot differ diff --git a/font/open_sans/fonts/Italic/OpenSans-Italic.svg b/font/open_sans/fonts/Italic/OpenSans-Italic.svg new file mode 100755 index 0000000000..7561e874ca --- /dev/null +++ b/font/open_sans/fonts/Italic/OpenSans-Italic.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/Italic/OpenSans-Italic.ttf b/font/open_sans/fonts/Italic/OpenSans-Italic.ttf new file mode 100755 index 0000000000..a309327426 Binary files /dev/null and b/font/open_sans/fonts/Italic/OpenSans-Italic.ttf differ diff --git a/font/open_sans/fonts/Italic/OpenSans-Italic.woff b/font/open_sans/fonts/Italic/OpenSans-Italic.woff new file mode 100755 index 0000000000..1ed8ab9568 Binary files /dev/null and b/font/open_sans/fonts/Italic/OpenSans-Italic.woff differ diff --git a/font/open_sans/fonts/Light/OpenSans-Light.eot b/font/open_sans/fonts/Light/OpenSans-Light.eot new file mode 100755 index 0000000000..03f1430517 Binary files /dev/null and b/font/open_sans/fonts/Light/OpenSans-Light.eot differ diff --git a/font/open_sans/fonts/Light/OpenSans-Light.svg b/font/open_sans/fonts/Light/OpenSans-Light.svg new file mode 100755 index 0000000000..c3bd1594ca --- /dev/null +++ b/font/open_sans/fonts/Light/OpenSans-Light.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/Light/OpenSans-Light.ttf b/font/open_sans/fonts/Light/OpenSans-Light.ttf new file mode 100755 index 0000000000..dddcc62a9c Binary files /dev/null and b/font/open_sans/fonts/Light/OpenSans-Light.ttf differ diff --git a/font/open_sans/fonts/Light/OpenSans-Light.woff b/font/open_sans/fonts/Light/OpenSans-Light.woff new file mode 100755 index 0000000000..937323df0d Binary files /dev/null and b/font/open_sans/fonts/Light/OpenSans-Light.woff differ diff --git a/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.eot b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.eot new file mode 100755 index 0000000000..3861cd65b3 Binary files /dev/null and b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.eot differ diff --git a/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.svg b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.svg new file mode 100755 index 0000000000..e5694a123b --- /dev/null +++ b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.ttf b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.ttf new file mode 100755 index 0000000000..9338bd99e3 Binary files /dev/null and b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.ttf differ diff --git a/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.woff b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.woff new file mode 100755 index 0000000000..bc83d1db5f Binary files /dev/null and b/font/open_sans/fonts/LightItalic/OpenSans-LightItalic.woff differ diff --git a/font/open_sans/fonts/Regular/OpenSans-Regular.eot b/font/open_sans/fonts/Regular/OpenSans-Regular.eot new file mode 100755 index 0000000000..7ac1753b19 Binary files /dev/null and b/font/open_sans/fonts/Regular/OpenSans-Regular.eot differ diff --git a/font/open_sans/fonts/Regular/OpenSans-Regular.svg b/font/open_sans/fonts/Regular/OpenSans-Regular.svg new file mode 100755 index 0000000000..b34ed428a7 --- /dev/null +++ b/font/open_sans/fonts/Regular/OpenSans-Regular.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/Regular/OpenSans-Regular.ttf b/font/open_sans/fonts/Regular/OpenSans-Regular.ttf new file mode 100755 index 0000000000..a135120e09 Binary files /dev/null and b/font/open_sans/fonts/Regular/OpenSans-Regular.ttf differ diff --git a/font/open_sans/fonts/Regular/OpenSans-Regular.woff b/font/open_sans/fonts/Regular/OpenSans-Regular.woff new file mode 100755 index 0000000000..bd0f824b20 Binary files /dev/null and b/font/open_sans/fonts/Regular/OpenSans-Regular.woff differ diff --git a/font/open_sans/fonts/Semibold/OpenSans-Semibold.eot b/font/open_sans/fonts/Semibold/OpenSans-Semibold.eot new file mode 100755 index 0000000000..f165063158 Binary files /dev/null and b/font/open_sans/fonts/Semibold/OpenSans-Semibold.eot differ diff --git a/font/open_sans/fonts/Semibold/OpenSans-Semibold.svg b/font/open_sans/fonts/Semibold/OpenSans-Semibold.svg new file mode 100755 index 0000000000..4949365fb1 --- /dev/null +++ b/font/open_sans/fonts/Semibold/OpenSans-Semibold.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/Semibold/OpenSans-Semibold.ttf b/font/open_sans/fonts/Semibold/OpenSans-Semibold.ttf new file mode 100755 index 0000000000..9be83c563c Binary files /dev/null and b/font/open_sans/fonts/Semibold/OpenSans-Semibold.ttf differ diff --git a/font/open_sans/fonts/Semibold/OpenSans-Semibold.woff b/font/open_sans/fonts/Semibold/OpenSans-Semibold.woff new file mode 100755 index 0000000000..3a78f75482 Binary files /dev/null and b/font/open_sans/fonts/Semibold/OpenSans-Semibold.woff differ diff --git a/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.eot b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.eot new file mode 100755 index 0000000000..c13a4e33f4 Binary files /dev/null and b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.eot differ diff --git a/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.svg b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.svg new file mode 100755 index 0000000000..df45137858 --- /dev/null +++ b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.svg @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.ttf b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.ttf new file mode 100755 index 0000000000..ee10d635da Binary files /dev/null and b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.ttf differ diff --git a/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff new file mode 100755 index 0000000000..90351a259f Binary files /dev/null and b/font/open_sans/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff differ diff --git a/font/open_sans/open-sans.css b/font/open_sans/open-sans.css new file mode 100755 index 0000000000..5037092ed1 --- /dev/null +++ b/font/open_sans/open-sans.css @@ -0,0 +1,80 @@ +/* BEGIN Light */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/Light/OpenSans-Light.eot?v=1.1.0"); + src: url("./fonts/Light/OpenSans-Light.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/Light/OpenSans-Light.woff?v=1.1.0") format("woff"), url("./fonts/Light/OpenSans-Light.ttf?v=1.1.0") format("truetype"), url("./fonts/Light/OpenSans-Light.svg?v=1.1.0#OpenSansLight") format("svg"); + font-weight: 300; + font-style: normal; } +/* END Light */ +/* BEGIN Light Italic */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/LightItalic/OpenSans-LightItalic.eot?v=1.1.0"); + src: url("./fonts/LightItalic/OpenSans-LightItalic.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/LightItalic/OpenSans-LightItalic.woff?v=1.1.0") format("woff"), url("./fonts/LightItalic/OpenSans-LightItalic.ttf?v=1.1.0") format("truetype"), url("./fonts/LightItalic/OpenSans-LightItalic.svg?v=1.1.0#OpenSansLightItalic") format("svg"); + font-weight: 300; + font-style: italic; } +/* END Light Italic */ +/* BEGIN Regular */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/Regular/OpenSans-Regular.eot?v=1.1.0"); + src: url("./fonts/Regular/OpenSans-Regular.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/Regular/OpenSans-Regular.woff?v=1.1.0") format("woff"), url("./fonts/Regular/OpenSans-Regular.ttf?v=1.1.0") format("truetype"), url("./fonts/Regular/OpenSans-Regular.svg?v=1.1.0#OpenSansRegular") format("svg"); + font-weight: normal; + font-style: normal; } +/* END Regular */ +/* BEGIN Italic */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/Italic/OpenSans-Italic.eot?v=1.1.0"); + src: url("./fonts/Italic/OpenSans-Italic.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/Italic/OpenSans-Italic.woff?v=1.1.0") format("woff"), url("./fonts/Italic/OpenSans-Italic.ttf?v=1.1.0") format("truetype"), url("./fonts/Italic/OpenSans-Italic.svg?v=1.1.0#OpenSansItalic") format("svg"); + font-weight: normal; + font-style: italic; } +/* END Italic */ +/* BEGIN Semibold */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/Semibold/OpenSans-Semibold.eot?v=1.1.0"); + src: url("./fonts/Semibold/OpenSans-Semibold.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/Semibold/OpenSans-Semibold.woff?v=1.1.0") format("woff"), url("./fonts/Semibold/OpenSans-Semibold.ttf?v=1.1.0") format("truetype"), url("./fonts/Semibold/OpenSans-Semibold.svg?v=1.1.0#OpenSansSemibold") format("svg"); + font-weight: 600; + font-style: normal; } +/* END Semibold */ +/* BEGIN Semibold Italic */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/SemiboldItalic/OpenSans-SemiboldItalic.eot?v=1.1.0"); + src: url("./fonts/SemiboldItalic/OpenSans-SemiboldItalic.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff?v=1.1.0") format("woff"), url("./fonts/SemiboldItalic/OpenSans-SemiboldItalic.ttf?v=1.1.0") format("truetype"), url("./fonts/SemiboldItalic/OpenSans-SemiboldItalic.svg?v=1.1.0#OpenSansSemiboldItalic") format("svg"); + font-weight: 600; + font-style: italic; } +/* END Semibold Italic */ +/* BEGIN Bold */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/Bold/OpenSans-Bold.eot?v=1.1.0"); + src: url("./fonts/Bold/OpenSans-Bold.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/Bold/OpenSans-Bold.woff?v=1.1.0") format("woff"), url("./fonts/Bold/OpenSans-Bold.ttf?v=1.1.0") format("truetype"), url("./fonts/Bold/OpenSans-Bold.svg?v=1.1.0#OpenSansBold") format("svg"); + font-weight: bold; + font-style: normal; } +/* END Bold */ +/* BEGIN Bold Italic */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/BoldItalic/OpenSans-BoldItalic.eot?v=1.1.0"); + src: url("./fonts/BoldItalic/OpenSans-BoldItalic.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/BoldItalic/OpenSans-BoldItalic.woff?v=1.1.0") format("woff"), url("./fonts/BoldItalic/OpenSans-BoldItalic.ttf?v=1.1.0") format("truetype"), url("./fonts/BoldItalic/OpenSans-BoldItalic.svg?v=1.1.0#OpenSansBoldItalic") format("svg"); + font-weight: bold; + font-style: italic; } +/* END Bold Italic */ +/* BEGIN Extrabold */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/ExtraBold/OpenSans-ExtraBold.eot?v=1.1.0"); + src: url("./fonts/ExtraBold/OpenSans-ExtraBold.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/ExtraBold/OpenSans-ExtraBold.woff?v=1.1.0") format("woff"), url("./fonts/ExtraBold/OpenSans-ExtraBold.ttf?v=1.1.0") format("truetype"), url("./fonts/ExtraBold/OpenSans-ExtraBold.svg?v=1.1.0#OpenSansExtrabold") format("svg"); + font-weight: 800; + font-style: normal; } +/* END Extrabold */ +/* BEGIN Extrabold Italic */ +@font-face { + font-family: 'Open Sans'; + src: url("./fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot?v=1.1.0"); + src: url("./fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot?#iefix&v=1.1.0") format("embedded-opentype"), url("./fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff?v=1.1.0") format("woff"), url("./fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf?v=1.1.0") format("truetype"), url("./fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg?v=1.1.0#OpenSansExtraboldItalic") format("svg"); + font-weight: 800; + font-style: italic; } +/* END Extrabold Italic */ diff --git a/frameworks/awesome-bootstrap-checkbox/LICENSE b/frameworks/awesome-bootstrap-checkbox/LICENSE new file mode 100644 index 0000000000..c5cd856bc6 --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 flatlogic.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/frameworks/awesome-bootstrap-checkbox/README.md b/frameworks/awesome-bootstrap-checkbox/README.md new file mode 100644 index 0000000000..a83fa9c15e --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/README.md @@ -0,0 +1,187 @@ +Awesome Bootstrap Checkbox +========================== + +[![NPM version](https://img.shields.io/npm/v/awesome-bootstrap-checkbox.svg?style=flat)](https://www.npmjs.com/package/awesome-bootstrap-checkbox) +[![NPM downloads](https://img.shields.io/npm/dm/awesome-bootstrap-checkbox.svg?style=flat)](https://www.npmjs.com/package/awesome-bootstrap-checkbox) +[![Dependency Status](https://img.shields.io/david/dev/flatlogic/awesome-bootstrap-checkbox.svg?branch=master&style=flat)](https://www.npmjs.com/package/awesome-bootstrap-checkbox) +[![Join the chat at https://gitter.im/flatlogic/awesome-bootstrap-checkbox](https://badges.gitter.im/flatlogic/awesome-bootstrap-checkbox.svg)](https://gitter.im/flatlogic/awesome-bootstrap-checkbox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +[Font Awesome][] [Bootstrap][] Checkboxes & Radios plugin. Pure CSS way to make inputs look prettier. **No Javascript!** + +For **[Bootstrap 4][]** checkout [v1.0.0-alpha.1][] tag! + +**[Demo][]** + +Use +------------ + +First just include **awesome-bootstrap-checkbox.css** somewhere in your HTML, or add the equivalent files to your [Sass](#using-sass) / [Less](#using-less) configuration. +Next, everything is based on code convention. Here is checkbox markup from Bootstrap site: + +````html +
+ ... +
+ +
+ ... +
+```` + +We have to alter it a bit: +````html +
+ ... +
+ + +
+ ... +
+```` +That's it. It will work. But it **will not** work if you nest input inside label or put label before input. + +If you want to enable **Opera 12** and earlier support just add class `styled` to `input` element: +````html +... + +... +```` + +Browser support +----------- +- Firefox (_3.6+_) +- Chrome (_14+_) +- IE (_9+_) +- Opera (_11.6+_) +- Safari (_6+_) + +Radios +------------ + +It's the same for radios. Markup has to be the following: +````html +
+ ... +
+ + +
+
+ + +
+ ... +
+```` + +Brand Colors and other features +------------ + +You may use `checkbox-primary`, `checkbox-danger`, `radio-info`, etc to style checkboxes and radios with brand bootstrap colors. + +`checkbox-circle` is for rounded checkboxes. + +Inputs without label text: + +````html +
+ + +
+```` + +Using [Sass][] +---------- + +As per example in the `demo` folder, to use Font Awesome you'll have to `@import` the following library parts: + +````scss +@import "../bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/variables"; +@import "../bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins"; + +@import "../bower_components/Font-Awesome/scss/variables"; + +@import "../awesome-bootstrap-checkbox"; +```` + +Adjust this to the path where your bootstrap and font-awesome files are located. + +Using [Less][] +---------- + +Just like the Sass setup, you'll have to `@import` the following library parts: + +````less +@import "../bower_components/bootstrap/less/variables"; +@import "../bower_components/bootstrap/less/mixins"; + +@import "../awesome-bootstrap-checkbox"; + +@import "../bower_components/Font-Awesome/less/variables"; +```` + +Custom icon font +------------ + +If you want to use another icon font instead of Font Awesome, such as [Glyphicons][], override the default variables: +````scss +$font-family-icon: 'Glyphicons Halflings'; +$check-icon: "\e013"; + +.checkbox label:after { + padding-left: 4px; + padding-top: 2px; + font-size: 9px; +} +```` + +or for Less: +````less +@font-family-icon: 'Glyphicons Halflings'; +@check-icon: "\e013"; + +// Same styles as the Sass example... +```` + +Or for plain CSS, override the `.checkbox` class (and `.styled` class for Opera): +````css +input[type="checkbox"].styled:checked + label:after, +input[type="radio"].styled:checked + label:after, +.checkbox input[type=checkbox]:checked + label:after { + font-family: 'Glyphicons Halflings'; + content: "\e013"; +} + +input[type="checkbox"].styled:checked label:after, +input[type="radio"].styled:checked label:after, +.checkbox label:after { + padding-left: 4px; + padding-top: 2px; + font-size: 9px; +} +```` + +Credits +------------ + +Based on the [Official Bootstrap Sass port][Bootstrap Sass] and the awesome [Font Awesome][]. + + +[Demo]: http://flatlogic.github.io/awesome-bootstrap-checkbox/demo/ +[Bootstrap]: http://getbootstrap.com/ +[Bootstrap 4]: https://v4-alpha.getbootstrap.com/ +[v1.0.0-alpha.1]: https://github.com/flatlogic/awesome-bootstrap-checkbox/releases/tag/v1.0.0-alpha.1 +[Bootstrap Sass]: https://github.com/twbs/bootstrap-sass +[Font Awesome]: https://github.com/FortAwesome/Font-Awesome +[Glyphicons]: http://getbootstrap.com/components/#glyphicons +[Sass]: http://sass-lang.com/ +[Less]: http://lesscss.org/ diff --git a/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css b/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css new file mode 100644 index 0000000000..8018befdc6 --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css @@ -0,0 +1,317 @@ +.checkbox { + padding-left: 20px; +} +.checkbox label { + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; +} +.checkbox label::before { + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid #cccccc; + border-radius: 3px; + background-color: #fff; + -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out; + -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out; + transition: border 0.15s ease-in-out, color 0.15s ease-in-out; +} +.checkbox label::after { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + left: 0; + top: 0; + margin-left: -20px; + padding-left: 3px; + padding-top: 1px; + font-size: 11px; + color: #555555; +} +.checkbox input[type="checkbox"], +.checkbox input[type="radio"] { + opacity: 0; + z-index: 1; +} +.checkbox input[type="checkbox"]:focus + label::before, +.checkbox input[type="radio"]:focus + label::before { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.checkbox input[type="checkbox"]:checked + label::after, +.checkbox input[type="radio"]:checked + label::after { + font-family: "FontAwesome"; + content: "\f00c"; +} +.checkbox input[type="checkbox"]:indeterminate + label::after, +.checkbox input[type="radio"]:indeterminate + label::after { + display: block; + content: ""; + width: 10px; + height: 3px; + background-color: #555555; + border-radius: 2px; + margin-left: -16.5px; + margin-top: 7px; +} +.checkbox input[type="checkbox"]:disabled + label, +.checkbox input[type="radio"]:disabled + label { + opacity: 0.65; +} +.checkbox input[type="checkbox"]:disabled + label::before, +.checkbox input[type="radio"]:disabled + label::before { + background-color: #eeeeee; + cursor: not-allowed; +} +.checkbox.checkbox-circle label::before { + border-radius: 50%; +} +.checkbox.checkbox-inline { + margin-top: 0; +} + +.checkbox-primary input[type="checkbox"]:checked + label::before, +.checkbox-primary input[type="radio"]:checked + label::before { + background-color: #337ab7; + border-color: #337ab7; +} +.checkbox-primary input[type="checkbox"]:checked + label::after, +.checkbox-primary input[type="radio"]:checked + label::after { + color: #fff; +} + +.checkbox-danger input[type="checkbox"]:checked + label::before, +.checkbox-danger input[type="radio"]:checked + label::before { + background-color: #d9534f; + border-color: #d9534f; +} +.checkbox-danger input[type="checkbox"]:checked + label::after, +.checkbox-danger input[type="radio"]:checked + label::after { + color: #fff; +} + +.checkbox-info input[type="checkbox"]:checked + label::before, +.checkbox-info input[type="radio"]:checked + label::before { + background-color: #5bc0de; + border-color: #5bc0de; +} +.checkbox-info input[type="checkbox"]:checked + label::after, +.checkbox-info input[type="radio"]:checked + label::after { + color: #fff; +} + +.checkbox-warning input[type="checkbox"]:checked + label::before, +.checkbox-warning input[type="radio"]:checked + label::before { + background-color: #f0ad4e; + border-color: #f0ad4e; +} +.checkbox-warning input[type="checkbox"]:checked + label::after, +.checkbox-warning input[type="radio"]:checked + label::after { + color: #fff; +} + +.checkbox-success input[type="checkbox"]:checked + label::before, +.checkbox-success input[type="radio"]:checked + label::before { + background-color: #5cb85c; + border-color: #5cb85c; +} +.checkbox-success input[type="checkbox"]:checked + label::after, +.checkbox-success input[type="radio"]:checked + label::after { + color: #fff; +} + +.checkbox-primary input[type="checkbox"]:indeterminate + label::before, +.checkbox-primary input[type="radio"]:indeterminate + label::before { + background-color: #337ab7; + border-color: #337ab7; +} + +.checkbox-primary input[type="checkbox"]:indeterminate + label::after, +.checkbox-primary input[type="radio"]:indeterminate + label::after { + background-color: #fff; +} + +.checkbox-danger input[type="checkbox"]:indeterminate + label::before, +.checkbox-danger input[type="radio"]:indeterminate + label::before { + background-color: #d9534f; + border-color: #d9534f; +} + +.checkbox-danger input[type="checkbox"]:indeterminate + label::after, +.checkbox-danger input[type="radio"]:indeterminate + label::after { + background-color: #fff; +} + +.checkbox-info input[type="checkbox"]:indeterminate + label::before, +.checkbox-info input[type="radio"]:indeterminate + label::before { + background-color: #5bc0de; + border-color: #5bc0de; +} + +.checkbox-info input[type="checkbox"]:indeterminate + label::after, +.checkbox-info input[type="radio"]:indeterminate + label::after { + background-color: #fff; +} + +.checkbox-warning input[type="checkbox"]:indeterminate + label::before, +.checkbox-warning input[type="radio"]:indeterminate + label::before { + background-color: #f0ad4e; + border-color: #f0ad4e; +} + +.checkbox-warning input[type="checkbox"]:indeterminate + label::after, +.checkbox-warning input[type="radio"]:indeterminate + label::after { + background-color: #fff; +} + +.checkbox-success input[type="checkbox"]:indeterminate + label::before, +.checkbox-success input[type="radio"]:indeterminate + label::before { + background-color: #5cb85c; + border-color: #5cb85c; +} + +.checkbox-success input[type="checkbox"]:indeterminate + label::after, +.checkbox-success input[type="radio"]:indeterminate + label::after { + background-color: #fff; +} + +.radio { + padding-left: 20px; +} +.radio label { + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; +} +.radio label::before { + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid #cccccc; + border-radius: 50%; + background-color: #fff; + -webkit-transition: border 0.15s ease-in-out; + -o-transition: border 0.15s ease-in-out; + transition: border 0.15s ease-in-out; +} +.radio label::after { + display: inline-block; + position: absolute; + content: " "; + width: 11px; + height: 11px; + left: 3px; + top: 3px; + margin-left: -20px; + border-radius: 50%; + background-color: #555555; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + -o-transform: scale(0, 0); + transform: scale(0, 0); + -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); + -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); + -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); + transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); +} +.radio input[type="radio"] { + opacity: 0; + z-index: 1; +} +.radio input[type="radio"]:focus + label::before { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.radio input[type="radio"]:checked + label::after { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.radio input[type="radio"]:disabled + label { + opacity: 0.65; +} +.radio input[type="radio"]:disabled + label::before { + cursor: not-allowed; +} +.radio.radio-inline { + margin-top: 0; +} + +.radio-primary input[type="radio"] + label::after { + background-color: #337ab7; +} +.radio-primary input[type="radio"]:checked + label::before { + border-color: #337ab7; +} +.radio-primary input[type="radio"]:checked + label::after { + background-color: #337ab7; +} + +.radio-danger input[type="radio"] + label::after { + background-color: #d9534f; +} +.radio-danger input[type="radio"]:checked + label::before { + border-color: #d9534f; +} +.radio-danger input[type="radio"]:checked + label::after { + background-color: #d9534f; +} + +.radio-info input[type="radio"] + label::after { + background-color: #5bc0de; +} +.radio-info input[type="radio"]:checked + label::before { + border-color: #5bc0de; +} +.radio-info input[type="radio"]:checked + label::after { + background-color: #5bc0de; +} + +.radio-warning input[type="radio"] + label::after { + background-color: #f0ad4e; +} +.radio-warning input[type="radio"]:checked + label::before { + border-color: #f0ad4e; +} +.radio-warning input[type="radio"]:checked + label::after { + background-color: #f0ad4e; +} + +.radio-success input[type="radio"] + label::after { + background-color: #5cb85c; +} +.radio-success input[type="radio"]:checked + label::before { + border-color: #5cb85c; +} +.radio-success input[type="radio"]:checked + label::after { + background-color: #5cb85c; +} + +input[type="checkbox"].styled:checked + label:after, +input[type="radio"].styled:checked + label:after { + font-family: 'FontAwesome'; + content: "\f00c"; +} +input[type="checkbox"] .styled:checked + label::before, +input[type="radio"] .styled:checked + label::before { + color: #fff; +} +input[type="checkbox"] .styled:checked + label::after, +input[type="radio"] .styled:checked + label::after { + color: #fff; +} diff --git a/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.less b/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.less new file mode 100644 index 0000000000..9db204fd6a --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.less @@ -0,0 +1,241 @@ +// +// Checkboxes +// -------------------------------------------------- + +@font-family-icon: 'FontAwesome'; +@fa-var-check: "\f00c"; +@check-icon: @fa-var-check; + +.checkbox-variant(@parent, @color) { + .@{parent} input[type="checkbox"]:checked + label, + .@{parent} input[type="radio"]:checked + label { + &::before { + background-color: @color; + border-color: @color; + } + &::after { + color: #fff; + } + } +} + +.checkbox-variant-indeterminate(@parent, @color) { + .@{parent} input[type="checkbox"]:indeterminate + label, + .@{parent} input[type="radio"]:indeterminate + label { + &::before { + background-color: @color; + border-color: @color; + } + &::after { + background-color: #fff; + } + } +} + + +.checkbox{ + padding-left: 20px; + + label{ + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; + + &::before{ + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid @input-border; + border-radius: 3px; + 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: 0; + top: 0; + margin-left: -20px; + padding-left: 3px; + padding-top: 1px; + font-size: 11px; + color: @input-color; + } + } + + input[type="checkbox"], + input[type="radio"]{ + opacity: 0; + z-index: 1; + + &:focus + label::before{ + .tab-focus(); + } + + &:checked + label::after{ + font-family: @font-family-icon; + content: @check-icon; + } + + &:indeterminate + label::after{ + display: block; + content: " "; + width: 10px; + height: 3px; + background-color: #555555; + border-radius: 2px; + margin-left: -16.5px; + margin-top: 7px; + } + + &:disabled + label{ + opacity: 0.65; + + &::before{ + background-color: @input-bg-disabled; + cursor: not-allowed; + } + } + + } + + &.checkbox-circle label::before{ + border-radius: 50%; + } + + &.checkbox-inline{ + margin-top: 0; + } +} + +.checkbox-variant(checkbox-primary, @brand-primary); +.checkbox-variant(checkbox-danger, @brand-danger); +.checkbox-variant(checkbox-info, @brand-info); +.checkbox-variant(checkbox-warning, @brand-warning); +.checkbox-variant(checkbox-success, @brand-success); + +.checkbox-variant-indeterminate(checkbox-primary, @brand-primary); +.checkbox-variant-indeterminate(checkbox-danger, @brand-danger); +.checkbox-variant-indeterminate(checkbox-info, @brand-info); +.checkbox-variant-indeterminate(checkbox-warning, @brand-warning); +.checkbox-variant-indeterminate(checkbox-success, @brand-success); + +// +// Radios +// -------------------------------------------------- + +.radio-variant(@parent, @color) { + .@{parent} input[type="radio"]{ + & + label{ + &::after{ + background-color: @color; + } + } + &:checked + label{ + &::before { + border-color: @color; + } + &::after{ + background-color: @color; + } + } + } +} + +.radio{ + padding-left: 20px; + + label{ + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; + + &::before{ + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid @input-border; + border-radius: 50%; + background-color: #fff; + .transition(border 0.15s ease-in-out); + } + + &::after{ + display: inline-block; + position: absolute; + content: " "; + width: 11px; + height: 11px; + left: 3px; + top: 3px; + margin-left: -20px; + border-radius: 50%; + background-color: @input-color; + .scale(0, 0); + + .transition-transform(.1s cubic-bezier(.8,-0.33,.2,1.33)); + //curve - http://cubic-bezier.com/#.8,-0.33,.2,1.33 + } + } + + input[type="radio"]{ + opacity: 0; + z-index: 1; + + &:focus + label::before{ + .tab-focus(); + } + + &:checked + label::after{ + .scale(1, 1); + } + + &:disabled + label{ + opacity: 0.65; + + &::before{ + cursor: not-allowed; + } + } + + } + + &.radio-inline{ + margin-top: 0; + } +} + +.radio-variant(radio-primary, @brand-primary); +.radio-variant(radio-danger, @brand-danger); +.radio-variant(radio-info, @brand-info); +.radio-variant(radio-warning, @brand-warning); +.radio-variant(radio-success, @brand-success); + +input[type="checkbox"], +input[type="radio"] { + &.styled:checked + label:after { + font-family: @font-family-icon; + content: @check-icon; + } + & .styled:checked + label { + &::before { + color: #fff; + } + &::after { + color: #fff; + } + } +} diff --git a/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.scss b/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.scss new file mode 100644 index 0000000000..5f1fbb642f --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.scss @@ -0,0 +1,245 @@ +// +// Checkboxes +// -------------------------------------------------- + + +$font-family-icon: 'FontAwesome' !default; +$fa-var-check: "\f00c" !default; +$check-icon: $fa-var-check !default; + +@mixin checkbox-variant($parent, $color) { + #{$parent} input[type="checkbox"]:checked + label, + #{$parent} input[type="radio"]:checked + label { + &::before { + background-color: $color; + border-color: $color; + } + &::after{ + color: #fff; + } + } +} + +@mixin checkbox-variant-indeterminate($parent, $color) { + #{$parent} input[type="checkbox"]:indeterminate + label, + #{$parent} input[type="radio"]:indeterminate + label { + &::before { + background-color: $color; + border-color: $color; + } + &::after{ + background-color: #fff; + } + } +} + + + +.checkbox{ + padding-left: 20px; + + label{ + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; + + &::before{ + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid $input-border; + border-radius: 3px; + background-color: #fff; + @include transition(border 0.15s ease-in-out, color 0.15s ease-in-out); + } + + &::after{ + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + left: 0; + top: 0; + margin-left: -20px; + padding-left: 3px; + padding-top: 1px; + font-size: 11px; + color: $input-color; + } + } + + input[type="checkbox"], + input[type="radio"] { + opacity: 0; + z-index: 1; + + &:focus + label::before{ + @include tab-focus(); + } + + &:checked + label::after{ + font-family: $font-family-icon; + content: $check-icon; + } + + &:indeterminate + label::after{ + display: block; + content: ""; + width: 10px; + height: 3px; + background-color: #555555; + border-radius: 2px; + margin-left: -16.5px; + margin-top: 7px; + } + + &:disabled + label{ + opacity: 0.65; + + &::before{ + background-color: $input-bg-disabled; + cursor: not-allowed; + } + } + + } + + &.checkbox-circle label::before{ + border-radius: 50%; + } + + &.checkbox-inline{ + margin-top: 0; + } +} + +@include checkbox-variant('.checkbox-primary', $brand-primary); +@include checkbox-variant('.checkbox-danger', $brand-danger); +@include checkbox-variant('.checkbox-info', $brand-info); +@include checkbox-variant('.checkbox-warning', $brand-warning); +@include checkbox-variant('.checkbox-success', $brand-success); + + +@include checkbox-variant-indeterminate('.checkbox-primary', $brand-primary); +@include checkbox-variant-indeterminate('.checkbox-danger', $brand-danger); +@include checkbox-variant-indeterminate('.checkbox-info', $brand-info); +@include checkbox-variant-indeterminate('.checkbox-warning', $brand-warning); +@include checkbox-variant-indeterminate('.checkbox-success', $brand-success); + +// +// Radios +// -------------------------------------------------- + +@mixin radio-variant($parent, $color) { + #{$parent} input[type="radio"]{ + + label{ + &::after{ + background-color: $color; + } + } + &:checked + label{ + &::before { + border-color: $color; + } + &::after{ + background-color: $color; + } + } + } +} + +.radio{ + padding-left: 20px; + + label{ + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; + + &::before{ + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid $input-border; + border-radius: 50%; + background-color: #fff; + @include transition(border 0.15s ease-in-out); + } + + &::after{ + display: inline-block; + position: absolute; + content: " "; + width: 11px; + height: 11px; + left: 3px; + top: 3px; + margin-left: -20px; + border-radius: 50%; + background-color: $input-color; + @include scale(0, 0); + + @include transition-transform(.1s cubic-bezier(.8,-0.33,.2,1.33)); + //curve - http://cubic-bezier.com/#.8,-0.33,.2,1.33 + } + } + + input[type="radio"]{ + opacity: 0; + z-index: 1; + + &:focus + label::before{ + @include tab-focus(); + } + + &:checked + label::after{ + @include scale(1, 1); + } + + &:disabled + label{ + opacity: 0.65; + + &::before{ + cursor: not-allowed; + } + } + + } + + &.radio-inline{ + margin-top: 0; + } +} + +@include radio-variant('.radio-primary', $brand-primary); +@include radio-variant('.radio-danger', $brand-danger); +@include radio-variant('.radio-info', $brand-info); +@include radio-variant('.radio-warning', $brand-warning); +@include radio-variant('.radio-success', $brand-success); + + +input[type="checkbox"], +input[type="radio"] { + &.styled:checked + label:after { + font-family: $font-family-icon; + content: $check-icon; + } + .styled:checked + label { + &::before { + color: #fff; + } + &::after { + color: #fff; + } + } +} diff --git a/frameworks/awesome-bootstrap-checkbox/bower.json b/frameworks/awesome-bootstrap-checkbox/bower.json new file mode 100644 index 0000000000..fdee630c38 --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/bower.json @@ -0,0 +1,22 @@ +{ + "name": "awesome-bootstrap-checkbox", + "main": [ + "awesome-bootstrap-checkbox.css", + "awesome-bootstrap-checkbox.scss" + ], + "version": "0.3.7", + "homepage": "https://github.com/flatlogic/awesome-bootstrap-checkbox", + "authors": [ + "okendoken flatlogic.com" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "bower_components" + ], + "dependencies": {}, + "devDependencies": { + "bootstrap-sass-official": "3.3.3", + "font-awesome-sass": "4.3.1" + } +} diff --git a/frameworks/awesome-bootstrap-checkbox/package.json b/frameworks/awesome-bootstrap-checkbox/package.json new file mode 100644 index 0000000000..806161c284 --- /dev/null +++ b/frameworks/awesome-bootstrap-checkbox/package.json @@ -0,0 +1,32 @@ +{ + "name": "awesome-bootstrap-checkbox", + "version": "0.3.7", + "description": "Font Awesome Bootstrap Checkboxes & Radios. Pure css way to make inputs look prettier.", + "main": "awesome-bootstrap-checkbox.css", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://github.com/flatlogic/awesome-bootstrap-checkbox.git" + }, + "keywords": [ + "bootstrap", + "font-awesome", + "scss", + "less" + ], + "author": "contact@flatlogic.com (http://flatlogic.com)", + "license": "MIT", + "bugs": { + "url": "https://github.com/flatlogic/awesome-bootstrap-checkbox/issues" + }, + "homepage": "https://github.com/flatlogic/awesome-bootstrap-checkbox", + "files": [ + "demo", + "awesome-bootstrap-checkbox.css", + "awesome-bootstrap-checkbox.scss", + "awesome-bootstrap-checkbox.less", + "bower.json" + ] +} diff --git a/frameworks/bootstrap-colorpicker/LICENSE b/frameworks/bootstrap-colorpicker/LICENSE new file mode 100644 index 0000000000..a37331e733 --- /dev/null +++ b/frameworks/bootstrap-colorpicker/LICENSE @@ -0,0 +1,13 @@ +Copyright 2012 Stefan Petre + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/frameworks/bootstrap-colorpicker/README.md b/frameworks/bootstrap-colorpicker/README.md new file mode 100644 index 0000000000..7293f6bdb9 --- /dev/null +++ b/frameworks/bootstrap-colorpicker/README.md @@ -0,0 +1,23 @@ +# Bootstrap Colorpicker 2.3 + +A nice and customizable colorpicker plugin for Twitter Bootstrap + +[![Join the chat at https://gitter.im/mjolnic/bootstrap-colorpicker](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mjolnic/bootstrap-colorpicker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/mjolnic/bootstrap-colorpicker.png)](https://travis-ci.org/mjolnic/bootstrap-colorpicker) + +## Installation +For downloading the source code, you have many choices: + +- Downloading the [latest source code ZIP file](https://github.com/mjolnic/bootstrap-colorpicker/archive/master.zip) +- Cloning: `git clone https://github.com/mjolnic/bootstrap-colorpicker.git` +- Installing via: `bower install mjolnic-bootstrap-colorpicker` +- Installing via: `npm install bootstrap-colorpicker` + +## Getting started +- For using the plugin you will only need the files under the `dist` folder +- You can read the [documentation here](http://mjolnic.github.io/bootstrap-colorpicker/) + +## Contributing and reporting issues +If you want to contribute to the source code or report issues and suggestions, please read the [CONTRIBUTING.md](CONTRIBUTING.md) guidelines first. + +## Credits +Originally written by [Stefan Petre](http://www.eyecon.ro/) diff --git a/frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.css b/frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.css new file mode 100644 index 0000000000..3f8ba1c2cb --- /dev/null +++ b/frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.css @@ -0,0 +1,261 @@ +/*! + * Bootstrap Colorpicker + * http://mjolnic.github.io/bootstrap-colorpicker/ + * + * Originally written by (c) 2012 Stefan Petre + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + */ + +.colorpicker-saturation { + float: left; + width: 100px; + height: 100px; + cursor: crosshair; + background-image: url("../img/bootstrap-colorpicker/saturation.png"); +} + +.colorpicker-saturation i { + position: absolute; + top: 0; + left: 0; + display: block; + width: 5px; + height: 5px; + margin: -4px 0 0 -4px; + border: 1px solid #000; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.colorpicker-saturation i b { + display: block; + width: 5px; + height: 5px; + border: 1px solid #fff; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.colorpicker-hue, +.colorpicker-alpha { + float: left; + width: 15px; + height: 100px; + margin-bottom: 4px; + margin-left: 4px; + cursor: row-resize; +} + +.colorpicker-hue i, +.colorpicker-alpha i { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 1px; + margin-top: -1px; + background: #000; + border-top: 1px solid #fff; +} + +.colorpicker-hue { + background-image: url("../img/bootstrap-colorpicker/hue.png"); +} + +.colorpicker-alpha { + display: none; + background-image: url("../img/bootstrap-colorpicker/alpha.png"); +} + +.colorpicker-saturation, +.colorpicker-hue, +.colorpicker-alpha { + background-size: contain; +} + +.colorpicker { + top: 0; + left: 0; + z-index: 2500; + min-width: 130px; + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *zoom: 1; +} + +.colorpicker:before, +.colorpicker:after { + display: table; + line-height: 0; + content: ""; +} + +.colorpicker:after { + clear: both; +} + +.colorpicker:before { + position: absolute; + top: -7px; + left: 6px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.colorpicker:after { + position: absolute; + top: -6px; + left: 7px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.colorpicker div { + position: relative; +} + +.colorpicker.colorpicker-with-alpha { + min-width: 140px; +} + +.colorpicker.colorpicker-with-alpha .colorpicker-alpha { + display: block; +} + +.colorpicker-color { + height: 10px; + margin-top: 5px; + clear: both; + background-image: url("../img/bootstrap-colorpicker/alpha.png"); + background-position: 0 100%; +} + +.colorpicker-color div { + height: 10px; +} + +.colorpicker-selectors { + display: none; + height: 10px; + margin-top: 5px; + clear: both; +} + +.colorpicker-selectors i { + float: left; + width: 10px; + height: 10px; + cursor: pointer; +} + +.colorpicker-selectors i + i { + margin-left: 3px; +} + +.colorpicker-element .input-group-addon i, +.colorpicker-element .add-on i { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: text-top; + cursor: pointer; +} + +.colorpicker.colorpicker-inline { + position: relative; + z-index: auto; + display: inline-block; + float: none; +} + +.colorpicker.colorpicker-horizontal { + width: 110px; + height: auto; + min-width: 110px; +} + +.colorpicker.colorpicker-horizontal .colorpicker-saturation { + margin-bottom: 4px; +} + +.colorpicker.colorpicker-horizontal .colorpicker-color { + width: 100px; +} + +.colorpicker.colorpicker-horizontal .colorpicker-hue, +.colorpicker.colorpicker-horizontal .colorpicker-alpha { + float: left; + width: 100px; + height: 15px; + margin-bottom: 4px; + margin-left: 0; + cursor: col-resize; +} + +.colorpicker.colorpicker-horizontal .colorpicker-hue i, +.colorpicker.colorpicker-horizontal .colorpicker-alpha i { + position: absolute; + top: 0; + left: 0; + display: block; + width: 1px; + height: 15px; + margin-top: 0; + background: #ffffff; + border: none; +} + +.colorpicker.colorpicker-horizontal .colorpicker-hue { + background-image: url("../img/bootstrap-colorpicker/hue-horizontal.png"); +} + +.colorpicker.colorpicker-horizontal .colorpicker-alpha { + background-image: url("../img/bootstrap-colorpicker/alpha-horizontal.png"); +} + +.colorpicker.colorpicker-hidden { + display: none; +} + +.colorpicker.colorpicker-visible { + display: block; +} + +.colorpicker-inline.colorpicker-visible { + display: inline-block; +} + +.colorpicker-right:before { + right: 6px; + left: auto; +} + +.colorpicker-right:after { + right: 7px; + left: auto; +} + +.colorpicker-no-arrow:before { + border-right: 0; + border-left: 0; +} + +.colorpicker-no-arrow:after { + border-right: 0; + border-left: 0; +} \ No newline at end of file diff --git a/frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css b/frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css new file mode 100644 index 0000000000..28a87180ac --- /dev/null +++ b/frameworks/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Colorpicker + * http://mjolnic.github.io/bootstrap-colorpicker/ + * + * Originally written by (c) 2012 Stefan Petre + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + */.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("../img/bootstrap-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("../img/bootstrap-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("../img/bootstrap-colorpicker/alpha.png")}.colorpicker-saturation,.colorpicker-hue,.colorpicker-alpha{background-size:contain}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("../img/bootstrap-colorpicker/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{float:left;width:10px;height:10px;cursor:pointer}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{display:inline-block;width:16px;height:16px;vertical-align:text-top;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("../img/bootstrap-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("../img/bootstrap-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block}.colorpicker-right:before{right:6px;left:auto}.colorpicker-right:after{right:7px;left:auto}.colorpicker-no-arrow:before{border-right:0;border-left:0}.colorpicker-no-arrow:after{border-right:0;border-left:0} \ No newline at end of file diff --git a/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png new file mode 100644 index 0000000000..d0a65c08b0 Binary files /dev/null and b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png differ diff --git a/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha.png b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha.png new file mode 100644 index 0000000000..38043f1c85 Binary files /dev/null and b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha.png differ diff --git a/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/hue-horizontal.png b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/hue-horizontal.png new file mode 100644 index 0000000000..a0d9add8e7 Binary files /dev/null and b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/hue-horizontal.png differ diff --git a/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/hue.png b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/hue.png new file mode 100644 index 0000000000..d89560e999 Binary files /dev/null and b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/hue.png differ diff --git a/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/saturation.png b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/saturation.png new file mode 100644 index 0000000000..594ae50ed7 Binary files /dev/null and b/frameworks/bootstrap-colorpicker/img/bootstrap-colorpicker/saturation.png differ diff --git a/frameworks/bootstrap-colorpicker/js/bootstrap-colorpicker.js b/frameworks/bootstrap-colorpicker/js/bootstrap-colorpicker.js new file mode 100644 index 0000000000..f02bd43de5 --- /dev/null +++ b/frameworks/bootstrap-colorpicker/js/bootstrap-colorpicker.js @@ -0,0 +1,1087 @@ +/*! + * Bootstrap Colorpicker + * http://mjolnic.github.io/bootstrap-colorpicker/ + * + * Originally written by (c) 2012 Stefan Petre + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * @todo Update DOCS + */ + +(function(factory) { + "use strict"; + if (typeof exports === 'object') { + module.exports = factory(window.jQuery); + } else if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (window.jQuery && !window.jQuery.fn.colorpicker) { + factory(window.jQuery); + } + } + (function($) { + 'use strict'; + + // Color object + var Color = function(val, customColors) { + this.value = { + h: 0, + s: 0, + b: 0, + a: 1 + }; + this.origFormat = null; // original string format + if (customColors) { + $.extend(this.colors, customColors); + } + if (val) { + if (val.toLowerCase !== undefined) { + // cast to string + val = val + ''; + this.setColor(val); + } else if (val.h !== undefined) { + this.value = val; + } + } + }; + + Color.prototype = { + constructor: Color, + // 140 predefined colors from the HTML Colors spec + colors: { + "aliceblue": "#f0f8ff", + "antiquewhite": "#faebd7", + "aqua": "#00ffff", + "aquamarine": "#7fffd4", + "azure": "#f0ffff", + "beige": "#f5f5dc", + "bisque": "#ffe4c4", + "black": "#000000", + "blanchedalmond": "#ffebcd", + "blue": "#0000ff", + "blueviolet": "#8a2be2", + "brown": "#a52a2a", + "burlywood": "#deb887", + "cadetblue": "#5f9ea0", + "chartreuse": "#7fff00", + "chocolate": "#d2691e", + "coral": "#ff7f50", + "cornflowerblue": "#6495ed", + "cornsilk": "#fff8dc", + "crimson": "#dc143c", + "cyan": "#00ffff", + "darkblue": "#00008b", + "darkcyan": "#008b8b", + "darkgoldenrod": "#b8860b", + "darkgray": "#a9a9a9", + "darkgreen": "#006400", + "darkkhaki": "#bdb76b", + "darkmagenta": "#8b008b", + "darkolivegreen": "#556b2f", + "darkorange": "#ff8c00", + "darkorchid": "#9932cc", + "darkred": "#8b0000", + "darksalmon": "#e9967a", + "darkseagreen": "#8fbc8f", + "darkslateblue": "#483d8b", + "darkslategray": "#2f4f4f", + "darkturquoise": "#00ced1", + "darkviolet": "#9400d3", + "deeppink": "#ff1493", + "deepskyblue": "#00bfff", + "dimgray": "#696969", + "dodgerblue": "#1e90ff", + "firebrick": "#b22222", + "floralwhite": "#fffaf0", + "forestgreen": "#228b22", + "fuchsia": "#ff00ff", + "gainsboro": "#dcdcdc", + "ghostwhite": "#f8f8ff", + "gold": "#ffd700", + "goldenrod": "#daa520", + "gray": "#808080", + "green": "#008000", + "greenyellow": "#adff2f", + "honeydew": "#f0fff0", + "hotpink": "#ff69b4", + "indianred": "#cd5c5c", + "indigo": "#4b0082", + "ivory": "#fffff0", + "khaki": "#f0e68c", + "lavender": "#e6e6fa", + "lavenderblush": "#fff0f5", + "lawngreen": "#7cfc00", + "lemonchiffon": "#fffacd", + "lightblue": "#add8e6", + "lightcoral": "#f08080", + "lightcyan": "#e0ffff", + "lightgoldenrodyellow": "#fafad2", + "lightgrey": "#d3d3d3", + "lightgreen": "#90ee90", + "lightpink": "#ffb6c1", + "lightsalmon": "#ffa07a", + "lightseagreen": "#20b2aa", + "lightskyblue": "#87cefa", + "lightslategray": "#778899", + "lightsteelblue": "#b0c4de", + "lightyellow": "#ffffe0", + "lime": "#00ff00", + "limegreen": "#32cd32", + "linen": "#faf0e6", + "magenta": "#ff00ff", + "maroon": "#800000", + "mediumaquamarine": "#66cdaa", + "mediumblue": "#0000cd", + "mediumorchid": "#ba55d3", + "mediumpurple": "#9370d8", + "mediumseagreen": "#3cb371", + "mediumslateblue": "#7b68ee", + "mediumspringgreen": "#00fa9a", + "mediumturquoise": "#48d1cc", + "mediumvioletred": "#c71585", + "midnightblue": "#191970", + "mintcream": "#f5fffa", + "mistyrose": "#ffe4e1", + "moccasin": "#ffe4b5", + "navajowhite": "#ffdead", + "navy": "#000080", + "oldlace": "#fdf5e6", + "olive": "#808000", + "olivedrab": "#6b8e23", + "orange": "#ffa500", + "orangered": "#ff4500", + "orchid": "#da70d6", + "palegoldenrod": "#eee8aa", + "palegreen": "#98fb98", + "paleturquoise": "#afeeee", + "palevioletred": "#d87093", + "papayawhip": "#ffefd5", + "peachpuff": "#ffdab9", + "peru": "#cd853f", + "pink": "#ffc0cb", + "plum": "#dda0dd", + "powderblue": "#b0e0e6", + "purple": "#800080", + "red": "#ff0000", + "rosybrown": "#bc8f8f", + "royalblue": "#4169e1", + "saddlebrown": "#8b4513", + "salmon": "#fa8072", + "sandybrown": "#f4a460", + "seagreen": "#2e8b57", + "seashell": "#fff5ee", + "sienna": "#a0522d", + "silver": "#c0c0c0", + "skyblue": "#87ceeb", + "slateblue": "#6a5acd", + "slategray": "#708090", + "snow": "#fffafa", + "springgreen": "#00ff7f", + "steelblue": "#4682b4", + "tan": "#d2b48c", + "teal": "#008080", + "thistle": "#d8bfd8", + "tomato": "#ff6347", + "turquoise": "#40e0d0", + "violet": "#ee82ee", + "wheat": "#f5deb3", + "white": "#ffffff", + "whitesmoke": "#f5f5f5", + "yellow": "#ffff00", + "yellowgreen": "#9acd32", + "transparent": "transparent" + }, + _sanitizeNumber: function(val) { + if (typeof val === 'number') { + return val; + } + if (isNaN(val) || (val === null) || (val === '') || (val === undefined)) { + return 1; + } + if (val.toLowerCase !== undefined) { + return parseFloat(val); + } + return 1; + }, + isTransparent: function(strVal) { + if (!strVal) { + return false; + } + strVal = strVal.toLowerCase().trim(); + return (strVal === 'transparent') || (strVal.match(/#?00000000/)) || (strVal.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/)); + }, + rgbaIsTransparent: function(rgba) { + return ((rgba.r === 0) && (rgba.g === 0) && (rgba.b === 0) && (rgba.a === 0)); + }, + //parse a string to HSB + setColor: function(strVal) { + strVal = strVal.toLowerCase().trim(); + if (strVal) { + if (this.isTransparent(strVal)) { + this.value = { + h: 0, + s: 0, + b: 0, + a: 0 + }; + } else { + this.value = this.stringToHSB(strVal) || { + h: 0, + s: 0, + b: 0, + a: 1 + }; // if parser fails, defaults to black + } + } + }, + stringToHSB: function(strVal) { + strVal = strVal.toLowerCase(); + var alias; + if (typeof this.colors[strVal] !== 'undefined') { + strVal = this.colors[strVal]; + alias = 'alias'; + } + var that = this, + result = false; + $.each(this.stringParsers, function(i, parser) { + var match = parser.re.exec(strVal), + values = match && parser.parse.apply(that, [match]), + format = alias || parser.format || 'rgba'; + if (values) { + if (format.match(/hsla?/)) { + result = that.RGBtoHSB.apply(that, that.HSLtoRGB.apply(that, values)); + } else { + result = that.RGBtoHSB.apply(that, values); + } + that.origFormat = format; + return false; + } + return true; + }); + return result; + }, + setHue: function(h) { + this.value.h = 1 - h; + }, + setSaturation: function(s) { + this.value.s = s; + }, + setBrightness: function(b) { + this.value.b = 1 - b; + }, + setAlpha: function(a) { + this.value.a = parseInt((1 - a) * 100, 10) / 100; + }, + toRGB: function(h, s, b, a) { + if (!h) { + h = this.value.h; + s = this.value.s; + b = this.value.b; + } + h *= 360; + var R, G, B, X, C; + h = (h % 360) / 60; + C = b * s; + X = C * (1 - Math.abs(h % 2 - 1)); + R = G = B = b - C; + + h = ~~h; + R += [C, X, 0, 0, X, C][h]; + G += [X, C, C, X, 0, 0][h]; + B += [0, 0, X, C, C, X][h]; + return { + r: Math.round(R * 255), + g: Math.round(G * 255), + b: Math.round(B * 255), + a: a || this.value.a + }; + }, + toHex: function(h, s, b, a) { + var rgb = this.toRGB(h, s, b, a); + if (this.rgbaIsTransparent(rgb)) { + return 'transparent'; + } + return '#' + ((1 << 24) | (parseInt(rgb.r) << 16) | (parseInt(rgb.g) << 8) | parseInt(rgb.b)).toString(16).substr(1); + }, + toHSL: function(h, s, b, a) { + h = h || this.value.h; + s = s || this.value.s; + b = b || this.value.b; + a = a || this.value.a; + + var H = h, + L = (2 - s) * b, + S = s * b; + if (L > 0 && L <= 1) { + S /= L; + } else { + S /= 2 - L; + } + L /= 2; + if (S > 1) { + S = 1; + } + return { + h: isNaN(H) ? 0 : H, + s: isNaN(S) ? 0 : S, + l: isNaN(L) ? 0 : L, + a: isNaN(a) ? 0 : a + }; + }, + toAlias: function(r, g, b, a) { + var rgb = this.toHex(r, g, b, a); + for (var alias in this.colors) { + if (this.colors[alias] === rgb) { + return alias; + } + } + return false; + }, + RGBtoHSB: function(r, g, b, a) { + r /= 255; + g /= 255; + b /= 255; + + var H, S, V, C; + V = Math.max(r, g, b); + C = V - Math.min(r, g, b); + H = (C === 0 ? null : + V === r ? (g - b) / C : + V === g ? (b - r) / C + 2 : + (r - g) / C + 4 + ); + H = ((H + 360) % 6) * 60 / 360; + S = C === 0 ? 0 : C / V; + return { + h: this._sanitizeNumber(H), + s: S, + b: V, + a: this._sanitizeNumber(a) + }; + }, + HueToRGB: function(p, q, h) { + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + if ((h * 6) < 1) { + return p + (q - p) * h * 6; + } else if ((h * 2) < 1) { + return q; + } else if ((h * 3) < 2) { + return p + (q - p) * ((2 / 3) - h) * 6; + } else { + return p; + } + }, + HSLtoRGB: function(h, s, l, a) { + if (s < 0) { + s = 0; + } + var q; + if (l <= 0.5) { + q = l * (1 + s); + } else { + q = l + s - (l * s); + } + + var p = 2 * l - q; + + var tr = h + (1 / 3); + var tg = h; + var tb = h - (1 / 3); + + var r = Math.round(this.HueToRGB(p, q, tr) * 255); + var g = Math.round(this.HueToRGB(p, q, tg) * 255); + var b = Math.round(this.HueToRGB(p, q, tb) * 255); + return [r, g, b, this._sanitizeNumber(a)]; + }, + toString: function(format) { + format = format || 'rgba'; + var c = false; + switch (format) { + case 'rgb': + { + c = this.toRGB(); + if (this.rgbaIsTransparent(c)) { + return 'transparent'; + } + return 'rgb(' + c.r + ',' + c.g + ',' + c.b + ')'; + } + break; + case 'rgba': + { + c = this.toRGB(); + return 'rgba(' + c.r + ',' + c.g + ',' + c.b + ',' + c.a + ')'; + } + break; + case 'hsl': + { + c = this.toHSL(); + return 'hsl(' + Math.round(c.h * 360) + ',' + Math.round(c.s * 100) + '%,' + Math.round(c.l * 100) + '%)'; + } + break; + case 'hsla': + { + c = this.toHSL(); + return 'hsla(' + Math.round(c.h * 360) + ',' + Math.round(c.s * 100) + '%,' + Math.round(c.l * 100) + '%,' + c.a + ')'; + } + break; + case 'hex': + { + return this.toHex(); + } + break; + case 'alias': + return this.toAlias() || this.toHex(); + default: + { + return c; + } + break; + } + }, + // a set of RE's that can match strings and generate color tuples. + // from John Resig color plugin + // https://github.com/jquery/jquery-color/ + stringParsers: [{ + re: /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/, + format: 'rgb', + parse: function(execResult) { + return [ + execResult[1], + execResult[2], + execResult[3], + 1 + ]; + } + }, { + re: /rgb\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*?\)/, + format: 'rgb', + parse: function(execResult) { + return [ + 2.55 * execResult[1], + 2.55 * execResult[2], + 2.55 * execResult[3], + 1 + ]; + } + }, { + re: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, + format: 'rgba', + parse: function(execResult) { + return [ + execResult[1], + execResult[2], + execResult[3], + execResult[4] + ]; + } + }, { + re: /rgba\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, + format: 'rgba', + parse: function(execResult) { + return [ + 2.55 * execResult[1], + 2.55 * execResult[2], + 2.55 * execResult[3], + execResult[4] + ]; + } + }, { + re: /hsl\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*?\)/, + format: 'hsl', + parse: function(execResult) { + return [ + execResult[1] / 360, + execResult[2] / 100, + execResult[3] / 100, + execResult[4] + ]; + } + }, { + re: /hsla\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, + format: 'hsla', + parse: function(execResult) { + return [ + execResult[1] / 360, + execResult[2] / 100, + execResult[3] / 100, + execResult[4] + ]; + } + }, { + re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/, + format: 'hex', + parse: function(execResult) { + return [ + parseInt(execResult[1], 16), + parseInt(execResult[2], 16), + parseInt(execResult[3], 16), + 1 + ]; + } + }, { + re: /#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/, + format: 'hex', + parse: function(execResult) { + return [ + parseInt(execResult[1] + execResult[1], 16), + parseInt(execResult[2] + execResult[2], 16), + parseInt(execResult[3] + execResult[3], 16), + 1 + ]; + } + }], + colorNameToHex: function(name) { + if (typeof this.colors[name.toLowerCase()] !== 'undefined') { + return this.colors[name.toLowerCase()]; + } + return false; + } + }; + + + var defaults = { + horizontal: false, // horizontal mode layout ? + inline: false, //forces to show the colorpicker as an inline element + color: false, //forces a color + format: false, //forces a format + input: 'input', // children input selector + container: false, // container selector + component: '.add-on, .input-group-addon', // children component selector + sliders: { + saturation: { + maxLeft: 100, + maxTop: 100, + callLeft: 'setSaturation', + callTop: 'setBrightness' + }, + hue: { + maxLeft: 0, + maxTop: 100, + callLeft: false, + callTop: 'setHue' + }, + alpha: { + maxLeft: 0, + maxTop: 100, + callLeft: false, + callTop: 'setAlpha' + } + }, + slidersHorz: { + saturation: { + maxLeft: 100, + maxTop: 100, + callLeft: 'setSaturation', + callTop: 'setBrightness' + }, + hue: { + maxLeft: 100, + maxTop: 0, + callLeft: 'setHue', + callTop: false + }, + alpha: { + maxLeft: 100, + maxTop: 0, + callLeft: 'setAlpha', + callTop: false + } + }, + template: '