+License: UNKNOWN
FIXME
-Files: site/docs/4.2/assets/css/docs.min.css.map
-Copyright: 2);n background-image: linear-gradient(45deg, #fafafa, #f5f5f5);nn h1 {n line-height: 1;n }nn .btn {n padding: .8rem 2rem;n font-weight: 600;n }nn .carbonad {n margin-top: 0 !important;n margin-bottom: -3rem !important;n }nn @include media-breakpoint-up(sm) {n padding-top: 5rem;n padding-bottom: 5rem;nn .carbonad {n margin-bottom: 0 !important;n }n }nn @include media-breakpoint-up(md) {n h1 {n font-size: 4rem;n }nn .carbonad {n margin-top: 3rem !important;n }n }n}nn.half-rule {n width: 6rem;n margin: 2.5rem 0;n}nn.masthead-followup {n .bd-clipboard { display: none; }nn .highlight {n padding: .5rem 0;n background-color: transparent;n }n}n"," stylelint-disable declaration-no-important, selector-max-idnnn Carbon adsnnn#carbonads {n position: static;n display: block;n max-width: 400px;n padding: 15px 15px 15px 160px;n margin: 2rem 0;n overflow: hidden;n font-size: 13px;n line-height: 1.4;n text-align: left;n background-color: rgba(0, 0, 0, .05);nn a {n color: #333;n text-decoration: none;n }nn @include media-breakpoint-up(sm) {n max-width: 330px;n border-radius: 4px;n }n}nn.carbon-img {n float: left;n margin-left: -145px;n}nn.carbon-poweredby {n display: block;n color: #777 !important;n}n"," stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-typennn Automatically style Markdown-based tables like a Bootstrap `.table`.nnn.bd-content {n order: 1;nn Hack the sticky headern > h2[id
- 2011-2018, The Bootstrap Authorsn * Copyright 2011-2018 Twitter, Inc.n * Licensed under the Creative Commons Attribution 3.0 Unported License. Forn * details, see https:creativecommons.org/licenses/by/3.0/.n nn Dev notesnn Background information on nomenclature and architecture decisions here.nn - Bootstrap functions, variables, and mixins are included for easy reuse.n Doing so gives us access to the same core utilities provided by Bootstrap.n For example, consistent media queries through those mixins.nn - Bootstrap's **docs variables** are prefixed with `$bd-`.n These custom colors avoid collision with the components Bootstrap provides.nn - Classes are prefixed with `.bd-`.n These classes indicate custom-built or modified components for the designn and layout of the Bootstrap docs. They are not included in our builds.nn Happy Bootstrapping!nn Load Bootstrap variables and mixinsn@import "../../../../../scss/functions";n@import "../../../../../scss/variables";n@import "../../../../../scss/mixins";nn Load docs componentsn@import "variables";n@import "nav";n@import "masthead";n@import "ads";n@import "content";n@import "skippy";n@import "sidebar";n@import "footer";n@import "component-examples";n@import "buttons";n@import "callouts";n@import "browser-bugs";n@import "brand";n@import "colors";n@import "clipboard-js";n@import "placeholder-img";nn Load docs dependenciesn@import "syntax";n@import "anchor";n@import "algolia";n","n Main navbarnnn.bd-navbar {n min-height: 4rem;n background-color: $bd-purple;n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);nn @include media-breakpoint-down(md) {n padding-right: .5rem;n padding-left: .5rem;nn .navbar-nav-scroll {n max-width: 100%;n height: 2.5rem;n margin-top: .25rem;n overflow: hidden;n font-size: .875rem;nn .navbar-nav {n padding-bottom: 2rem;n overflow-x: auto;n white-space: nowrap;n -webkit-overflow-scrolling: touch;n }n }n }nn @include media-breakpoint-up(md) {n @supports (position: sticky) {n position: sticky;n top: 0;n z-index: 1071; over everything in bootstrapn }n }nn .navbar-nav {n .nav-link {n padding-right: .5rem;n padding-left: .5rem;n color: $bd-purple-light;nn &.active,n &:hover {n color: $white;n background-color: transparent;n }nn &.active {n font-weight: 600;n }n }n }nn .navbar-nav-svg {n display: inline-block;n width: 1rem;n height: 1rem;n vertical-align: text-top;n }nn .dropdown-menu {n font-size: .875rem;n }nn .dropdown-item.active {n font-weight: 600;n color: $gray-900;n background-color: transparent;n background-image: url("data:image/svg+xml,%3csvg xmlns='http:www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");n background-repeat: no-repeat;n background-position: .4rem .6rem;n background-size: .75rem .75rem;n }n}n"," Breakpoint viewport sizes and media queries.nn Breakpoints are defined as a map of (name: minimum width), order from small to large:nn (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)nn The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.nn Name of the next breakpoint, or null for the last breakpoint.nn >> breakpoint-next(sm)n mdn >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n mdn >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))n mdn@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {n $n: index($breakpoint-names, $name);n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);n}nn Minimum breakpoint width. Null for the smallest (first) breakpoint.nn >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n 576pxn@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {n $min: map-get($breakpoints, $name);n @return if($min != 0, $min, null);n}nn Maximum breakpoint width. Null for the largest (last) breakpoint.n The maximum value is calculated as the minimum of the next one less 0.02pxn to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.n See https:www.w3.org/TR/mediaqueries-4/#mq-min-maxn Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.n See https:bugs.webkit.org/show_bug.cgi?id=178261nn >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n 767.98pxn@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {n $next: breakpoint-next($name, $breakpoints);n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);n}nn Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.n Useful for making responsive utilities.nn >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n "" (Returns a blank string)n >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n "-sm"n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");n}nn Media of at least the minimum breakpoint width. No query for the smallest breakpoint.n Makes the @content apply to the given breakpoint and wider.n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {n $min: breakpoint-min($name, $breakpoints);n @if $min {n @media (min-width: $min) {n @content;n }n } @else {n @content;n }n}nn Media of at most the maximum breakpoint width. No query for the largest breakpoint.n Makes the @content apply to the given breakpoint and narrower.n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {n $max: breakpoint-max($name, $breakpoints);n @if $max {n @media (max-width: $max) {n @content;n }n } @else {n @content;n }n}nn Media that spans multiple breakpoint widths.n Makes the @content apply between the min and max breakpointsn@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {n $min: breakpoint-min($lower, $breakpoints);n $max: breakpoint-max($upper, $breakpoints);nn @if $min != null and $max != null {n @media (min-width: $min) and (max-width: $max) {n @content;n }n } @else if $max == null {n @include media-breakpoint-up($lower, $breakpoints) {n @content;n }n } @else if $min == null {n @include media-breakpoint-down($upper, $breakpoints) {n @content;n }n }n}nn Media between the breakpoint's minimum and maximum widths.n No minimum for the smallest breakpoint, and no maximum for the largest one.n Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {n $min: breakpoint-min($name, $breakpoints);n $max: breakpoint-max($name, $breakpoints);nn @if $min != null and $max != null {n @media (min-width: $min) and (max-width: $max) {n @content;n }n } @else if $max == null {n @include media-breakpoint-up($name, $breakpoints) {n @content;n }n } @else if $min == null {n @include media-breakpoint-down($name, $breakpoints) {n @content;n }n }n}n"," stylelint-disable declaration-no-importantnn.bd-masthead {n position: relative;n padding: 3rem ($grid-gutter-width
+Files: site/docs/4.3/examples/pricing/index.html
+ site/docs/4.3/examples/product/index.html
+Copyright: 2017, -{{ site.time | date: "%Y" }}
+License: UNKNOWN
+ FIXME
+
+Files: site/docs/4.3/assets/css/docs.min.css.map
+Copyright: $rfs-breakpoint}#{$variable-unit};nn Set the calculated font-size.n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};n }nn Renderingn @if $rfs-fluid == null {n Only render static font-size if no fluid font-size is availablen font-size: $rfs-static;n }n @else {n $mq-value: null;nn RFS breakpoint formattingn @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {n $mq-value: #{$rfs-breakpoint
+ $rfs-factor;nn Calculate difference between given font-size and minimum font-size for given font-sizen $fs-diff: $fs - $fs-min;nn Base font-size formattingn No need to check if the unit is valid, because we did that beforen $min-width: if($rfs-font-size-unit == rem, #{$fs-min
+ $rfs-rem-value);n }nn Set default font-sizen @if $rfs-font-size-unit == rem {n $rfs-static: #{$fs
+ $rfs-rem-value);n}nn Cache $rfs-breakpoint unit to prevent multiple callsn$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);nn Remove unit from $rfs-breakpoint for calculationsn@if $rfs-breakpoint-unit-cache == "px" {n $rfs-breakpoint: $rfs-breakpoint
+ $rfs-rem-value);n}nn Responsive font-size mixinn@mixin rfs($fs, $important: false) {n Cache $fs unitn $fs-unit: if(type-of($fs) == "number", unit($fs), false);nn Add !important suffix if neededn $rfs-suffix: if($important, " !important", "");nn If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the valuen @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {n font-size: #{$fs}#{$rfs-suffix};n }n @else {n Variables for storing static and fluid rescalingn $rfs-static: null;n $rfs-fluid: null;nn Remove px-unit from $fs for calculationsn @if $fs-unit == "px" {n $fs: $fs
+ $rfs-rem-value}#{$rfs-breakpoint-unit};n }n @else if $rfs-breakpoint-unit == px {n $mq-value: #{$rfs-breakpoint}px;n }n @else {n @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";n }nn @if $rfs-class == "disable" {n Adding an extra class increases specificity,n which prevents the media query to override the font sizen &,n .disable-responsive-font-size &,n &.disable-responsive-font-size {n font-size: $rfs-static;n }n }n @else {n font-size: $rfs-static;n }nn @if $rfs-two-dimensional {n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {n @if $rfs-class == "enable" {n .enable-responsive-font-size &,n &.enable-responsive-font-size {n font-size: $rfs-fluid;n }n }n @else {n font-size: $rfs-fluid;n }nn @if $rfs-safari-iframe-resize-bug-fix {n stylelint-disable-next-line length-zero-no-unitn min-width: 0vw;n }n }n }n @else {n @media (max-width: #{$mq-value}) {n @if $rfs-class == "enable" {n .enable-responsive-font-size &,n &.enable-responsive-font-size {n font-size: $rfs-fluid;n }n }n @else {n font-size: $rfs-fluid;n }nn @if $rfs-safari-iframe-resize-bug-fix {n stylelint-disable-next-line length-zero-no-unitn min-width: 0vw;n }n }n }n }n }n}nn The font-size & responsive-font-size mixin uses RFS to rescale font sizesn@mixin font-size($fs, $important: false) {n @include rfs($fs, $important);n}nn@mixin responsive-font-size($fs, $important: false) {n @include rfs($fs, $important);n}n"," stylelint-disable declaration-no-importantnn.bd-masthead {n position: relative;n padding: 3rem ($grid-gutter-width
+ $rfs-rem-value}rem#{$rfs-suffix};n }n @else if $rfs-font-size-unit == px {n $rfs-static: #{$fs}px#{$rfs-suffix};n }n @else {n @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";n }nn Only add media query if font-size is bigger as the minimum font-sizen If $rfs-factor == 1, no rescaling will take placen @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {n $min-width: null;n $variable-unit: null;nn Calculate minimum font-size for given font-sizen $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size)
+ $rfs-rem-value}rem, #{$fs-min}px);nn If two-dimensional, use smallest of screen width and heightn $variable-unit: if($rfs-two-dimensional, vmin, vw);nn Calculate the variable width between 0 and $rfs-breakpointn $variable-width: #{$fs-diff * 100
+ ($fs * 0 + 1
+ ($fs * 0 + 1);n }n @else if $fs-unit == "rem" {n $fs: $fs
+ ($rfs-base-font-size * 0 + 1
+ ($rfs-base-font-size * 0 + 1);n}n@else if $rfs-base-font-size-unit == "rem" {n $rfs-base-font-size: $rfs-base-font-size
+ ($rfs-breakpoint * 0 + 1
+ ($rfs-breakpoint * 0 + 1);n}n@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {n $rfs-breakpoint: $rfs-breakpoint
+ 2);n background-image: linear-gradient(45deg, #fafafa, #f5f5f5);nn h1 {n @include font-size(4rem);n line-height: 1;n }nn .btn {n padding: .8rem 2rem;n font-weight: 600;n @include font-size(1.25rem);n }nn .carbonad {n margin-top: 0 !important;n margin-bottom: -3rem !important;n }nn @include media-breakpoint-up(sm) {n padding-top: 5rem;n padding-bottom: 5rem;nn .carbonad {n margin-bottom: 0 !important;n }n }nn @include media-breakpoint-up(md) {n .carbonad {n margin-top: 3rem !important;n }n }n}nn.half-rule {n width: 6rem;n margin: 2.5rem 0;n}nn.masthead-followup {n .bd-clipboard { display: none; }nn .highlight {n padding: .5rem 0;n background-color: transparent;n }n}n"," stylelint-disable declaration-no-important, selector-max-idnnn Carbon adsnnn#carbonads {n position: static;n display: block;n max-width: 400px;n padding: 15px 15px 15px 160px;n margin: 2rem 0;n overflow: hidden;n @include font-size(.8125rem);n line-height: 1.4;n text-align: left;n background-color: rgba(0, 0, 0, .05);nn a {n color: #333;n text-decoration: none;n }nn @include media-breakpoint-up(sm) {n max-width: 330px;n @include border-radius(4px);n }n}nn.carbon-img {n float: left;n margin-left: -145px;n}nn.carbon-poweredby {n display: block;n color: #777 !important;n}n"," stylelint-disable property-blacklistn Single side border-radiusnn@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {n @if $enable-rounded {n border-radius: $radius;n }n @else if $fallback-border-radius != false {n border-radius: $fallback-border-radius;n }n}nn@mixin border-top-radius($radius) {n @if $enable-rounded {n border-top-left-radius: $radius;n border-top-right-radius: $radius;n }n}nn@mixin border-right-radius($radius) {n @if $enable-rounded {n border-top-right-radius: $radius;n border-bottom-right-radius: $radius;n }n}nn@mixin border-bottom-radius($radius) {n @if $enable-rounded {n border-bottom-right-radius: $radius;n border-bottom-left-radius: $radius;n }n}nn@mixin border-left-radius($radius) {n @if $enable-rounded {n border-top-left-radius: $radius;n border-bottom-left-radius: $radius;n }n}nn@mixin border-top-left-radius($radius) {n @if $enable-rounded {n border-top-left-radius: $radius;n }n}nn@mixin border-top-right-radius($radius) {n @if $enable-rounded {n border-top-right-radius: $radius;n }n}nn@mixin border-bottom-right-radius($radius) {n @if $enable-rounded {n border-bottom-right-radius: $radius;n }n}nn@mixin border-bottom-left-radius($radius) {n @if $enable-rounded {n border-bottom-left-radius: $radius;n }n}n"," stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-typennn Automatically style Markdown-based tables like a Bootstrap `.table`.nnn.bd-content {n order: 1;nn Hack the sticky headern > h2[id
+ 2011-2019, The Bootstrap Authorsn * Copyright 2011-2019 Twitter, Inc.n * Licensed under the Creative Commons Attribution 3.0 Unported License.n * For details, see https:creativecommons.org/licenses/by/3.0/.n nn Dev notesnn Background information on nomenclature and architecture decisions here.nn - Bootstrap functions, variables, and mixins are included for easy reuse.n Doing so gives us access to the same core utilities provided by Bootstrap.n For example, consistent media queries through those mixins.nn - Bootstrap's **docs variables** are prefixed with `$bd-`.n These custom colors avoid collision with the components Bootstrap provides.nn - Classes are prefixed with `.bd-`.n These classes indicate custom-built or modified components for the designn and layout of the Bootstrap docs. They are not included in our builds.nn Happy Bootstrapping!nn Load Bootstrap variables and mixinsn@import "../../../../../scss/functions";n@import "../../../../../scss/variables";n@import "../../../../../scss/mixins";nn Load docs componentsn@import "variables";n@import "nav";n@import "masthead";n@import "ads";n@import "content";n@import "skippy";n@import "sidebar";n@import "footer";n@import "component-examples";n@import "buttons";n@import "callouts";n@import "browser-bugs";n@import "brand";n@import "colors";n@import "clipboard-js";n@import "placeholder-img";nn Load docs dependenciesn@import "syntax";n@import "anchor";n@import "algolia";n","n Main navbarnnn.bd-navbar {n min-height: 4rem;n background-color: $bd-purple;n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);nn @include media-breakpoint-down(md) {n padding-right: .5rem;n padding-left: .5rem;nn .navbar-nav-scroll {n max-width: 100%;n height: 2.5rem;n margin-top: .25rem;n overflow: hidden;nn .navbar-nav {n padding-bottom: 2rem;n overflow-x: auto;n white-space: nowrap;n -webkit-overflow-scrolling: touch;n }n }n }nn @include media-breakpoint-up(md) {n @supports (position: sticky) {n position: sticky;n top: 0;n z-index: 1071; over everything in bootstrapn }n }nn .navbar-nav {n .nav-link {n padding-right: .5rem;n padding-left: .5rem;n color: $bd-purple-light;nn &.active,n &:hover {n color: $white;n background-color: transparent;n }nn &.active {n font-weight: 600;n }n }n }nn .navbar-nav-svg {n display: inline-block;n width: 1rem;n height: 1rem;n vertical-align: text-top;n }nn .dropdown-menu {n @include font-size(.875rem);n }nn .dropdown-item.active {n font-weight: 600;n color: $gray-900;n background-color: transparent;n background-image: url("data:image/svg+xml,%3csvg xmlns='http:www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");n background-repeat: no-repeat;n background-position: .4rem .6rem;n background-size: .75rem .75rem;n }n}n"," Breakpoint viewport sizes and media queries.nn Breakpoints are defined as a map of (name: minimum width), order from small to large:nn (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)nn The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.nn Name of the next breakpoint, or null for the last breakpoint.nn >> breakpoint-next(sm)n mdn >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n mdn >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))n mdn@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {n $n: index($breakpoint-names, $name);n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);n}nn Minimum breakpoint width. Null for the smallest (first) breakpoint.nn >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n 576pxn@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {n $min: map-get($breakpoints, $name);n @return if($min != 0, $min, null);n}nn Maximum breakpoint width. Null for the largest (last) breakpoint.n The maximum value is calculated as the minimum of the next one less 0.02pxn to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.n See https:www.w3.org/TR/mediaqueries-4/#mq-min-maxn Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.n See https:bugs.webkit.org/show_bug.cgi?id=178261nn >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n 767.98pxn@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {n $next: breakpoint-next($name, $breakpoints);n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);n}nn Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.n Useful for making responsive utilities.nn >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n "" (Returns a blank string)n >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))n "-sm"n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");n}nn Media of at least the minimum breakpoint width. No query for the smallest breakpoint.n Makes the @content apply to the given breakpoint and wider.n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {n $min: breakpoint-min($name, $breakpoints);n @if $min {n @media (min-width: $min) {n @content;n }n } @else {n @content;n }n}nn Media of at most the maximum breakpoint width. No query for the largest breakpoint.n Makes the @content apply to the given breakpoint and narrower.n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {n $max: breakpoint-max($name, $breakpoints);n @if $max {n @media (max-width: $max) {n @content;n }n } @else {n @content;n }n}nn Media that spans multiple breakpoint widths.n Makes the @content apply between the min and max breakpointsn@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {n $min: breakpoint-min($lower, $breakpoints);n $max: breakpoint-max($upper, $breakpoints);nn @if $min != null and $max != null {n @media (min-width: $min) and (max-width: $max) {n @content;n }n } @else if $max == null {n @include media-breakpoint-up($lower, $breakpoints) {n @content;n }n } @else if $min == null {n @include media-breakpoint-down($upper, $breakpoints) {n @content;n }n }n}nn Media between the breakpoint's minimum and maximum widths.n No minimum for the smallest breakpoint, and no maximum for the largest one.n Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {n $min: breakpoint-min($name, $breakpoints);n $max: breakpoint-max($name, $breakpoints);nn @if $min != null and $max != null {n @media (min-width: $min) and (max-width: $max) {n @content;n }n } @else if $max == null {n @include media-breakpoint-up($name, $breakpoints) {n @content;n }n } @else if $min == null {n @include media-breakpoint-down($name, $breakpoints) {n @content;n }n }n}n"," stylelint-disable property-blacklist, scss/dollar-variable-defaultnn SCSS RFS mixinnn Automated font-resizingnn See https:github.com/twbs/rfsnn Configurationnn Base font sizen$rfs-base-font-size: 1.25rem !default;n$rfs-font-size-unit: rem !default;nn Breakpoint at where font-size starts decreasing if screen width is smallern$rfs-breakpoint: 1200px !default;n$rfs-breakpoint-unit: px !default;nn Resize font-size based on screen height and widthn$rfs-two-dimensional: false !default;nn Factor of decreasen$rfs-factor: 10 !default;nn@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {n @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";n}nn Generate enable or disable classes. Possibilities: false, "enable" or "disable"n$rfs-class: false !default;nn 1 rem = $rfs-rem-value pxn$rfs-rem-value: 16 !default;nn Safari iframe resize bug: https:github.com/twbs/rfs/issues/14n$rfs-safari-iframe-resize-bug-fix: false !default;nn Disable RFS by setting $enable-responsive-font-sizes to falsen$enable-responsive-font-sizes: true !default;nn Cache $rfs-base-font-size unitn$rfs-base-font-size-unit: unit($rfs-base-font-size);nn Remove px-unit from $rfs-base-font-size for calculationsn@if $rfs-base-font-size-unit == "px" {n $rfs-base-font-size: $rfs-base-font-size
License: CC-BY-3.0
FIXME
@@ -477,15 +471,9 @@
License: CC-BY-3.0
FIXME
-Files: dist/js/bootstrap.bundle.js
-Copyright: 2011-2018, The Bootstrap Authors (https:github.com/twbs/bootstrap/graphs/contributors)
- 2016, Federico Zivolo and contributors
-License: Expat
- FIXME
-
Files: LICENSE
-Copyright: 2011-2018, The Bootstrap Authors
- 2011-2018, Twitter, Inc.
+Copyright: 2011-2019, The Bootstrap Authors
+ 2011-2019, Twitter, Inc.
License: Expat
FIXME
@@ -494,38 +482,25 @@
License: GPL-3+
FIXME
-Files: build/banner.js
+Files: debian/patches/do-not-update-copyright-year.diff
Copyright: 2011, -${year} ${pkg.author}
+ 2011-2018, ${pkg.author}
+ year during build
License: UNKNOWN
FIXME
-Files: site/docs/4.2/examples/checkout/index.html
-Copyright: 2017-2018, Company Name
-License: UNKNOWN
- FIXME
-
-Files: site/docs/4.2/examples/carousel/index.html
-Copyright: 2017-2018, Company, Inc. · Privacy · Terms
-License: UNKNOWN
- FIXME
-
-Files: dist/js/bootstrap.bundle.js.map
-Copyright: 2016, Federico Zivolo and contributorsn *n * Permission is hereby granted, free of charge, to any person obtaining a copyn * of this software and associated documentation files (the "Software"), to dealn * in the Software without restriction, including without limitation the rightsn * to use, copy, modify, merge, publish, distribute, sublicense, and/or selln * copies of the Software, and to permit persons to whom the Software isn * furnished to do so, subject to the following conditions:n *n * The above copyright notice and this permission notice shall be included in alln * copies or substantial portions of the Software.n *n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORn * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEn * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERn * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THEn * SOFTWARE.n nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';nnvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'
-License: UNKNOWN
- FIXME
-
-Files: dist/css/bootstrap-reboot.css.map
-Copyright: 2011-2018, The Bootstrap Authorsn * Copyright 2011-2018 Twitter, Inc.n * Licensed under MIT (https:github.com/twbs/bootstrap/blob/master/LICENSE)n * Forked from Normalize.css, licensed MIT (https:github.com/necolas/normalize.css/blob/master/LICENSE.md)n nn@import "functions";n@import "variables";n@import "mixins";n@import "reboot";n"," stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefixnn Rebootnn Normalization of HTML elements, manually forked from Normalize.css to removen styles targeting irrelevant browsers while applying new styles.nn Normalize is licensed MIT. https:github.com/necolas/normalize.cssnnn Documentnn 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.n 2. Change the default font family in all browsers.n 3. Correct the line height in all browsers.n 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.n 5. Change the default tap highlight to be completely transparent in iOS.nn*,n*::before,n*::after {n box-sizing: border-box; 1n}nnhtml {n font-family: sans-serif; 2n line-height: 1.15; 3n -webkit-text-size-adjust: 100%; 4n -webkit-tap-highlight-color: rgba($black, 0); 5n}nn Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)n TODO: remove in v5n stylelint-disable-next-line selector-list-comma-newline-afternarticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {n display: block;n}nn Bodynn 1. Remove the margin in all browsers.n 2. As a best practice, apply a default `background-color`.n 3. Set an explicit initial text-align value so that we can later usen the `inherit` value on things like `
` elements.nnbody {n margin: 0; 1n font-family: $font-family-base;n font-size: $font-size-base;n font-weight: $font-weight-base;n line-height: $line-height-base;n color: $body-color;n text-align: left; 3n background-color: $body-bg; 2n}nn Suppress the focus outline on elements that cannot be accessed via keyboard.n This prevents an unwanted focus outline from appearing around elements thatn might still respond to pointer events.nn Credit: https:github.com/suitcss/basen[tabindex="-1"
+Files: build/banner.js
+Copyright: 2011, -${year} ${pkg.author}
License: UNKNOWN
FIXME
-Files: dist/css/bootstrap.css.map
-Copyright: 2011-2018, The Bootstrap Authorsn * Copyright 2011-2018 Twitter, Inc.n * Licensed under MIT (https:github.com/twbs/bootstrap/blob/master/LICENSE)n nn@import "functions";n@import "variables";n@import "mixins";n@import "root";n@import "reboot";n@import "type";n@import "images";n@import "code";n@import "grid";n@import "tables";n@import "forms";n@import "buttons";n@import "transitions";n@import "dropdown";n@import "button-group";n@import "input-group";n@import "custom-forms";n@import "nav";n@import "navbar";n@import "card";n@import "breadcrumb";n@import "pagination";n@import "badge";n@import "jumbotron";n@import "alert";n@import "progress";n@import "media";n@import "list-group";n@import "close";n@import "toasts";n@import "modal";n@import "tooltip";n@import "popover";n@import "carousel";n@import "spinners";n@import "utilities";n@import "print";n",":root {n Custom variable values only support SassScript inside `#{}`.n @each $color, $value in $colors {n --#{$color}: #{$value};n }nn @each $color, $value in $theme-colors {n --#{$color}: #{$value};n }nn @each $bp, $value in $grid-breakpoints {n --breakpoint-#{$bp}: #{$value};n }nn Use `inspect` for lists so that quoted items keep the quotes.n See https:github.com/sass/sass/issues/2383#issuecomment-336349172n --font-family-sans-serif: #{inspect($font-family-sans-serif)};n --font-family-monospace: #{inspect($font-family-monospace)};n}n"," stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefixnn Rebootnn Normalization of HTML elements, manually forked from Normalize.css to removen styles targeting irrelevant browsers while applying new styles.nn Normalize is licensed MIT. https:github.com/necolas/normalize.cssnnn Documentnn 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.n 2. Change the default font family in all browsers.n 3. Correct the line height in all browsers.n 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.n 5. Change the default tap highlight to be completely transparent in iOS.nn*,n*::before,n*::after {n box-sizing: border-box; 1n}nnhtml {n font-family: sans-serif; 2n line-height: 1.15; 3n -webkit-text-size-adjust: 100%; 4n -webkit-tap-highlight-color: rgba($black, 0); 5n}nn Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)n TODO: remove in v5n stylelint-disable-next-line selector-list-comma-newline-afternarticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {n display: block;n}nn Bodynn 1. Remove the margin in all browsers.n 2. As a best practice, apply a default `background-color`.n 3. Set an explicit initial text-align value so that we can later usen the `inherit` value on things like `
' +
@@ -985,7 +985,7 @@
}, 80)
})
- QUnit.test('Should not go to the next item when the parent of the carousel is not visible', function (assert) {
+ QUnit.test('should not go to the next item when the parent of the carousel is not visible', function (assert) {
assert.expect(2)
var done = assert.async()
var html = '
' +
@@ -1270,4 +1270,64 @@
assert.strictEqual(spy.called, true)
sandbox.restore()
})
+
+ QUnit.test('should not cycle when there is no attribute data-ride', function (assert) {
+ assert.expect(1)
+
+ var spy = sinon.spy(Carousel.prototype, 'cycle')
+
+ var carouselHTML = ''
+ var $carousel = $(carouselHTML)
+ $carousel.appendTo('#qunit-fixture')
+ $carousel.bootstrapCarousel()
+
+ assert.strictEqual(spy.called, false)
+ spy.restore()
+ })
+
+ QUnit.test('should cycle when there is data-ride attribute', function (assert) {
+ assert.expect(1)
+
+ var spy = sinon.spy(Carousel.prototype, 'cycle')
+
+ var carouselHTML = ''
+ var $carousel = $(carouselHTML)
+ $carousel.appendTo('#qunit-fixture')
+ $carousel.bootstrapCarousel()
+
+ assert.strictEqual(spy.called, true)
+ spy.restore()
+ })
+
+ QUnit.test('should init carousels with data-ride on load event', function (assert) {
+ assert.expect(1)
+
+ var done = assert.async()
+ var spy = sinon.spy(Carousel, '_jQueryInterface')
+
+ var carouselHTML = ''
+ var $carousel = $(carouselHTML)
+ $carousel.appendTo('#qunit-fixture')
+
+ $(window).trigger($.Event('load'))
+
+ setTimeout(function () {
+ assert.strictEqual(spy.called, true)
+ spy.restore()
+ done()
+ }, 5)
+ })
+
+ QUnit.test('should not add touch event listeners when touch option set to false', function (assert) {
+ assert.expect(1)
+
+ var spy = sinon.spy(Carousel.prototype, '_addTouchEventListeners')
+ var $carousel = $('')
+
+ $carousel.appendTo('#qunit-fixture')
+ $carousel.bootstrapCarousel()
+
+ assert.strictEqual(spy.called, false)
+ spy.restore()
+ })
})
diff -Nru twitter-bootstrap4-4.2.1+dfsg2/js/tests/unit/dropdown.js twitter-bootstrap4-4.3.1+dfsg2/js/tests/unit/dropdown.js
--- twitter-bootstrap4-4.2.1+dfsg2/js/tests/unit/dropdown.js 2018-12-21 18:55:28.000000000 +0000
+++ twitter-bootstrap4-4.3.1+dfsg2/js/tests/unit/dropdown.js 2019-02-13 16:01:40.000000000 +0000
@@ -1361,4 +1361,59 @@
$dropdown.hide()
assert.ok($dropdown.parent('.dropdown').hasClass('show'))
})
+
+ QUnit.test('should create offset modifier correctly when offset option is a function', function (assert) {
+ assert.expect(2)
+
+ var getOffset = function (offsets) {
+ return offsets
+ }
+
+ var dropdownHTML =
+ '
'
+
+ var myOffset = 42
+ var $dropdown = $(dropdownHTML)
+ .appendTo('#qunit-fixture')
+ .find('[data-toggle="dropdown"]')
+ .bootstrapDropdown({
+ offset: myOffset
+ })
+
+ var dropdown = $dropdown.data('bs.dropdown')
+ var offset = dropdown._getOffset()
+
+ assert.strictEqual(offset.offset, myOffset)
+ assert.ok(typeof offset.fn === 'undefined')
+ })
})
diff -Nru twitter-bootstrap4-4.2.1+dfsg2/js/tests/unit/modal.js twitter-bootstrap4-4.3.1+dfsg2/js/tests/unit/modal.js
--- twitter-bootstrap4-4.2.1+dfsg2/js/tests/unit/modal.js 2018-12-21 18:55:28.000000000 +0000
+++ twitter-bootstrap4-4.3.1+dfsg2/js/tests/unit/modal.js 2019-02-13 16:01:40.000000000 +0000
@@ -619,40 +619,37 @@
assert.expect(1)
var done = assert.async()
- try {
- var $toggleBtn = $('')
- .appendTo('#qunit-fixture')
+ var $toggleBtn = $('')
+ .appendTo('#qunit-fixture')
- $toggleBtn.trigger('click')
- } catch (e) {
+ $toggleBtn.trigger('click')
+ setTimeout(function () {
assert.strictEqual($('#modal-test').length, 0, 'target has not been parsed and added to the document')
done()
- }
+ }, 0)
})
QUnit.test('should not execute js from target', function (assert) {
assert.expect(0)
var done = assert.async()
- try {
- // This toggle button contains XSS payload in its data-target
- // Note: it uses the onerror handler of an img element to execute the js, because a simple script element does not work here
- // a script element works in manual tests though, so here it is likely blocked by the qunit framework
- var $toggleBtn = $('')
- .appendTo('#qunit-fixture')
- // The XSS payload above does not have a closure over this function and cannot access the assert object directly
- // However, it can send a click event to the following control button, which will then fail the assert
- $('