// studio - elements - UI controls // ==================== // Table of Contents // * +General Action - Extend // * +General Type and Size - Extend // * +Primary Button - Extends // * +Secondary Button - Extends // * +Button // * +UI Dropdown Button - Extend // * +UI Nav Dropdown Button - Extend // * +UI Actions List - Extend // * +UI Expand/Collapse - Extend // * +Drag and Drop // +General Action - Extend // ==================== %action { @extend %ui-fake-link; &.is-disabled { @extend %ui-disabled; -webkit-filter: grayscale(65%); opacity: 0.65; } } // +General Type and Size - Extend // ==================== %sizing { @extend %t-action4; padding: ($baseline/4) ($baseline/2) ($baseline/3) ($baseline/2); } // +Primary Button - Extends // ==================== // gray primary button %btn-primary-gray { @extend %ui-btn-primary; background: $gray-l1; border-color: $gray-l2; color: $white; &:hover, &:active { border-color: $gray-l1; background: $gray; } &.current, &.active { background: $gray-d1; color: $gray-l1; &:hover, &:active { background: $gray-d1; } } } // blue primary button %btn-primary-blue { @extend %ui-btn-primary; background: $blue; border-color: $blue-s1; color: $white; &:hover, &:active { background: $blue-l1; border-color: $blue-l1; } &.current, &.active { background: $blue-d1; color: $blue-l4; border-color: $blue-d2; &:hover, &:active { background: $blue-d1; } } } // green primary button %btn-primary-green { @extend %ui-btn-primary; background: $green; border-color: $green; color: $white; &:hover, &:active { background: $green-s1; border-color: $green-s1; } &.current, &.active { background: $green-d1; color: $green-l4; border-color: $green-d2; &:hover, &:active { background: $green-d1; } } } // +Secondary Button - Extends // ==================== // gray secondary button %btn-secondary-gray { @extend %ui-btn-secondary; border-color: $gray-l3; color: $gray-l1; &:hover, &:active { background: $gray-l3; color: $gray-d2; } &.current, &.active { background: $gray-d2; color: $gray-l5; &:hover, &:active { background: $gray-d2; } } } // blue secondary button %btn-secondary-blue { @extend %ui-btn-secondary; border-color: $blue-l3; color: $blue; &:hover, &:active { background: $blue-l4; color: $blue-s2; } &.current, &.active { border-color: $blue-l3; background: $blue-l3; color: $blue-d1; &:hover, &:active { } } } // white secondary button %btn-secondary-white { @extend %ui-btn-secondary; border-color: $white-t2; color: $white-t3; &:hover, &:active { border-color: $white; color: $white; } &.current, &.active { background: $gray-d2; color: $gray-l5; &:hover, &:active { background: $gray-d2; } } } // green secondary button %btn-secondary-green { @extend %ui-btn-secondary; border-color: $green-l4; color: $green-l2; &:hover, &:active { background: $green-l4; color: $green-s1; } &.current, &.active { background: $green-s1; color: $green-l4; &:hover, &:active { background: $green-s1; } } } // +Button Element // ==================== .button { .icon { display: inline-block; vertical-align: middle; margin-right: ($baseline/4); } } // +UI Dropdown Button - Extend // ==================== %ui-btn-dd { @extend %ui-btn; @extend %ui-btn-pill; padding:($baseline/4) ($baseline/2); border-width: 1px; border-style: solid; border-color: transparent; text-align: center; &:hover, &:active { @extend %ui-fake-link; border-color: $gray-l3; } &.current, &.active, &.is-selected { box-shadow: inset 0 1px 2px 1px $shadow-l1; border-color: $gray-l3; } } // +UI Nav Dropdown Button - Extend // ==================== %ui-btn-dd-nav-primary { @extend %ui-btn-dd; background: $white; border-color: $white; color: $gray-d1; &:hover, &:active { background: $white; color: $blue-s1; } &.current, &.active { background: $white; color: $gray-d4; &:hover, &:active { color: $blue-s1; } } } // +UI Actions List - Extend // ==================== %actions-list { display: inline-block; margin-bottom: 0; .action-item { position: relative; display: inline-block; vertical-align: middle; margin: ($baseline/10) 0 ($baseline/10) ($baseline/10); .action-button { @include transition(all $tmg-f3 linear 0s); display: block; border-radius: 3px; padding: 3px ($baseline/2); color: $gray-l1; &:hover { background-color: $blue; color: $gray-l6; } .action-button-text { padding-left: 1px; text-transform: uppercase; } &.delete-button:hover { background-color: $gray-l1; } .icon { font-style: normal; } } .drag-handle { display: block; float: none; height: ($baseline*1.2); width: ($baseline); margin: 0; // CASE: right to left layout @include rtl { background: transparent url("../images/drag-handles.png") no-repeat left center; } // CASE: left to right layout @include ltr { background: transparent url("../images/drag-handles.png") no-repeat right center; } } &.toggle-action { // TODO: generalize and move checkbox styling in from static-pages and assets sass } } } // +UI Expand/Collapse - Extend // ==================== // TODO: this should be transitioned away from in favor of %ui-expand-collapse %expand-collapse { @include transition(all $tmg-f2 linear 0s); display: inline-block; color: $gray-l2; vertical-align: top; &:hover { color: $blue; } .ui-toggle-expansion { @include transition(all $tmg-f2 ease-in-out 0s); @extend %t-action1; display: inline-block; margin-right: ($baseline/4); color: $gray-l3; vertical-align: middle; } &.expand .ui-toggle-expansion { @include transform(rotate(-90deg)); @include transform-origin(50% 50%); } } // +UI Expand/Collapse - Extend // ==================== // will replace %expand-collapse %ui-expand-collapse { @include transition(all $tmg-f2 linear 0s); // CASE: default (is expanded) .ui-toggle-expansion { @include transition(all $tmg-f2 ease-in-out 0s); display: inline-block; vertical-align: middle; .icon { @include transition(all $tmg-f2 ease-in-out 0s); } // STATE: hover/active &:hover, &:active { @extend %ui-fake-link; color: $ui-link-color-focus; } } // CASE: is collapsed &.is-collapsed { .ui-toggle-expansion { .icon { @include transform(rotate(-90deg)); @include transform-origin(50% 50%); } } } } // +Drag and Drop Styling // ==================== // UI: drag handle .drag-handle { &:hover, &:focus { cursor: move; } } // UI: is draggable .is-draggable { @include transition(border-color $tmg-f2 ease-in-out 0, box-shadow $tmg-f2 ease-in-out 0, margin $tmg-f2 ease-in-out 0); position: relative; .draggable-drop-indicator { @extend %ui-depth3; @include transition(opacity $tmg-f2 linear 0s); @include size(100%, auto); position: absolute; border-top: 1px solid $blue-l1; opacity: 0.0; .fa-caret-right { @extend %t-icon5; position: absolute; top: -12px; left: -($baseline/4); color: $blue-s1; } } .draggable-drop-indicator-before { top: -($baseline/2); } .draggable-drop-indicator-after { bottom: -($baseline/2); } } // UI: is dragging - drag state .is-dragging { @extend %ui-depth4; left: -($baseline/4); box-shadow: 0 1px 2px 0 $shadow-d1; cursor: move; opacity: 0.65; border: 1px solid $gray-d3; // UI: condition - valid drop &.valid-drop { border-color: $ui-action-primary-color-focus; box-shadow: 0 1px 2px 0 rgba($ui-action-primary-color-focus, 0.50); } } // UI: drag state - was dragging .was-dragging { @include transition(transform $tmg-f2 ease-in-out 0); } // UI: drag target .drop-target { &.drop-target-before { margin-top: ($baseline*1.5); > .draggable-drop-indicator-before { opacity: 1.0; } } &.drop-target-after { margin-bottom: ($baseline*1.5); > .draggable-drop-indicator-after { opacity: 1.0; } } } // UI: drop state - was dropped .was-dropped { @include animation(was-dropped $tmg-avg ease-in-out 1); border-color: $ui-action-primary-color-focus; box-shadow: 0 1px 2px 0 rgba($ui-action-primary-color-focus, 0.50); }