RCUE initial commit

https://fedorahosted.org/freeipa/ticket/3902
This commit is contained in:
Petr Vobornik 2013-10-10 13:41:31 +02:00 committed by Martin Kosek
parent 3ef72bc4dc
commit 3241c2cb3a
16 changed files with 1846 additions and 0 deletions

1
.gitignore vendored
View File

@ -52,6 +52,7 @@ freeipa2-dev-doc
/install/po/test_locale/xh_ZA/LC_MESSAGES/ipa.mo
!/install/ui/doc/Makefile.in
/install/ui/release
/install/ui/css/rcue.css
/install/ui/src/dojo
/install/ui/src/build
/install/ui/src/libs/loader.js

View File

@ -77,6 +77,7 @@ BuildRequires: java-1.7.0-openjdk
BuildRequires: libverto-devel
BuildRequires: systemd
BuildRequires: libunistring-devel
BuildRequires: python-lesscpy
# Find out Kerberos middle version to infer ABI changes in DAL driver
# We cannot load DAL driver into KDC with wrong ABI.
@ -683,6 +684,7 @@ fi
%{_usr}/share/ipa/ui/*.svg
%{_usr}/share/ipa/ui/*.ttf
%{_usr}/share/ipa/ui/*.woff
%{_usr}/share/ipa/ui/css/*.css
%dir %{_usr}/share/ipa/ui/js
%dir %{_usr}/share/ipa/ui/js/dojo
%{_usr}/share/ipa/ui/js/dojo/dojo.js

View File

@ -89,6 +89,7 @@ AC_CONFIG_FILES([
share/advise/Makefile
share/advise/legacy/Makefile
ui/Makefile
ui/css/Makefile
ui/src/Makefile
ui/src/libs/Makefile
ui/images/Makefile

View File

@ -4,6 +4,7 @@ NULL =
SUBDIRS = \
build \
css \
images \
src \
$(NULL)

View File

@ -0,0 +1,20 @@
NULL =
appdir = $(IPA_DATA_DIR)/ui/css
app_DATA = \
bootstrap.css \
rcue.css \
$(NULL)
EXTRA_DIST = \
$(app_DATA) \
$(NULL)
MAINTAINERCLEANFILES = \
*~ \
Makefile.in
rcue := $(wildcard ../less/*.less)
rcue.css: $(rcue)
../util/make-css.sh

874
install/ui/css/bootstrap.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,160 @@
.btn {
background-color: #f3f3f3;
background-image: -moz-linear-gradient(top, #fafafa, #ededed);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#ededed));
background-image: -webkit-linear-gradient(top, #fafafa, #ededed);
background-image: -o-linear-gradient(top, #fafafa, #ededed);
background-image: linear-gradient(to bottom, #fafafa, #ededed);
border-color: #bbb;
border-color: rgba(0,0,0,.25);
-moz-border-radius: 1px !important;
-webkit-border-radius: 1px !important;
border-radius: 1px !important;
-moz-box-shadow: 0 2px 3px rgba(0,0,0,.1);
-webkit-box-shadow: 0 2px 3px rgba(0,0,0,.1);
box-shadow: 0 2px 3px rgba(0,0,0,.1);
color: #4d5258;
font-family: OpenSansSemiBold, Helvetica, Arial, sans-serif;
font-size: 11px;
padding: 2px 15px;
text-shadow: none;
&:active {
-moz-box-shadow: inset 0 2px 8px rgba(0,0,0,.2);
-webkit-box-shadow: inset 0 2px 8px rgba(0,0,0,.2);
box-shadow: inset 0 2px 8px rgba(0,0,0,.2);
}
&:hover,
&:focus,
&:active,
&.active,
&.disabled,
&[disabled] {
background-color: #eee;
background-image: none;
color: #4d5258;
}
}
.btn.disabled {
background-color: #f8f8f8 !important;
border-color: #d1d1d1;
color: #969696 !important;
opacity: 1;
&:active {
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
}
.btn-large {
font-size: 12px;
padding: 6px 15px;
}
.btn-mini {
font-family: OpenSansRegular, Helvetica, Arial, sans-serif;
font-size: 11px;
line-height: 18px;
padding: 0 11px;
}
.btn-danger, .btn-primary {
color: #fff;
&:hover, &:active, &:focus {
color: #fff;
}
}
.btn-danger {
background-color: #c10813;
background-image: -moz-linear-gradient(top, #d60915, #ac0710);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#d60915), to(#ac0710));
background-image: -webkit-linear-gradient(top, #d60915, #ac0710);
background-image: -o-linear-gradient(top, #d60915, #ac0710);
background-image: linear-gradient(to bottom, #d60915, #ac0710);
border-color: #3f0102;
border-color: rgba(0,0,0,.5);
&:active {
-moz-box-shadow: inset 0 2px 8px rgba(0,0,0,.35);
-webkit-box-shadow: inset 0 2px 8px rgba(0,0,0,.35);
box-shadow: inset 0 2px 8px rgba(0,0,0,.35);
}
&:hover,
&:focus,
&:active,
&.active,
&.disabled,
&[disabled] {
background-color: #ab070f;
}
}
.btn-link,
.btn-link:active,
.btn-link[disabled],
.btn-link.disabled {
background-color: transparent !important;
background-image: none !important;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.btn-link {
border-color: transparent !important;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
cursor: pointer;
color: #0099d3;
}
.btn-link:hover,
.btn-link:active,
.btn-link:focus {
background-color: transparent !important;
color: #0099d3;
text-decoration: underline;
}
.btn-link[disabled]:hover,
.btn-link[disabled]:active,
.btn-link[disabled]:focus,
.btn-link.disabled:hover,
.btn-link.disabled:active,
.btn-link.disabled:focus {
text-decoration: none;
}
.btn-primary {
background-color: #1aa3dc;
background-image: -moz-linear-gradient(top, #1cace8, #1998cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#1cace8), to(#1998cc));
background-image: -webkit-linear-gradient(top, #1cace8, #1998cc);
background-image: -o-linear-gradient(top, #1cace8, #1998cc);
background-image: linear-gradient(to bottom, #1cace8, #1998cc);
border-color: #267da1;
border-color: rgba(0,0,0,.3);
&:active {
-moz-box-shadow: inset 0 2px 8px rgba(0,0,0,.3);
-webkit-box-shadow: inset 0 2px 8px rgba(0,0,0,.3);
box-shadow: inset 0 2px 8px rgba(0,0,0,.3);
}
&:hover,
&:focus,
&:active,
&.active,
&.disabled,
&[disabled] {
background-color: #189ad1;
}
}
.btn-small [class^="icon-"], .btn-small [class*=" icon-"], .btn-mini [class^="icon-"], .btn-mini [class*=" icon-"] {
margin-top: 1px;
}
.btn-group>.btn, .btn-group>.dropdown-menu, .btn-group>.popover {
font-size: 11px;
}

136
install/ui/less/font.less Normal file
View File

@ -0,0 +1,136 @@
/* Note: OpenSans italic styles are not loaded by default; nor is Overpass. */
@font-face {
font-family: 'OpenSansLight';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-Light-webfont.eot');
src: url('../font/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-Light-webfont.woff') format('woff'),
url('../font/OpenSans-Light-webfont.ttf') format('truetype'),
url('../font/OpenSans-Light-webfont.svg#OpenSansLight') format('svg');
}
/*
@font-face {
font-family: 'OpenSansLightItalic';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-LightItalic-webfont.eot');
src: url('../font/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-LightItalic-webfont.woff') format('woff'),
url('../font/OpenSans-LightItalic-webfont.ttf') format('truetype'),
url('../font/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg');
}
*/
@font-face {
font-family: 'OpenSansRegular';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-Regular-webfont.eot');
src: url('../font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-Regular-webfont.woff') format('woff'),
url('../font/OpenSans-Regular-webfont.ttf') format('truetype'),
url('../font/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg');
}
/*
@font-face {
font-family: 'OpenSansItalic';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-Italic-webfont.eot');
src: url('../font/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-Italic-webfont.woff') format('woff'),
url('../font/OpenSans-Italic-webfont.ttf') format('truetype'),
url('../font/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg');
}
*/
@font-face {
font-family: 'OpenSansSemibold';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-Semibold-webfont.eot');
src: url('../font/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-Semibold-webfont.woff') format('woff'),
url('../font/OpenSans-Semibold-webfont.ttf') format('truetype'),
url('../font/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg');
}
/*
@font-face {
font-family: 'OpenSansSemiboldItalic';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-SemiboldItalic-webfont.eot');
src: url('../font/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-SemiboldItalic-webfont.woff') format('woff'),
url('../font/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'),
url('../font/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg');
}
*/
@font-face {
font-family: 'OpenSansBold';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-Bold-webfont.eot');
src: url('../font/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-Bold-webfont.woff') format('woff'),
url('../font/OpenSans-Bold-webfont.ttf') format('truetype'),
url('../font/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg');
}
/*
@font-face {
font-family: 'OpenSansBoldItalic';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-BoldItalic-webfont.eot');
src: url('../font/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-BoldItalic-webfont.woff') format('woff'),
url('../font/OpenSans-BoldItalic-webfont.ttf') format('truetype'),
url('../font/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg');
}
*/
@font-face {
font-family: 'OpenSansExtrabold';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-ExtraBold-webfont.eot');
src: url('../font/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-ExtraBold-webfont.woff') format('woff'),
url('../font/OpenSans-ExtraBold-webfont.ttf') format('truetype'),
url('../font/OpenSans-ExtraBold-webfont.svg#OpenSansExtrabold') format('svg');
}
/*
@font-face {
font-family: 'OpenSansExtraboldItalic';
font-style: normal;
font-weight: normal;
src: url('../font/OpenSans-ExtraBoldItalic-webfont.eot');
src: url('../font/OpenSans-ExtraBoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/OpenSans-ExtraBoldItalic-webfont.woff') format('woff'),
url('../font/OpenSans-ExtraBoldItalic-webfont.ttf') format('truetype'),
url('../font/OpenSans-ExtraBoldItalic-webfont.svg#OpenSansExtraboldItalic') format('svg');
}
@font-face {
font-family: 'Overpass';
font-style: normal;
font-weight: normal;
src: url('../font/Overpass-Regular-webfont.eot');
src: url('../font/Overpass-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/Overpass-Regular-webfont.woff') format('woff'),
url('../font/Overpass-Regular-webfont.ttf') format('truetype'),
url('../font/Overpass-Regular-webfont.svg#OpenSansExtrabold') format('svg');
}
@font-face {
font-family: 'Overpass';
font-style: normal;
font-weight: bold;
src: url('../font/Overpass-Bold-webfont.eot');
src: url('../font/Overpass-Bold-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/Overpass-Bold-webfont.woff') format('woff'),
url('../font/Overpass-Bold-webfont.ttf') format('truetype'),
url('../font/Overpass-Bold-webfont.svg#OpenSansExtrabold') format('svg');
}
*/
body {
font-family: OpenSansRegular, Arial, Helvetica, sans-serif;
}

