[Autoflow] Add SCSS files

Merge in SCSS files and platform markup which supports
autoflow tabular views for WTD-611 into the open-source-friendly
master branch.
This commit is contained in:
Victor Woeltjen
2014-12-31 10:43:01 -08:00
parent 5414c4c2d0
commit 7db5c0692b
55 changed files with 4693 additions and 1935 deletions

View File

@@ -0,0 +1,52 @@
$pad: $interiorMargin * 2;
/*********************************** TYPE STYLES */
.t-btn {
cursor: pointer;
}
/*********************************** STYLE STYLES */
.s-btn {
$base: lighten($colorBodyBg, 20%);
@include border-radius($controlCr);
@include box-sizing(border-box);
@include text-shadow(rgba(black, 0.3) 0 1px 1px);
line-height: 1.2em;
padding: 0 $pad;
text-decoration: none;
&.s-very-subtle {
@include containerSubtle($colorBodyBg, $colorBodyFg, true);
}
}
.s-icon-btn {
@extend .s-btn;
font-size: 1.2em;
.icon {
color: $colorKey;
}
&:not(.disabled):hover .icon {
color: lighten($colorKey, $ltGamma);
}
&.labeled {
padding: 0 $pad/2;
.icon {
font-size: 1.5em;
}
.title-label {
margin-left: $interiorMargin;
}
}
}
/*********************************** LAYOUT STYLES */
span.l-btn,
span.l-btn span,
a.l-btn,
a.l-btn span {
display: inline-block;
}

View File

