http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_custom-forms.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_custom-forms.scss b/assets/css/_sass/bootstrap/_custom-forms.scss new file mode 100644 index 0000000..a5f0bdf --- /dev/null +++ b/assets/css/_sass/bootstrap/_custom-forms.scss @@ -0,0 +1,265 @@ +// scss-lint:disable PropertyCount + +// Embedded icons from Open Iconic. +// Released under MIT and copyright 2014 Waybury. +// http://useiconic.com/open + + +// Checkboxes and radios +// +// Base class takes care of all the key behavioral aspects. + +.custom-control { + position: relative; + display: inline; + padding-left: $custom-control-gutter; + cursor: pointer; + + + .custom-control { + margin-left: $custom-control-spacer-x; + } +} + +.custom-control-input { + position: absolute; + z-index: -1; // Put the input behind the label so it doesn't overlay text + opacity: 0; + + &:checked ~ .custom-control-indicator { + color: $custom-control-checked-indicator-color; + background-color: $custom-control-checked-indicator-bg; + @include box-shadow($custom-control-checked-indicator-box-shadow); + } + + &:focus ~ .custom-control-indicator { + // the mixin is not used here to make sure there is feedback + box-shadow: $custom-control-focus-indicator-box-shadow; + } + + &:active ~ .custom-control-indicator { + color: $custom-control-active-indicator-color; + background-color: $custom-control-active-indicator-bg; + @include box-shadow($custom-control-active-indicator-box-shadow); + } + + &:disabled { + ~ .custom-control-indicator { + cursor: $custom-control-disabled-cursor; + background-color: $custom-control-disabled-indicator-bg; + } + + ~ .custom-control-description { + color: $custom-control-disabled-description-color; + cursor: $custom-control-disabled-cursor; + } + } +} + +// Custom indicator +// +// Generates a shadow element to create our makeshift checkbox/radio background. + +.custom-control-indicator { + position: absolute; + top: .0625rem; + left: 0; + display: block; + width: $custom-control-indicator-size; + height: $custom-control-indicator-size; + pointer-events: none; + user-select: none; + background-color: $custom-control-indicator-bg; + background-repeat: no-repeat; + background-position: center center; + background-size: $custom-control-indicator-bg-size; + @include box-shadow($custom-control-indicator-box-shadow); +} + +// Checkboxes +// +// Tweak just a few things for checkboxes. + +.custom-checkbox { + .custom-control-indicator { + @include border-radius($custom-checkbox-radius); + } + + .custom-control-input:checked ~ .custom-control-indicator { + background-image: $custom-checkbox-checked-icon; + } + + .custom-control-input:indeterminate ~ .custom-control-indicator { + background-color: $custom-checkbox-indeterminate-bg; + background-image: $custom-checkbox-indeterminate-icon; + @include box-shadow($custom-checkbox-indeterminate-box-shadow); + } +} + +// Radios +// +// Tweak just a few things for radios. + +.custom-radio { + .custom-control-indicator { + border-radius: $custom-radio-radius; + } + + .custom-control-input:checked ~ .custom-control-indicator { + background-image: $custom-radio-checked-icon; + } +} + + +// Layout options +// +// By default radios and checkboxes are `inline-block` with no additional spacing +// set. Use these optional classes to tweak the layout. + +.custom-controls-stacked { + .custom-control { + display: inline; + + &::after { + display: block; + margin-bottom: $custom-control-spacer-y; + content: ""; + } + + + .custom-control { + margin-left: 0; + } + } +} + + +// Select +// +// Replaces the browser default select with a custom one, mostly pulled from +// http://primercss.io. +// +// Includes IE9-specific hacks (noted by ` \9`). + +.custom-select { + display: inline-block; + max-width: 100%; + padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x; + padding-right: $custom-select-padding-x \9; + color: $custom-select-color; + vertical-align: middle; + background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center; + background-image: none \9; + background-size: $custom-select-bg-size; + border: $custom-select-border-width solid $custom-select-border-color; + @include border-radius($custom-select-border-radius); + // Use vendor prefixes as `appearance` isn't part of the CSS spec. + -moz-appearance: none; + -webkit-appearance: none; + + &:focus { + border-color: $custom-select-focus-border-color; + outline: none; + @include box-shadow($custom-select-focus-box-shadow); + + &::-ms-value { + // For visual consistency with other platforms/browsers, + // supress the default white text on blue background highlight given to + // the selected option text when the (still closed) <select> receives focus + // in IE and (under certain conditions) Edge. + // See https://github.com/twbs/bootstrap/issues/19398. + color: $input-color; + background-color: $input-bg; + } + } + + &:disabled { + color: $custom-select-disabled-color; + cursor: $cursor-disabled; + background-color: $custom-select-disabled-bg; + } + + // Hides the default caret in IE11 + &::-ms-expand { + opacity: 0; + } +} + +.custom-select-sm { + padding-top: $custom-select-padding-y; + padding-bottom: $custom-select-padding-y; + font-size: $custom-select-sm-font-size; + + // &:not([multiple]) { + // height: 26px; + // min-height: 26px; + // } +} + + +// File +// +// Custom file input. + +.custom-file { + position: relative; + display: inline-block; + max-width: 100%; + height: $custom-file-height; + cursor: pointer; +} + +.custom-file-input { + min-width: $custom-file-width; + max-width: 100%; + margin: 0; + filter: alpha(opacity = 0); + opacity: 0; + + &:focus ~ .custom-file-control { + @include box-shadow($custom-file-focus-box-shadow); + } +} + +.custom-file-control { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 5; + height: $custom-file-height; + padding: $custom-file-padding-x $custom-file-padding-y; + line-height: $custom-file-line-height; + color: $custom-file-color; + user-select: none; + background-color: $custom-file-bg; + border: $custom-file-border-width solid $custom-file-border-color; + @include border-radius($custom-file-border-radius); + @include box-shadow($custom-file-box-shadow); + + @each $lang, $text in map-get($custom-file-text, placeholder) { + &:lang(#{$lang})::after { + content: $text; + } + } + + &::before { + position: absolute; + top: -$custom-file-border-width; + right: -$custom-file-border-width; + bottom: -$custom-file-border-width; + z-index: 6; + display: block; + height: $custom-file-height; + padding: $custom-file-padding-x $custom-file-padding-y; + line-height: $custom-file-line-height; + color: $custom-file-button-color; + background-color: $custom-file-button-bg; + border: $custom-file-border-width solid $custom-file-border-color; + @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0); + } + + @each $lang, $text in map-get($custom-file-text, button-label) { + &:lang(#{$lang})::before { + content: $text; + } + } +}
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_custom.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_custom.scss b/assets/css/_sass/bootstrap/_custom.scss new file mode 100644 index 0000000..88ccf20 --- /dev/null +++ b/assets/css/_sass/bootstrap/_custom.scss @@ -0,0 +1,4 @@ +// Bootstrap overrides +// +// Copy variables from `_variables.scss` to this file to override default values +// without modifying source files. http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_dropdown.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_dropdown.scss b/assets/css/_sass/bootstrap/_dropdown.scss new file mode 100644 index 0000000..e696d28 --- /dev/null +++ b/assets/css/_sass/bootstrap/_dropdown.scss @@ -0,0 +1,179 @@ +// The dropdown wrapper (`<div>`) +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + // Generate the caret automatically + &::after { + display: inline-block; + width: 0; + height: 0; + margin-left: $caret-width; + vertical-align: middle; + content: ""; + border-top: $caret-width solid; + border-right: $caret-width solid transparent; + border-left: $caret-width solid transparent; + } + + // Prevent the focus on the dropdown toggle when closing dropdowns + &:focus { + outline: 0; + } +} + +.dropup { + .dropdown-toggle { + &::after { + border-top: 0; + border-bottom: $caret-width solid; + } + } +} + +// The dropdown menu +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: $zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: $dropdown-min-width; + padding: $dropdown-padding-y 0; + margin: $dropdown-margin-top 0 0; // override default ul + font-size: $font-size-base; + color: $body-color; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + list-style: none; + background-color: $dropdown-bg; + background-clip: padding-box; + border: $dropdown-border-width solid $dropdown-border-color; + @include border-radius($border-radius); + @include box-shadow($dropdown-box-shadow); +} + +// Dividers (basically an `<hr>`) within the dropdown +.dropdown-divider { + @include nav-divider($dropdown-divider-bg); +} + +// Links, buttons, and more within the dropdown menu +// +// `<button>`-specific styles are denoted with `// For <button>s` +.dropdown-item { + display: block; + width: 100%; // For `<button>`s + padding: 3px $dropdown-item-padding-x; + clear: both; + font-weight: normal; + color: $dropdown-link-color; + text-align: inherit; // For `<button>`s + white-space: nowrap; // prevent links from randomly breaking onto new lines + background: none; // For `<button>`s + border: 0; // For `<button>`s + + @include hover-focus { + color: $dropdown-link-hover-color; + text-decoration: none; + background-color: $dropdown-link-hover-bg; + } + + // Active state + &.active { + @include plain-hover-focus { + color: $dropdown-link-active-color; + text-decoration: none; + background-color: $dropdown-link-active-bg; + outline: 0; + } + } + + // Disabled state + // + // Gray out text and ensure the hover/focus state remains gray + &.disabled { + @include plain-hover-focus { + color: $dropdown-link-disabled-color; + } + + // Nuke hover/focus effects + @include hover-focus { + text-decoration: none; + cursor: $cursor-disabled; + background-color: transparent; + background-image: none; // Remove CSS gradient + @include reset-filter(); + } + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + right: 0; + left: auto; // Reset the default from `.dropdown-menu` +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: $dropdown-padding-y $dropdown-item-padding-x; + font-size: $font-size-sm; + color: $dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-dropdown-backdrop; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + content: ""; + border-top: 0; + border-bottom: $caret-width solid; + } + + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: $dropdown-margin-top; + } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_forms.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_forms.scss b/assets/css/_sass/bootstrap/_forms.scss new file mode 100644 index 0000000..263a8bc --- /dev/null +++ b/assets/css/_sass/bootstrap/_forms.scss @@ -0,0 +1,364 @@ +// scss-lint:disable QualifyingElement + +// +// Textual form controls +// + +.form-control { + display: block; + width: 100%; + // // Make inputs at least the height of their button counterpart (base line-height + padding + border) + // height: $input-height; + padding: $input-padding-y $input-padding-x; + font-size: $font-size-base; + line-height: $input-line-height; + color: $input-color; + background-color: $input-bg; + // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214. + background-image: none; + background-clip: padding-box; + border: $input-btn-border-width solid $input-border-color; + // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS. + @include border-radius($input-border-radius); + @include box-shadow($input-box-shadow); + @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s); + + // Unstyle the caret on `<select>`s in IE10+. + &::-ms-expand { + background-color: transparent; + border: 0; + } + + // Customize the `:focus` state to imitate native WebKit styles. + @include form-control-focus(); + + // Placeholder + &::placeholder { + color: $input-color-placeholder; + // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526. + opacity: 1; + } + + // Disabled and read-only inputs + // + // HTML5 says that controls under a fieldset > legend:first-child won't be + // disabled if the fieldset is disabled. Due to implementation difficulty, we + // don't honor that edge case; we style them as disabled anyway. + &:disabled, + &[readonly] { + background-color: $input-bg-disabled; + // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655. + opacity: 1; + } + + &:disabled { + cursor: $cursor-disabled; + } +} + +select.form-control { + &:not([size]):not([multiple]) { + height: $input-height; + } + + &:focus::-ms-value { + // Suppress the nested default white text on blue background highlight given to + // the selected option text when the (still closed) <select> receives focus + // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to + // match the appearance of the native widget. + // See https://github.com/twbs/bootstrap/issues/19398. + color: $input-color; + background-color: $input-bg; + } +} + +// Make file inputs better match text inputs by forcing them to new lines. +.form-control-file, +.form-control-range { + display: block; +} + + +// +// Labels +// + +// For use with horizontal and inline forms, when you need the label text to +// align with the form controls. +.col-form-label { + padding-top: $input-padding-y; + padding-bottom: $input-padding-y; + margin-bottom: 0; // Override the `<label>` default +} + +.col-form-label-lg { + padding-top: $input-padding-y-lg; + padding-bottom: $input-padding-y-lg; + font-size: $font-size-lg; +} + +.col-form-label-sm { + padding-top: $input-padding-y-sm; + padding-bottom: $input-padding-y-sm; + font-size: $font-size-sm; +} + + +// +// Legends +// + +// For use with horizontal and inline forms, when you need the legend text to +// be the same size as regular labels, and to align with the form controls. +.col-form-legend { + padding-top: $input-padding-y; + padding-bottom: $input-padding-y; + margin-bottom: 0; + font-size: $font-size-base; +} + + +// Static form control text +// +// Apply class to an element to make any string of text align with labels in a +// horizontal form layout. + +.form-control-static { + min-height: $input-height; + // Size it appropriately next to real form controls + padding-top: $input-padding-y; + padding-bottom: $input-padding-y; + // Remove default margin from `p` + margin-bottom: 0; + + &.form-control-sm, + &.form-control-lg { + padding-right: 0; + padding-left: 0; + } +} + + +// Form control sizing +// +// Build on `.form-control` with modifier classes to decrease or increase the +// height and font-size of form controls. +// +// The `.form-group-* form-control` variations are sadly duplicated to avoid the +// issue documented in https://github.com/twbs/bootstrap/issues/15074. + +.form-control-sm { + padding: $input-padding-y-sm $input-padding-x-sm; + font-size: $font-size-sm; + @include border-radius($input-border-radius-sm); +} + +select.form-control-sm { + &:not([size]):not([multiple]) { + height: $input-height-sm; + } +} + +.form-control-lg { + padding: $input-padding-y-lg $input-padding-x-lg; + font-size: $font-size-lg; + @include border-radius($input-border-radius-lg); +} + +select.form-control-lg { + &:not([size]):not([multiple]) { + height: $input-height-lg; + } +} + + +// Form groups +// +// Designed to help with the organization and spacing of vertical forms. For +// horizontal forms, use the predefined grid classes. + +.form-group { + margin-bottom: $form-group-margin-bottom; +} + +.form-text { + display: block; + margin-top: ($spacer * .25); +} + + +// Checkboxes and radios +// +// Indent the labels to position radios/checkboxes as hanging controls. + +.form-check { + position: relative; + display: block; + margin-bottom: ($spacer * .75); + + // Move up sibling radios or checkboxes for tighter spacing + + .form-check { + margin-top: -.25rem; + } + + &.disabled { + .form-check-label { + color: $text-muted; + cursor: $cursor-disabled; + } + } +} + +.form-check-label { + padding-left: 1.25rem; + margin-bottom: 0; // Override default `<label>` bottom margin + cursor: pointer; +} + +.form-check-input { + position: absolute; + margin-top: .25rem; + margin-left: -1.25rem; + + &:only-child { + position: static; + } +} + +// Radios and checkboxes on same line +.form-check-inline { + position: relative; + display: inline-block; + padding-left: 1.25rem; + margin-bottom: 0; // Override default `<label>` bottom margin + vertical-align: middle; + cursor: pointer; + + + .form-check-inline { + margin-left: .75rem; + } + + &.disabled { + cursor: $cursor-disabled; + } +} + + +// Form control feedback states +// +// Apply contextual and semantic states to individual form controls. + +.form-control-feedback { + margin-top: ($spacer * .25); +} + +.form-control-success, +.form-control-warning, +.form-control-danger { + padding-right: ($input-padding-x * 3); + background-repeat: no-repeat; + background-position: center right ($input-height / 4); + background-size: ($input-height / 2) ($input-height / 2); +} + +// Form validation states +.has-success { + @include form-control-validation($brand-success); + + .form-control-success { + background-image: $form-icon-success; + } +} + +.has-warning { + @include form-control-validation($brand-warning); + + .form-control-warning { + background-image: $form-icon-warning; + } +} + +.has-danger { + @include form-control-validation($brand-danger); + + .form-control-danger { + background-image: $form-icon-danger; + } +} + + +// Inline forms +// +// Make forms appear inline(-block) by adding the `.form-inline` class. Inline +// forms begin stacked on extra small (mobile) devices and then go inline when +// viewports reach <768px. +// +// Requires wrapping inputs and labels with `.form-group` for proper display of +// default HTML form controls and our custom form controls (e.g., input groups). + +.form-inline { + + // Kick in the inline + @include media-breakpoint-up(sm) { + // Inline-block all the things for "inline" + .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + + // Allow folks to *not* use `.form-group` + .form-control { + display: inline-block; + width: auto; // Prevent labels from stacking above inputs in `.form-group` + vertical-align: middle; + } + + // Make static controls behave like regular ones + .form-control-static { + display: inline-block; + } + + .input-group { + display: inline-table; + vertical-align: middle; + + .input-group-addon, + .input-group-btn, + .form-control { + width: auto; + } + } + + // Input groups need that 100% width though + .input-group > .form-control { + width: 100%; + } + + .form-control-label { + margin-bottom: 0; + vertical-align: middle; + } + + // Remove default margin on radios/checkboxes that were used for stacking, and + // then undo the floating of radios and checkboxes to match. + .form-check { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-check-label { + padding-left: 0; + } + .form-check-input { + position: relative; + margin-left: 0; + } + + // Re-override the feedback icon. + .has-feedback .form-control-feedback { + top: 0; + } + } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_grid.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_grid.scss b/assets/css/_sass/bootstrap/_grid.scss new file mode 100644 index 0000000..24cf74d --- /dev/null +++ b/assets/css/_sass/bootstrap/_grid.scss @@ -0,0 +1,39 @@ +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +@if $enable-grid-classes { + .container { + @include make-container(); + @include make-container-max-widths(); + } +} + +// Fluid container +// +// Utilizes the mixin meant for fixed width containers, but without any defined +// width for fluid, full width layouts. + +@if $enable-grid-classes { + .container-fluid { + @include make-container(); + } +} + +// Row +// +// Rows contain and clear the floats of your columns. + +@if $enable-grid-classes { + .row { + @include make-row(); + } +} + +// Columns +// +// Common styles for small and large grid columns + +@if $enable-grid-classes { + @include make-grid-columns(); +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_images.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_images.scss b/assets/css/_sass/bootstrap/_images.scss new file mode 100644 index 0000000..9894269 --- /dev/null +++ b/assets/css/_sass/bootstrap/_images.scss @@ -0,0 +1,52 @@ +// Responsive images (ensure images don't scale beyond their parents) +// +// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s. +// We previously tried the "images are responsive by default" approach in Bootstrap v2, +// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) +// which weren't expecting the images within themselves to be involuntarily resized. +// See also https://github.com/twbs/bootstrap/issues/18178 +.img-fluid { + @include img-fluid(); +} + +// Rounded corners +.img-rounded { + @include border-radius($border-radius-lg); +} + +// Image thumbnails +.img-thumbnail { + padding: $thumbnail-padding; + background-color: $thumbnail-bg; + border: $thumbnail-border-width solid $thumbnail-border-color; + @include border-radius($thumbnail-border-radius); + transition: all .2s ease-in-out; + @include box-shadow($thumbnail-box-shadow); + + // Keep them at most 100% wide + @include img-fluid(inline-block); +} + +// Perfect circle +.img-circle { + border-radius: 50%; +} + +// +// Figures +// + +.figure { + // Ensures the caption's text aligns with the image. + display: inline-block; +} + +.figure-img { + margin-bottom: ($spacer-y / 2); + line-height: 1; +} + +.figure-caption { + font-size: $figure-caption-font-size; + color: $gray-light; +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_input-group.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_input-group.scss b/assets/css/_sass/bootstrap/_input-group.scss new file mode 100644 index 0000000..fff9cb5 --- /dev/null +++ b/assets/css/_sass/bootstrap/_input-group.scss @@ -0,0 +1,188 @@ +// +// Base styles +// + +.input-group { + position: relative; + width: 100%; + + @if $enable-flex { + display: flex; + } @else { + display: table; + // Prevent input groups from inheriting border styles from table cells when + // placed within a table. + border-collapse: separate; + } + + .form-control { + // Ensure that the input is always above the *appended* addon button for + // proper border colors. + position: relative; + z-index: 2; + // Bring the "active" form control to the front + @include hover-focus-active { + z-index: 3; + } + @if $enable-flex { + flex: 1; + } @else { + // IE9 fubars the placeholder attribute in text inputs and the arrows on + // select elements in input groups. To fix it, we float the input. Details: + // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 + float: left; + width: 100%; + } + margin-bottom: 0; + } +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + @if not $enable-flex { + display: table-cell; + } + + &:not(:first-child):not(:last-child) { + @include border-radius(0); + } +} + +.input-group-addon, +.input-group-btn { + @if not $enable-flex { + width: 1%; + } + white-space: nowrap; + vertical-align: middle; // Match the inputs +} + + +// Sizing options +// +// Remix the default form control sizing classes into new ones for easier +// manipulation. + +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + @extend .form-control-lg; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + @extend .form-control-sm; +} + + +// +// Text input groups +// + +.input-group-addon { + padding: $input-padding-y $input-padding-x; + margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom + font-size: $font-size-base; + font-weight: normal; + line-height: $input-line-height; + color: $input-color; + text-align: center; + background-color: $input-group-addon-bg; + border: $input-btn-border-width solid $input-group-addon-border-color; + @include border-radius($border-radius); + + // Sizing + &.form-control-sm { + padding: $input-padding-y-sm $input-padding-x-sm; + font-size: $font-size-sm; + @include border-radius($border-radius-sm); + } + &.form-control-lg { + padding: $input-padding-y-lg $input-padding-x-lg; + font-size: $font-size-lg; + @include border-radius($border-radius-lg); + } + + // scss-lint:disable QualifyingElement + // Nuke default margins from checkboxes and radios to vertically center within. + input[type="radio"], + input[type="checkbox"] { + margin-top: 0; + } + // scss-lint:enable QualifyingElement +} + + +// +// Reset rounded corners +// + +.input-group .form-control:not(:last-child), +.input-group-addon:not(:last-child), +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group > .btn, +.input-group-btn:not(:last-child) > .dropdown-toggle, +.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { + @include border-right-radius(0); +} +.input-group-addon:not(:last-child) { + border-right: 0; +} +.input-group .form-control:not(:first-child), +.input-group-addon:not(:first-child), +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group > .btn, +.input-group-btn:not(:first-child) > .dropdown-toggle, +.input-group-btn:not(:last-child) > .btn:not(:first-child), +.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn { + @include border-left-radius(0); +} +.form-control + .input-group-addon:not(:first-child) { + border-left: 0; +} + +// +// Button input groups +// + +.input-group-btn { + position: relative; + // Jankily prevent input button groups from wrapping with `white-space` and + // `font-size` in combination with `inline-block` on buttons. + font-size: 0; + white-space: nowrap; + + // Negative margin for spacing, position for bringing hovered/focused/actived + // element above the siblings. + > .btn { + position: relative; + + .btn { + margin-left: (-$input-btn-border-width); + } + // Bring the "active" button to the front + @include hover-focus-active { + z-index: 3; + } + } + + // Negative margin to only have a single, shared border between the two + &:not(:last-child) { + > .btn, + > .btn-group { + margin-right: (-$input-btn-border-width); + } + } + &:not(:first-child) { + > .btn, + > .btn-group { + z-index: 2; + margin-left: (-$input-btn-border-width); + // Because specificity + @include hover-focus-active { + z-index: 3; + } + } + } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_jumbotron.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_jumbotron.scss b/assets/css/_sass/bootstrap/_jumbotron.scss new file mode 100644 index 0000000..b12d465 --- /dev/null +++ b/assets/css/_sass/bootstrap/_jumbotron.scss @@ -0,0 +1,20 @@ +.jumbotron { + padding: $jumbotron-padding ($jumbotron-padding / 2); + margin-bottom: $jumbotron-padding; + background-color: $jumbotron-bg; + @include border-radius($border-radius-lg); + + @include media-breakpoint-up(sm) { + padding: ($jumbotron-padding * 2) $jumbotron-padding; + } +} + +.jumbotron-hr { + border-top-color: darken($jumbotron-bg, 10%); +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + @include border-radius(0); +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_labels.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_labels.scss b/assets/css/_sass/bootstrap/_labels.scss new file mode 100644 index 0000000..c58ddde --- /dev/null +++ b/assets/css/_sass/bootstrap/_labels.scss @@ -0,0 +1,77 @@ +// Base class +// +// Requires one of the contextual, color modifier classes for `color` and +// `background-color`. + +.label { + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: $label-font-weight; + line-height: 1; + color: $label-color; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + @include border-radius(); + + // Empty labels collapse automatically + &:empty { + display: none; + } +} + +// Quick fix for labels in buttons +.btn .label { + position: relative; + top: -1px; +} + +// Add hover effects, but only for links +a.label { + @include hover-focus { + color: $label-link-hover-color; + text-decoration: none; + cursor: pointer; + } +} + +// Pill labels +// +// Make them extra rounded with a modifier to replace v3's badges. + +.label-pill { + padding-right: .6em; + padding-left: .6em; + // Use a higher than normal value to ensure completely rounded edges when + // customizing padding or font-size on labels. + @include border-radius(10rem); +} + +// Colors +// +// Contextual variations (linked labels get darker on :hover). + +.label-default { + @include label-variant($label-default-bg); +} + +.label-primary { + @include label-variant($label-primary-bg); +} + +.label-success { + @include label-variant($label-success-bg); +} + +.label-info { + @include label-variant($label-info-bg); +} + +.label-warning { + @include label-variant($label-warning-bg); +} + +.label-danger { + @include label-variant($label-danger-bg); +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_list-group.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_list-group.scss b/assets/css/_sass/bootstrap/_list-group.scss new file mode 100644 index 0000000..d7e2ec5 --- /dev/null +++ b/assets/css/_sass/bootstrap/_list-group.scss @@ -0,0 +1,123 @@ +// Base class +// +// Easily usable on <ul>, <ol>, or <div>. + +.list-group { + // No need to set list-style: none; since .list-group-item is block level + padding-left: 0; // reset padding because ul and ol + margin-bottom: 0; +} + + +// Individual list items +// +// Use on `li`s or `div`s within the `.list-group` parent. + +.list-group-item { + position: relative; + display: block; + padding: $list-group-item-padding-y $list-group-item-padding-x; + // Place the border on the list items and negative margin up for better styling + margin-bottom: -$list-group-border-width; + background-color: $list-group-bg; + border: $list-group-border-width solid $list-group-border-color; + + &:first-child { + @include border-top-radius($list-group-border-radius); + } + + &:last-child { + margin-bottom: 0; + @include border-bottom-radius($list-group-border-radius); + } + + &.disabled { + @include plain-hover-focus { + color: $list-group-disabled-color; + cursor: $cursor-disabled; + background-color: $list-group-disabled-bg; + + // Force color to inherit for custom content + .list-group-item-heading { + color: inherit; + } + .list-group-item-text { + color: $list-group-disabled-text-color; + } + } + } + + &.active { + @include plain-hover-focus { + z-index: 2; // Place active items above their siblings for proper border styling + color: $list-group-active-color; + text-decoration: none; // Repeat here because it inherits global a:hover otherwise + background-color: $list-group-active-bg; + border-color: $list-group-active-border; + + // Force color to inherit for custom content + .list-group-item-heading, + .list-group-item-heading > small, + .list-group-item-heading > .small { + color: inherit; + } + .list-group-item-text { + color: $list-group-active-text-color; + } + } + } +} + +.list-group-flush { + .list-group-item { + border-radius: 0; + } +} + + +// Interactive list items +// +// Use anchor or button elements instead of `li`s or `div`s to create interactive +// list items. Includes an extra `.active` modifier class for selected items. + +.list-group-item-action { + width: 100%; // For `<button>`s (anchors become 100% by default though) + color: $list-group-link-color; + text-align: inherit; // For `<button>`s (anchors inherit) + + .list-group-item-heading { + color: $list-group-link-heading-color; + } + + // Hover state + @include hover-focus { + color: $list-group-link-hover-color; + text-decoration: none; + background-color: $list-group-hover-bg; + } +} + + +// Contextual variants +// +// Add modifier classes to change text and background color on individual items. +// Organizationally, this must come after the `:hover` states. + +@include list-group-item-variant(success, $state-success-bg, $state-success-text); +@include list-group-item-variant(info, $state-info-bg, $state-info-text); +@include list-group-item-variant(warning, $state-warning-bg, $state-warning-text); +@include list-group-item-variant(danger, $state-danger-bg, $state-danger-text); + + +// Custom content options +// +// Extra classes for creating well-formatted content within `.list-group-item`s. + +.list-group-item-heading { + margin-top: 0; + margin-bottom: $list-group-item-heading-margin-bottom; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_media.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_media.scss b/assets/css/_sass/bootstrap/_media.scss new file mode 100644 index 0000000..d970c94 --- /dev/null +++ b/assets/css/_sass/bootstrap/_media.scss @@ -0,0 +1,89 @@ +@if $enable-flex { + .media { + display: flex; + margin-bottom: $spacer; + } + .media-body { + flex: 1; + } + .media-middle { + align-self: center; + } + .media-bottom { + align-self: flex-end; + } +} @else { + .media { + margin-top: $media-margin-top; + + &:first-child { + margin-top: 0; + } + } + .media, + .media-body { + overflow: hidden; + } + .media-body { + width: 10000px; + } + .media-left, + .media-right, + .media-body { + display: table-cell; + vertical-align: top; + } + .media-middle { + vertical-align: middle; + } + .media-bottom { + vertical-align: bottom; + } +} + + +// +// Images/elements as the media anchor +// + +.media-object { + display: block; + + // Fix collapse in webkit from max-width: 100% and display: table-cell. + &.img-thumbnail { + max-width: none; + } +} + + +// +// Alignment +// + +.media-right { + padding-left: $media-alignment-padding-x; +} + +.media-left { + padding-right: $media-alignment-padding-x; +} + + +// +// Headings +// + +.media-heading { + margin-top: 0; + margin-bottom: $media-heading-margin-bottom; +} + + +// +// Media list variation +// + +.media-list { + padding-left: 0; + list-style: none; +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_mixins.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_mixins.scss b/assets/css/_sass/bootstrap/_mixins.scss new file mode 100644 index 0000000..1b5bf0f --- /dev/null +++ b/assets/css/_sass/bootstrap/_mixins.scss @@ -0,0 +1,54 @@ +// Toggles +// +// Used in conjunction with global variables to enable certain theme features. + +@mixin box-shadow($shadow...) { + @if $enable-shadows { + box-shadow: $shadow; + } +} + +@mixin transition($transition...) { + @if $enable-transitions { + transition: $transition; + } +} + +// Utilities +@import "mixins/breakpoints"; +@import "mixins/hover"; +@import "mixins/image"; +@import "mixins/tag"; +@import "mixins/reset-filter"; +@import "mixins/resize"; +@import "mixins/screen-reader"; +@import "mixins/size"; +@import "mixins/tab-focus"; +@import "mixins/reset-text"; +@import "mixins/text-emphasis"; +@import "mixins/text-hide"; +@import "mixins/text-truncate"; + +// // Components +@import "mixins/alert"; +@import "mixins/buttons"; +@import "mixins/cards"; +@import "mixins/pagination"; +@import "mixins/lists"; +@import "mixins/list-group"; +@import "mixins/nav-divider"; +@import "mixins/forms"; +@import "mixins/progress"; +@import "mixins/table-row"; + +// // Skins +@import "mixins/background-variant"; +@import "mixins/border-radius"; +@import "mixins/gradients"; + +// // Layout +@import "mixins/clearfix"; +// @import "mixins/navbar-align"; +@import "mixins/grid-framework"; +@import "mixins/grid"; +@import "mixins/pulls"; http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_modal.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_modal.scss b/assets/css/_sass/bootstrap/_modal.scss new file mode 100644 index 0000000..83a1335 --- /dev/null +++ b/assets/css/_sass/bootstrap/_modal.scss @@ -0,0 +1,132 @@ +// .modal-open - body class for killing the scroll +// .modal - container to scroll within +// .modal-dialog - positioning shell for the actual modal +// .modal-content - actual modal w/ bg and corners and shit + + +// Kill the scroll on the body +.modal-open { + overflow: hidden; +} + +// Container that the modal scrolls within +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-modal; + display: none; + overflow: hidden; + // Prevent Chrome on Windows from adding a focus outline. For details, see + // https://github.com/twbs/bootstrap/pull/10951. + outline: 0; + -webkit-overflow-scrolling: touch; + + // When fading in the modal, animate it to slide down + &.fade .modal-dialog { + transition: transform .3s ease-out; + transform: translate(0, -25%); + } + &.in .modal-dialog { transform: translate(0, 0); } +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +// Shell div to position the modal with bottom padding +.modal-dialog { + position: relative; + width: auto; + margin: $modal-dialog-margin; +} + +// Actual modal +.modal-content { + position: relative; + background-color: $modal-content-bg; + background-clip: padding-box; + border: $modal-content-border-width solid $modal-content-border-color; + @include border-radius($border-radius-lg); + @include box-shadow($modal-content-xs-box-shadow); + // Remove focus outline from opened modal + outline: 0; +} + +// Modal background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-modal-bg; + background-color: $modal-backdrop-bg; + + // Fade for backdrop + &.fade { opacity: 0; } + &.in { opacity: $modal-backdrop-opacity; } +} + +// Modal header +// Top section of the modal w/ title and dismiss +.modal-header { + padding: $modal-title-padding; + border-bottom: $modal-header-border-width solid $modal-header-border-color; + @include clearfix; +} +// Close icon +.modal-header .close { + margin-top: -2px; +} + +// Title text within header +.modal-title { + margin: 0; + line-height: $modal-title-line-height; +} + +// Modal body +// Where all modal content resides (sibling of .modal-header and .modal-footer) +.modal-body { + position: relative; + padding: $modal-inner-padding; +} + +// Footer (for actions) +.modal-footer { + padding: $modal-inner-padding; + text-align: right; // right align buttons + border-top: $modal-footer-border-width solid $modal-footer-border-color; + @include clearfix(); // clear it in case folks use .pull-* classes on buttons +} + +// Measure scrollbar width for padding body during modal show/hide +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +// Scale up the modal +@include media-breakpoint-up(sm) { + // Automatically set modal's width for larger viewports + .modal-dialog { + max-width: $modal-md; + margin: $modal-dialog-sm-up-margin-y auto; + } + + .modal-content { + @include box-shadow($modal-content-sm-up-box-shadow); + } + + .modal-sm { max-width: $modal-sm; } +} + +@include media-breakpoint-up(lg) { + .modal-lg { max-width: $modal-lg; } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_nav.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_nav.scss b/assets/css/_sass/bootstrap/_nav.scss new file mode 100644 index 0000000..640956c --- /dev/null +++ b/assets/css/_sass/bootstrap/_nav.scss @@ -0,0 +1,157 @@ +// Base class +// +// Kickstart any navigation component with a set of style resets. Works with +// `<nav>`s or `<ul>`s. + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: inline-block; + + @include hover-focus { + text-decoration: none; + } + + // Disabled state lightens text and removes hover/tab effects + &.disabled { + color: $nav-disabled-link-color; + + @include plain-hover-focus { + color: $nav-disabled-link-hover-color; + cursor: $cursor-disabled; + background-color: $nav-disabled-link-hover-bg; + } + } +} + + +// Nav inline + +.nav-inline { + .nav-item { + display: inline-block; + } + + .nav-item + .nav-item, + .nav-link + .nav-link { + margin-left: $nav-item-inline-spacer; + } +} + + +// +// Tabs +// + +.nav-tabs { + border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; + @include clearfix(); + + .nav-item { + float: left; + // Make the list-items overlay the bottom border + margin-bottom: -$nav-tabs-border-width; + + + .nav-item { + margin-left: $nav-item-margin; + } + } + + .nav-link { + display: block; + padding: $nav-link-padding; + border: $nav-tabs-border-width solid transparent; + @include border-top-radius($nav-tabs-border-radius); + + @include hover-focus { + border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color; + } + + &.disabled { + @include plain-hover-focus { + color: $nav-disabled-link-color; + background-color: transparent; + border-color: transparent; + } + } + } + + .nav-link.active, + .nav-item.open .nav-link { + @include plain-hover-focus { + color: $nav-tabs-active-link-hover-color; + background-color: $nav-tabs-active-link-hover-bg; + border-color: $nav-tabs-active-link-hover-border-color $nav-tabs-active-link-hover-border-color transparent; + } + } + + .dropdown-menu { + // Make dropdown border overlap tab border + margin-top: -$nav-tabs-border-width; + // Remove the top rounded corners here since there is a hard edge above the menu + @include border-top-radius(0); + } +} + + +// +// Pills +// + +.nav-pills { + @include clearfix(); + + .nav-item { + float: left; + + + .nav-item { + margin-left: $nav-item-margin; + } + } + + .nav-link { + display: block; + padding: $nav-link-padding; + @include border-radius($nav-pills-border-radius); + } + + .nav-link.active, + .nav-item.open .nav-link { + @include plain-hover-focus { + color: $nav-pills-active-link-color; + cursor: default; + background-color: $nav-pills-active-link-bg; + } + } +} + +.nav-stacked { + .nav-item { + display: block; + float: none; + + + .nav-item { + margin-top: $nav-item-margin; + margin-left: 0; + } + } +} + + +// +// Tabbable tabs +// + +// Hide tabbable panes to start, show them when `.active` +.tab-content { + > .tab-pane { + display: none; + } + > .active { + display: block; + } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_navbar.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_navbar.scss b/assets/css/_sass/bootstrap/_navbar.scss new file mode 100644 index 0000000..353253d --- /dev/null +++ b/assets/css/_sass/bootstrap/_navbar.scss @@ -0,0 +1,264 @@ +// Wrapper and base class +// +// Provide a static navbar from which we expand to create full-width, fixed, and +// other navbar variations. + +.navbar { + position: relative; + padding: $navbar-padding-y $navbar-padding-x; + @include clearfix; + + @include media-breakpoint-up(sm) { + @include border-radius($navbar-border-radius); + } +} + + +// Navbar alignment options +// +// Display the navbar across the entirety of the page or fixed it to the top or +// bottom of the page. + +// A static, full width modifier with no rounded corners. +.navbar-full { + z-index: $zindex-navbar; + + @include media-breakpoint-up(sm) { + @include border-radius(0); + } +} + +// Fix the top/bottom navbars when screen real estate supports it +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: $zindex-navbar-fixed; + + // Undo the rounded corners + @include media-breakpoint-up(sm) { + @include border-radius(0); + } +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-sticky-top { + position: sticky; + top: 0; + z-index: $zindex-navbar-sticky; + width: 100%; + + // Undo the rounded corners + @include media-breakpoint-up(sm) { + @include border-radius(0); + } +} + + +// +// Brand/project name +// + +.navbar-brand { + float: left; + padding-top: $navbar-brand-padding-y; + padding-bottom: $navbar-brand-padding-y; + margin-right: 1rem; + font-size: $font-size-lg; + + @include hover-focus { + text-decoration: none; + } + + > img { + display: block; + } +} + + +.navbar-divider { + float: left; + width: $border-width; + padding-top: .425rem; + padding-bottom: .425rem; + margin-right: $navbar-padding-x; + margin-left: $navbar-padding-x; + overflow: hidden; + + &::before { + content: "\00a0"; + } +} + + +// Navbar toggle +// +// Custom button for toggling the `.navbar-collapse`, powered by the collapse +// Bootstrap JavaScript plugin. + +.navbar-toggler { + padding: .5rem .75rem; + font-size: $font-size-lg; + line-height: 1; + background: none; + border: $border-width solid transparent; + @include border-radius($btn-border-radius); + + @include hover-focus { + text-decoration: none; + } +} + +// Navigation +// +// Custom navbar navigation built on the base `.nav` styles. + +.navbar-nav { + .nav-item { + float: left; + } + + .nav-link { + display: block; + padding-top: .425rem; + padding-bottom: .425rem; + + + .nav-link { + margin-left: 1rem; + } + } + + .nav-item + .nav-item { + margin-left: 2rem; + } +} + +// Dark links against a light background +.navbar-light { + .navbar-brand { + color: $navbar-light-active-color; + + @include hover-focus { + color: $navbar-light-active-color; + } + } + + .navbar-nav { + .nav-link { + color: $navbar-light-color; + + @include hover-focus { + color: $navbar-light-hover-color; + } + } + + .open > .nav-link, + .active > .nav-link, + .nav-link.open, + .nav-link.active { + @include plain-hover-focus { + color: $navbar-light-active-color; + } + } + } + + .navbar-divider { + background-color: rgba(0,0,0,.075); + } +} + +// White links against a dark background +.navbar-dark { + .navbar-brand { + color: $navbar-dark-active-color; + + @include hover-focus { + color: $navbar-dark-active-color; + } + } + + .navbar-nav { + .nav-link { + color: $navbar-dark-color; + + @include hover-focus { + color: $navbar-dark-hover-color; + } + } + + .open > .nav-link, + .active > .nav-link, + .nav-link.open, + .nav-link.active { + @include plain-hover-focus { + color: $navbar-dark-active-color; + } + } + } + + .navbar-divider { + background-color: rgba(255,255,255,.075); + } +} + + +// Navbar toggleable +// +// Custom override for collapse plugin in navbar. + +// scss-lint:disable ImportantRule +.navbar-toggleable { + &-xs { + @include clearfix; + @include media-breakpoint-down(xs) { + .navbar-nav .nav-item { + margin-left: 1.4em; + + &:first-child { + margin-left: 0; + } + } + } + @include media-breakpoint-up(sm) { + display: block !important; + } + } + + &-sm { + @include clearfix; + @include media-breakpoint-down(sm) { + .navbar-nav .nav-item { + margin-left: 1.4em; + + &:first-child { + margin-left: 0; + } + } + } + @include media-breakpoint-up(md) { + display: block !important; + } + } + + &-md { + @include clearfix; + @include media-breakpoint-down(md) { + .navbar-nav .nav-item { + float: none; + margin-left: 0; + } + } + @include media-breakpoint-up(lg) { + display: block !important; + } + } +} +// scss-lint:enable ImportantRule http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_normalize.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_normalize.scss b/assets/css/_sass/bootstrap/_normalize.scss new file mode 100644 index 0000000..8a74836 --- /dev/null +++ b/assets/css/_sass/bootstrap/_normalize.scss @@ -0,0 +1,424 @@ +/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ + +// +// 1. Change the default font family in all browsers (opinionated). +// 2. Prevent adjustments of font size after orientation changes in IE and iOS. +// + +html { + font-family: sans-serif; // 1 + -ms-text-size-adjust: 100%; // 2 + -webkit-text-size-adjust: 100%; // 2 +} + +// +// Remove the margin in all browsers (opinionated). +// + +body { + margin: 0; +} + +// HTML5 display definitions +// ========================================================================== + +// +// Add the correct display in IE 9-. +// 1. Add the correct display in Edge, IE, and Firefox. +// 2. Add the correct display in IE. +// + +article, +aside, +details, // 1 +figcaption, +figure, +footer, +header, +main, // 2 +menu, +nav, +section, +summary { // 1 + display: block; +} + +// +// Add the correct display in IE 9-. +// + +audio, +canvas, +progress, +video { + display: inline-block; +} + +// +// Add the correct display in iOS 4-7. +// + +audio:not([controls]) { + display: none; + height: 0; +} + +// +// Add the correct vertical alignment in Chrome, Firefox, and Opera. +// + +progress { + vertical-align: baseline; +} + +// +// Add the correct display in IE 10-. +// 1. Add the correct display in IE. +// + +template, // 2 +[hidden] { + display: none; +} + +// Links +// ========================================================================== + +// +// Remove the gray background on active links in IE 10. +// + +a { + background-color: transparent; +} + +// +// Remove the outline on focused links when they are also active or hovered +// in all browsers (opinionated). +// + +a:active, +a:hover { + outline-width: 0; +} + +// Text-level semantics +// ========================================================================== + +// +// 1. Remove the bottom border in Firefox 39-. +// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. +// + +abbr[title] { + border-bottom: none; // 1 + text-decoration: underline; // 2 + text-decoration: underline dotted; // 2 +} + +// +// Prevent the duplicate application of `bolder` by the next rule in Safari 6. +// + +b, +strong { + font-weight: inherit; +} + +// +// Add the correct font weight in Chrome, Edge, and Safari. +// + +b, +strong { + font-weight: bolder; +} + +// +// Add the correct font style in Android 4.3-. +// + +dfn { + font-style: italic; +} + +// +// Correct the font size and margin on `h1` elements within `section` and +// `article` contexts in Chrome, Firefox, and Safari. +// + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +// +// Add the correct background and color in IE 9-. +// + +mark { + background-color: #ff0; + color: #000; +} + +// +// Add the correct font size in all browsers. +// + +small { + font-size: 80%; +} + +// +// Prevent `sub` and `sup` elements from affecting the line height in +// all browsers. +// + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +// Embedded content +// ========================================================================== + +// +// Remove the border on images inside links in IE 10-. +// + +img { + border-style: none; +} + +// +// Hide the overflow in IE. +// + +svg:not(:root) { + overflow: hidden; +} + +// Grouping content +// ========================================================================== + +// +// 1. Correct the inheritance and scaling of font size in all browsers. +// 2. Correct the odd `em` font sizing in all browsers. +// + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; // 1 + font-size: 1em; // 2 +} + +// +// Add the correct margin in IE 8. +// + +figure { + margin: 1em 40px; +} + +// +// 1. Add the correct box sizing in Firefox. +// 2. Show the overflow in Edge and IE. +// + +hr { + box-sizing: content-box; // 1 + height: 0; // 1 + overflow: visible; // 2 +} + +// Forms +// ========================================================================== + +// +// Change font properties to `inherit` in all browsers (opinionated). +// + +button, +input, +select, +textarea { + font: inherit; +} + +// +// Restore the font weight unset by the previous rule. +// + +optgroup { + font-weight: bold; +} + +// +// Show the overflow in IE. +// 1. Show the overflow in Edge. +// 2. Show the overflow in Edge, Firefox, and IE. +// + +button, +input, // 1 +select { // 2 + overflow: visible; +} + +// +// Remove the margin in Safari. +// 1. Remove the margin in Firefox and Safari. +// + +button, +input, +select, +textarea { // 1 + margin: 0; +} + +// +// Remove the inheritence of text transform in Edge, Firefox, and IE. +// 1. Remove the inheritence of text transform in Firefox. +// + +button, +select { // 1 + text-transform: none; +} + +// +// Change the cursor in all browsers (opinionated). +// + +button, +[type="button"], +[type="reset"], +[type="submit"] { + cursor: pointer; +} + +// +// Restore the default cursor to disabled elements unset by the previous rule. +// + +[disabled] { + cursor: default; +} + +// +// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` +// controls in Android 4. +// 2. Correct the inability to style clickable types in iOS. +// + +button, +html [type="button"], // 1 +[type="reset"], +[type="submit"] { + -webkit-appearance: button; // 2 +} + +// +// Remove the inner border and padding in Firefox. +// + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +// +// Restore the focus styles unset by the previous rule. +// + +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; +} + +// +// Change the border, margin, and padding in all browsers (opinionated). +// + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +// +// 1. Correct the text wrapping in Edge and IE. +// 2. Correct the color inheritance from `fieldset` elements in IE. +// 3. Remove the padding so developers are not caught out when they zero out +// `fieldset` elements in all browsers. +// + +legend { + box-sizing: border-box; // 1 + color: inherit; // 2 + display: table; // 1 + max-width: 100%; // 1 + padding: 0; // 3 + white-space: normal; // 1 +} + +// +// Remove the default vertical scrollbar in IE. +// + +textarea { + overflow: auto; +} + +// +// 1. Add the correct box sizing in IE 10-. +// 2. Remove the padding in IE 10-. +// + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 +} + +// +// Correct the cursor style of increment and decrement buttons in Chrome. +// + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +// +// Correct the odd appearance of search inputs in Chrome and Safari. +// + +[type="search"] { + -webkit-appearance: textfield; +} + +// +// Remove the inner padding and cancel buttons in Chrome on OS X and +// Safari on OS X. +// + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_pager.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_pager.scss b/assets/css/_sass/bootstrap/_pager.scss new file mode 100644 index 0000000..9330360 --- /dev/null +++ b/assets/css/_sass/bootstrap/_pager.scss @@ -0,0 +1,57 @@ +.pager { + padding-left: 0; + margin-top: $spacer-y; + margin-bottom: $spacer-y; + text-align: center; + list-style: none; + @include clearfix(); + + li { + display: inline; + + > a, + > span { + display: inline-block; + padding: 5px 14px; + background-color: $pager-bg; + border: $pager-border-width solid $pager-border-color; + border-radius: $pager-border-radius; + } + + > a { + @include hover-focus { + text-decoration: none; + background-color: $pager-hover-bg; + } + } + } + + .disabled { + > a { + @include plain-hover-focus { + color: $pager-disabled-color; + cursor: $cursor-disabled; + background-color: $pager-bg; + } + } + > span { + color: $pager-disabled-color; + cursor: $cursor-disabled; + background-color: $pager-bg; + } + } +} + +.pager-next { + > a, + > span { + float: right; + } +} + +.pager-prev { + > a, + > span { + float: left; + } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_pagination.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_pagination.scss b/assets/css/_sass/bootstrap/_pagination.scss new file mode 100644 index 0000000..5f40a7f --- /dev/null +++ b/assets/css/_sass/bootstrap/_pagination.scss @@ -0,0 +1,73 @@ +.pagination { + display: inline-block; + padding-left: 0; + margin-top: $spacer-y; + margin-bottom: $spacer-y; + @include border-radius(); +} + +.page-item { + display: inline; // Remove list-style and block-level defaults + + &:first-child { + .page-link { + margin-left: 0; + @include border-left-radius($border-radius); + } + } + &:last-child { + .page-link { + @include border-right-radius($border-radius); + } + } + + &.active .page-link { + @include plain-hover-focus { + z-index: 2; + color: $pagination-active-color; + cursor: default; + background-color: $pagination-active-bg; + border-color: $pagination-active-border; + } + } + + &.disabled .page-link { + @include plain-hover-focus { + color: $pagination-disabled-color; + pointer-events: none; + cursor: $cursor-disabled; + background-color: $pagination-disabled-bg; + border-color: $pagination-disabled-border; + } + } +} + +.page-link { + position: relative; + float: left; // Collapse white-space + padding: $pagination-padding-y $pagination-padding-x; + margin-left: -1px; + color: $pagination-color; + text-decoration: none; + background-color: $pagination-bg; + border: $pagination-border-width solid $pagination-border-color; + + @include hover-focus { + color: $pagination-hover-color; + background-color: $pagination-hover-bg; + border-color: $pagination-hover-border; + } +} + + +// +// Sizing +// + +.pagination-lg { + @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); +} + +.pagination-sm { + @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_popover.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_popover.scss b/assets/css/_sass/bootstrap/_popover.scss new file mode 100644 index 0000000..6e6fe3c --- /dev/null +++ b/assets/css/_sass/bootstrap/_popover.scss @@ -0,0 +1,147 @@ +.popover { + position: absolute; + top: 0; + left: 0; + z-index: $zindex-popover; + display: block; + max-width: $popover-max-width; + padding: $popover-inner-padding; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text(); + font-size: $font-size-sm; + // Allow breaking very long words so they don't overflow the popover's bounds + word-wrap: break-word; + background-color: $popover-bg; + background-clip: padding-box; + border: $popover-border-width solid $popover-border-color; + @include border-radius($border-radius-lg); + @include box-shadow($popover-box-shadow); + + + // Popover directions + + &.popover-top, + &.bs-tether-element-attached-bottom { + margin-top: -$popover-arrow-width; + + .popover-arrow { + bottom: -$popover-arrow-outer-width; + left: 50%; + margin-left: -$popover-arrow-outer-width; + border-top-color: $popover-arrow-outer-color; + border-bottom-width: 0; + &::after { + bottom: 1px; + margin-left: -$popover-arrow-width; + content: ""; + border-top-color: $popover-arrow-color; + border-bottom-width: 0; + } + } + } + + &.popover-right, + &.bs-tether-element-attached-left { + margin-left: $popover-arrow-width; + + .popover-arrow { + top: 50%; + left: -$popover-arrow-outer-width; + margin-top: -$popover-arrow-outer-width; + border-right-color: $popover-arrow-outer-color; + border-left-width: 0; + &::after { + bottom: -$popover-arrow-width; + left: 1px; + content: ""; + border-right-color: $popover-arrow-color; + border-left-width: 0; + } + } + } + + &.popover-bottom, + &.bs-tether-element-attached-top { + margin-top: $popover-arrow-width; + + .popover-arrow { + top: -$popover-arrow-outer-width; + left: 50%; + margin-left: -$popover-arrow-outer-width; + border-top-width: 0; + border-bottom-color: $popover-arrow-outer-color; + &::after { + top: 1px; + margin-left: -$popover-arrow-width; + content: ""; + border-top-width: 0; + border-bottom-color: $popover-arrow-color; + } + } + } + + &.popover-left, + &.bs-tether-element-attached-right { + margin-left: -$popover-arrow-width; + + .popover-arrow { + top: 50%; + right: -$popover-arrow-outer-width; + margin-top: -$popover-arrow-outer-width; + border-right-width: 0; + border-left-color: $popover-arrow-outer-color; + &::after { + right: 1px; + bottom: -$popover-arrow-width; + content: ""; + border-right-width: 0; + border-left-color: $popover-arrow-color; + } + } + } +} + + +// Offset the popover to account for the popover arrow +.popover-title { + padding: $popover-title-padding-y $popover-title-padding-x; + margin: 0; // reset heading margin + font-size: $font-size-base; + background-color: $popover-title-bg; + border-bottom: $popover-border-width solid darken($popover-title-bg, 5%); + $offset-border-width: ($border-width / $font-size-root); + @include border-radius(($border-radius-lg - $offset-border-width) ($border-radius-lg - $offset-border-width) 0 0); + + &:empty { + display: none; + } +} + +.popover-content { + padding: $popover-content-padding-y $popover-content-padding-x; +} + + +// Arrows +// +// .popover-arrow is outer, .popover-arrow::after is inner + +.popover-arrow { + &, + &::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } +} +.popover-arrow { + border-width: $popover-arrow-outer-width; +} +.popover-arrow::after { + content: ""; + border-width: $popover-arrow-width; +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_print.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_print.scss b/assets/css/_sass/bootstrap/_print.scss new file mode 100644 index 0000000..b2c9373 --- /dev/null +++ b/assets/css/_sass/bootstrap/_print.scss @@ -0,0 +1,116 @@ +// scss-lint:disable ImportantRule, QualifyingElement + +// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css + +// ========================================================================== +// Print styles. +// Inlined to avoid the additional HTTP request: +// http://www.phpied.com/delay-loading-your-print-css/ +// ========================================================================== + +@if $enable-print-styles { + @media print { + *, + *::before, + *::after, + *::first-letter, + *::first-line { + // Bootstrap specific; comment out `color` and `background` + //color: #000 !important; // Black prints faster: + // http://www.sanbeiji.com/archives/953 + text-shadow: none !important; + //background: transparent !important; + box-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + // Bootstrap specific; comment the following selector out + //a[href]::after { + // content: " (" attr(href) ")"; + //} + + abbr[title]::after { + content: " (" attr(title) ")"; + } + + // Bootstrap specific; comment the following selector out + // + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + // + + //a[href^="#"]::after, + //a[href^="javascript:"]::after { + // content: ""; + //} + + pre, + blockquote { + border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px + page-break-inside: avoid; + } + + // + // Printing Tables: + // http://css-discuss.incutio.com/wiki/Printing_Tables + // + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + // Bootstrap specific changes start + + // Bootstrap components + .navbar { + display: none; + } + .btn, + .dropup > .btn { + > .caret { + border-top-color: #000 !important; + } + } + .tag { + border: $border-width solid #000; + } + + .table { + border-collapse: collapse !important; + + td, + th { + background-color: #fff !important; + } + } + .table-bordered { + th, + td { + border: 1px solid #ddd !important; + } + } + + // Bootstrap specific changes end + } +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_progress.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_progress.scss b/assets/css/_sass/bootstrap/_progress.scss new file mode 100644 index 0000000..b2bcb30 --- /dev/null +++ b/assets/css/_sass/bootstrap/_progress.scss @@ -0,0 +1,145 @@ +// +// Progress animations +// + +@keyframes progress-bar-stripes { + from { background-position: $spacer-y 0; } + to { background-position: 0 0; } +} + + +// +// Basic progress bar +// + +.progress { + display: block; + width: 100%; + height: $spacer-y; // todo: make a new var for this + margin-bottom: $spacer-y; +} +.progress[value] { + // Set overall background + background-color: $progress-bg; + // Remove Firefox and Opera border + border: 0; + // Reset the default appearance + appearance: none; + // Set overall border radius + @include border-radius($border-radius); +} + +// Filled-in portion of the bar +.progress[value]::-ms-fill { + background-color: $progress-bar-color; + // Remove right-hand border of value bar from IE10+/Edge + border: 0; +} +.progress[value]::-moz-progress-bar { + background-color: $progress-bar-color; + @include border-left-radius($border-radius); +} +.progress[value]::-webkit-progress-value { + background-color: $progress-bar-color; + @include border-left-radius($border-radius); +} +// Tweaks for full progress bar +.progress[value="100"]::-moz-progress-bar { + @include border-right-radius($border-radius); +} +.progress[value="100"]::-webkit-progress-value { + @include border-right-radius($border-radius); +} + +// Unfilled portion of the bar +.progress[value]::-webkit-progress-bar { + background-color: $progress-bg; + @include border-radius($border-radius); + @include box-shadow($progress-box-shadow); +} +base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make these styles Firefox-only +.progress[value] { + background-color: $progress-bg; + @include border-radius($border-radius); + @include box-shadow($progress-box-shadow); +} + +// IE9 hacks to accompany custom markup. We don't need to scope this via media queries, but I feel better doing it anyway. +@media screen and (min-width:0\0) { + .progress { + background-color: $progress-bg; + @include border-radius($border-radius); + @include box-shadow($progress-box-shadow); + } + .progress-bar { + display: inline-block; + height: $spacer-y; + text-indent: -999rem; // Simulate hiding of value as in native `<progress>` + background-color: $progress-bar-color; + @include border-left-radius($border-radius); + } + .progress[width="100%"] { + @include border-right-radius($border-radius); + } +} + + +// +// Striped +// + +.progress-striped[value]::-webkit-progress-value { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; +} +.progress-striped[value]::-moz-progress-bar { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; +} +.progress-striped[value]::-ms-fill { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; +} +// IE9 +@media screen and (min-width:0\0) { + .progress-bar-striped { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; + } +} + + +// +// Animated +// + +.progress-animated[value]::-webkit-progress-value { + animation: progress-bar-stripes 2s linear infinite; +} +.progress-animated[value]::-moz-progress-bar { + animation: progress-bar-stripes 2s linear infinite; +} +// IE9 +@media screen and (min-width:0\0) { + .progress-animated .progress-bar-striped { + animation: progress-bar-stripes 2s linear infinite; + } +} + + +// +// Variations +// + +.progress-success { + @include progress-variant($progress-bar-success-bg); +} +.progress-info { + @include progress-variant($progress-bar-info-bg); +} +.progress-warning { + @include progress-variant($progress-bar-warning-bg); +} +.progress-danger { + @include progress-variant($progress-bar-danger-bg); +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_reboot.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_reboot.scss b/assets/css/_sass/bootstrap/_reboot.scss new file mode 100644 index 0000000..02c579d --- /dev/null +++ b/assets/css/_sass/bootstrap/_reboot.scss @@ -0,0 +1,393 @@ +// scss-lint:disable ImportantRule, QualifyingElement, DuplicateProperty + +// Reboot +// +// Global resets to common HTML elements and more for easier usage by Bootstrap. +// Adds additional rules on top of Normalize.css, including several overrides. + + +// Reset the box-sizing +// +// Change from `box-sizing: content-box` to `border-box` so that when you add +// `padding` or `border`s to an element, the overall declared `width` does not +// change. For example, `width: 100px;` will always be `100px` despite the +// `border: 10px solid red;` and `padding: 20px;`. +// +// Heads up! This reset may cause conflicts with some third-party widgets. For +// recommendations on resolving such conflicts, see +// http://getbootstrap.com/getting-started/#third-box-sizing. +// +// Credit: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ + +html { + box-sizing: border-box; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + + +// Make viewport responsive +// +// @viewport is needed because IE 10+ doesn't honor <meta name="viewport"> in +// some cases. See http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/. +// Eventually @viewport will replace <meta name="viewport">. +// +// However, `device-width` is broken on IE 10 on Windows (Phone) 8, +// (see http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ and https://github.com/twbs/bootstrap/issues/10497) +// and the fix for that involves a snippet of JavaScript to sniff the user agent +// and apply some conditional CSS. +// +// See http://getbootstrap.com/getting-started/#support-ie10-width for the relevant hack. +// +// Wrap `@viewport` with `@at-root` for when folks do a nested import (e.g., +// `.class-name { @import "bootstrap"; }`). +@at-root { + @-ms-viewport { width: device-width; } +} + + +// +// Reset HTML, body, and more +// + +html { + // Sets a specific default `font-size` for user with `rem` type scales. + font-size: $font-size-root; + // As a side-effect of setting the @viewport above, + // IE11 & Edge make the scrollbar overlap the content and automatically hide itself when not in use. + // Unfortunately, the auto-showing of the scrollbar is sometimes too sensitive, + // thus making it hard to click on stuff near the right edge of the page. + // So we add this style to force IE11 & Edge to use a "normal", non-overlapping, non-auto-hiding scrollbar. + // See https://github.com/twbs/bootstrap/issues/18543 + -ms-overflow-style: scrollbar; + // Changes the default tap highlight to be completely transparent in iOS. + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +body { + // Make the `body` use the `font-size-root` + font-family: $font-family-base; + font-size: $font-size-base; + line-height: $line-height-base; + // Go easy on the eyes and use something other than `#000` for text + color: $body-color; + // By default, `<body>` has no `background-color` so we set one as a best practice. + background-color: $body-bg; +} + +// Suppress the focus outline on elements that cannot be accessed via keyboard. +// This prevents an unwanted focus outline from appearing around elements that +// might still respond to pointer events. +// +// Credit: https://github.com/suitcss/base +[tabindex="-1"]:focus { + outline: none !important; +} + + +// +// Typography +// + +// Remove top margins from headings +// +// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top +// margin for easier control within type scales as it avoids margin collapsing. +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: .5rem; +} + +// Reset margins on paragraphs +// +// Similarly, the top margin on `<p>`s get reset. However, we also reset the +// bottom margin to use `rem` units instead of `em`. +p { + margin-top: 0; + margin-bottom: 1rem; +} + +// Abbreviations and acronyms +abbr[title], +// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257 +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted $abbr-border-color; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: $dt-font-weight; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; // Undo browser default +} + +blockquote { + margin: 0 0 1rem; +} + + +// +// Links +// + +a { + color: $link-color; + text-decoration: $link-decoration; + + @include hover-focus { + color: $link-hover-color; + text-decoration: $link-hover-decoration; + } + + &:focus { + @include tab-focus(); + } +} + +// And undo these styles for placeholder links/named anchors (without href) +// which have not been made explicitly keyboard-focusable (without tabindex). +// It would be more straightforward to just use a[href] in previous block, but that +// causes specificity issues in many other styles that are too complex to fix. +// See https://github.com/twbs/bootstrap/issues/19402 + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; + + @include hover-focus { + color: inherit; + text-decoration: none; + } + + &:focus { + outline: none; + } +} + + +// +// Code +// + +pre { + // Remove browser default top margin + margin-top: 0; + // Reset browser default of `1em` to use `rem`s + margin-bottom: 1rem; + // Normalize v4 removed this property, causing `<pre>` content to break out of wrapping code snippets + overflow: auto; +} + + +// +// Figures +// + +figure { + // Normalize adds `margin` to `figure`s as browsers apply it inconsistently. + // We reset that to create a better flow in-page. + margin: 0 0 1rem; +} + + +// +// Images +// + +img { + // By default, `<img>`s are `inline-block`. This assumes that, and vertically + // centers them. This won't apply should you reset them to `block` level. + vertical-align: middle; + // Note: `<img>`s are deliberately not made responsive by default. + // For the rationale behind this, see the comments on the `.img-fluid` class. +} + + +// iOS "clickable elements" fix for role="button" +// +// Fixes "clickability" issue (and more generally, the firing of events such as focus as well) +// for traditionally non-focusable elements with role="button" +// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +[role="button"] { + cursor: pointer; +} + + +// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property. +// +// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11 +// DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present. +// However, they DO support removing the click delay via `touch-action: manipulation`. +// See: +// * http://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch +// * http://caniuse.com/#feat=css-touch-action +// * http://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay + +a, +area, +button, +[role="button"], +input, +label, +select, +summary, +textarea { + touch-action: manipulation; +} + + +// +// Tables +// + +table { + // No longer part of Normalize since v4 + border-collapse: collapse; + // Reset for nesting within parents with `background-color`. + background-color: $table-bg; +} + +caption { + padding-top: $table-cell-padding; + padding-bottom: $table-cell-padding; + color: $text-muted; + text-align: left; + caption-side: bottom; +} + +th { + // Centered by default, but left-align-ed to match the `td`s below. + text-align: left; +} + + +// +// Forms +// + +label { + // Allow labels to use `margin` for spacing. + display: inline-block; + margin-bottom: .5rem; +} + +// Work around a Firefox/IE bug where the transparent `button` background +// results in a loss of the default `button` focus styles. +// +// Credit: https://github.com/suitcss/base/ +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +textarea { + // Remove all `margin`s so our classes don't have to do it themselves. + margin: 0; + // Normalize includes `font: inherit;`, so `font-family`. `font-size`, etc are + // properly inherited. However, `line-height` isn't addressed there. Using this + // ensures we don't need to unnecessarily redeclare the global font stack. + line-height: inherit; + // iOS adds rounded borders by default + border-radius: 0; +} + +input[type="radio"], +input[type="checkbox"] { + // Apply a disabled cursor for radios and checkboxes. + // + // Note: Neither radios nor checkboxes can be readonly. + &:disabled { + cursor: $cursor-disabled; + } +} + + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + // Remove the default appearance of temporal inputs to avoid a Mobile Safari + // bug where setting a custom line-height prevents text from being vertically + // centered within the input. + // + // Bug report: https://github.com/twbs/bootstrap/issues/11266 + -webkit-appearance: listbox; +} + +textarea { + // Textareas should really only resize vertically so they don't break their (horizontal) containers. + resize: vertical; +} + +fieldset { + // Chrome and Firefox set a `min-width: min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; + // Reset the default outline behavior of fieldsets so they don't affect page layout. + padding: 0; + margin: 0; + border: 0; +} + +legend { + // Reset the entire legend element to match the `fieldset` + display: block; + width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; +} + +input[type="search"] { + // This overrides the extra rounded corners on search inputs in iOS so that our + // `.form-control` class can properly style them. Note that this cannot simply + // be added to `.form-control` as it's not specific enough. For details, see + // https://github.com/twbs/bootstrap/issues/11586. + -webkit-appearance: none; +} + +// todo: needed? +output { + display: inline-block; +// font-size: $font-size-base; +// line-height: $line-height; +// color: $input-color; +} + +// Always hide an element with the `hidden` HTML attribute (from PureCSS). +[hidden] { + display: none !important; +} http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/f540ddfb/assets/css/_sass/bootstrap/_responsive-embed.scss ---------------------------------------------------------------------- diff --git a/assets/css/_sass/bootstrap/_responsive-embed.scss b/assets/css/_sass/bootstrap/_responsive-embed.scss new file mode 100644 index 0000000..2443219 --- /dev/null +++ b/assets/css/_sass/bootstrap/_responsive-embed.scss @@ -0,0 +1,39 @@ +// Credit: Nicolas Gallagher and SUIT CSS. + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; + + .embed-responsive-item, + iframe, + embed, + object, + video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; + } +} + +.embed-responsive-21by9 { + padding-bottom: percentage(9 / 21); +} + +.embed-responsive-16by9 { + padding-bottom: percentage(9 / 16); +} + +.embed-responsive-4by3 { + padding-bottom: percentage(3 / 4); +} + +.embed-responsive-1by1 { + padding-bottom: percentage(1 / 1); +}