139
install/ui/less/forms.less Normal file
View File

@ -0,0 +1,139 @@
input,
select,
textarea {
font-family: OpenSansRegular, Helvetica, Arial, sans-serif;
}
label {
font-family: OpenSansSemiBold, Helvetica, Arial, sans-serif;
}
.help-block,
.help-inline,
input,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
label,
select,
textarea,
.uneditable-input,
.uneditable-textarea {
font-size: 11px;
}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input,
.uneditable-textarea {
border-color: #bababa;
-moz-border-radius: 1px;
-webkit-border-radius: 1px;
border-radius: 1px;
color: #333;
padding-bottom: 2px;
padding-top: 2px;
&:focus, &:hover {
border-color: #62afdb;
}
}
select, input[type="file"] {
height: 26px;
line-height: 26px;
}
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly],
.uneditable-input,
.uneditable-textarea {
background-color: #f8f8f8;
border-color: #d4d4d4;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
color: #969696;
&:focus, &:hover {
border-color: #d4d4d4;
}
}
.controls>.radio:first-child, .controls>.checkbox:first-child {
padding-top: 2px;
}
.control-group.error input,
.control-group.error select,
.control-group.error textarea,
input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
border-color: #ba1212 !important;
color: inherit;
}
.form-horizontal .control-label {
padding-top: 3px;
margin-bottom: 3px;
}
.input-append .add-on, .input-prepend .add-on {
font-size: 11px;
padding-bottom: 2px;
padding-top: 2px;
}
.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn,
.input-append .btn-group>.dropdown-toggle,
.input-prepend .btn-group>.dropdown-toggle {
box-shadow: none;
}
:-moz-placeholder { /* Firefox 18- */
color: #a1a1a1;
font-style: italic;
}
::-moz-placeholder { /* Firefox 19+ */
color: #a1a1a1;
font-style: italic;
}
::-ms-input-placeholder {
color: #a1a1a1;
font-style: italic;
}
::-webkit-input-placeholder {
color: #a1a1a1;
font-style: italic;
}