@@ -0,0 +1,471 @@
.control {
&.view-control {
.icon {
display: inline-block;
margin: -1px 5px 1px 2px;
vertical-align: middle;
&.triangle-down {
margin: 2px 2px -2px 0px;
}
}
.label {
display: inline-block;
font-size: 11px;
vertical-align: middle;
}
.toggle {
@include border-radius(3px);
display: inline-block;
padding: 1px 6px 4px 4px;
&:hover {
background: rgba(white, 0.1);
}
}
}
}
.accordion {
$accordionHeadH: 18px;
margin-top: $interiorMargin;
&:first-child {
margin-top: 0;
}
.accordion-head {
$op: 0.2;
@include border-radius($basicCr * 0.75);
@include box-sizing("border-box");
background: rgba($colorBodyFg, $op);
cursor: pointer;
font-size: 0.75em;
line-height: $accordionHeadH;
margin-bottom: $interiorMargin;
padding: 0 $interiorMargin;
position: absolute;
top: 0; right: 0; bottom: auto; left: 0;
width: auto; height: $accordionHeadH;
text-transform: uppercase;
&:hover {
background: rgba($colorBodyFg, $op * 2);
}
&:after {
content: "^";
display: block;
font-family: 'symbolsfont';
font-size: 1.2em;
position: absolute;
right: $interiorMargin;
text-transform: none;
top: 0;
}
&:not(.expanded):after {
content: "v";
}
}
.accordion-contents {
position: absolute;
top: $accordionHeadH + $interiorMargin; right: 0; bottom: 0; left: 0;
overflow-y: auto;
overflow-x: hidden;
}
}
.btn {
$base: lighten($colorBodyBg, 20%); // Moved to s-btn
$p: 10px; // Moved to s-btn
@include border-radius($controlCr); // Moved to s-btn
@include box-sizing(border-box); // Moved to s-btn
@include text-shadow(rgba(black, 0.3) 0 1px 1px); // Moved to s-btn
// display: inline-block;
// margin-right: 10px;
padding: 0 ($interiorMargin * 2); // Moved to s-btn
text-decoration: none; // Moved to s-btn
&.create-btn {
$h: $ueBrowseViewBarH;
height: $h;
line-height: $h;
font-size: 1.1em;
padding: 0 ($p * 1.5) 0 $p;
.menu {
margin-left: $p * -1;
}
.ui-symbol.major {
font-size: 1.1em;
}
}
&.major {
$bg: $colorKey;
@include btnNoticeable($bg);
$fg: lighten($bg, 50%);
color: $fg;
&:hover {
@include btnNoticeable(lighten($bg, 5%));
color: $fg;
}
.invoke-menu {
color: $fg;
}
}
&.normal {
padding: $p * 0.5 $p * 0.7;
}
&.outline {
&:hover {
background: rgba(#fff, 0.1);
}
}
&.subtle {
@include btnSubtle($base, lighten($base, 40%));
}
&.very-subtle {
@include btnSubtle($colorBodyBg, lighten($colorBodyBg, 50%));
}
&.lg {
@include border-radius($controlCr * 1.5);
font-size: 1.2em;
padding: 7px 25px;
}
&.icon-btn {
.icon {
color: $colorKey;
}
&:not(.disabled):hover .icon {
color: lighten($colorKey, $ltGamma);
}
}
}
.btn-bar {
// position: relative;
.btn,
.btn-set,
.t-btn {
display: inline-block;
margin-left: $interiorMargin;
}
.btn,
.t-btn {
&:first-child {
// margin-left: 0;
}
}
}
.control-group {
// Buttons that have a conceptual grouping - internal space between, and a divider between groups.
// @include test();
@include box-sizing(border-box);
border-left: 1px solid $colorInteriorBorder;
padding: 0 $interiorMargin;
position: relative;
&:first-child {
border-left: none;
padding-left: 0;
}
}
.btn-set {
// Buttons that have a very tight conceptual grouping - no internal space between them.
display: inline-block;
position: relative;
.btn,
.t-btn {
@include border-radius(0);
border-left: 1px solid lighten($colorBodyBg, 20%);
margin-left: 0;
&:first-child {
border-left: none;
@include border-left-radius($controlCr);
}
&:last-child {
@include border-right-radius($controlCr);
}
}
}
.object-browse-bar .btn,
.object-browse-bar .t-btn,
.top-bar .buttons-main .btn,
.top-bar .buttons-main .t-btn,
.tool-bar .btn,
.tool-bar .t-btn {
$h: $ueEditToolBarButtonH;
display: inline-block;
font-size: $h * $btnFontSizeToH;
height: $h;
line-height: $h;
.icon:not(.invoke-menu) {
// position: relative;
// top: -0.04em;
font-size: 150%;
vertical-align: middle;
}
}
label.checkbox.custom {
$bg: lighten($colorBodyBg, $ltGamma);
$d: $formRowCtrlsH;
// @include vertical-align();
cursor: pointer;
display: inline-block;
line-height: $d;
margin-right: $interiorMargin * 4;
padding-left: $d + $interiorMargin;
position: relative;
em {
color: $colorBodyFg;
display: inline-block;
height: $d;
min-width: $d;
&:before {
@include border-radius($basicCr * .75);
background: $bg;
border-bottom: 1px solid lighten($bg, 10%);
box-sizing: border-box;
content: " ";
font-family: 'symbolsfont';
font-size: 0.8em;
display: inline-block;
margin-right: $interiorMargin;
height: $d;
width: $d;
left: 0;
top: 0;
position: absolute;
text-align: center;
}
}
&.no-text {
overflow: hidden;
margin-right: 0;
padding-left: 0;
height: $d;
width: $d;
em {
overflow: hidden;
}
}
input {
display: none;
&:checked ~ em:before {
background: $colorCheck;
color: lighten($colorCheck, 50%);
content: "2";
}
}
}
.input-labeled {
margin-left: $interiorMargin;
label {
display: inline-block;
margin-right: $interiorMarginSm;
}
&.inline {
display: inline-block;
}
&:first-child {
margin-left: 0;
}
}
.btn-menu label.checkbox.custom {
margin-left: 5px;
}
.item .checkbox {
&.checked label {
@include box-shadow(none);
border-bottom: none;
}
}
.btn-menu {
$h: 20px;
$p: 7px;
$c: $colorBodyFg;
@include btnSubtle($colorBodyBg);
height: $h;
line-height: $h;
&.dropdown {
// padding-left: $p;
padding-right: $p;
}
&:not(.disabled):hover {
color: lighten($c, 20%);
}
&.btn-invoke-menu {
$c: $colorKey;
color: $c;
padding: 0 5px;
&:hover {
color: lighten($c, 10%);
}
}
.type-icon {
margin-right: $interiorMargin;
}
.menu {
// margin-left: (-1 * $p);
text-align: left;
.ui-symbol.icon {
width: 12px;
}
}
}
.top-bar .btn-menu {
$h: $ueTopBarH; // 35px
$p: 10px;
$badgeM: $interiorMargin;
$badgeD: $h - ($badgeM * 2);
height: $h;
line-height: $h;
padding-right: 10px;
&.browse-btn {
margin-right: $interiorMargin;
padding-left: $badgeD + $badgeM * 2;
.badge {
@include border-radius($controlCr * 1.5);
display: block;
font-size: 1em;
line-height: $badgeD;
position: absolute;
top: $badgeM;
left: $badgeM;
bottom: $badgeM;
right: auto;
width: $badgeD;
height: auto;
}
}
}
/******************************************************** OBJECT-HEADER */
.object-header {
display: inline-block;
font-size: 1em;
.title {
color: lighten($colorBodyFg, 40%);
}
.type-icon {
font-size: 1.5em;
margin-right: $interiorMargin;
vertical-align: middle;
}
}
.top-bar,
.object-browse-bar {
.object-header {
font-size: 1.2em;
span {
display: inline-block;
margin-right: $interiorMargin;
}
}
}
/******************************************************** VIEW-CONTROLS */
.view-controls .view-type {
$d: 20px;
$p: 5px;
@include border-radius($controlCr);
box-sizing: border-box;
display: inline-block;
margin-left: $interiorMargin;
height: $d;
line-height: $d;
padding-left: $p;
padding-right: $p;
&.cur {
background: lighten($colorBodyBg, $ltGamma);
}
}
.edit-mode .top-bar .control-set.edit-view-controls {
// Used in templates/edit-view-controls.html
margin-right: $interiorMargin * 10;
}
/******************************************************** SLIDERS */
.slider {
$knobH: 100%; //14px;
$knobW: 12px;
$slotH: 50%;
.slot {
// @include border-radius($basicCr * .75);
@include sliderTrack();
height: $slotH;
width: auto;
position: absolute;
top: ($knobH - $slotH) / 2;
right: 0;
bottom: auto;
left: 0;
}
.knob {
@include btnSubtle();
@include controlGrippy(rgba(black, 0.3), vertical, 1px, solid);
cursor: ew-resize;
position: absolute;
height: $knobH;
width: $knobW;
top: 0;
auto: 0;
bottom: auto;
left: auto;
&:before {
top: 1px;
bottom: 3px;
left: ($knobW / 2) - 1;
}
}
.range {
background: rgba($colorKey, 0.6);
cursor: ew-resize;
position: absolute;
top: 0;
right: auto;
bottom: 0;
left: auto;
height: auto;
width: auto;
&:hover {
background: rgba($colorKey, 0.7);
}
}
}
/******************************************************** BROWSER ELEMENTS */
::-webkit-scrollbar {
@include sliderTrack();
height: $scrollbarTrackSize;
width: $scrollbarTrackSize;
}
::-webkit-scrollbar-thumb {
$bg: lighten($colorBodyBg, 10%);
@include background-image(linear-gradient(lighten($bg, 10%), lighten($bg, 5%) 20px));
@include border-radius(1px);
@include box-sizing(border-box);
@include boxShdwSubtle();
border-top: 1px solid lighten($bg, 20%);
&:hover {
@include background-image(linear-gradient(lighten($bg, 20%), lighten($bg, 15%) 20px));
}
}
::-webkit-scrollbar-corner {
background: rgba(#000, 0.4);
}

View File

@@ -0,0 +1,9 @@
.checkbox-list {
label.checkbox.custom {
display: block;
margin-bottom: $interiorMargin;
}
li {
margin-bottom: $interiorMargin;
}
}

View File

@@ -0,0 +1,163 @@
/******************************************************** MENUS */
.menu-element {
$bg: lighten($colorBodyBg, 5%);
$bgHover: lighten($bg, 20%);
$iconColor: $colorKey;
cursor: pointer;
position: relative;
.menu {
@include border-radius($basicCr);
@include containerSubtle($bg);
@include txtShdwSubtle(0.2);
display: block; // set to block via jQuery
padding: $interiorMarginSm 0;
position: absolute;
z-index: 10;
ul {
@include menuUlReset();
li {
// @include border-radius($controlCr);
@include box-sizing(border-box);
border-top: 1px solid lighten($bg, 20%);
line-height: $menuLineH;
padding: $interiorMarginSm $interiorMargin * 2 $interiorMarginSm ($interiorMargin * 3) + $treeTypeIconW;
white-space: nowrap;
&:first-child {
border: none;
}
&:hover {
background: $bgHover;
a {
color: $colorKeyFg;
}
.icon {
color: lighten($iconColor, 20%);
}
}
a {
color: lighten($bg, 60%);
display: block;
}
.type-icon {
left: $interiorMargin * 2;
}
}
}
}
.super-menu {
$w: 400px;
$h: $w + 20;
$plw: $w * 0.55;
$prw: $w - $plw;
width: $w;
height: $h;
.contents { overflow: none; }
.pane {
@include box-sizing(border-box);
&.left {
// @include test();
border-right: 1px solid rgba(white, 0.2);
left: 0;
padding-right: $interiorMargin;
right: auto;
width: $plw;
overflow-x: hidden;
overflow-y: auto;
ul {
li {
@include border-radius($controlCr);
// @include test(red);
border-top: none;
// font-size: 0.85em;
// line-height: 20px;
&:hover {
background: $bgHover;
}
.icon {
@include txtShdwSubtle(0.4);
left: $interiorMargin;
}
}
}
}
&.right {
left: $plw;
right: 0;
padding: $interiorMargin * 3;
width: auto;
}
}
}
.menu-item-description {
.desc-area {
// @include test(green);
&.icon {
// @include test(red);
$h: 150px;
position: relative;
color: lighten($bg, 30%);
font-size: 8em;
left: 0;
height: $h;
line-height: $h;
// top: 0; right: 0; bottom: 5em; left: 0;
// height: 5em;
// text-align: center;
}
&.description {
color: lighten($bg, 30%);
font-size: 0.8em;
}
&.title {
color: lighten($bg, 60%);
font-size: 1.2em;
margin-bottom: 1rem;
}
}
}
.context-menu {
$bg: lighten($colorBodyBg, 25%);
$fg: lighten($bg, 70%);
$ic: lighten($colorKey, 15%);
font-size: 0.80rem;
pointer-events: auto;
&.menu {
@include containerSubtle($bg);
ul li {
padding-left: 30px;
a { color: $fg; }
.icon {
color: $ic;
}
.type-icon {
left: $interiorMargin;
}
&:hover .icon {
color: lighten($ic, 5%);
}
}
}
}
}
.context-menu-holder {
pointer-events: none;
position: absolute;
height: 200px;
width: 170px;
z-index: 59;
.context-menu-wrapper {
position: absolute;
height: 100%;
width: 100%;
.context-menu {
}
}
&.go-left .context-menu { right: 0; }
&.go-up .context-menu { bottom: 0; }
}
.btn-bar.right .menu,
.menus-to-left .menu {
left: auto; right: 0; width: auto;
}

View File

@@ -0,0 +1,32 @@
.wrapper-ticks {
// @include test();
height: $ticksH; //temp!
position: relative;
}
.tick {
line-height: $tickLblH;
position: absolute;
top: 0; right: auto; bottom: 0; left: auto;
z-index: 2;
&.no-label .label { display: none; }
&:before {
background: rgba(#fff, 0.3);
// border-bottom: 1px solid blue;
content: "";
display: block;
position: absolute;
top: 0; right: auto; bottom: auto; left: auto;
height: $tickH; width: $tickW;
}
.label {
// @include test();
font-size: 0.6em;
position: absolute;
text-align: center;
height: $tickLblH; width: $tickLblW;
margin-left: -1 * $tickLblW / 2;
top: auto; right: auto; bottom: 0; left: 0;
}
}