View File

@ -0,0 +1,9 @@
.header.rcue {
.brand, .navbar.utility .nav > li > a {
padding-bottom: 15px;
padding-top: 15px;
}
.brand-white-label {
padding: 7px 10px 7px 0;
}
}

457
install/ui/less/navbar.less Normal file
View File

@ -0,0 +1,457 @@
.header.rcue {
border-top: 3px solid #cc0000;
position: relative;
.brand {
color: #fff;
padding: 7px 0;
margin: 0 0 0 20px;
text-shadow: none;
.ie8 & {
background: url(../img/brand.png) no-repeat 0 50%;
min-width: 300px;
}
img {
display: block;
font-size: 11px;
.ie8 & {
height: 10px;
width: 0;
}
}
}
.navbar {
margin-bottom: 0;
&.primary {
font-size: 13px;
&.persistent-secondary {
.nav {
position: static;
.dropup .dropdown-menu {
bottom: 0;
top: auto;
}
> li {
&.active {
margin-bottom: 32px;
> .persistent {
display: block;
}
}
> a {
position: static;
}
> .persistent {
background: #f6f6f6;
border-bottom: 1px solid #cecdcd;
display: none;
float: left;
left: 0;
margin: 0;
position: absolute;
width: 100%;
a {
text-decoration: none !important;
}
> .dropdown-submenu {
&.active > a:after {
border-top-color: #0080AF !important;
}
&:hover > .dropdown-menu {
display: none;
}
&.open:before {
background: #aaa;
bottom: -1px;
content: '';
display: block;
height: 2px;
left: 20px;
position: absolute;
right: 20px;
z-index: 1;
}
&.open:hover > .dropdown-menu {
display: block;
}
&.open > a {
color: #222;
&:after {
border-top-color: #222;
}
}
> a {
padding-right: 37px;
&:after {
border-left-color: transparent;
border-top-color: #4d5258;
border-width: 5px 5px 0 5px;
margin-right: -17px;
margin-top: 4px;
opacity: .8;
}
&:before {
background: transparent !important;
border-color: #f6f6f6 transparent transparent transparent;
border-style: solid;
border-width: 5px 5px 0 5px;
content: '';
display: block;
float: right;
height: 0;
margin-right: -17px;
margin-top: 2px;
position: relative;
right: 0;
width: 0;
z-index: 2;
}
}
> .dropdown-menu {
border-top-color: transparent;
left: 21px;
top: 100%;
.ie8 & {
margin-top: 1px;
}
}
}
> li {
float: left;
list-style: none;
position: relative;
white-space: nowrap;
&.active {
&:before, &:hover:before {
background: #409cd3 !important;
bottom: -1px;
content: '';
display: block;
height: 2px;
left: 20px;
position: absolute;
right: 20px;
z-index: 1;
}
> a, > a:hover, &:hover > a {
color: #0092c7 !important;
}
.active > a {
color: #fff;
}
}
&:hover {
&:before {
background: #aaa;
bottom: -1px;
content: '';
display: block;
height: 2px;
left: 20px;
position: absolute;
right: 20px;
z-index: 1;
}
> a {
color: #222;
&:after {
border-top-color: #222;
}
}
}
a {
color: #4d5258;
font-size: 13px;
&:hover {
color: #fff;
}
}
> a {
background-color: transparent !important;
background-image: none !important;
display: block;
line-height: 1;
padding: 9px 20px;
filter: none !important;
&:hover {
color: #222;
}
}
li:hover > a {
color: #fff;
}
}
}
}
}
}
.nav {
> li > a {
border-bottom: 1px solid transparent;
border-top: 1px solid transparent;
position: relative;
margin: -1px 0 0;
z-index: 1;
&:hover {
background-color: #53595d;
background-image: -moz-linear-gradient(top, #5c6165, #4b5053);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5c6165), to(#4b5053));
background-image: -webkit-linear-gradient(top, #5c6165, #4b5053);
background-image: -o-linear-gradient(top, #5c6165, #4b5053);
background-image: linear-gradient(to bottom, #5c6165, #4b5053);
background-repeat: repeat-x;
border-top-color: #949699;
&.dropdown-toggle .caret:after {
border-top-color: #53595d;
}
}
}
> .active > a, > .active > a:hover, > .active > a:focus, > .open > a, > .open > a:hover, > .open > a:focus {
background-color: #6b6f74;
background-image: -moz-linear-gradient(top, #72757a, #64686c);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#72757a), to(#64686c));
background-image: -webkit-linear-gradient(top, #72757a, #64686c);
background-image: -o-linear-gradient(top, #72757a, #64686c);
background-image: linear-gradient(to bottom, #72757a, #64686c);
border-top-color: #949699;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
color: #fff;
&.dropdown-toggle .caret:after {
border-top-color: #6b6f74;
}
}
li.dropdown.context {
> a {
background-color: #54595d;
background-image: -moz-linear-gradient(top, #585d61, #505458);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#585d61), to(#505458));
background-image: -webkit-linear-gradient(top, #585d61, #505458);
background-image: -o-linear-gradient(top, #585d61, #505458);
background-image: linear-gradient(to bottom, #585d61, #505458);
border-bottom-color: #65696d;
border-right: 1px solid #65696d;
border-top-color: #64696d;
font-family: OpenSansSemiBold, Arial, Helvetica, sans-serif;
z-index: 0;
&.dropdown-toggle .caret:after {
border-top-color: #54595d;
}
&:hover {
background-color: #5e6367;
background-image: -moz-linear-gradient(top, #62676b, #5a5e62);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62676b), to(#5a5e62));
background-image: -webkit-linear-gradient(top, #62676b, #5a5e62);
background-image: -o-linear-gradient(top, #62676b, #5a5e62);
background-image: linear-gradient(to bottom, #62676b, #5a5e62);
border-bottom-color: #6e7276;
border-right-color: #6e7276;
border-top-color: #6c7276;
&.dropdown-toggle .caret:after {
border-top-color: #5e6367;
}
}
}
&.open > a {
background-color: #686e72;
background-image: -moz-linear-gradient(top, #6b7175, #65696d);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#6b7175), to(#65696d));
background-image: -webkit-linear-gradient(top, #6b7175, #65696d);
background-image: -o-linear-gradient(top, #6b7175, #65696d);
background-image: linear-gradient(to bottom, #6b7175, #65696d);
border-bottom-color: #6e7276;
border-right-color: #777a7e;
border-top-color: #767a7e;
&.dropdown-toggle .caret:after {
border-top-color: #686e72;
}
}
}
}
}
&.utility {
font-size: 11px;
line-height: 1;
.nav {
> .active > a, > .active > a:hover, > .active > a:focus, > .open > a, > .open > a:hover, > .open > a:focus {
background: #5b6165;
color: #fff;
&.dropdown-toggle .caret:after {
border-top-color: #5b6165;
}
}
> li > a {
border-left: 1px solid #53565b;
color: #fff;
padding: 7px 10px;
&:hover {
background: #4a5053;
border-left-color: #636466;
}
}
> li.open > a {
border-left-color: #6c6e70;
}
li.dropdown {
&.open > .dropdown-toggle .caret:after, &.open > .dropdown-toggle:hover .caret:after {
border-top-color: #5b6165;
}
> .dropdown-toggle {
&:hover .caret:after {
border-top-color: #4a5053;
}
.caret {
border-bottom-color: #fff;
border-top-color: #fff;
border-width: 4px;
&:after {
border-top-color: #393F45;
}
}
.icon-user {
background: url(../img/icon-user.svg) no-repeat;
background-size: 100%;
display: block;
float: left;
margin: 0 5px 0 0;
height: 11px;
width: 11px;
.ie8 & {
display: none;
}
}
}
}
}
}
.dropdown .dropdown-menu .nav-header {
padding-left: 10px;
padding-right: 10px;
}
.dropdown-menu {
border-color: #b6b6b6;
-webkit-border-radius: 0 !important;
-moz-border-radius: 0 !important;
border-radius: 0 !important;
border-top-width: 0;
-webkit-box-shadow: 0 3px 7px rgba(0,0,0,.15);
-moz-box-shadow: 0 3px 7px rgba(0,0,0,.15);
box-shadow: 0 3px 7px rgba(0,0,0,.15);
font-size: 11px;
left: -1px;
margin-top: 0;
.divider {
margin: 4px 1px;
}
li > a {
line-height: 22px;
padding: 0 10px;
}
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus,
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
background-color: #2b99c0;
background-image: -moz-linear-gradient(top, #2ea1ca, #2792b6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2ea1ca), to(#2792b6));
background-image: -webkit-linear-gradient(top, #2ea1ca, #2792b6);
background-image: -o-linear-gradient(top, #2ea1ca, #2792b6);
background-image: linear-gradient(to bottom, #2ea1ca, #2792b6);
background-repeat: repeat-x;
color: #fff;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2ea1ca', endColorstr='#2792b6', GradientType=0);
}
.dropdown-submenu {
&.pull-left > .dropdown-menu {
left: auto;
right: 100%;
}
&.active > a:after {
border-left-color: #fff;
}
> a:after {
margin-right: -5px;
}
> .dropdown-menu {
border-top-width: 1px;
left: 100%;
}
}
.nav {
> li {
> a {
color: #dbdada;
line-height: 1;
padding: 14px 20px;
text-shadow: none;
}
.dropdown-menu {
&:after, &:before {
display: none;
}
}
}
li.dropdown {
> .dropdown-toggle .caret {
border-bottom-color: #dbdada;
border-top-color: #dbdada;
border-width: 5px;
margin-left: 5px;
margin-top: 5px;
position: relative;
&:after {
border: 4px solid transparent;
border-bottom: 0;
border-top-color: #44494d;
content: '';
display: block;
height: 0;
left: -4px;
position: absolute;
top: -6px;
width: 0;
}
}
li + .nav-header {
margin-top: 4px;
}
&.open > .dropdown-toggle .caret {
border-bottom-color: #fff;
border-top-color: #fff;
}
}
}
.pull-right > li > .dropdown-menu, .nav > li >.dropdown-menu.pull-right {
left: auto;
right: -1px;
}
}
.navbar-inner {
background: #393F45;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
border: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
min-height: 0;
padding: 0;
filter: none;
}
.primary .navbar-inner {
background-image: -moz-linear-gradient(top, #474c50, #383f43);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#474c50), to(#383f43));
background-image: -webkit-linear-gradient(top, #474c50, #383f43);
background-image: -o-linear-gradient(top, #474c50, #383f43);
background-image: linear-gradient(to bottom, #474c50, #383f43);
background-repeat: repeat-x;
}
.utility .navbar-inner {
border-bottom: 1px solid #53565b;
}
}

View File

@ -0,0 +1,7 @@
/* Red Hat Common User Experience (RCUE) */
@import "font";
@import "navbar";
@import "navbar-white-labeled";
@import "buttons";
@import "forms";

View File

@ -0,0 +1,6 @@
/* Red Hat Common User Experience (RCUE) */
@import "font";
@import "navbar";
@import "buttons";
@import "forms";

View File

@ -2,6 +2,7 @@ NULL =
appdir = $(IPA_DATA_DIR)/ui/js/libs
app_DATA = \
bootstrap.js \
browser.js \
jquery.js \
jquery.ordered-map.js \

7
install/ui/src/libs/bootstrap.js vendored Normal file

File diff suppressed because one or more lines are too long

25
install/ui/util/make-css.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
# Authors:
# Petr Vobornik <pvoborni@redhat.com>
#
# Copyright (C) 2013 Red Hat
# see file 'COPYING' for use and warranty information
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
lesscpy -x $DIR/../less/rcue.less > $DIR/../css/rcue.css
exit $?