diff --git a/composer.json b/composer.json index 508425afa59cf5e3a35ee5c0f202ec1316504fe3..bc2ffd3a045eb68d0b71a266663ef08f3f3881da 100644 --- a/composer.json +++ b/composer.json @@ -58,7 +58,6 @@ "aferrandini/phpqrcode": "1.0.1", "jasig/phpCAS": "dev-master", "johnwohlers/sip2": "dev-master", - "leafo/scssphp": "*", "mobileesp/mdetect": "dev-master", "oyejorge/less.php": "*", "pear-pear.php.net/file_marc": "*", diff --git a/composer.lock b/composer.lock index 92e1c6dcb4b7016e4ef2df6660d81811f3bdbc9c..295507f51bcc4590be3ffd54d541fe6a90d4ad98 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "05ecbbb2c36562790cee458be5c5b368", + "hash": "231b305c8c70b43d87f2685e50469688", "packages": [ { "name": "aferrandini/phpqrcode", @@ -117,52 +117,6 @@ ] } }, - { - "name": "leafo/scssphp", - "version": "0.0.10", - "source": { - "type": "git", - "url": "https://github.com/leafo/scssphp.git", - "reference": "558357feceb9b932a192966945904414dc372e4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/leafo/scssphp/zipball/558357feceb9b932a192966945904414dc372e4d", - "reference": "558357feceb9b932a192966945904414dc372e4d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": "3.7.*" - }, - "bin": [ - "pscss" - ], - "type": "library", - "autoload": { - "classmap": [ - "scss.inc.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT", - "GPL-3.0" - ], - "authors": [ - { - "name": "Leaf Corcoran", - "email": "leafot@gmail.com", - "homepage": "http://leafo.net" - } - ], - "description": "scssphp is a compiler for SCSS written in PHP.", - "homepage": "http://leafo.net/scssphp/", - "time": "2014-04-15 02:25:09" - }, { "name": "mobileesp/mdetect", "version": "dev-master", @@ -318,17 +272,17 @@ }, { "name": "pear-pear.php.net/PEAR", - "version": "1.9.4", + "version": "1.9.5", "dist": { "type": "file", - "url": "http://pear.php.net/get/PEAR-1.9.4.tgz", + "url": "http://pear.php.net/get/PEAR-1.9.5.tgz", "reference": null, "shasum": null }, "require": { "ext-pcre": "*", "ext-xml": "*", - "pear-pear.php.net/archive_tar": ">=1.3.7.0", + "pear-pear.php.net/archive_tar": ">=1.3.11.0", "pear-pear.php.net/console_getopt": ">=1.2.0.0", "pear-pear.php.net/structures_graph": ">=1.0.2.0", "pear-pear.php.net/xml_util": ">=1.2.0.0", @@ -339,7 +293,7 @@ "pear-pear.php.net/pear_frontend_web": "<=0.4.0.0" }, "replace": { - "pear-pear/pear": "== 1.9.4.0" + "pear-pear/pear": "== 1.9.5.0" }, "type": "pear-library", "autoload": { @@ -496,17 +450,17 @@ }, { "name": "symfony/yaml", - "version": "v2.5.0", + "version": "v2.5.2", "target-dir": "Symfony/Component/Yaml", "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "b4b09c68ec2f2727574544ef0173684281a5033c" + "reference": "f868ecdbcc0276b6158dfbf08b9e98ce07f014e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/b4b09c68ec2f2727574544ef0173684281a5033c", - "reference": "b4b09c68ec2f2727574544ef0173684281a5033c", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/f868ecdbcc0276b6158dfbf08b9e98ce07f014e1", + "reference": "f868ecdbcc0276b6158dfbf08b9e98ce07f014e1", "shasum": "" }, "require": { @@ -541,7 +495,7 @@ ], "description": "Symfony Yaml Component", "homepage": "http://symfony.com", - "time": "2014-05-16 14:25:18" + "time": "2014-07-09 09:05:48" }, { "name": "zendframework/zendframework", @@ -869,6 +823,7 @@ "mobileesp/mdetect": 20, "serialssolutions/summon": 20 }, + "prefer-stable": false, "platform": [ ], diff --git a/module/VuFindTheme/src/VuFindTheme/Initializer.php b/module/VuFindTheme/src/VuFindTheme/Initializer.php index 6beffc729dfee219aea120f21a13e853b468c8b6..94058e1d5587374a56ee6d08bb4a1435421e97a7 100644 --- a/module/VuFindTheme/src/VuFindTheme/Initializer.php +++ b/module/VuFindTheme/src/VuFindTheme/Initializer.php @@ -328,15 +328,11 @@ class Initializer } $lessActive = false; - $scssActive = false; // Find LESS activity foreach ($themes as $key=>$currentThemeInfo) { if (isset($currentThemeInfo['less']['active'])) { $lessActive = $currentThemeInfo['less']['active']; } - if (isset($currentThemeInfo['scss']['active'])) { - $scssActive = $currentThemeInfo['scss']['active']; - } } // Apply the loaded theme settings in reverse for proper inheritance: @@ -352,9 +348,6 @@ class Initializer if ($lessActive && isset($currentThemeInfo['less'])) { $resources->addLessCss($currentThemeInfo['less']); } - if ($scssActive && isset($currentThemeInfo['scss'])) { - $resources->addScssCss($currentThemeInfo['scss']); - } if (isset($currentThemeInfo['css'])) { $resources->addCss($currentThemeInfo['css']); } diff --git a/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php b/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php index 331d028627859347c5ed0ddd264648343e5bb5ea..96d23892c4688f5dda94140c764e120e5c20922d 100644 --- a/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php +++ b/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php @@ -45,13 +45,6 @@ class ResourceContainer */ protected $less = array(); - /** - * scss CSS files - * - * @var array - */ - protected $scss = array(); - /** * CSS files * @@ -106,25 +99,6 @@ class ResourceContainer } } - /** - * Add a scss CSS file. - * - * @param array|string $scss scss CSS file (or array of scss CSS files) to add - * - * @return void - */ - public function addScssCss($scss) - { - if (!is_array($scss) && !is_a($scss, 'Traversable')) { - $scss = array($scss); - } - unset($scss['active']); - foreach ($scss as $index=>$current) { - $this->scss[$index] = $current; - $this->removeCSS($current); - } - } - /** * Add a CSS file. * @@ -172,15 +146,6 @@ class ResourceContainer { return array_unique($this->less); } - /** - * Get SCSS CSS files. - * - * @return array - */ - public function getScssCss() - { - return array_unique($this->scss); - } /** * Get CSS files. @@ -277,18 +242,16 @@ class ResourceContainer */ protected function dynamicallyParsed($file) { - if (empty($this->less) && empty($this->scss)) { + if (empty($this->less)) { return false; } list($fileName, ) = explode('.', $file); $lessFile = $fileName . '.less'; - $scssFile = $fileName . '.scss'; - return in_array($lessFile, $this->less, true) - || in_array($scssFile, $this->scss, true); + return in_array($lessFile, $this->less, true); } /** - * Check if a CSS file is being dynamically compiled in SCSS + * Remove a CSS file if it matches another file's name * * @param string $file Filename to remove * diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadLink.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadLink.php index 162964e0f980bb49d188473350a0e8ce6e94e554..aefd51476d16ba71eaaef81d23064e8b311dd7f1 100644 --- a/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadLink.php +++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadLink.php @@ -122,34 +122,4 @@ class HeadLink extends \Zend\View\Helper\HeadLink ); } } - - /** - * Compile a scss file to css and add to css folder - * - * @param string $file path to scss file - * - * @return void - */ - public function addScssStylesheet($file) - { - $themeParents = array_keys($this->themeInfo->getThemeInfo()); - $currentTheme = $themeParents[0]; - $home = APPLICATION_PATH . "/themes/$currentTheme/"; - list($fileName, ) = explode('.', $file); - $outputFile = $home . 'css/scss/' . $fileName . '.css'; - $urlHelper = $this->getView()->plugin('url'); - - $scss = new \scssc(); - $paths = array(); - foreach ($themeParents as $theme) { - $paths[] = APPLICATION_PATH . '/themes/' . $theme . '/scss/'; - } - $scss->setImportPaths($paths); - $scss->setFormatter('scss_formatter_compressed'); - $css = $scss->compile('@import "' . $file . '"'); - file_put_contents($outputFile, $css); - $this->prependStylesheet( - $urlHelper('home') . "themes/{$currentTheme}/css/scss/{$fileName}.css" - ); - } } diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php index 3500a2fa4c62b3fb1847ac1b35fdd5bcaf7b33eb..e38fc81a35f1bfe69f2e9129c7eaea583b212fcb 100644 --- a/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php +++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php @@ -94,12 +94,6 @@ class HeadThemeResources extends \Zend\View\Helper\AbstractHelper $headLink()->addLessStylesheet($current); } - // Compile and load SASS (make sure we prepend them in the appropriate order - // theme resources should load before extras added by individual templates): - foreach (array_reverse($this->container->getScssCss()) as $current) { - $headLink()->addScssStylesheet($current); - } - // Load Javascript (same ordering considerations as CSS, above): $headScript = $this->getView()->plugin('headscript'); foreach (array_reverse($this->container->getJs()) as $current) { diff --git a/themes/bootprint3/scss/bootprint.scss b/themes/bootprint3/scss/bootprint.scss deleted file mode 100644 index 4a7137b791252b5a3f7c41ee28e82aa2258944b8..0000000000000000000000000000000000000000 --- a/themes/bootprint3/scss/bootprint.scss +++ /dev/null @@ -1,324 +0,0 @@ -@import "variables"; - -/* --- Bootstrap MODS ---*/ -body { - background:$brand-primary; - font-size:13px; - & a,.btn-link {color:#06C} - & a:hover,.btn-link:hover {color:#09F} - @media (max-width: 768px) { - padding:6px; - header { - margin-top:0; - } - .label { - font-size:85%; - } - } -} -@media (min-width: 768px) { - .badge { - font-size:85%; - margin-top:1px; - } - .label { - padding-top:.3em; - } -} -.btn,.form-control { - font-size:13px; - height:auto; - padding:4px 6px 3px; -} -.btn:not(.btn-danger):not(.btn-info):not(.btn-link):not(.btn-primary):not(.btn-success):not(.btn-warning) { - background:$gray-lighter; - background-image:linear-gradient(#FFF, $nav-tabs-border-color); - border:1px solid $gray-light; - color:$gray-darker; - text-shadow:0 1px 0 #FFF; - &:hover { - background:$link-color; - border:1px solid $link-color; - color:#FFF; - text-shadow:none; - } -} -.btn-danger, .btn-danger:hover {border-color:darken($brand-danger, 12%);font-weight:bold;} -.btn-info, .btn-info:hover {border-color:darken($brand-info, 12%);font-weight:bold;} -.btn-primary,.btn-primary:hover {@include button-variant(#FFF, $brand-primary, $brand-primary);font-weight:bold;} -.btn-success,.btn-success:hover {border-color:darken($brand-success, 12%);font-weight:bold;} -.btn-warning,.btn-warning:hover {border-color:darken($brand-warning, 12%);font-weight:bold;} -h2 {margin:0 8px 8px} -input[type=checkbox] { - margin-top:2px; - margin:0 auto; - padding:0 2px; -} -.nav > li > a { - padding:5px 10px; -} -.nav-pills {display:table;margin:0 auto} -.pagination { - display:table; - margin:18px auto; - & > li { - & > a,& > span { - padding:4px 12px 3px 12px; - } - } - & > .active { - & > a, & > span, & > a:hover, & > span:hover, & > a:focus, & > span:focus { - background:$brand-primary; - border-color:$brand-primary; - } - } -} -.panel-heading { - padding:0; - a { - cursor:pointer; - display:inline-block; - padding:6px; - width:100%; - } -} -.row { - &:not(.top-row) { - padding:6px 4px; - margin:0 -4px; - } - &.result { - &:nth-child(even) { - background:$gray-lighter; - } - &:last-child { - margin-bottom:1em; - } - } -} -.tab-content { - padding: 6px 8px; - border: 1px solid $nav-tabs-border-color; - border-top: 0; -} - -/* --- Layout --- */ -.container { - background:#FFF; - padding:0; -} -header { - margin-top:18px; - .container {margin:0 auto} - .fa.fa-bars {font-size:21px} - .navbar { - border-radius:5px 5px 0 0; - padding:0 10px; - #searchForm {display:none !important} - .navbar-brand { - background-image:url('../../images/vufind_logo.png'); - color:transparent; - height:65px; - margin-top:5px; - width:170px; - &:hover,&:active,&:focus { - color:transparent; - } - } - .navbar-nav > li > a { - padding:12px 6px; - @media (max-width: 768px) { - padding:8px 24px; - } - } - .navbar-right { - margin-top:12px; - @media (max-width: 768px) { - margin:0; - } - } - } - .searchbox { - display:block !important; - margin:0; - } - @media (max-width: 767px) { - #header-collapse .navbar-right li { - text-align:right; - } - #searchForm_type { - margin-top:2px; - margin-bottom:2px; - } - } - .breadcrumb { - border:1px solid #CCC; - border-radius:0; - border-width:1px 0; - font-size:12px; - margin:6px 0 2px; - } -} -[name=searchForm] { - margin:6px 8px 8px; - padding:0; - & .btn-primary,& .form-control { - font-size:14px; - height:32px; - padding:5px 8px; - } - .search-query { - @media (min-width: 768px) { - width:400px; - } - } - .nav-tabs { - border-bottom:0; - li { - a { - margin-bottom:-1px; - border-bottom:0; - padding-bottom:6px; - &:hover { - background:none; - border-color:transparent; - text-decoration:underline; - } - } - &.active a,&.active a:hover { - background:#FFF; - border-color:$brand-primary; - border-bottom:0; - text-decoration:none; - z-index:5; - } - } - } -} -.main { - .container { - padding:0 4px 18px; - } -} -footer { - margin-bottom:36px; - .container { - border-radius:0 0 5px 5px; - border-top:1px solid $nav-tabs-border-color; - padding-top:18px; - } - hr {display:none} - p {margin:0} - ul {padding-left:30px} -} - -/* --- Record --- */ -#hierarchyRecord {background:#FFF} - -/* --- Search --- */ -.bulkActionButtons {margin-bottom:6px} -.left {text-align:center} -.result { - .savedLists { - margin:0 0 4px 0; - padding:4px 0 4px 6px; - ul {padding-left:18px;} - } -} - -/* --- Search Home --- */ -.searchHomeContent { - margin:1em auto; - width:90%; -} - -/* --- Advanced Search --- */ -#advSearchForm .search {margin:0} - -/* --- Sidebar --- */ -$active-orange: #FF9500; -.sidebar { - .list-group { - margin-bottom:5px; - label.list-group-item { - padding-left:26px; - input[type=checkbox] { - margin-top:2px; - } - } - } - .list-group-item { - padding:7px 10px 6px; - &.active { - background:$active-orange; - border-color:$active-orange; - color:#FFF; - &:hover {background:$active-orange;border-color:$active-orange;} - .badge {color:$active-orange;} - } - } - & .slider-container { - margin:4px auto 10px; - width:95%; - .slider-handle { - background:#619144; - opacity:1; - } - } -} -.sidebar .list-group-item,.top-row { - .badge a { - color:#FFF; - &:hover {color:$brand-danger} - } -} - -/* --- Captcha --- */ -#custom_recaptcha_widget { - display:table; - embed { display:none; } - #recaptcha_image { - border:1px solid #000; - padding:6px; - margin:1em 0; - } - #recaptcha_response_field { margin:0 .5em; } - & > div > a { - display:inline-block; - float:left; - margin:5px 10px 5px 0; - } -} - -/* --- Random Items (results view) --- */ -ul.random { - list-style: none; - padding: 0; - margin: 0px; - text-align:justified; - li { - padding-bottom:10px; - img { - margin: 0 auto 1em auto; - } - } - &.image, &.mixed { - text-align: center; - } - &.image li img { - margin: 0 auto; - } -} - -/* --- Twitter Typeahead --- */ -.twitter-typeahead { - background: #FFF; - padding: 7px 0 10px; - border-radius: $border-radius-base; -} -.tt-dropdown-menu { - margin:2px; -} - -/* --- Browse --- */ -[id^=list].list-group .col-sm-9 {margin:0} \ No newline at end of file diff --git a/themes/bootprint3/scss/compiled.scss b/themes/bootprint3/scss/compiled.scss deleted file mode 100644 index 803030780a29793f615391cc8a44b2d277d36fc6..0000000000000000000000000000000000000000 --- a/themes/bootprint3/scss/compiled.scss +++ /dev/null @@ -1,2 +0,0 @@ -@import "bootstrap"; -@import "bootprint"; \ No newline at end of file diff --git a/themes/bootprint3/scss/icons.scss b/themes/bootprint3/scss/icons.scss deleted file mode 100644 index 5cef4fc2dadc15ee0648f52cdb2a69bfee463ef2..0000000000000000000000000000000000000000 --- a/themes/bootprint3/scss/icons.scss +++ /dev/null @@ -1,64 +0,0 @@ -.bp-icon { - background-position:center center; - background-repeat:no-repeat; - color:transparent; - content:''; - display:inline-block; - height:16px; - margin:0; - padding:0; - text-shadow:none; - vertical-align:text-bottom; - width:16px; -} -i.fa-archive {background-image:url('../../images/icons/package.png'); @extend .bp-icon;} -i.fa-asterisk {background-image:url('../../images/icons/list.png'); @extend .bp-icon;} -i.fa-bell {background-image:url('../../images/icons/bell.png'); @extend .bp-icon;} -i.fa-book {background-image:url('../../images/icons/book.png'); @extend .bp-icon;} -i.fa-bookbag-add {background-image:url('../../images/icons/bookbag_add.png'); @extend .bp-icon;} -i.fa-bookbag-delete {background-image:url('../../images/icons/bookbag_delete.png'); @extend .bp-icon;} -i.fa-bookbag-empty {background-image:url('../../images/icons/bookbag_empty.png'); @extend .bp-icon;} -i.fa-bookmark {background-image:url('../../images/icons/bookmark_add.png'); @extend .bp-icon;} -i.fa-cancel-all-holds {background-image:url('../../images/icons/holdCancelAll.png'); @extend .bp-icon;} -i.fa-cancel-all-storage-retrieval-requests {background-image:url('../../images/icons/holdCancelAll.png'); @extend .bp-icon;} -i.fa-cancel-holds {background-image:url('../../images/icons/holdCancel.png'); @extend .bp-icon;} -i.fa-cancel-storage-retrieval-requests {background-image:url('../../images/icons/holdCancel.png'); @extend .bp-icon;} -i.fa-edit {background-image:url('../../images/icons/edit.png'); @extend .bp-icon;} -i.fa-email, -i.fa-envelope, -i.fa-envelope-alt {background-image:url('../../images/icons/email.png'); @extend .bp-icon;} -i.fa-exchange {background-image:url('../../images/icons/arrow_refresh.png'); @extend .bp-icon;} -i.fa-external-link {background-image:url('../../images/icons/link_go.png'); @extend .bp-icon;} -i.fa-flag {@extend .bp-icon;background-image:url('../../images/icons/flag_red.png'); @extend .bp-icon;} -i.fa-grid {background-image:url('../../images/icons/view_grid.png'); @extend .bp-icon;} -i.fa-heart {background-image:url('../../images/icons/heart.png'); @extend .bp-icon;} -i.fa-home {background-image:url('../../images/icons/house.png'); @extend .bp-icon;} -i.fa-inbox {background-image:url('../../images/icons/box.png'); @extend .bp-icon;} -i.fa-leaf,.fa-sitemap {background-image:url('../../images/icons/treeCurrent.png'); @extend .bp-icon;} -i.fa-list {background-image:url('../../images/icons/view_list.png'); @extend .bp-icon;} -i.fa-list-alt,i.fa-export {background-image:url('../../images/icons/application_add.png'); @extend .bp-icon;} -i.fa-lock {background-image:url('../../images/icons/lock.png'); @extend .bp-icon;} -i.fa-minus-sign {background-image:url('../../images/icons/delete.png'); @extend .bp-icon;} -i.fa-ok {background-image:url('../../images/icons/tick.png'); @extend .bp-icon;} -i.fa-phone {background-image:url('../../images/icons/phone.png'); @extend .bp-icon;} -i.fa-plus {background-image:url('../../images/icons/add.png'); @extend .bp-icon;} -i.fa-plus-sign {background-image:url('../../images/icons/add.png'); @extend .bp-icon;} -i.fa-print {background-image:url('../../images/icons/printer.png'); @extend .bp-icon;} -i.fa-qrcode {background-image:url('../../images/icons/qrcode.png'); @extend .bp-icon;} -i.fa-remove {background-image:url('../../images/icons/delete.png'); @extend .bp-icon;} -i.fa-renew {background-image:url('../../images/icons/renew.png'); @extend .bp-icon;} -i.fa-renew-all {background-image:url('../../images/icons/renewAll.png'); @extend .bp-icon;} -i.fa-report {background-image:url('../../images/icons/report.png'); @extend .bp-icon;} -i.fa-rss {background-image:url('../../images/icons/feed.png'); @extend .bp-icon;} -i.fa-search {background-image:url('../../images/icons/magnifier.png'); @extend .bp-icon;} -i.fa-shopping-cart {background-image:url('../../images/icons/cart.png'); @extend .bp-icon;} -i.fa-sign-in {background-image:url('../../images/icons/door_in.png'); @extend .bp-icon;} -i.fa-sign-out {background-image:url('../../images/icons/door_out.png'); @extend .bp-icon;} -i.fa-spinner {background-image:url('../../images/icons/ajax_loading.gif'); @extend .bp-icon;} -i.fa-star {background-image:url('../../images/icons/star.png'); @extend .bp-icon;} -i.fa-suitcase {background-image:url('../../images/icons/bookbag.png'); @extend .bp-icon;} -i.fa-trash-o {background-image:url('../../images/icons/bin.png'); @extend .bp-icon;} -i.fa-tree {background-image:url('../../images/icons/treeCurrent.png'); @extend .bp-icon;} -i.fa-tree-muted {background-image:url('../../images/icons/treeMuted.png'); @extend .bp-icon;} -i.fa-usd {background-image:url('../../images/icons/money_dollar.png'); @extend .bp-icon;} -i.fa-user {background-image:url('../../images/icons/user.png'); @extend .bp-icon;} diff --git a/themes/bootprint3/scss/variables.scss b/themes/bootprint3/scss/variables.scss deleted file mode 100644 index ba338cbcb2cdd6695556e23559181c04b35caad2..0000000000000000000000000000000000000000 --- a/themes/bootprint3/scss/variables.scss +++ /dev/null @@ -1,42 +0,0 @@ -$brand-primary: #619144; - -$font-size-base: 13px; - -$padding-base-vertical : 3px; -$padding-base-horizontal : 5px; -$padding-large-vertical : 8px; -$padding-large-horizontal: 5px; -$padding-small-vertical : 1px; -$padding-small-horizontal: 2px; -$padding-xs-horizontal : 1px; - -$border-radius-base : 3px; -$border-radius-large: 5px; -$border-radius-small: 2px; - -$dropdown-link-hover-bg : $brand-primary; -$dropdown-link-active-bg: $brand-primary; - -$input-border-focus: $brand-primary; - -$legend-border-color: $gray-light; - -$grid-gutter-width: 14px; - -$container-desktop : 952px; -$container-large-desktop: 952px; - -$navbar-height : 65px; -$navbar-margin-bottom: 0px; -$nav-link-padding : 5px; - -$pagination-active-bg : $brand-info; -$pagination-active-border: $brand-info; - -$panel-body-padding: 5px; - -$breadcrumb-padding-vertical : 6px; -$breadcrumb-padding-horizontal: 20px; -$breadcrumb-bg : #FFF; -$breadcrumb-color : $gray-light; -$breadcrumb-active-color : $gray-dark; \ No newline at end of file diff --git a/themes/bootstrap3/scss/a11y.scss b/themes/bootstrap3/scss/a11y.scss deleted file mode 100644 index 4568846193bb610100ab23f9bb339b0e31804bb2..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/a11y.scss +++ /dev/null @@ -1,144 +0,0 @@ -/* mixins */ - -.sr-only -{ - clip: rect(1px, 1px, 1px, 1px); - position: absolute; - /* reset */ - width: auto; - height: auto; - margin: 0; - padding: 0; - overflow: hidden; - border:0; -} - -.sr-only:focus { - background-color: $navbar-default-link-hover-bg;//watch out, transparent by default! - border-radius: $navbar-border-radius; - clip: auto; - color: $navbar-default-link-hover-color; - display: block; - font-size: $font-size-base; - height: $navbar-height; - line-height: $line-height-computed; - padding: $navbar-padding-vertical $navbar-padding-horizontal; - position: absolute; - left: 5px; - top: 5px; - text-decoration: none; - text-transform: none; - width: auto; - z-index: 100000; /* Above WP toolbar */ -} - -/* this mixins give output generate duplicate CSS code - * alternatively you will to have to rewrite the original mixin in buttons.less - */ -@mixin button-variant($color, $background, $border) { - color: $color; - background-color: $background; - border-color: $border; - - &:hover, - &:focus, - &:active, - &.active { - color: $background; - background-color: $color; - border-color: darken($border, 12%); - .badge { - color: $color; - background-color: $background; - } - } - .open & { &.dropdown-toggle { - color: $background; - background-color: $color; - border-color: darken($border, 12%); - } } - &:active, - &.active { - background-image: none; - } - .open & { &.dropdown-toggle { - background-image: none; - } } - &.disabled, - &[disabled], - fieldset[disabled] & { - &, - &:hover, - &:focus, - &:active, - &.active { - background-color: $background; - border-color: $border; - } - } - - .badge { - color: $background; - background-color: $color; - } -} - -// Navbar -// ------------------------- - -$navbar-default-color: #fff; -$navbar-default-bg: #132531; -$navbar-default-border: darken($navbar-default-bg, 6.5%); - -// Navbar links -$navbar-default-link-color: #fff; -$navbar-default-link-hover-color: #132531; -$navbar-default-link-hover-bg: #fff; -$navbar-default-link-active-color: #132531; -$navbar-default-link-active-bg: #fff; -$navbar-default-link-disabled-color: #fff; -$navbar-default-link-disabled-bg: #068139; - -// Navbar brand label -$navbar-default-brand-color: $navbar-default-link-color; -$navbar-default-brand-hover-color: #068139; //contrast 3.15, so min 19px; -.navbar-brand { - font-size: 20px; -} -$navbar-default-brand-hover-bg: transparent; - -// Navbar toggle -$navbar-default-toggle-hover-bg: #ddd; -$navbar-default-toggle-icon-bar-bg: #888; -$navbar-default-toggle-border-color: #ddd; - -$brand-primary: #265680; -$brand-success: #028302; -$brand-info: #1C5F74; -$brand-warning: #A56100; -$brand-danger: #A41915; - -/* buttons */ -$btn-primary-color: #fff; -$btn-primary-bg: $brand-primary; -$btn-primary-border: #fff; - -$btn-success-color: #fff; -$btn-success-bg: $brand-success; -$btn-success-border: #fff; - -$btn-info-color: #fff; -$btn-info-bg: $brand-info; -$btn-info-border: #fff; - -$btn-warning-color: #fff; -$btn-warning-bg: $brand-warning; -$btn-warning-border: #fff; - -$btn-danger-color: #fff; -$btn-danger-bg: $brand-danger; -$btn-danger-border: #fff; - - -/* link on white background */ -$link-color: #12538B; diff --git a/themes/bootstrap3/scss/bootstrap.scss b/themes/bootstrap3/scss/bootstrap.scss deleted file mode 100644 index 6dca8f80f1d328dedd8f069ed4091f32088f8744..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap.scss +++ /dev/null @@ -1,131 +0,0 @@ -@import "bootstrap/bootstrap"; - -.btn {@extend .btn-default;} -.fa-grid:before {content:"\f00a"} -.group [class^=col-] {padding-left:0} -.highlight{@extend mark;} -.icon-bar {background-color:#888} -label.list-group-item {border-radius:0;font-weight:normal;margin-top:0;padding-left:35px} -.list-group-item.title {font-weight:bold} -#modal .modal-body > h2:first-child {display:none} -.tab-content {padding:4px} - -/* --- Autocomplete --- */ -.twitter-typeahead { - background: #FFF; - padding: 8px 0 10px; - border-radius: $border-radius-base; - .tt-hint {display:none} -} -.tt-dropdown-menu { - @extend .list-group; - margin-top:10px; -} -.tt-suggestion { - @extend .list-group-item; - &.tt-cursor { - background-color:$brand-primary; - color:#FFF; - } - p {margin:0} -} - -/* --- Badges - blend the links in --- */ -.badge a {color:#FFF} - -/* --- Browse --- */ -.browse.list-group .list-group-item { - word-wrap:break-word; - &.view-record { - border-top:0; - font-size:85%; - padding:2px 4px; - text-align:right; - } -} - -/* --- Search --- */ -.result { - a.title {font-weight:bold} - .left img {max-width:100%} - @media (max-width:767px) { - .left {padding:0} - a {text-decoration:underline} - } - @media (max-width:400px) { - .left {width:40%} - .middle {width:60%} - .right {display:none} - } -} - -/* --- Sidebar rounded corners --- */ -.sidebar { - & .title.collapsed { - cursor:pointer; - &.collapsed { - border-radius:$border-radius-base; - } - } - .collapse,.collapsing { - .list-group-item { - border-top-left-radius:0px; - border-top-right-radius:0px; - &[id^=more] { - border-bottom-left-radius:$border-radius-base; - border-bottom-right-radius:$border-radius-base; - } - } - } -} - -/* --- Slider accessibility --- */ -.slider { - .slider-track { - background:$gray-light; - box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.4); - .slider-handle { - background:$brand-primary; - background-image:none; - border:1px solid $brand-primary; - box-shadow:none; - opacity:.8; - &:hover,&:active,&:focus { - opacity:1; - background:#FFF; - border-color:$gray-light; - } - &:active,&:focus { - border-color:$brand-primary; - } - } - .slider-selection { - background:$gray-lighter; - box-shadow:inset 0 -1px 0 rgba(0,0,0,0.3); - } - } -} - -/* --- Table wrapping to prevent horizontal overflow --- */ -.table {word-wrap:break-word;table-layout:fixed} - -.fa-grid:before {content: "\f00a"} -.group [class^=col-] {padding-left:0} -.icon-bar {background-color:#888} -label.list-group-item {border-radius:0;font-weight:normal;margin-top:0;padding-left:35px} -.list-group-item.title {font-weight:bold} -#modal .modal-body > h2:first-child {display:none} -/* --- Autocomplete --- */ -.twitter-typeahead .tt-hint {display:none} -.tt-dropdown-menu { - @extend .list-group; - margin-top:10px; -} -.tt-suggestion { - @extend .list-group-item; - &.tt-cursor { - background-color:$brand-primary; - color:#FFF; - } - p {margin:0} -} \ No newline at end of file diff --git a/themes/bootstrap3/scss/bootstrap/_alerts.scss b/themes/bootstrap3/scss/bootstrap/_alerts.scss deleted file mode 100644 index 4685ac3a9d4354248baada7a258a0cffc5a4237b..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_alerts.scss +++ /dev/null @@ -1,67 +0,0 @@ -// -// Alerts -// -------------------------------------------------- - - -// Base styles -// ------------------------- - -.alert { - padding: $alert-padding; - margin-bottom: $line-height-computed; - border: 1px solid transparent; - border-radius: $alert-border-radius; - - // Headings for larger alerts - h4 { - margin-top: 0; - // Specified for the h4 to prevent conflicts of changing $headings-color - color: inherit; - } - // Provide class for links that match alerts - .alert-link { - font-weight: $alert-link-font-weight; - } - - // Improve alignment and spacing of inner content - > p, - > ul { - margin-bottom: 0; - } - > p + p { - margin-top: 5px; - } -} - -// Dismissable alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissable { - padding-right: ($alert-padding + 20); - - // Adjust close link position - .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; - } -} - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -.alert-success { - @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); -} -.alert-info { - @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); -} -.alert-warning { - @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); -} -.alert-danger { - @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); -} diff --git a/themes/bootstrap3/scss/bootstrap/_badges.scss b/themes/bootstrap3/scss/bootstrap/_badges.scss deleted file mode 100644 index 4014a80bd4e50de0f1df578cdaf527018cfe3917..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_badges.scss +++ /dev/null @@ -1,55 +0,0 @@ -// -// Badges -// -------------------------------------------------- - - -// Base classes -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: $font-size-small; - font-weight: $badge-font-weight; - color: $badge-color; - line-height: $badge-line-height; - vertical-align: baseline; - white-space: nowrap; - text-align: center; - background-color: $badge-bg; - border-radius: $badge-border-radius; - - // Empty badges collapse automatically (not available in IE8) - &:empty { - display: none; - } - - // Quick fix for badges in buttons - .btn & { - position: relative; - top: -1px; - } - .btn-xs & { - top: 0; - padding: 1px 5px; - } -} - -// Hover state, but only for links -a.badge { - &:hover, - &:focus { - color: $badge-link-hover-color; - text-decoration: none; - cursor: pointer; - } -} - -// Account for counters in navs -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: $badge-active-color; - background-color: $badge-active-bg; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} diff --git a/themes/bootstrap3/scss/bootstrap/_breadcrumbs.scss b/themes/bootstrap3/scss/bootstrap/_breadcrumbs.scss deleted file mode 100644 index 3641e333b8d3aa5b6faaea5b3a64c0f01f7c8a7c..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_breadcrumbs.scss +++ /dev/null @@ -1,26 +0,0 @@ -// -// Breadcrumbs -// -------------------------------------------------- - - -.breadcrumb { - padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; - margin-bottom: $line-height-computed; - list-style: none; - background-color: $breadcrumb-bg; - border-radius: $border-radius-base; - - > li { - display: inline-block; - - + li:before { - content: "#{$breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space - padding: 0 5px; - color: $breadcrumb-color; - } - } - - > .active { - color: $breadcrumb-active-color; - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_button-groups.scss b/themes/bootstrap3/scss/bootstrap/_button-groups.scss deleted file mode 100644 index 066b4d77d5517bb41fccc7329c4b2fb47fa82cae..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_button-groups.scss +++ /dev/null @@ -1,226 +0,0 @@ -// -// Button groups -// -------------------------------------------------- - -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; // match .btn alignment given font-size hack above - > .btn { - position: relative; - float: left; - // Bring the "active" button to the front - &:hover, - &:focus, - &:active, - &.active { - z-index: 2; - } - &:focus { - // Remove focus outline when dropdown JS adds it after closing the menu - outline: none; - } - } -} - -// Prevent double borders when buttons are next to each other -.btn-group { - .btn + .btn, - .btn + .btn-group, - .btn-group + .btn, - .btn-group + .btn-group { - margin-left: -1px; - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - margin-left: -5px; // Offset the first child's margin - @include clearfix(); - - .btn-group, - .input-group { - float: left; - } - > .btn, - > .btn-group, - > .input-group { - margin-left: 5px; - } -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} - -// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match -.btn-group > .btn:first-child { - margin-left: 0; - &:not(:last-child):not(.dropdown-toggle) { - @include border-right-radius(0); - } -} -// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - @include border-left-radius(0); -} - -// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child { - > .btn:last-child, - > .dropdown-toggle { - @include border-right-radius(0); - } -} -.btn-group > .btn-group:last-child > .btn:first-child { - @include border-left-radius(0); -} - -// On active and open, don't show outline -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-xs > .btn { @extend .btn-xs; } -.btn-group-sm > .btn { @extend .btn-sm; } -.btn-group-lg > .btn { @extend .btn-lg; } - - -// Split button dropdowns -// ---------------------- - -// Give the line between buttons some depth -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} - -// The clickable button for toggling the menu -// Remove the gradient and set the same inset shadow as the :active state -.btn-group.open .dropdown-toggle { - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - @include box-shadow(none); - } -} - - -// Reposition the caret -.btn .caret { - margin-left: 0; -} -// Carets in other button sizes -.btn-lg .caret { - border-width: $caret-width-large $caret-width-large 0; - border-bottom-width: 0; -} -// Upside down carets for .dropup -.dropup .btn-lg .caret { - border-width: 0 $caret-width-large $caret-width-large; -} - - -// Vertical button groups -// ---------------------- - -.btn-group-vertical { - > .btn, - > .btn-group, - > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - } - - // Clear floats so dropdown menus can be properly placed - > .btn-group { - @include clearfix(); - > .btn { - float: none; - } - } - - > .btn + .btn, - > .btn + .btn-group, - > .btn-group + .btn, - > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; - } -} - -.btn-group-vertical > .btn { - &:not(:first-child):not(:last-child) { - border-radius: 0; - } - &:first-child:not(:last-child) { - border-top-right-radius: $border-radius-base; - @include border-bottom-radius(0); - } - &:last-child:not(:first-child) { - border-bottom-left-radius: $border-radius-base; - @include border-top-radius(0); - } -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) { - > .btn:last-child, - > .dropdown-toggle { - @include border-bottom-radius(0); - } -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-top-radius(0); -} - - - -// Justified button groups -// ---------------------- - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; - > .btn, - > .btn-group { - float: none; - display: table-cell; - width: 1%; - } - > .btn-group .btn { - width: 100%; - } -} - - -// Checkbox and radio options -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - display: none; -} diff --git a/themes/bootstrap3/scss/bootstrap/_buttons.scss b/themes/bootstrap3/scss/bootstrap/_buttons.scss deleted file mode 100644 index 28110b6519a0d1542f5e37d05f42cc040b378907..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_buttons.scss +++ /dev/null @@ -1,159 +0,0 @@ -// -// Buttons -// -------------------------------------------------- - - -// Base styles -// -------------------------------------------------- - -.btn { - display: inline-block; - margin-bottom: 0; // For input.btn - font-weight: $btn-font-weight; - text-align: center; - vertical-align: middle; - cursor: pointer; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - white-space: nowrap; - @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $border-radius-base); - @include user-select(none); - - &, - &:active, - &.active { - &:focus { - @include tab-focus(); - } - } - - &:hover, - &:focus { - color: $btn-default-color; - text-decoration: none; - } - - &:active, - &.active { - outline: 0; - background-image: none; - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - } - - &.disabled, - &[disabled], - fieldset[disabled] & { - cursor: not-allowed; - pointer-events: none; // Future-proof disabling of clicks - @include opacity(.65); - @include box-shadow(none); - } -} - - -// Alternate buttons -// -------------------------------------------------- - -.btn-default { - @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); -} -.btn-primary { - @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); -} -// Success appears as green -.btn-success { - @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); -} -// Info appears as blue-green -.btn-info { - @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); -} -// Warning appears as orange -.btn-warning { - @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); -} -// Danger and error appear as red -.btn-danger { - @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); -} - - -// Link buttons -// ------------------------- - -// Make a button look and behave like a link -.btn-link { - color: $link-color; - font-weight: normal; - cursor: pointer; - border-radius: 0; - - &, - &:active, - &[disabled], - fieldset[disabled] & { - background-color: transparent; - @include box-shadow(none); - } - &, - &:hover, - &:focus, - &:active { - border-color: transparent; - } - &:hover, - &:focus { - color: $link-hover-color; - text-decoration: underline; - background-color: transparent; - } - &[disabled], - fieldset[disabled] & { - &:hover, - &:focus { - color: $btn-link-disabled-color; - text-decoration: none; - } - } -} - - -// Button Sizes -// -------------------------------------------------- - -.btn-lg { - // line-height: ensure even-numbered height of button next to large input - @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large); -} -.btn-sm { - // line-height: ensure proper height of button next to small input - @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small); -} -.btn-xs { - @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $border-radius-small); -} - - -// Block button -// -------------------------------------------------- - -.btn-block { - display: block; - width: 100%; - padding-left: 0; - padding-right: 0; -} - -// Vertically space out multiple block buttons -.btn-block + .btn-block { - margin-top: 5px; -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_carousel.scss b/themes/bootstrap3/scss/bootstrap/_carousel.scss deleted file mode 100644 index d8f236487ca84b128c58a1987d62b7fb8a4024cc..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_carousel.scss +++ /dev/null @@ -1,232 +0,0 @@ -// -// Carousel -// -------------------------------------------------- - - -// Wrapper for the slide container and indicators -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; - - > .item { - display: none; - position: relative; - @include transition(.6s ease-in-out left); - - // Account for jankitude on images - > img, - > a > img { - @include img-responsive(); - line-height: 1; - } - } - - > .active, - > .next, - > .prev { display: block; } - - > .active { - left: 0; - } - - > .next, - > .prev { - position: absolute; - top: 0; - width: 100%; - } - - > .next { - left: 100%; - } - > .prev { - left: -100%; - } - > .next.left, - > .prev.right { - left: 0; - } - - > .active.left { - left: -100%; - } - > .active.right { - left: 100%; - } - -} - -// Left/right controls for nav -// --------------------------- - -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: $carousel-control-width; - @include opacity($carousel-control-opacity); - font-size: $carousel-control-font-size; - color: $carousel-control-color; - text-align: center; - text-shadow: $carousel-text-shadow; - // We can't have this transition here because WebKit cancels the carousel - // animation if you trip this while in the middle of another animation. - - // Set gradients for backgrounds - &.left { - @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); - } - &.right { - left: auto; - right: 0; - @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); - } - - // Hover/focus state - &:hover, - &:focus { - outline: none; - color: $carousel-control-color; - text-decoration: none; - @include opacity(.9); - } - - // Toggles - .icon-prev, - .icon-next, - .glyphicon-chevron-left, - .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - } - .icon-prev, - .glyphicon-chevron-left { - left: 50%; - } - .icon-next, - .glyphicon-chevron-right { - right: 50%; - } - .icon-prev, - .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - margin-left: -10px; - font-family: serif; - } - - .icon-prev { - &:before { - content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) - } - } - .icon-next { - &:before { - content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) - } - } -} - -// Optional indicator pips -// -// Add an unordered list with the following class and add a list item for each -// slide your carousel holds. - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; - - li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid $carousel-indicator-border-color; - border-radius: 10px; - cursor: pointer; - - // IE8-9 hack for event handling - // - // Internet Explorer 8-9 does not support clicks on elements without a set - // `background-color`. We cannot use `filter` since that's not viewed as a - // background color by the browser. Thus, a hack is needed. - // - // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we - // set alpha transparency for the best results possible. - background-color: #000 \9; // IE8 - background-color: rgba(0,0,0,0); // IE9 - } - .active { - margin: 0; - width: 12px; - height: 12px; - background-color: $carousel-indicator-active-bg; - } -} - -// Optional captions -// ----------------------------- -// Hidden by default for smaller viewports -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: $carousel-caption-color; - text-align: center; - text-shadow: $carousel-text-shadow; - & .btn { - text-shadow: none; // No shadow for button elements in carousel-caption - } -} - - -// Scale up controls for tablets and up -@media screen and (min-width: $screen-sm-min) { - - // Scale up the controls a smidge - .carousel-control { - .glyphicon-chevron-left, - .glyphicon-chevron-right, - .icon-prev, - .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - margin-left: -15px; - font-size: 30px; - } - } - - // Show and left align the captions - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - - // Move up the indicators - .carousel-indicators { - bottom: 20px; - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_close.scss b/themes/bootstrap3/scss/bootstrap/_close.scss deleted file mode 100644 index 62ce30fa374f8c997c10c000a61a82d1602f2c50..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_close.scss +++ /dev/null @@ -1,35 +0,0 @@ -// -// Close icons -// -------------------------------------------------- - - -.close { - float: right; - font-size: ($font-size-base * 1.5); - font-weight: $close-font-weight; - line-height: 1; - color: $close-color; - text-shadow: $close-text-shadow; - @include opacity(.2); - - &:hover, - &:focus { - color: $close-color; - text-decoration: none; - cursor: pointer; - @include opacity(.5); - } - - // [converter] extracted button& to button.close -} - -// Additional properties for button version -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} diff --git a/themes/bootstrap3/scss/bootstrap/_code.scss b/themes/bootstrap3/scss/bootstrap/_code.scss deleted file mode 100644 index 89536160990a07218788a41b18aa912c13b093ae..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_code.scss +++ /dev/null @@ -1,63 +0,0 @@ -// -// Code (inline and block) -// -------------------------------------------------- - - -// Inline and block code styles -code, -kbd, -pre, -samp { - font-family: $font-family-monospace; -} - -// Inline code -code { - padding: 2px 4px; - font-size: 90%; - color: $code-color; - background-color: $code-bg; - white-space: nowrap; - border-radius: $border-radius-base; -} - -// User input typically entered via keyboard -kbd { - padding: 2px 4px; - font-size: 90%; - color: $kbd-color; - background-color: $kbd-bg; - border-radius: $border-radius-small; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); -} - -// Blocks of code -pre { - display: block; - padding: (($line-height-computed - 1) / 2); - margin: 0 0 ($line-height-computed / 2); - font-size: ($font-size-base - 1); // 14px to 13px - line-height: $line-height-base; - word-break: break-all; - word-wrap: break-word; - color: $pre-color; - background-color: $pre-bg; - border: 1px solid $pre-border-color; - border-radius: $border-radius-base; - - // Account for some code outputs that place code tags in pre tags - code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; - } -} - -// Enable scrollable blocks of code -.pre-scrollable { - max-height: $pre-scrollable-max-height; - overflow-y: scroll; -} diff --git a/themes/bootstrap3/scss/bootstrap/_component-animations.scss b/themes/bootstrap3/scss/bootstrap/_component-animations.scss deleted file mode 100644 index 86632fd34a7935d3257892980fd43906145ebf65..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_component-animations.scss +++ /dev/null @@ -1,29 +0,0 @@ -// -// Component animations -// -------------------------------------------------- - -// Heads up! -// -// We don't use the `.opacity()` mixin here since it causes a bug with text -// fields in IE7-8. Source: https://github.com/twitter/bootstrap/pull/3552. - -.fade { - opacity: 0; - @include transition(opacity .15s linear); - &.in { - opacity: 1; - } -} - -.collapse { - display: none; - &.in { - display: block; - } -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - @include transition(height .35s ease); -} diff --git a/themes/bootstrap3/scss/bootstrap/_dropdowns.scss b/themes/bootstrap3/scss/bootstrap/_dropdowns.scss deleted file mode 100644 index 526be5b84961d8bce2437167644f0bc2411f539a..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_dropdowns.scss +++ /dev/null @@ -1,213 +0,0 @@ -// -// Dropdown menus -// -------------------------------------------------- - - -// Dropdown arrow/caret -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: $caret-width-base solid; - border-right: $caret-width-base solid transparent; - border-left: $caret-width-base solid transparent; -} - -// The dropdown wrapper (div) -.dropdown { - position: relative; -} - -// Prevent the focus on the dropdown toggle when closing dropdowns -.dropdown-toggle:focus { - outline: 0; -} - -// The dropdown menu (ul) -.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: 160px; - padding: 5px 0; - margin: 2px 0 0; // override default ul - list-style: none; - font-size: $font-size-base; - background-color: $dropdown-bg; - border: 1px solid $dropdown-fallback-border; // IE8 fallback - border: 1px solid $dropdown-border; - border-radius: $border-radius-base; - @include box-shadow(0 6px 12px rgba(0,0,0,.175)); - background-clip: padding-box; - - // Aligns the dropdown menu to right - // - // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` - &.pull-right { - right: 0; - left: auto; - } - - // Dividers (basically an hr) within the dropdown - .divider { - @include nav-divider($dropdown-divider-bg); - } - - // Links within the dropdown menu - > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: $line-height-base; - color: $dropdown-link-color; - white-space: nowrap; // prevent links from randomly breaking onto new lines - } -} - -// Hover/Focus state -.dropdown-menu > li > a { - &:hover, - &:focus { - text-decoration: none; - color: $dropdown-link-hover-color; - background-color: $dropdown-link-hover-bg; - } -} - -// Active state -.dropdown-menu > .active > a { - &, - &:hover, - &:focus { - color: $dropdown-link-active-color; - text-decoration: none; - outline: 0; - background-color: $dropdown-link-active-bg; - } -} - -// Disabled state -// -// Gray out text and ensure the hover/focus state remains gray - -.dropdown-menu > .disabled > a { - &, - &:hover, - &:focus { - color: $dropdown-link-disabled-color; - } -} -// Nuke hover/focus effects -.dropdown-menu > .disabled > a { - &:hover, - &:focus { - text-decoration: none; - background-color: transparent; - background-image: none; // Remove CSS gradient - @include reset-filter(); - cursor: not-allowed; - } -} - -// 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 { - left: auto; // Reset the default from `.dropdown-menu` - right: 0; -} -// With v3, we enabled auto-flipping if you have a dropdown within a right -// aligned nav component. To enable the undoing of that, we provide an override -// to restore the default dropdown menu alignment. -// -// This is only for left-aligning a dropdown menu within a `.navbar-right` or -// `.pull-right` nav component. -.dropdown-menu-left { - left: 0; - right: auto; -} - -// Dropdown section headers -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: $font-size-small; - line-height: $line-height-base; - color: $dropdown-header-color; -} - -// Backdrop to catch body clicks on mobile, etc. -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: ($zindex-dropdown - 10); -} - -// Right aligned dropdowns -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// -// Just add .dropup after the standard .dropdown class and you're set, bro. -// TODO: abstract this so that the navbar fixed styles are not placed here? - -.dropup, -.navbar-fixed-bottom .dropdown { - // Reverse the caret - .caret { - border-top: 0; - border-bottom: $caret-width-base solid; - content: ""; - } - // Different positioning for bottom up menu - .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; - } -} - - -// Component alignment -// -// Reiterate per navbar.less and the modified component alignment there. - -@media (min-width: $grid-float-breakpoint) { - .navbar-right { - .dropdown-menu { - right: 0; left: auto; - } - // Necessary for overrides of the default right aligned menu. - // Will remove come v4 in all likelihood. - .dropdown-menu-left { - left: 0; right: auto; - } - } -} - diff --git a/themes/bootstrap3/scss/bootstrap/_forms.scss b/themes/bootstrap3/scss/bootstrap/_forms.scss deleted file mode 100644 index 262823850fe26185cb2e9675ecfa2a94127bd9d9..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_forms.scss +++ /dev/null @@ -1,436 +0,0 @@ -// -// Forms -// -------------------------------------------------- - - -// Normalize non-controls -// -// Restyle and baseline non-control form elements. - -fieldset { - padding: 0; - margin: 0; - border: 0; - // Chrome and Firefox set a `min-width: -webkit-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; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: $line-height-computed; - font-size: ($font-size-base * 1.5); - line-height: inherit; - color: $legend-color; - border: 0; - border-bottom: 1px solid $legend-border-color; -} - -label { - display: inline-block; - margin-bottom: 5px; - font-weight: bold; -} - - -// Normalize form controls -// -// While most of our form styles require extra classes, some basic normalization -// is required to ensure optimum display with or without those classes to better -// address browser inconsistencies. - -// Override content-box in Normalize (* isn't specific enough) -input[type="search"] { - @include box-sizing(border-box); -} - -// Position radios and checkboxes better -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; /* IE8-9 */ - line-height: normal; -} - -// Set the height of file controls to match text inputs -input[type="file"] { - display: block; -} - -// Make range inputs behave like textual form controls -input[type="range"] { - display: block; - width: 100%; -} - -// Make multiple select elements height not fixed -select[multiple], -select[size] { - height: auto; -} - -// Focus for file, radio, and checkbox -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - @include tab-focus(); -} - -// Adjust output element -output { - display: block; - padding-top: ($padding-base-vertical + 1); - font-size: $font-size-base; - line-height: $line-height-base; - color: $input-color; -} - - -// Common form controls -// -// Shared size and type resets for form controls. Apply `.form-control` to any -// of the following form controls: -// -// select -// textarea -// input[type="text"] -// input[type="password"] -// input[type="datetime"] -// input[type="datetime-local"] -// input[type="date"] -// input[type="month"] -// input[type="time"] -// input[type="week"] -// input[type="number"] -// input[type="email"] -// input[type="url"] -// input[type="search"] -// input[type="tel"] -// input[type="color"] - -.form-control { - display: block; - width: 100%; - height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) - padding: $padding-base-vertical $padding-base-horizontal; - font-size: $font-size-base; - line-height: $line-height-base; - color: $input-color; - background-color: $input-bg; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid $input-border; - border-radius: $input-border-radius; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); - @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s); - - // Customize the `:focus` state to imitate native WebKit styles. - @include form-control-focus(); - - // Placeholder - @include placeholder(); - - // 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], - fieldset[disabled] & { - cursor: not-allowed; - background-color: $input-bg-disabled; - opacity: 1; // iOS fix for unreadable disabled content - } - - // [converter] extracted textarea& to textarea.form-control -} - -// Reset height for `textarea`s -textarea.form-control { - height: auto; -} - - -// Search inputs in iOS -// -// 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. - -input[type="search"] { - -webkit-appearance: none; -} - - -// Special styles for iOS date input -// -// In Mobile Safari, date inputs require a pixel line-height that matches the -// given height of the input. - -input[type="date"] { - line-height: $input-height-base; -} - - -// 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: 15px; -} - - -// Checkboxes and radios -// -// Indent the labels to position radios/checkboxes as hanging controls. - -.radio, -.checkbox { - display: block; - min-height: $line-height-computed; // clear the floating input if there is no label text - margin-top: 10px; - margin-bottom: 10px; - padding-left: 20px; - label { - display: inline; - font-weight: normal; - cursor: pointer; - } -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - float: left; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing -} - -// Radios and checkboxes on same line -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; // space out consecutive inline controls -} - -// Apply same disabled cursor tweak as for inputs -// -// Note: Neither radios nor checkboxes can be readonly. -input[type="radio"], -input[type="checkbox"], -.radio, -.radio-inline, -.checkbox, -.checkbox-inline { - &[disabled], - fieldset[disabled] & { - cursor: not-allowed; - } -} - - -// Form control sizing -// -// Build on `.form-control` with modifier classes to decrease or increase the -// height and font-size of form controls. - -@include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small); - -@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large); - - -// Form control feedback states -// -// Apply contextual and semantic states to individual form controls. - -.has-feedback { - // Enable absolute positioning - position: relative; - - // Ensure icons don't overlap text - .form-control { - padding-right: ($input-height-base * 1.25); - } - - // Feedback icon (requires .glyphicon classes) - .form-control-feedback { - position: absolute; - top: ($line-height-computed + 5); // Height of the `label` and its margin - right: 0; - display: block; - width: $input-height-base; - height: $input-height-base; - line-height: $input-height-base; - text-align: center; - } -} - -// Feedback states -.has-success { - @include form-control-validation($state-success-text, $state-success-text, $state-success-bg); -} -.has-warning { - @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg); -} -.has-error { - @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg); -} - - -// Static form control text -// -// Apply class to a `p` element to make any string of text align with labels in -// a horizontal form layout. - -.form-control-static { - margin-bottom: 0; // Remove default margin from `p` -} - - -// Help text -// -// Apply to any element you wish to create light text for placement immediately -// below a form control. Use for general help, formatting, or instructional text. - -.help-block { - display: block; // account for any element using help-block - margin-top: 5px; - margin-bottom: 10px; - color: lighten($text-color, 25%); // lighten the text some for contrast -} - - - -// 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). -// -// Heads up! This is mixin-ed into `.navbar-form` in navbars.less. - -.form-inline { - - // Kick in the inline - @media (min-width: $screen-sm-min) { - // Inline-block all the things for "inline" - .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - - // In navbar-form, 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; - } - // Input groups need that 100% width though - .input-group > .form-control { - width: 100%; - } - - .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 (which also avoids - // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969). - .radio, - .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; - vertical-align: middle; - } - .radio input[type="radio"], - .checkbox input[type="checkbox"] { - float: none; - margin-left: 0; - } - - // Validation states - // - // Reposition the icon because it's now within a grid column and columns have - // `position: relative;` on them. Also accounts for the grid gutter padding. - .has-feedback .form-control-feedback { - top: 0; - } - } -} - - -// Horizontal forms -// -// Horizontal forms are built on grid classes and allow you to create forms with -// labels on the left and inputs on the right. - -.form-horizontal { - - // Consistent vertical alignment of labels, radios, and checkboxes - .control-label, - .radio, - .checkbox, - .radio-inline, - .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: ($padding-base-vertical + 1); // Default padding plus a border - } - // Account for padding we're adding to ensure the alignment and of help text - // and other content below items - .radio, - .checkbox { - min-height: ($line-height-computed + ($padding-base-vertical + 1)); - } - - // Make form groups behave like rows - .form-group { - @include make-row(); - } - - .form-control-static { - padding-top: ($padding-base-vertical + 1); - } - - // Only right align form labels here when the columns stop stacking - @media (min-width: $screen-sm-min) { - .control-label { - text-align: right; - } - } - - // Validation states - // - // Reposition the icon because it's now within a grid column and columns have - // `position: relative;` on them. Also accounts for the grid gutter padding. - .has-feedback .form-control-feedback { - top: 0; - right: ($grid-gutter-width / 2); - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_glyphicons.scss b/themes/bootstrap3/scss/bootstrap/_glyphicons.scss deleted file mode 100644 index c508835e3cfc29e13a31a1e57710e6ae57c4a083..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_glyphicons.scss +++ /dev/null @@ -1,233 +0,0 @@ -// -// Glyphicons for Bootstrap -// -// Since icons are fonts, they can be placed anywhere text is placed and are -// thus automatically sized to match the surrounding child. To use, create an -// inline element with the appropriate classes, like so: -// -// <a href="#"><span class="glyphicon glyphicon-star"></span> Star</a> - -// Import the fonts -@font-face { - font-family: 'Glyphicons Halflings'; - src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot')); - src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg'); -} - -// Catchall baseclass -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -// Individual icons -.glyphicon-asterisk { &:before { content: "\2a"; } } -.glyphicon-plus { &:before { content: "\2b"; } } -.glyphicon-euro { &:before { content: "\20ac"; } } -.glyphicon-minus { &:before { content: "\2212"; } } -.glyphicon-cloud { &:before { content: "\2601"; } } -.glyphicon-envelope { &:before { content: "\2709"; } } -.glyphicon-pencil { &:before { content: "\270f"; } } -.glyphicon-glass { &:before { content: "\e001"; } } -.glyphicon-music { &:before { content: "\e002"; } } -.glyphicon-search { &:before { content: "\e003"; } } -.glyphicon-heart { &:before { content: "\e005"; } } -.glyphicon-star { &:before { content: "\e006"; } } -.glyphicon-star-empty { &:before { content: "\e007"; } } -.glyphicon-user { &:before { content: "\e008"; } } -.glyphicon-film { &:before { content: "\e009"; } } -.glyphicon-th-large { &:before { content: "\e010"; } } -.glyphicon-th { &:before { content: "\e011"; } } -.glyphicon-th-list { &:before { content: "\e012"; } } -.glyphicon-ok { &:before { content: "\e013"; } } -.glyphicon-remove { &:before { content: "\e014"; } } -.glyphicon-zoom-in { &:before { content: "\e015"; } } -.glyphicon-zoom-out { &:before { content: "\e016"; } } -.glyphicon-off { &:before { content: "\e017"; } } -.glyphicon-signal { &:before { content: "\e018"; } } -.glyphicon-cog { &:before { content: "\e019"; } } -.glyphicon-trash { &:before { content: "\e020"; } } -.glyphicon-home { &:before { content: "\e021"; } } -.glyphicon-file { &:before { content: "\e022"; } } -.glyphicon-time { &:before { content: "\e023"; } } -.glyphicon-road { &:before { content: "\e024"; } } -.glyphicon-download-alt { &:before { content: "\e025"; } } -.glyphicon-download { &:before { content: "\e026"; } } -.glyphicon-upload { &:before { content: "\e027"; } } -.glyphicon-inbox { &:before { content: "\e028"; } } -.glyphicon-play-circle { &:before { content: "\e029"; } } -.glyphicon-repeat { &:before { content: "\e030"; } } -.glyphicon-refresh { &:before { content: "\e031"; } } -.glyphicon-list-alt { &:before { content: "\e032"; } } -.glyphicon-lock { &:before { content: "\e033"; } } -.glyphicon-flag { &:before { content: "\e034"; } } -.glyphicon-headphones { &:before { content: "\e035"; } } -.glyphicon-volume-off { &:before { content: "\e036"; } } -.glyphicon-volume-down { &:before { content: "\e037"; } } -.glyphicon-volume-up { &:before { content: "\e038"; } } -.glyphicon-qrcode { &:before { content: "\e039"; } } -.glyphicon-barcode { &:before { content: "\e040"; } } -.glyphicon-tag { &:before { content: "\e041"; } } -.glyphicon-tags { &:before { content: "\e042"; } } -.glyphicon-book { &:before { content: "\e043"; } } -.glyphicon-bookmark { &:before { content: "\e044"; } } -.glyphicon-print { &:before { content: "\e045"; } } -.glyphicon-camera { &:before { content: "\e046"; } } -.glyphicon-font { &:before { content: "\e047"; } } -.glyphicon-bold { &:before { content: "\e048"; } } -.glyphicon-italic { &:before { content: "\e049"; } } -.glyphicon-text-height { &:before { content: "\e050"; } } -.glyphicon-text-width { &:before { content: "\e051"; } } -.glyphicon-align-left { &:before { content: "\e052"; } } -.glyphicon-align-center { &:before { content: "\e053"; } } -.glyphicon-align-right { &:before { content: "\e054"; } } -.glyphicon-align-justify { &:before { content: "\e055"; } } -.glyphicon-list { &:before { content: "\e056"; } } -.glyphicon-indent-left { &:before { content: "\e057"; } } -.glyphicon-indent-right { &:before { content: "\e058"; } } -.glyphicon-facetime-video { &:before { content: "\e059"; } } -.glyphicon-picture { &:before { content: "\e060"; } } -.glyphicon-map-marker { &:before { content: "\e062"; } } -.glyphicon-adjust { &:before { content: "\e063"; } } -.glyphicon-tint { &:before { content: "\e064"; } } -.glyphicon-edit { &:before { content: "\e065"; } } -.glyphicon-share { &:before { content: "\e066"; } } -.glyphicon-check { &:before { content: "\e067"; } } -.glyphicon-move { &:before { content: "\e068"; } } -.glyphicon-step-backward { &:before { content: "\e069"; } } -.glyphicon-fast-backward { &:before { content: "\e070"; } } -.glyphicon-backward { &:before { content: "\e071"; } } -.glyphicon-play { &:before { content: "\e072"; } } -.glyphicon-pause { &:before { content: "\e073"; } } -.glyphicon-stop { &:before { content: "\e074"; } } -.glyphicon-forward { &:before { content: "\e075"; } } -.glyphicon-fast-forward { &:before { content: "\e076"; } } -.glyphicon-step-forward { &:before { content: "\e077"; } } -.glyphicon-eject { &:before { content: "\e078"; } } -.glyphicon-chevron-left { &:before { content: "\e079"; } } -.glyphicon-chevron-right { &:before { content: "\e080"; } } -.glyphicon-plus-sign { &:before { content: "\e081"; } } -.glyphicon-minus-sign { &:before { content: "\e082"; } } -.glyphicon-remove-sign { &:before { content: "\e083"; } } -.glyphicon-ok-sign { &:before { content: "\e084"; } } -.glyphicon-question-sign { &:before { content: "\e085"; } } -.glyphicon-info-sign { &:before { content: "\e086"; } } -.glyphicon-screenshot { &:before { content: "\e087"; } } -.glyphicon-remove-circle { &:before { content: "\e088"; } } -.glyphicon-ok-circle { &:before { content: "\e089"; } } -.glyphicon-ban-circle { &:before { content: "\e090"; } } -.glyphicon-arrow-left { &:before { content: "\e091"; } } -.glyphicon-arrow-right { &:before { content: "\e092"; } } -.glyphicon-arrow-up { &:before { content: "\e093"; } } -.glyphicon-arrow-down { &:before { content: "\e094"; } } -.glyphicon-share-alt { &:before { content: "\e095"; } } -.glyphicon-resize-full { &:before { content: "\e096"; } } -.glyphicon-resize-small { &:before { content: "\e097"; } } -.glyphicon-exclamation-sign { &:before { content: "\e101"; } } -.glyphicon-gift { &:before { content: "\e102"; } } -.glyphicon-leaf { &:before { content: "\e103"; } } -.glyphicon-fire { &:before { content: "\e104"; } } -.glyphicon-eye-open { &:before { content: "\e105"; } } -.glyphicon-eye-close { &:before { content: "\e106"; } } -.glyphicon-warning-sign { &:before { content: "\e107"; } } -.glyphicon-plane { &:before { content: "\e108"; } } -.glyphicon-calendar { &:before { content: "\e109"; } } -.glyphicon-random { &:before { content: "\e110"; } } -.glyphicon-comment { &:before { content: "\e111"; } } -.glyphicon-magnet { &:before { content: "\e112"; } } -.glyphicon-chevron-up { &:before { content: "\e113"; } } -.glyphicon-chevron-down { &:before { content: "\e114"; } } -.glyphicon-retweet { &:before { content: "\e115"; } } -.glyphicon-shopping-cart { &:before { content: "\e116"; } } -.glyphicon-folder-close { &:before { content: "\e117"; } } -.glyphicon-folder-open { &:before { content: "\e118"; } } -.glyphicon-resize-vertical { &:before { content: "\e119"; } } -.glyphicon-resize-horizontal { &:before { content: "\e120"; } } -.glyphicon-hdd { &:before { content: "\e121"; } } -.glyphicon-bullhorn { &:before { content: "\e122"; } } -.glyphicon-bell { &:before { content: "\e123"; } } -.glyphicon-certificate { &:before { content: "\e124"; } } -.glyphicon-thumbs-up { &:before { content: "\e125"; } } -.glyphicon-thumbs-down { &:before { content: "\e126"; } } -.glyphicon-hand-right { &:before { content: "\e127"; } } -.glyphicon-hand-left { &:before { content: "\e128"; } } -.glyphicon-hand-up { &:before { content: "\e129"; } } -.glyphicon-hand-down { &:before { content: "\e130"; } } -.glyphicon-circle-arrow-right { &:before { content: "\e131"; } } -.glyphicon-circle-arrow-left { &:before { content: "\e132"; } } -.glyphicon-circle-arrow-up { &:before { content: "\e133"; } } -.glyphicon-circle-arrow-down { &:before { content: "\e134"; } } -.glyphicon-globe { &:before { content: "\e135"; } } -.glyphicon-wrench { &:before { content: "\e136"; } } -.glyphicon-tasks { &:before { content: "\e137"; } } -.glyphicon-filter { &:before { content: "\e138"; } } -.glyphicon-briefcase { &:before { content: "\e139"; } } -.glyphicon-fullscreen { &:before { content: "\e140"; } } -.glyphicon-dashboard { &:before { content: "\e141"; } } -.glyphicon-paperclip { &:before { content: "\e142"; } } -.glyphicon-heart-empty { &:before { content: "\e143"; } } -.glyphicon-link { &:before { content: "\e144"; } } -.glyphicon-phone { &:before { content: "\e145"; } } -.glyphicon-pushpin { &:before { content: "\e146"; } } -.glyphicon-usd { &:before { content: "\e148"; } } -.glyphicon-gbp { &:before { content: "\e149"; } } -.glyphicon-sort { &:before { content: "\e150"; } } -.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } -.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } -.glyphicon-sort-by-order { &:before { content: "\e153"; } } -.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } -.glyphicon-sort-by-attributes { &:before { content: "\e155"; } } -.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } -.glyphicon-unchecked { &:before { content: "\e157"; } } -.glyphicon-expand { &:before { content: "\e158"; } } -.glyphicon-collapse-down { &:before { content: "\e159"; } } -.glyphicon-collapse-up { &:before { content: "\e160"; } } -.glyphicon-log-in { &:before { content: "\e161"; } } -.glyphicon-flash { &:before { content: "\e162"; } } -.glyphicon-log-out { &:before { content: "\e163"; } } -.glyphicon-new-window { &:before { content: "\e164"; } } -.glyphicon-record { &:before { content: "\e165"; } } -.glyphicon-save { &:before { content: "\e166"; } } -.glyphicon-open { &:before { content: "\e167"; } } -.glyphicon-saved { &:before { content: "\e168"; } } -.glyphicon-import { &:before { content: "\e169"; } } -.glyphicon-export { &:before { content: "\e170"; } } -.glyphicon-send { &:before { content: "\e171"; } } -.glyphicon-floppy-disk { &:before { content: "\e172"; } } -.glyphicon-floppy-saved { &:before { content: "\e173"; } } -.glyphicon-floppy-remove { &:before { content: "\e174"; } } -.glyphicon-floppy-save { &:before { content: "\e175"; } } -.glyphicon-floppy-open { &:before { content: "\e176"; } } -.glyphicon-credit-card { &:before { content: "\e177"; } } -.glyphicon-transfer { &:before { content: "\e178"; } } -.glyphicon-cutlery { &:before { content: "\e179"; } } -.glyphicon-header { &:before { content: "\e180"; } } -.glyphicon-compressed { &:before { content: "\e181"; } } -.glyphicon-earphone { &:before { content: "\e182"; } } -.glyphicon-phone-alt { &:before { content: "\e183"; } } -.glyphicon-tower { &:before { content: "\e184"; } } -.glyphicon-stats { &:before { content: "\e185"; } } -.glyphicon-sd-video { &:before { content: "\e186"; } } -.glyphicon-hd-video { &:before { content: "\e187"; } } -.glyphicon-subtitles { &:before { content: "\e188"; } } -.glyphicon-sound-stereo { &:before { content: "\e189"; } } -.glyphicon-sound-dolby { &:before { content: "\e190"; } } -.glyphicon-sound-5-1 { &:before { content: "\e191"; } } -.glyphicon-sound-6-1 { &:before { content: "\e192"; } } -.glyphicon-sound-7-1 { &:before { content: "\e193"; } } -.glyphicon-copyright-mark { &:before { content: "\e194"; } } -.glyphicon-registration-mark { &:before { content: "\e195"; } } -.glyphicon-cloud-download { &:before { content: "\e197"; } } -.glyphicon-cloud-upload { &:before { content: "\e198"; } } -.glyphicon-tree-conifer { &:before { content: "\e199"; } } -.glyphicon-tree-deciduous { &:before { content: "\e200"; } } diff --git a/themes/bootstrap3/scss/bootstrap/_grid.scss b/themes/bootstrap3/scss/bootstrap/_grid.scss deleted file mode 100644 index f71f8b9015bfecf7d3e7afb0a1b9cfc38741f21e..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_grid.scss +++ /dev/null @@ -1,84 +0,0 @@ -// -// Grid system -// -------------------------------------------------- - - -// Container widths -// -// Set the container width, and override it for fixed navbars in media queries. - -.container { - @include container-fixed(); - - @media (min-width: $screen-sm-min) { - width: $container-sm; - } - @media (min-width: $screen-md-min) { - width: $container-md; - } - @media (min-width: $screen-lg-min) { - width: $container-lg; - } -} - - -// Fluid container -// -// Utilizes the mixin meant for fixed width containers, but without any defined -// width for fluid, full width layouts. - -.container-fluid { - @include container-fixed(); -} - - -// Row -// -// Rows contain and clear the floats of your columns. - -.row { - @include make-row(); -} - - -// Columns -// -// Common styles for small and large grid columns - -@include make-grid-columns(); - - -// Extra small grid -// -// Columns, offsets, pushes, and pulls for extra small devices like -// smartphones. - -@include make-grid(xs); - - -// Small grid -// -// Columns, offsets, pushes, and pulls for the small device range, from phones -// to tablets. - -@media (min-width: $screen-sm-min) { - @include make-grid(sm); -} - - -// Medium grid -// -// Columns, offsets, pushes, and pulls for the desktop device range. - -@media (min-width: $screen-md-min) { - @include make-grid(md); -} - - -// Large grid -// -// Columns, offsets, pushes, and pulls for the large desktop device range. - -@media (min-width: $screen-lg-min) { - @include make-grid(lg); -} diff --git a/themes/bootstrap3/scss/bootstrap/_input-groups.scss b/themes/bootstrap3/scss/bootstrap/_input-groups.scss deleted file mode 100644 index 6c26c1dd6babd12a699ac5733d3beec8b721d31d..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_input-groups.scss +++ /dev/null @@ -1,162 +0,0 @@ -// -// Input groups -// -------------------------------------------------- - -// Base styles -// ------------------------- -.input-group { - position: relative; // For dropdowns - display: table; - border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table - - // Undo padding and float of grid classes - &[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; - } - - .form-control { - // Ensure that the input is always above the *appended* addon button for - // proper border colors. - position: relative; - z-index: 2; - - // 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; - } -} - -// 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 .input-lg; } -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { @extend .input-sm; } - - -// Display as table-cell -// ------------------------- -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; - - &:not(:first-child):not(:last-child) { - border-radius: 0; - } -} -// Addon and addon wrapper for buttons -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; // Match the inputs -} - -// Text input groups -// ------------------------- -.input-group-addon { - padding: $padding-base-vertical $padding-base-horizontal; - font-size: $font-size-base; - font-weight: normal; - line-height: 1; - color: $input-color; - text-align: center; - background-color: $input-group-addon-bg; - border: 1px solid $input-group-addon-border-color; - border-radius: $border-radius-base; - - // Sizing - &.input-sm { - padding: $padding-small-vertical $padding-small-horizontal; - font-size: $font-size-small; - border-radius: $border-radius-small; - } - &.input-lg { - padding: $padding-large-vertical $padding-large-horizontal; - font-size: $font-size-large; - border-radius: $border-radius-large; - } - - // Nuke default margins from checkboxes and radios to vertically center within. - input[type="radio"], - input[type="checkbox"] { - margin-top: 0; - } -} - -// Reset rounded corners -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - @include border-right-radius(0); -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - @include border-left-radius(0); -} -.input-group-addon:last-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: -1px; - } - // Bring the "active" button to the front - &:hover, - &:focus, - &:active { - z-index: 2; - } - } - - // Negative margin to only have a 1px border between the two - &:first-child { - > .btn, - > .btn-group { - margin-right: -1px; - } - } - &:last-child { - > .btn, - > .btn-group { - margin-left: -1px; - } - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_jumbotron.scss b/themes/bootstrap3/scss/bootstrap/_jumbotron.scss deleted file mode 100644 index 4e401e7376bfe8f40ef717f6ff2c6ea305802682..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_jumbotron.scss +++ /dev/null @@ -1,44 +0,0 @@ -// -// Jumbotron -// -------------------------------------------------- - - -.jumbotron { - padding: $jumbotron-padding; - margin-bottom: $jumbotron-padding; - color: $jumbotron-color; - background-color: $jumbotron-bg; - - h1, - .h1 { - color: $jumbotron-heading-color; - } - p { - margin-bottom: ($jumbotron-padding / 2); - font-size: $jumbotron-font-size; - font-weight: 200; - } - - .container & { - border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container - } - - .container { - max-width: 100%; - } - - @media screen and (min-width: $screen-sm-min) { - padding-top: ($jumbotron-padding * 1.6); - padding-bottom: ($jumbotron-padding * 1.6); - - .container & { - padding-left: ($jumbotron-padding * 2); - padding-right: ($jumbotron-padding * 2); - } - - h1, - .h1 { - font-size: ($font-size-base * 4.5); - } - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_labels.scss b/themes/bootstrap3/scss/bootstrap/_labels.scss deleted file mode 100644 index 8353eb1a657ad24030009636c5d78c45921f0984..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_labels.scss +++ /dev/null @@ -1,64 +0,0 @@ -// -// Labels -// -------------------------------------------------- - -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: $label-color; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; - - // Add hover effects, but only for links - &[href] { - &:hover, - &:focus { - color: $label-link-hover-color; - text-decoration: none; - cursor: pointer; - } - } - - // Empty labels collapse automatically (not available in IE8) - &:empty { - display: none; - } - - // Quick fix for labels in buttons - .btn & { - position: relative; - top: -1px; - } -} - -// 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); -} diff --git a/themes/bootstrap3/scss/bootstrap/_list-group.scss b/themes/bootstrap3/scss/bootstrap/_list-group.scss deleted file mode 100644 index b6089912f9c6f626688f31544f9cb63a5b8b273d..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_list-group.scss +++ /dev/null @@ -1,110 +0,0 @@ -// -// List groups -// -------------------------------------------------- - - -// 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 - margin-bottom: 20px; - padding-left: 0; // reset padding because ul and ol -} - - -// Individual list items -// -// Use on `li`s or `div`s within the `.list-group` parent. - -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - // Place the border on the list items and negative margin up for better styling - margin-bottom: -1px; - background-color: $list-group-bg; - border: 1px solid $list-group-border; - - // Round the first and last items - &:first-child { - @include border-top-radius($list-group-border-radius); - } - &:last-child { - margin-bottom: 0; - @include border-bottom-radius($list-group-border-radius); - } - - // Align badges within list items - > .badge { - float: right; - } - > .badge + .badge { - margin-right: 5px; - } -} - - -// Linked list items -// -// Use anchor elements instead of `li`s or `div`s to create linked list items. -// Includes an extra `.active` modifier class for showing selected items. - -a.list-group-item { - color: $list-group-link-color; - - .list-group-item-heading { - color: $list-group-link-heading-color; - } - - // Hover state - &:hover, - &:focus { - text-decoration: none; - background-color: $list-group-hover-bg; - } - - // Active class on item itself, not parent - &.active, - &.active:hover, - &.active:focus { - z-index: 2; // Place active items above their siblings for proper border styling - color: $list-group-active-color; - background-color: $list-group-active-bg; - border-color: $list-group-active-border; - - // Force color to inherit for custom content - .list-group-item-heading { - color: inherit; - } - .list-group-item-text { - color: $list-group-active-text-color; - } - } -} - - -// 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: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} diff --git a/themes/bootstrap3/scss/bootstrap/_media.scss b/themes/bootstrap3/scss/bootstrap/_media.scss deleted file mode 100644 index 5ad22cd6d540fa378940c97910eabad478b09cba..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_media.scss +++ /dev/null @@ -1,56 +0,0 @@ -// Media objects -// Source: http://stubbornella.org/content/?p=497 -// -------------------------------------------------- - - -// Common styles -// ------------------------- - -// Clear the floats -.media, -.media-body { - overflow: hidden; - zoom: 1; -} - -// Proper spacing between instances of .media -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} - -// For images and videos, set to block -.media-object { - display: block; -} - -// Reset margins on headings for tighter default spacing -.media-heading { - margin: 0 0 5px; -} - - -// Media image alignment -// ------------------------- - -.media { - > .pull-left { - margin-right: 10px; - } - > .pull-right { - margin-left: 10px; - } -} - - -// Media list variation -// ------------------------- - -// Undo default ul/ol styles -.media-list { - padding-left: 0; - list-style: none; -} diff --git a/themes/bootstrap3/scss/bootstrap/_mixins.scss b/themes/bootstrap3/scss/bootstrap/_mixins.scss deleted file mode 100644 index 74ccf9f8b61c758346738db50c7431f73682b323..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_mixins.scss +++ /dev/null @@ -1,947 +0,0 @@ -// -// Mixins -// -------------------------------------------------- - - -// Utilities -// ------------------------- - -// Clearfix -// Source: http://nicolasgallagher.com/micro-clearfix-hack/ -// -// For modern browsers -// 1. The space content is one way to avoid an Opera bug when the -// contenteditable attribute is included anywhere else in the document. -// Otherwise it causes space to appear at the top and bottom of elements -// that are clearfixed. -// 2. The use of `table` rather than `block` is only necessary if using -// `:before` to contain the top-margins of child elements. -@mixin clearfix() { - &:before, - &:after { - content: " "; // 1 - display: table; // 2 - } - &:after { - clear: both; - } -} - -// WebKit-style focus -@mixin tab-focus() { - // Default - outline: thin dotted; - // WebKit - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -// Center-align a block level element -@mixin center-block() { - display: block; - margin-left: auto; - margin-right: auto; -} - -// Sizing shortcuts -@mixin size($width, $height) { - width: $width; - height: $height; -} -@mixin square($size) { - @include size($size, $size); -} - -// Placeholder text -@mixin placeholder($color: $input-color-placeholder) { - &::-moz-placeholder { color: $color; // Firefox - opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 - &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+ - &::-webkit-input-placeholder { color: $color; } // Safari and Chrome -} - -// Text overflow -// Requires inline-block or block for proper styling -@mixin text-overflow() { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -// CSS image replacement -// -// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for -// mixins being reused as classes with the same name, this doesn't hold up. As -// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. Note -// that we cannot chain the mixins together in Less, so they are repeated. -// -// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 - -// Deprecated as of v3.0.1 (will be removed in v4) -@mixin hide-text() { - font: #{0/0} a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -// New mixin to use as of v3.0.1 -@mixin text-hide() { - @include hide-text(); -} - - - -// CSS3 PROPERTIES -// -------------------------------------------------- - -// Single side border-radius -@mixin border-top-radius($radius) { - border-top-right-radius: $radius; - border-top-left-radius: $radius; -} -@mixin border-right-radius($radius) { - border-bottom-right-radius: $radius; - border-top-right-radius: $radius; -} -@mixin border-bottom-radius($radius) { - border-bottom-right-radius: $radius; - border-bottom-left-radius: $radius; -} -@mixin border-left-radius($radius) { - border-bottom-left-radius: $radius; - border-top-left-radius: $radius; -} - -// Drop shadows -// -// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's -// supported browsers that have box shadow capabilities now support the -// standard `box-shadow` property. -@mixin box-shadow($shadow...) { - -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1 - box-shadow: $shadow; -} - -// Transitions -@mixin transition($transition...) { - -webkit-transition: $transition; - transition: $transition; -} -@mixin transition-property($transition-property...) { - -webkit-transition-property: $transition-property; - transition-property: $transition-property; -} -@mixin transition-delay($transition-delay) { - -webkit-transition-delay: $transition-delay; - transition-delay: $transition-delay; -} -@mixin transition-duration($transition-duration...) { - -webkit-transition-duration: $transition-duration; - transition-duration: $transition-duration; -} -@mixin transition-transform($transition...) { - -webkit-transition: -webkit-transform $transition; - -moz-transition: -moz-transform $transition; - -o-transition: -o-transform $transition; - transition: transform $transition; -} - -// Transformations -@mixin rotate($degrees) { - -webkit-transform: rotate($degrees); - -ms-transform: rotate($degrees); // IE9 only - transform: rotate($degrees); -} -@mixin scale($scale-args...) { - -webkit-transform: scale($scale-args); - -ms-transform: scale($scale-args); // IE9 only - transform: scale($scale-args); -} -@mixin translate($x, $y) { - -webkit-transform: translate($x, $y); - -ms-transform: translate($x, $y); // IE9 only - transform: translate($x, $y); -} -@mixin skew($x, $y) { - -webkit-transform: skew($x, $y); - -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ - transform: skew($x, $y); -} -@mixin translate3d($x, $y, $z) { - -webkit-transform: translate3d($x, $y, $z); - transform: translate3d($x, $y, $z); -} - -@mixin rotateX($degrees) { - -webkit-transform: rotateX($degrees); - -ms-transform: rotateX($degrees); // IE9 only - transform: rotateX($degrees); -} -@mixin rotateY($degrees) { - -webkit-transform: rotateY($degrees); - -ms-transform: rotateY($degrees); // IE9 only - transform: rotateY($degrees); -} -@mixin perspective($perspective) { - -webkit-perspective: $perspective; - -moz-perspective: $perspective; - perspective: $perspective; -} -@mixin perspective-origin($perspective) { - -webkit-perspective-origin: $perspective; - -moz-perspective-origin: $perspective; - perspective-origin: $perspective; -} -@mixin transform-origin($origin) { - -webkit-transform-origin: $origin; - -moz-transform-origin: $origin; - -ms-transform-origin: $origin; // IE9 only - transform-origin: $origin; -} - -// Animations -@mixin animation($animation) { - -webkit-animation: $animation; - animation: $animation; -} -@mixin animation-name($name) { - -webkit-animation-name: $name; - animation-name: $name; -} -@mixin animation-duration($duration) { - -webkit-animation-duration: $duration; - animation-duration: $duration; -} -@mixin animation-timing-function($timing-function) { - -webkit-animation-timing-function: $timing-function; - animation-timing-function: $timing-function; -} -@mixin animation-delay($delay) { - -webkit-animation-delay: $delay; - animation-delay: $delay; -} -@mixin animation-iteration-count($iteration-count) { - -webkit-animation-iteration-count: $iteration-count; - animation-iteration-count: $iteration-count; -} -@mixin animation-direction($direction) { - -webkit-animation-direction: $direction; - animation-direction: $direction; -} - -// Backface visibility -// Prevent browsers from flickering when using CSS 3D transforms. -// Default value is `visible`, but can be changed to `hidden` -@mixin backface-visibility($visibility){ - -webkit-backface-visibility: $visibility; - -moz-backface-visibility: $visibility; - backface-visibility: $visibility; -} - -// Box sizing -@mixin box-sizing($boxmodel) { - -webkit-box-sizing: $boxmodel; - -moz-box-sizing: $boxmodel; - box-sizing: $boxmodel; -} - -// User select -// For selecting text on the page -@mixin user-select($select) { - -webkit-user-select: $select; - -moz-user-select: $select; - -ms-user-select: $select; // IE10+ - user-select: $select; -} - -// Resize anything -@mixin resizable($direction) { - resize: $direction; // Options: horizontal, vertical, both - overflow: auto; // Safari fix -} - -// CSS3 Content Columns -@mixin content-columns($column-count, $column-gap: $grid-gutter-width) { - -webkit-column-count: $column-count; - -moz-column-count: $column-count; - column-count: $column-count; - -webkit-column-gap: $column-gap; - -moz-column-gap: $column-gap; - column-gap: $column-gap; -} - -// Optional hyphenation -@mixin hyphens($mode: auto) { - word-wrap: break-word; - -webkit-hyphens: $mode; - -moz-hyphens: $mode; - -ms-hyphens: $mode; // IE10+ - -o-hyphens: $mode; - hyphens: $mode; -} - -// Opacity -@mixin opacity($opacity) { - opacity: $opacity; - // IE8 filter - $opacity-ie: ($opacity * 100); - filter: #{alpha(opacity=$opacity-ie)}; -} - - - -// GRADIENTS -// -------------------------------------------------- - - - -// Horizontal gradient, from left to right -// -// Creates two color stops, start and end, by specifying a color and position for each color stop. -// Color stops are not available in IE9 and below. -@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { - background-image: -webkit-linear-gradient(left, color-stop($start-color $start-percent), color-stop($end-color $end-percent)); // Safari 5.1-6, Chrome 10+ - background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down -} - -// Vertical gradient, from top to bottom -// -// Creates two color stops, start and end, by specifying a color and position for each color stop. -// Color stops are not available in IE9 and below. -@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { - background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+ - background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down -} - -@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) { - background-repeat: repeat-x; - background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+ - background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ -} -@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { - background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color); - background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); - background-repeat: no-repeat; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback -} -@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { - background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color); - background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); - background-repeat: no-repeat; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback -} -@mixin gradient-radial($inner-color: #555, $outer-color: #333) { - background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color); - background-image: radial-gradient(circle, $inner-color, $outer-color); - background-repeat: no-repeat; -} -@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) { - background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); - background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); -} - -// Reset filters for IE -// -// When you need to remove a gradient background, do not forget to use this to reset -// the IE filter for IE9 and below. -@mixin reset-filter() { - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} - - - -// Retina images -// -// Short retina mixin for setting background-image and -size - -@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { - background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-1x}"), "#{$file-1x}")); - - @media - only screen and (-webkit-min-device-pixel-ratio: 2), - only screen and ( min--moz-device-pixel-ratio: 2), - only screen and ( -o-min-device-pixel-ratio: 2/1), - only screen and ( min-device-pixel-ratio: 2), - only screen and ( min-resolution: 192dpi), - only screen and ( min-resolution: 2dppx) { - background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-2x}"), "#{$file-2x}")); - background-size: $width-1x $height-1x; - } -} - - -// Responsive image -// -// Keep images from scaling beyond the width of their parents. - -@mixin img-responsive($display: block) { - display: $display; - max-width: 100%; // Part 1: Set a maximum relative to the parent - height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching -} - - -// COMPONENT MIXINS -// -------------------------------------------------- - -// Horizontal dividers -// ------------------------- -// Dividers (basically an hr) within dropdowns and nav lists -@mixin nav-divider($color: #e5e5e5) { - height: 1px; - margin: (($line-height-computed / 2) - 1) 0; - overflow: hidden; - background-color: $color; -} - -// Panels -// ------------------------- -@mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) { - border-color: $border; - - & > .panel-heading { - color: $heading-text-color; - background-color: $heading-bg-color; - border-color: $heading-border; - - + .panel-collapse .panel-body { - border-top-color: $border; - } - } - & > .panel-footer { - + .panel-collapse .panel-body { - border-bottom-color: $border; - } - } -} - -// Alerts -// ------------------------- -@mixin alert-variant($background, $border, $text-color) { - background-color: $background; - border-color: $border; - color: $text-color; - - hr { - border-top-color: darken($border, 5%); - } - .alert-link { - color: darken($text-color, 10%); - } -} - -// Tables -// ------------------------- -@mixin table-row-variant($state, $background) { - // Exact selectors below required to override `.table-striped` and prevent - // inheritance to nested tables. - .table > thead > tr, - .table > tbody > tr, - .table > tfoot > tr { - > td.#{$state}, - > th.#{$state}, - &.#{$state} > td, - &.#{$state} > th { - background-color: $background; - } - } - - // Hover states for `.table-hover` - // Note: this is not available for cells or rows within `thead` or `tfoot`. - .table-hover > tbody > tr { - > td.#{$state}:hover, - > th.#{$state}:hover, - &.#{$state}:hover > td, - &.#{$state}:hover > th { - background-color: darken($background, 5%); - } - } -} - -// List Groups -// ------------------------- -@mixin list-group-item-variant($state, $background, $color) { - .list-group-item-#{$state} { - color: $color; - background-color: $background; - - // [converter] extracted a& to a.list-group-item-#{$state} - } - - a.list-group-item-#{$state} { - color: $color; - - .list-group-item-heading { color: inherit; } - - &:hover, - &:focus { - color: $color; - background-color: darken($background, 5%); - } - &.active, - &.active:hover, - &.active:focus { - color: #fff; - background-color: $color; - border-color: $color; - } - } -} - -// Button variants -// ------------------------- -// Easily pump out default styles, as well as :hover, :focus, :active, -// and disabled options for all buttons -@mixin button-variant($color, $background, $border) { - color: $color; - background-color: $background; - border-color: $border; - - &:hover, - &:focus, - &:active, - &.active { - color: $color; - background-color: darken($background, 8%); - border-color: darken($border, 12%); - } - .open & { &.dropdown-toggle { - color: $color; - background-color: darken($background, 8%); - border-color: darken($border, 12%); - } } - &:active, - &.active { - background-image: none; - } - .open & { &.dropdown-toggle { - background-image: none; - } } - &.disabled, - &[disabled], - fieldset[disabled] & { - &, - &:hover, - &:focus, - &:active, - &.active { - background-color: $background; - border-color: $border; - } - } - - .badge { - color: $background; - background-color: $color; - } -} - -// Button sizes -// ------------------------- -@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { - padding: $padding-vertical $padding-horizontal; - font-size: $font-size; - line-height: $line-height; - border-radius: $border-radius; -} - -// Pagination -// ------------------------- -@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $border-radius) { - > li { - > a, - > span { - padding: $padding-vertical $padding-horizontal; - font-size: $font-size; - } - &:first-child { - > a, - > span { - @include border-left-radius($border-radius); - } - } - &:last-child { - > a, - > span { - @include border-right-radius($border-radius); - } - } - } -} - -// Labels -// ------------------------- -@mixin label-variant($color) { - background-color: $color; - &[href] { - &:hover, - &:focus { - background-color: darken($color, 10%); - } - } -} - -// Contextual backgrounds -// ------------------------- -// [converter] $parent hack -@mixin bg-variant($parent, $color) { - #{$parent} { - background-color: $color; - } - a#{$parent}:hover { - background-color: darken($color, 10%); - } -} - -// Typography -// ------------------------- -// [converter] $parent hack -@mixin text-emphasis-variant($parent, $color) { - #{$parent} { - color: $color; - } - a#{$parent}:hover { - color: darken($color, 10%); - } -} - -// Navbar vertical align -// ------------------------- -// Vertically center elements in the navbar. -// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. -@mixin navbar-vertical-align($element-height) { - margin-top: (($navbar-height - $element-height) / 2); - margin-bottom: (($navbar-height - $element-height) / 2); -} - -// Progress bars -// ------------------------- -@mixin progress-bar-variant($color) { - background-color: $color; - .progress-striped & { - @include gradient-striped(); - } -} - -// Responsive utilities -// ------------------------- -// More easily include all the states for responsive-utilities.less. -// [converter] $parent hack -@mixin responsive-visibility($parent) { - #{$parent} { - display: block !important; - } - table#{$parent} { display: table; } - tr#{$parent} { display: table-row !important; } - th#{$parent}, - td#{$parent} { display: table-cell !important; } -} - -// [converter] $parent hack -@mixin responsive-invisibility($parent) { - #{$parent} { - display: none !important; - } -} - - -// Grid System -// ----------- - -// Centered container element -@mixin container-fixed() { - margin-right: auto; - margin-left: auto; - padding-left: ($grid-gutter-width / 2); - padding-right: ($grid-gutter-width / 2); - @include clearfix(); -} - -// Creates a wrapper for a series of columns -@mixin make-row($gutter: $grid-gutter-width) { - margin-left: ($gutter / -2); - margin-right: ($gutter / -2); - @include clearfix(); -} - -// Generate the extra small columns -@mixin make-xs-column($columns, $gutter: $grid-gutter-width) { - position: relative; - float: left; - width: percentage(($columns / $grid-columns)); - min-height: 1px; - padding-left: ($gutter / 2); - padding-right: ($gutter / 2); -} -@mixin make-xs-column-offset($columns) { - @media (min-width: $screen-xs-min) { - margin-left: percentage(($columns / $grid-columns)); - } -} -@mixin make-xs-column-push($columns) { - @media (min-width: $screen-xs-min) { - left: percentage(($columns / $grid-columns)); - } -} -@mixin make-xs-column-pull($columns) { - @media (min-width: $screen-xs-min) { - right: percentage(($columns / $grid-columns)); - } -} - - -// Generate the small columns -@mixin make-sm-column($columns, $gutter: $grid-gutter-width) { - position: relative; - min-height: 1px; - padding-left: ($gutter / 2); - padding-right: ($gutter / 2); - - @media (min-width: $screen-sm-min) { - float: left; - width: percentage(($columns / $grid-columns)); - } -} -@mixin make-sm-column-offset($columns) { - @media (min-width: $screen-sm-min) { - margin-left: percentage(($columns / $grid-columns)); - } -} -@mixin make-sm-column-push($columns) { - @media (min-width: $screen-sm-min) { - left: percentage(($columns / $grid-columns)); - } -} -@mixin make-sm-column-pull($columns) { - @media (min-width: $screen-sm-min) { - right: percentage(($columns / $grid-columns)); - } -} - - -// Generate the medium columns -@mixin make-md-column($columns, $gutter: $grid-gutter-width) { - position: relative; - min-height: 1px; - padding-left: ($gutter / 2); - padding-right: ($gutter / 2); - - @media (min-width: $screen-md-min) { - float: left; - width: percentage(($columns / $grid-columns)); - } -} -@mixin make-md-column-offset($columns) { - @media (min-width: $screen-md-min) { - margin-left: percentage(($columns / $grid-columns)); - } -} -@mixin make-md-column-push($columns) { - @media (min-width: $screen-md-min) { - left: percentage(($columns / $grid-columns)); - } -} -@mixin make-md-column-pull($columns) { - @media (min-width: $screen-md-min) { - right: percentage(($columns / $grid-columns)); - } -} - - -// Generate the large columns -@mixin make-lg-column($columns, $gutter: $grid-gutter-width) { - position: relative; - min-height: 1px; - padding-left: ($gutter / 2); - padding-right: ($gutter / 2); - - @media (min-width: $screen-lg-min) { - float: left; - width: percentage(($columns / $grid-columns)); - } -} -@mixin make-lg-column-offset($columns) { - @media (min-width: $screen-lg-min) { - margin-left: percentage(($columns / $grid-columns)); - } -} -@mixin make-lg-column-push($columns) { - @media (min-width: $screen-lg-min) { - left: percentage(($columns / $grid-columns)); - } -} -@mixin make-lg-column-pull($columns) { - @media (min-width: $screen-lg-min) { - right: percentage(($columns / $grid-columns)); - } -} - - -// Framework grid generation -// -// Used only by Bootstrap to generate the correct number of grid classes given -// any value of `$grid-columns`. - -// [converter] This is defined recursively in LESS, but Sass supports real loops -@mixin make-grid-columns() { - $list: ''; - $i: 1; - $list: ".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}"; - @for $i from (1 + 1) through $grid-columns { - $list: "#{$list}, .col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}"; - } - #{$list} { - position: relative; - // Prevent columns from collapsing when empty - min-height: 1px; - // Inner gutter via padding - padding-left: ($grid-gutter-width / 2); - padding-right: ($grid-gutter-width / 2); - } -} - - -// [converter] This is defined recursively in LESS, but Sass supports real loops -@mixin float-grid-columns($class) { - $list: ''; - $i: 1; - $list: ".col-#{$class}-#{$i}"; - @for $i from (1 + 1) through $grid-columns { - $list: "#{$list}, .col-#{$class}-#{$i}"; - } - #{$list} { - float: left; - } -} - - -@mixin calc-grid-column($index, $class, $type) { - @if ($type == width) and ($index > 0) { - .col-#{$class}-#{$index} { - width: percentage(($index / $grid-columns)); - } - } - @if ($type == push) { - .col-#{$class}-push-#{$index} { - left: percentage(($index / $grid-columns)); - } - } - @if ($type == pull) { - .col-#{$class}-pull-#{$index} { - right: percentage(($index / $grid-columns)); - } - } - @if ($type == offset) { - .col-#{$class}-offset-#{$index} { - margin-left: percentage(($index / $grid-columns)); - } - } -} - -// [converter] This is defined recursively in LESS, but Sass supports real loops -@mixin loop-grid-columns($columns, $class, $type) { - @for $i from 0 through $columns { - @include calc-grid-column($i, $class, $type); - } -} - - -// Create grid for specific class -@mixin make-grid($class) { - @include float-grid-columns($class); - @include loop-grid-columns($grid-columns, $class, width); - @include loop-grid-columns($grid-columns, $class, pull); - @include loop-grid-columns($grid-columns, $class, push); - @include loop-grid-columns($grid-columns, $class, offset); -} - -// Form validation states -// -// Used in forms.less to generate the form validation CSS for warnings, errors, -// and successes. - -@mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) { - // Color the label and help text - .help-block, - .control-label, - .radio, - .checkbox, - .radio-inline, - .checkbox-inline { - color: $text-color; - } - // Set the border and box shadow on specific inputs to match - .form-control { - border-color: $border-color; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work - &:focus { - border-color: darken($border-color, 10%); - $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%); - @include box-shadow($shadow); - } - } - // Set validation states also for addons - .input-group-addon { - color: $text-color; - border-color: $border-color; - background-color: $background-color; - } - // Optional feedback icon - .form-control-feedback { - color: $text-color; - } -} - -// Form control focus state -// -// Generate a customized focus state and for any input with the specified color, -// which defaults to the `$input-focus-border` variable. -// -// We highly encourage you to not customize the default value, but instead use -// this to tweak colors on an as-needed basis. This aesthetic change is based on -// WebKit's default styles, but applicable to a wider range of browsers. Its -// usability and accessibility should be taken into account with any change. -// -// Example usage: change the default blue border and shadow to white for better -// contrast against a dark gray background. - -@mixin form-control-focus($color: $input-border-focus) { - $color-rgba: rgba(red($color), green($color), blue($color), .6); - &:focus { - border-color: $color; - outline: 0; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba); - } -} - -// Form control sizing -// -// Relative text size, padding, and border-radii changes for form controls. For -// horizontal sizing, wrap controls in the predefined grid classes. `<select>` -// element gets special love because it's special, and that's a fact! - -// [converter] $parent hack -@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { - #{$parent} { - height: $input-height; - padding: $padding-vertical $padding-horizontal; - font-size: $font-size; - line-height: $line-height; - border-radius: $border-radius; - } - - select#{$parent} { - height: $input-height; - line-height: $input-height; - } - - textarea#{$parent}, - select[multiple]#{$parent} { - height: auto; - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_modals.scss b/themes/bootstrap3/scss/bootstrap/_modals.scss deleted file mode 100644 index 931092cf0bb8347cba35e97ed190b6b8fbe47359..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_modals.scss +++ /dev/null @@ -1,139 +0,0 @@ -// -// Modals -// -------------------------------------------------- - -// .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 { - display: none; - overflow: auto; - overflow-y: scroll; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: $zindex-modal; - -webkit-overflow-scrolling: touch; - - // Prevent Chrome on Windows from adding a focus outline. For details, see - // https://github.com/twbs/bootstrap/pull/10951. - outline: 0; - - // When fading in the modal, animate it to slide down - &.fade .modal-dialog { - @include translate(0, -25%); - @include transition-transform(0.3s ease-out); - } - &.in .modal-dialog { @include translate(0, 0)} -} - -// Shell div to position the modal with bottom padding -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} - -// Actual modal -.modal-content { - position: relative; - background-color: $modal-content-bg; - border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc) - border: 1px solid $modal-content-border-color; - border-radius: $border-radius-large; - @include box-shadow(0 3px 9px rgba(0,0,0,.5)); - background-clip: padding-box; - // Remove focus outline from opened modal - outline: none; -} - -// Modal background -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: $zindex-modal-background; - background-color: $modal-backdrop-bg; - // Fade for backdrop - &.fade { @include opacity(0); } - &.in { @include opacity($modal-backdrop-opacity); } -} - -// Modal header -// Top section of the modal w/ title and dismiss -.modal-header { - padding: $modal-title-padding; - border-bottom: 1px solid $modal-header-border-color; - min-height: ($modal-title-padding + $modal-title-line-height); -} -// 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 { - margin-top: 15px; - padding: ($modal-inner-padding - 1) $modal-inner-padding $modal-inner-padding; - text-align: right; // right align buttons - border-top: 1px solid $modal-footer-border-color; - @include clearfix(); // clear it in case folks use .pull-* classes on buttons - - // Properly space out buttons - .btn + .btn { - margin-left: 5px; - margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs - } - // but override that for button groups - .btn-group .btn + .btn { - margin-left: -1px; - } - // and override it for block buttons as well - .btn-block + .btn-block { - margin-left: 0; - } -} - -// Scale up the modal -@media (min-width: $screen-sm-min) { - // Automatically set modal's width for larger viewports - .modal-dialog { - width: $modal-md; - margin: 30px auto; - } - .modal-content { - @include box-shadow(0 5px 15px rgba(0,0,0,.5)); - } - - // Modal sizes - .modal-sm { width: $modal-sm; } -} - -@media (min-width: $screen-md-min) { - .modal-lg { width: $modal-lg; } -} diff --git a/themes/bootstrap3/scss/bootstrap/_navbar.scss b/themes/bootstrap3/scss/bootstrap/_navbar.scss deleted file mode 100644 index 8ad94374b59945a7685cfc7fa628d3dee95722f0..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_navbar.scss +++ /dev/null @@ -1,620 +0,0 @@ -// -// Navbars -// -------------------------------------------------- - - -// Wrapper and base class -// -// Provide a static navbar from which we expand to create full-width, fixed, and -// other navbar variations. - -.navbar { - position: relative; - min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) - margin-bottom: $navbar-margin-bottom; - border: 1px solid transparent; - - // Prevent floats from breaking the navbar - @include clearfix(); - - @media (min-width: $grid-float-breakpoint) { - border-radius: $navbar-border-radius; - } -} - - -// Navbar heading -// -// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy -// styling of responsive aspects. - -.navbar-header { - @include clearfix(); - - @media (min-width: $grid-float-breakpoint) { - float: left; - } -} - - -// Navbar collapse (body) -// -// Group your navbar content into this for easy collapsing and expanding across -// various device sizes. By default, this content is collapsed when <768px, but -// will expand past that for a horizontal display. -// -// To start (on mobile devices) the navbar links, forms, and buttons are stacked -// vertically and include a `max-height` to overflow in case you have too much -// content for the user's viewport. - -.navbar-collapse { - max-height: $navbar-collapse-max-height; - overflow-x: visible; - padding-right: $navbar-padding-horizontal; - padding-left: $navbar-padding-horizontal; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255,255,255,.1); - @include clearfix(); - -webkit-overflow-scrolling: touch; - - &.in { - overflow-y: auto; - } - - @media (min-width: $grid-float-breakpoint) { - width: auto; - border-top: 0; - box-shadow: none; - - &.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; // Override default setting - overflow: visible !important; - } - - &.in { - overflow-y: visible; - } - - // Undo the collapse side padding for navbars with containers to ensure - // alignment of right-aligned contents. - .navbar-fixed-top &, - .navbar-static-top &, - .navbar-fixed-bottom & { - padding-left: 0; - padding-right: 0; - } - } -} - - -// Both navbar header and collapse -// -// When a container is present, change the behavior of the header and collapse. - -.container, -.container-fluid { - > .navbar-header, - > .navbar-collapse { - margin-right: -$navbar-padding-horizontal; - margin-left: -$navbar-padding-horizontal; - - @media (min-width: $grid-float-breakpoint) { - margin-right: 0; - margin-left: 0; - } - } -} - - -// -// Navbar alignment options -// -// Display the navbar across the entirety of the page or fixed it to the top or -// bottom of the page. - -// Static top (unfixed, but 100% wide) navbar -.navbar-static-top { - z-index: $zindex-navbar; - border-width: 0 0 1px; - - @media (min-width: $grid-float-breakpoint) { - 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 - @media (min-width: $grid-float-breakpoint) { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; // override .navbar defaults - border-width: 1px 0 0; -} - - -// Brand/project name - -.navbar-brand { - float: left; - padding: $navbar-padding-vertical $navbar-padding-horizontal; - font-size: $font-size-large; - line-height: $line-height-computed; - height: $navbar-height; - - &:hover, - &:focus { - text-decoration: none; - } - - @media (min-width: $grid-float-breakpoint) { - .navbar > .container &, - .navbar > .container-fluid & { - margin-left: -$navbar-padding-horizontal; - } - } -} - - -// Navbar toggle -// -// Custom button for toggling the `.navbar-collapse`, powered by the collapse -// JavaScript plugin. - -.navbar-toggle { - position: relative; - float: right; - margin-right: $navbar-padding-horizontal; - padding: 9px 10px; - @include navbar-vertical-align(34px); - background-color: transparent; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - border-radius: $border-radius-base; - - // We remove the `outline` here, but later compensate by attaching `:hover` - // styles to `:focus`. - &:focus { - outline: none; - } - - // Bars - .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; - } - .icon-bar + .icon-bar { - margin-top: 4px; - } - - @media (min-width: $grid-float-breakpoint) { - display: none; - } -} - - -// Navbar nav links -// -// Builds on top of the `.nav` components with its own modifier class to make -// the nav the full height of the horizontal nav (above 768px). - -.navbar-nav { - margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal); - - > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: $line-height-computed; - } - - @media (max-width: $grid-float-breakpoint-max) { - // Dropdowns get custom display when collapsed - .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - > li > a, - .dropdown-header { - padding: 5px 15px 5px 25px; - } - > li > a { - line-height: $line-height-computed; - &:hover, - &:focus { - background-image: none; - } - } - } - } - - // Uncollapse the nav - @media (min-width: $grid-float-breakpoint) { - float: left; - margin: 0; - - > li { - float: left; - > a { - padding-top: $navbar-padding-vertical; - padding-bottom: $navbar-padding-vertical; - } - } - - &.navbar-right:last-child { - margin-right: -$navbar-padding-horizontal; - } - } -} - - -// Component alignment -// -// Repurpose the pull utilities as their own navbar utilities to avoid specificity -// issues with parents and chaining. Only do this when the navbar is uncollapsed -// though so that navbar contents properly stack and align in mobile. - -@media (min-width: $grid-float-breakpoint) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } -} - - -// Navbar form -// -// Extension of the `.form-inline` with some extra flavor for optimum display in -// our navbars. - -.navbar-form { - margin-left: -$navbar-padding-horizontal; - margin-right: -$navbar-padding-horizontal; - padding: 10px $navbar-padding-horizontal; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); - @include box-shadow($shadow); - - // Mixin behavior for optimum display - @extend .form-inline; - - .form-group { - @media (max-width: $grid-float-breakpoint-max) { - margin-bottom: 5px; - } - } - - // Vertically center in expanded, horizontal navbar - @include navbar-vertical-align($input-height-base); - - // Undo 100% width for pull classes - @media (min-width: $grid-float-breakpoint) { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - @include box-shadow(none); - - // Outdent the form if last child to line up with content down the page - &.navbar-right:last-child { - margin-right: -$navbar-padding-horizontal; - } - } -} - - -// Dropdown menus - -// Menu position and menu carets -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - @include border-top-radius(0); -} -// Menu position and menu caret support for dropups via extra dropup class -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - @include border-bottom-radius(0); -} - - -// Buttons in navbars -// -// Vertically center a button within a navbar (when *not* in a form). - -.navbar-btn { - @include navbar-vertical-align($input-height-base); - - &.btn-sm { - @include navbar-vertical-align($input-height-small); - } - &.btn-xs { - @include navbar-vertical-align(22); - } -} - - -// Text in navbars -// -// Add a class to make any element properly align itself vertically within the navbars. - -.navbar-text { - @include navbar-vertical-align($line-height-computed); - - @media (min-width: $grid-float-breakpoint) { - float: left; - margin-left: $navbar-padding-horizontal; - margin-right: $navbar-padding-horizontal; - - // Outdent the form if last child to line up with content down the page - &.navbar-right:last-child { - margin-right: 0; - } - } -} - -// Alternate navbars -// -------------------------------------------------- - -// Default navbar -.navbar-default { - background-color: $navbar-default-bg; - border-color: $navbar-default-border; - - .navbar-brand { - color: $navbar-default-brand-color; - &:hover, - &:focus { - color: $navbar-default-brand-hover-color; - background-color: $navbar-default-brand-hover-bg; - } - } - - .navbar-text { - color: $navbar-default-color; - } - - .navbar-nav { - > li > a { - color: $navbar-default-link-color; - - &:hover, - &:focus { - color: $navbar-default-link-hover-color; - background-color: $navbar-default-link-hover-bg; - } - } - > .active > a { - &, - &:hover, - &:focus { - color: $navbar-default-link-active-color; - background-color: $navbar-default-link-active-bg; - } - } - > .disabled > a { - &, - &:hover, - &:focus { - color: $navbar-default-link-disabled-color; - background-color: $navbar-default-link-disabled-bg; - } - } - } - - .navbar-toggle { - border-color: $navbar-default-toggle-border-color; - &:hover, - &:focus { - background-color: $navbar-default-toggle-hover-bg; - } - .icon-bar { - background-color: $navbar-default-toggle-icon-bar-bg; - } - } - - .navbar-collapse, - .navbar-form { - border-color: $navbar-default-border; - } - - // Dropdown menu items - .navbar-nav { - // Remove background color from open dropdown - > .open > a { - &, - &:hover, - &:focus { - background-color: $navbar-default-link-active-bg; - color: $navbar-default-link-active-color; - } - } - - @media (max-width: $grid-float-breakpoint-max) { - // Dropdowns get custom display when collapsed - .open .dropdown-menu { - > li > a { - color: $navbar-default-link-color; - &:hover, - &:focus { - color: $navbar-default-link-hover-color; - background-color: $navbar-default-link-hover-bg; - } - } - > .active > a { - &, - &:hover, - &:focus { - color: $navbar-default-link-active-color; - background-color: $navbar-default-link-active-bg; - } - } - > .disabled > a { - &, - &:hover, - &:focus { - color: $navbar-default-link-disabled-color; - background-color: $navbar-default-link-disabled-bg; - } - } - } - } - } - - - // Links in navbars - // - // Add a class to ensure links outside the navbar nav are colored correctly. - - .navbar-link { - color: $navbar-default-link-color; - &:hover { - color: $navbar-default-link-hover-color; - } - } - -} - -// Inverse navbar - -.navbar-inverse { - background-color: $navbar-inverse-bg; - border-color: $navbar-inverse-border; - - .navbar-brand { - color: $navbar-inverse-brand-color; - &:hover, - &:focus { - color: $navbar-inverse-brand-hover-color; - background-color: $navbar-inverse-brand-hover-bg; - } - } - - .navbar-text { - color: $navbar-inverse-color; - } - - .navbar-nav { - > li > a { - color: $navbar-inverse-link-color; - - &:hover, - &:focus { - color: $navbar-inverse-link-hover-color; - background-color: $navbar-inverse-link-hover-bg; - } - } - > .active > a { - &, - &:hover, - &:focus { - color: $navbar-inverse-link-active-color; - background-color: $navbar-inverse-link-active-bg; - } - } - > .disabled > a { - &, - &:hover, - &:focus { - color: $navbar-inverse-link-disabled-color; - background-color: $navbar-inverse-link-disabled-bg; - } - } - } - - // Darken the responsive nav toggle - .navbar-toggle { - border-color: $navbar-inverse-toggle-border-color; - &:hover, - &:focus { - background-color: $navbar-inverse-toggle-hover-bg; - } - .icon-bar { - background-color: $navbar-inverse-toggle-icon-bar-bg; - } - } - - .navbar-collapse, - .navbar-form { - border-color: darken($navbar-inverse-bg, 7%); - } - - // Dropdowns - .navbar-nav { - > .open > a { - &, - &:hover, - &:focus { - background-color: $navbar-inverse-link-active-bg; - color: $navbar-inverse-link-active-color; - } - } - - @media (max-width: $grid-float-breakpoint-max) { - // Dropdowns get custom display - .open .dropdown-menu { - > .dropdown-header { - border-color: $navbar-inverse-border; - } - .divider { - background-color: $navbar-inverse-border; - } - > li > a { - color: $navbar-inverse-link-color; - &:hover, - &:focus { - color: $navbar-inverse-link-hover-color; - background-color: $navbar-inverse-link-hover-bg; - } - } - > .active > a { - &, - &:hover, - &:focus { - color: $navbar-inverse-link-active-color; - background-color: $navbar-inverse-link-active-bg; - } - } - > .disabled > a { - &, - &:hover, - &:focus { - color: $navbar-inverse-link-disabled-color; - background-color: $navbar-inverse-link-disabled-bg; - } - } - } - } - } - - .navbar-link { - color: $navbar-inverse-link-color; - &:hover { - color: $navbar-inverse-link-hover-color; - } - } - -} diff --git a/themes/bootstrap3/scss/bootstrap/_navs.scss b/themes/bootstrap3/scss/bootstrap/_navs.scss deleted file mode 100644 index c690072be82bddbfd5e16dbd69e7cfcc7fc62c98..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_navs.scss +++ /dev/null @@ -1,242 +0,0 @@ -// -// Navs -// -------------------------------------------------- - - -// Base class -// -------------------------------------------------- - -.nav { - margin-bottom: 0; - padding-left: 0; // Override default ul/ol - list-style: none; - @include clearfix(); - - > li { - position: relative; - display: block; - - > a { - position: relative; - display: block; - padding: $nav-link-padding; - &:hover, - &:focus { - text-decoration: none; - background-color: $nav-link-hover-bg; - } - } - - // Disabled state sets text to gray and nukes hover/tab effects - &.disabled > a { - color: $nav-disabled-link-color; - - &:hover, - &:focus { - color: $nav-disabled-link-hover-color; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; - } - } - } - - // Open dropdowns - .open > a { - &, - &:hover, - &:focus { - background-color: $nav-link-hover-bg; - border-color: $link-color; - } - } - - // Nav dividers (deprecated with v3.0.1) - // - // This should have been removed in v3 with the dropping of `.nav-list`, but - // we missed it. We don't currently support this anywhere, but in the interest - // of maintaining backward compatibility in case you use it, it's deprecated. - .nav-divider { - @include nav-divider(); - } - - // Prevent IE8 from misplacing imgs - // - // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 - > li > a > img { - max-width: none; - } -} - - -// Tabs -// ------------------------- - -// Give the tabs something to sit on -.nav-tabs { - border-bottom: 1px solid $nav-tabs-border-color; - > li { - float: left; - // Make the list-items overlay the bottom border - margin-bottom: -1px; - - // Actual tabs (as links) - > a { - margin-right: 2px; - line-height: $line-height-base; - border: 1px solid transparent; - border-radius: $border-radius-base $border-radius-base 0 0; - &:hover { - border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color; - } - } - - // Active state, and its :hover to override normal :hover - &.active > a { - &, - &:hover, - &:focus { - color: $nav-tabs-active-link-hover-color; - background-color: $nav-tabs-active-link-hover-bg; - border: 1px solid $nav-tabs-active-link-hover-border-color; - border-bottom-color: transparent; - cursor: default; - } - } - } - // pulling this in mainly for less shorthand - &.nav-justified { - @extend .nav-justified; - @extend .nav-tabs-justified; - } -} - - -// Pills -// ------------------------- -.nav-pills { - > li { - float: left; - - // Links rendered as pills - > a { - border-radius: $nav-pills-border-radius; - } - + li { - margin-left: 2px; - } - - // Active state - &.active > a { - &, - &:hover, - &:focus { - color: $nav-pills-active-link-hover-color; - background-color: $nav-pills-active-link-hover-bg; - } - } - } -} - - -// Stacked pills -.nav-stacked { - > li { - float: none; - + li { - margin-top: 2px; - margin-left: 0; // no need for this gap between nav items - } - } -} - - -// Nav variations -// -------------------------------------------------- - -// Justified nav links -// ------------------------- - -.nav-justified { - width: 100%; - - > li { - float: none; - > a { - text-align: center; - margin-bottom: 5px; - } - } - - > .dropdown .dropdown-menu { - top: auto; - left: auto; - } - - @media (min-width: $screen-sm-min) { - > li { - display: table-cell; - width: 1%; - > a { - margin-bottom: 0; - } - } - } -} - -// Move borders to anchors instead of bottom of list -// -// Mixin for adding on top the shared `.nav-justified` styles for our tabs -.nav-tabs-justified { - border-bottom: 0; - - > li > a { - // Override margin from .nav-tabs - margin-right: 0; - border-radius: $border-radius-base; - } - - > .active > a, - > .active > a:hover, - > .active > a:focus { - border: 1px solid $nav-tabs-justified-link-border-color; - } - - @media (min-width: $screen-sm-min) { - > li > a { - border-bottom: 1px solid $nav-tabs-justified-link-border-color; - border-radius: $border-radius-base $border-radius-base 0 0; - } - > .active > a, - > .active > a:hover, - > .active > a:focus { - border-bottom-color: $nav-tabs-justified-active-link-border-color; - } - } -} - - -// Tabbable tabs -// ------------------------- - -// Hide tabbable panes to start, show them when `.active` -.tab-content { - > .tab-pane { - display: none; - } - > .active { - display: block; - } -} - - -// Dropdowns -// ------------------------- - -// Specific dropdowns -.nav-tabs .dropdown-menu { - // make dropdown border overlap tab border - margin-top: -1px; - // Remove the top rounded corners here since there is a hard edge above the menu - @include border-top-radius(0); -} diff --git a/themes/bootstrap3/scss/bootstrap/_normalize.scss b/themes/bootstrap3/scss/bootstrap/_normalize.scss deleted file mode 100644 index 024e257c1a13532e7d5579b0ea4bb5915d21e4a6..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_normalize.scss +++ /dev/null @@ -1,423 +0,0 @@ -/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ - -// -// 1. Set default font family to sans-serif. -// 2. Prevent iOS text size adjust after orientation change, without disabling -// user zoom. -// - -html { - font-family: sans-serif; // 1 - -ms-text-size-adjust: 100%; // 2 - -webkit-text-size-adjust: 100%; // 2 -} - -// -// Remove default margin. -// - -body { - margin: 0; -} - -// HTML5 display definitions -// ========================================================================== - -// -// Correct `block` display not defined in IE 8/9. -// - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} - -// -// 1. Correct `inline-block` display not defined in IE 8/9. -// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. -// - -audio, -canvas, -progress, -video { - display: inline-block; // 1 - vertical-align: baseline; // 2 -} - -// -// Prevent modern browsers from displaying `audio` without controls. -// Remove excess height in iOS 5 devices. -// - -audio:not([controls]) { - display: none; - height: 0; -} - -// -// Address `[hidden]` styling not present in IE 8/9. -// Hide the `template` element in IE, Safari, and Firefox < 22. -// - -[hidden], -template { - display: none; -} - -// Links -// ========================================================================== - -// -// Remove the gray background color from active links in IE 10. -// - -a { - background: transparent; -} - -// -// Improve readability when focused and also mouse hovered in all browsers. -// - -a:active, -a:hover { - outline: 0; -} - -// Text-level semantics -// ========================================================================== - -// -// Address styling not present in IE 8/9, Safari 5, and Chrome. -// - -abbr[title] { - border-bottom: 1px dotted; -} - -// -// Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. -// - -b, -strong { - font-weight: bold; -} - -// -// Address styling not present in Safari 5 and Chrome. -// - -dfn { - font-style: italic; -} - -// -// Address variable `h1` font-size and margin within `section` and `article` -// contexts in Firefox 4+, Safari 5, and Chrome. -// - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -// -// Address styling not present in IE 8/9. -// - -mark { - background: #ff0; - color: #000; -} - -// -// Address inconsistent and variable font size in all browsers. -// - -small { - font-size: 80%; -} - -// -// Prevent `sub` and `sup` affecting `line-height` in all browsers. -// - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -// Embedded content -// ========================================================================== - -// -// Remove border when inside `a` element in IE 8/9. -// - -img { - border: 0; -} - -// -// Correct overflow displayed oddly in IE 9. -// - -svg:not(:root) { - overflow: hidden; -} - -// Grouping content -// ========================================================================== - -// -// Address margin not present in IE 8/9 and Safari 5. -// - -figure { - margin: 1em 40px; -} - -// -// Address differences between Firefox and other browsers. -// - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -// -// Contain overflow in all browsers. -// - -pre { - overflow: auto; -} - -// -// Address odd `em`-unit font size rendering in all browsers. -// - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -// Forms -// ========================================================================== - -// -// Known limitation: by default, Chrome and Safari on OS X allow very limited -// styling of `select`, unless a `border` property is set. -// - -// -// 1. Correct color not being inherited. -// Known issue: affects color of disabled elements. -// 2. Correct font properties not being inherited. -// 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. -// - -button, -input, -optgroup, -select, -textarea { - color: inherit; // 1 - font: inherit; // 2 - margin: 0; // 3 -} - -// -// Address `overflow` set to `hidden` in IE 8/9/10. -// - -button { - overflow: visible; -} - -// -// Address inconsistent `text-transform` inheritance for `button` and `select`. -// All other form control elements do not inherit `text-transform` values. -// Correct `button` style inheritance in Firefox, IE 8+, and Opera -// Correct `select` style inheritance in Firefox. -// - -button, -select { - text-transform: none; -} - -// -// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` -// and `video` controls. -// 2. Correct inability to style clickable `input` types in iOS. -// 3. Improve usability and consistency of cursor style between image-type -// `input` and others. -// - -button, -html input[type="button"], // 1 -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; // 2 - cursor: pointer; // 3 -} - -// -// Re-set default cursor for disabled elements. -// - -button[disabled], -html input[disabled] { - cursor: default; -} - -// -// Remove inner padding and border in Firefox 4+. -// - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -// -// Address Firefox 4+ setting `line-height` on `input` using `!important` in -// the UA stylesheet. -// - -input { - line-height: normal; -} - -// -// It's recommended that you don't attempt to style these elements. -// Firefox's implementation doesn't respect box-sizing, padding, or width. -// -// 1. Address box sizing set to `content-box` in IE 8/9/10. -// 2. Remove excess padding in IE 8/9/10. -// - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; // 1 - padding: 0; // 2 -} - -// -// Fix the cursor style for Chrome's increment/decrement buttons. For certain -// `font-size` values of the `input`, it causes the cursor style of the -// decrement button to change from `default` to `text`. -// - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -// -// 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. -// 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome -// (include `-moz` to future-proof). -// - -input[type="search"] { - -webkit-appearance: textfield; // 1 - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; // 2 - box-sizing: content-box; -} - -// -// Remove inner padding and search cancel button in Safari and Chrome on OS X. -// Safari (but not Chrome) clips the cancel button when the search input has -// padding (and `textfield` appearance). -// - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -// -// Define consistent border, margin, and padding. -// - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -// -// 1. Correct `color` not being inherited in IE 8/9. -// 2. Remove padding so people aren't caught out if they zero out fieldsets. -// - -legend { - border: 0; // 1 - padding: 0; // 2 -} - -// -// Remove default vertical scrollbar in IE 8/9. -// - -textarea { - overflow: auto; -} - -// -// Don't inherit the `font-weight` (applied by a rule above). -// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. -// - -optgroup { - font-weight: bold; -} - -// Tables -// ========================================================================== - -// -// Remove most spacing between table cells. -// - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} \ No newline at end of file diff --git a/themes/bootstrap3/scss/bootstrap/_pager.scss b/themes/bootstrap3/scss/bootstrap/_pager.scss deleted file mode 100644 index 6531fe6f89f4140b159be5fefa334f6f078aac93..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_pager.scss +++ /dev/null @@ -1,55 +0,0 @@ -// -// Pager pagination -// -------------------------------------------------- - - -.pager { - padding-left: 0; - margin: $line-height-computed 0; - list-style: none; - text-align: center; - @include clearfix(); - li { - display: inline; - > a, - > span { - display: inline-block; - padding: 5px 14px; - background-color: $pager-bg; - border: 1px solid $pager-border; - border-radius: $pager-border-radius; - } - - > a:hover, - > a:focus { - text-decoration: none; - background-color: $pager-hover-bg; - } - } - - .next { - > a, - > span { - float: right; - } - } - - .previous { - > a, - > span { - float: left; - } - } - - .disabled { - > a, - > a:hover, - > a:focus, - > span { - color: $pager-disabled-color; - background-color: $pager-bg; - cursor: not-allowed; - } - } - -} diff --git a/themes/bootstrap3/scss/bootstrap/_pagination.scss b/themes/bootstrap3/scss/bootstrap/_pagination.scss deleted file mode 100644 index 44c12226b0da61ccbddde1b12b43aec22df41754..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_pagination.scss +++ /dev/null @@ -1,88 +0,0 @@ -// -// Pagination (multiple pages) -// -------------------------------------------------- -.pagination { - display: inline-block; - padding-left: 0; - margin: $line-height-computed 0; - border-radius: $border-radius-base; - - > li { - display: inline; // Remove list-style and block-level defaults - > a, - > span { - position: relative; - float: left; // Collapse white-space - padding: $padding-base-vertical $padding-base-horizontal; - line-height: $line-height-base; - text-decoration: none; - color: $pagination-color; - background-color: $pagination-bg; - border: 1px solid $pagination-border; - margin-left: -1px; - } - &:first-child { - > a, - > span { - margin-left: 0; - @include border-left-radius($border-radius-base); - } - } - &:last-child { - > a, - > span { - @include border-right-radius($border-radius-base); - } - } - } - - > li > a, - > li > span { - &:hover, - &:focus { - color: $pagination-hover-color; - background-color: $pagination-hover-bg; - border-color: $pagination-hover-border; - } - } - - > .active > a, - > .active > span { - &, - &:hover, - &:focus { - z-index: 2; - color: $pagination-active-color; - background-color: $pagination-active-bg; - border-color: $pagination-active-border; - cursor: default; - } - } - - > .disabled { - > span, - > span:hover, - > span:focus, - > a, - > a:hover, - > a:focus { - color: $pagination-disabled-color; - background-color: $pagination-disabled-bg; - border-color: $pagination-disabled-border; - cursor: not-allowed; - } - } -} - -// Sizing -// -------------------------------------------------- - -// Large -.pagination-lg { - @include pagination-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $border-radius-large); -} - -// Small -.pagination-sm { - @include pagination-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $border-radius-small); -} diff --git a/themes/bootstrap3/scss/bootstrap/_panels.scss b/themes/bootstrap3/scss/bootstrap/_panels.scss deleted file mode 100644 index 0ab992541e2860cea3187f96ae5a730845ac3ada..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_panels.scss +++ /dev/null @@ -1,241 +0,0 @@ -// -// Panels -// -------------------------------------------------- - - -// Base class -.panel { - margin-bottom: $line-height-computed; - background-color: $panel-bg; - border: 1px solid transparent; - border-radius: $panel-border-radius; - @include box-shadow(0 1px 1px rgba(0,0,0,.05)); -} - -// Panel contents -.panel-body { - padding: $panel-body-padding; - @include clearfix(); -} - -// Optional heading -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - @include border-top-radius(($panel-border-radius - 1)); - - > .dropdown .dropdown-toggle { - color: inherit; - } -} - -// Within heading, strip any `h*` tag of its default margins for spacing. -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: ceil(($font-size-base * 1.125)); - color: inherit; - - > a { - color: inherit; - } -} - -// Optional footer (stays gray in every modifier class) -.panel-footer { - padding: 10px 15px; - background-color: $panel-footer-bg; - border-top: 1px solid $panel-inner-border; - @include border-bottom-radius(($panel-border-radius - 1)); -} - - -// List groups in panels -// -// By default, space out list group content from panel headings to account for -// any kind of custom content between the two. - -.panel { - > .list-group { - margin-bottom: 0; - - .list-group-item { - border-width: 1px 0; - border-radius: 0; - } - - // Add border top radius for first one - &:first-child { - .list-group-item:first-child { - border-top: 0; - @include border-top-radius(($panel-border-radius - 1)); - } - } - // Add border bottom radius for last one - &:last-child { - .list-group-item:last-child { - border-bottom: 0; - @include border-bottom-radius(($panel-border-radius - 1)); - } - } - } -} -// Collapse space between when there's no additional content. -.panel-heading + .list-group { - .list-group-item:first-child { - border-top-width: 0; - } -} - - -// Tables in panels -// -// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and -// watch it go full width. - -.panel { - > .table, - > .table-responsive > .table { - margin-bottom: 0; - } - // Add border top radius for first one - > .table:first-child, - > .table-responsive:first-child > .table:first-child { - @include border-top-radius(($panel-border-radius - 1)); - - > thead:first-child, - > tbody:first-child { - > tr:first-child { - td:first-child, - th:first-child { - border-top-left-radius: ($panel-border-radius - 1); - } - td:last-child, - th:last-child { - border-top-right-radius: ($panel-border-radius - 1); - } - } - } - } - // Add border bottom radius for last one - > .table:last-child, - > .table-responsive:last-child > .table:last-child { - @include border-bottom-radius(($panel-border-radius - 1)); - - > tbody:last-child, - > tfoot:last-child { - > tr:last-child { - td:first-child, - th:first-child { - border-bottom-left-radius: ($panel-border-radius - 1); - } - td:last-child, - th:last-child { - border-bottom-right-radius: ($panel-border-radius - 1); - } - } - } - } - > .panel-body + .table, - > .panel-body + .table-responsive { - border-top: 1px solid $table-border-color; - } - > .table > tbody:first-child > tr:first-child th, - > .table > tbody:first-child > tr:first-child td { - border-top: 0; - } - > .table-bordered, - > .table-responsive > .table-bordered { - border: 0; - > thead, - > tbody, - > tfoot { - > tr { - > th:first-child, - > td:first-child { - border-left: 0; - } - > th:last-child, - > td:last-child { - border-right: 0; - } - } - } - > thead, - > tbody { - > tr:first-child { - > td, - > th { - border-bottom: 0; - } - } - } - > tbody, - > tfoot { - > tr:last-child { - > td, - > th { - border-bottom: 0; - } - } - } - } - > .table-responsive { - border: 0; - margin-bottom: 0; - } -} - - -// Collapsable panels (aka, accordion) -// -// Wrap a series of panels in `.panel-group` to turn them into an accordion with -// the help of our collapse JavaScript plugin. - -.panel-group { - margin-bottom: $line-height-computed; - - // Tighten up margin so it's only between panels - .panel { - margin-bottom: 0; - border-radius: $panel-border-radius; - overflow: hidden; // crop contents when collapsed - + .panel { - margin-top: 5px; - } - } - - .panel-heading { - border-bottom: 0; - + .panel-collapse .panel-body { - border-top: 1px solid $panel-inner-border; - } - } - .panel-footer { - border-top: 0; - + .panel-collapse .panel-body { - border-bottom: 1px solid $panel-inner-border; - } - } -} - - -// Contextual variations -.panel-default { - @include panel-variant($panel-default-border, $panel-default-text, $panel-default-heading-bg, $panel-default-border); -} -.panel-primary { - @include panel-variant($panel-primary-border, $panel-primary-text, $panel-primary-heading-bg, $panel-primary-border); -} -.panel-success { - @include panel-variant($panel-success-border, $panel-success-text, $panel-success-heading-bg, $panel-success-border); -} -.panel-info { - @include panel-variant($panel-info-border, $panel-info-text, $panel-info-heading-bg, $panel-info-border); -} -.panel-warning { - @include panel-variant($panel-warning-border, $panel-warning-text, $panel-warning-heading-bg, $panel-warning-border); -} -.panel-danger { - @include panel-variant($panel-danger-border, $panel-danger-text, $panel-danger-heading-bg, $panel-danger-border); -} diff --git a/themes/bootstrap3/scss/bootstrap/_popovers.scss b/themes/bootstrap3/scss/bootstrap/_popovers.scss deleted file mode 100644 index 6d6bed5d15dadb97f3f1f4d91447794ee3c79109..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_popovers.scss +++ /dev/null @@ -1,133 +0,0 @@ -// -// Popovers -// -------------------------------------------------- - - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: $zindex-popover; - display: none; - max-width: $popover-max-width; - padding: 1px; - text-align: left; // Reset given new insertion method - background-color: $popover-bg; - background-clip: padding-box; - border: 1px solid $popover-fallback-border-color; - border: 1px solid $popover-border-color; - border-radius: $border-radius-large; - @include box-shadow(0 5px 10px rgba(0,0,0,.2)); - - // Overrides for proper insertion - white-space: normal; - - // Offset the popover to account for the popover arrow - &.top { margin-top: -$popover-arrow-width; } - &.right { margin-left: $popover-arrow-width; } - &.bottom { margin-top: $popover-arrow-width; } - &.left { margin-left: -$popover-arrow-width; } -} - -.popover-title { - margin: 0; // reset heading margin - padding: 8px 14px; - font-size: $font-size-base; - font-weight: normal; - line-height: 18px; - background-color: $popover-title-bg; - border-bottom: 1px solid darken($popover-title-bg, 5%); - border-radius: 5px 5px 0 0; -} - -.popover-content { - padding: 9px 14px; -} - -// Arrows -// -// .arrow is outer, .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 { - border-width: $popover-arrow-width; - content: ""; -} - -.popover { - &.top > .arrow { - left: 50%; - margin-left: -$popover-arrow-outer-width; - border-bottom-width: 0; - border-top-color: $popover-arrow-outer-fallback-color; // IE8 fallback - border-top-color: $popover-arrow-outer-color; - bottom: -$popover-arrow-outer-width; - &:after { - content: " "; - bottom: 1px; - margin-left: -$popover-arrow-width; - border-bottom-width: 0; - border-top-color: $popover-arrow-color; - } - } - &.right > .arrow { - top: 50%; - left: -$popover-arrow-outer-width; - margin-top: -$popover-arrow-outer-width; - border-left-width: 0; - border-right-color: $popover-arrow-outer-fallback-color; // IE8 fallback - border-right-color: $popover-arrow-outer-color; - &:after { - content: " "; - left: 1px; - bottom: -$popover-arrow-width; - border-left-width: 0; - border-right-color: $popover-arrow-color; - } - } - &.bottom > .arrow { - left: 50%; - margin-left: -$popover-arrow-outer-width; - border-top-width: 0; - border-bottom-color: $popover-arrow-outer-fallback-color; // IE8 fallback - border-bottom-color: $popover-arrow-outer-color; - top: -$popover-arrow-outer-width; - &:after { - content: " "; - top: 1px; - margin-left: -$popover-arrow-width; - border-top-width: 0; - border-bottom-color: $popover-arrow-color; - } - } - - &.left > .arrow { - top: 50%; - right: -$popover-arrow-outer-width; - margin-top: -$popover-arrow-outer-width; - border-right-width: 0; - border-left-color: $popover-arrow-outer-fallback-color; // IE8 fallback - border-left-color: $popover-arrow-outer-color; - &:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: $popover-arrow-color; - bottom: -$popover-arrow-width; - } - } - -} diff --git a/themes/bootstrap3/scss/bootstrap/_print.scss b/themes/bootstrap3/scss/bootstrap/_print.scss deleted file mode 100644 index 3655d03953ac830ecd86b55f247ea89b19000996..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_print.scss +++ /dev/null @@ -1,101 +0,0 @@ -// -// Basic print styles -// -------------------------------------------------- -// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css - -@media print { - - * { - text-shadow: none !important; - color: #000 !important; // Black prints faster: h5bp.com/s - background: transparent !important; - box-shadow: none !important; - } - - a, - a:visited { - text-decoration: underline; - } - - a[href]:after { - content: " (" attr(href) ")"; - } - - abbr[title]:after { - content: " (" attr(title) ")"; - } - - // Don't show links for images, or javascript/internal links - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - - thead { - display: table-header-group; // h5bp.com/t - } - - tr, - img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - - h2, - h3 { - page-break-after: avoid; - } - - // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245 - // Once fixed, we can just straight up remove this. - select { - background: #fff !important; - } - - // Bootstrap components - .navbar { - display: none; - } - .table { - td, - th { - background-color: #fff !important; - } - } - .btn, - .dropup > .btn { - > .caret { - border-top-color: #000 !important; - } - } - .label { - border: 1px solid #000; - } - - .table { - border-collapse: collapse !important; - } - .table-bordered { - th, - td { - border: 1px solid #ddd !important; - } - } - -} diff --git a/themes/bootstrap3/scss/bootstrap/_progress-bars.scss b/themes/bootstrap3/scss/bootstrap/_progress-bars.scss deleted file mode 100644 index 7302b729d5b426d529711c73f6510722c5442e64..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_progress-bars.scss +++ /dev/null @@ -1,80 +0,0 @@ -// -// Progress bars -// -------------------------------------------------- - - -// Bar animations -// ------------------------- - -// WebKit -@-webkit-keyframes progress-bar-stripes { - from { background-position: 40px 0; } - to { background-position: 0 0; } -} - -// Spec and IE10+ -@keyframes progress-bar-stripes { - from { background-position: 40px 0; } - to { background-position: 0 0; } -} - - - -// Bar itself -// ------------------------- - -// Outer container -.progress { - overflow: hidden; - height: $line-height-computed; - margin-bottom: $line-height-computed; - background-color: $progress-bg; - border-radius: $border-radius-base; - @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); -} - -// Bar of progress -.progress-bar { - float: left; - width: 0%; - height: 100%; - font-size: $font-size-small; - line-height: $line-height-computed; - color: $progress-bar-color; - text-align: center; - background-color: $progress-bar-bg; - @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); - @include transition(width .6s ease); -} - -// Striped bars -.progress-striped .progress-bar { - @include gradient-striped(); - background-size: 40px 40px; -} - -// Call animation for the active one -.progress.active .progress-bar { - @include animation(progress-bar-stripes 2s linear infinite); -} - - - -// Variations -// ------------------------- - -.progress-bar-success { - @include progress-bar-variant($progress-bar-success-bg); -} - -.progress-bar-info { - @include progress-bar-variant($progress-bar-info-bg); -} - -.progress-bar-warning { - @include progress-bar-variant($progress-bar-warning-bg); -} - -.progress-bar-danger { - @include progress-bar-variant($progress-bar-danger-bg); -} diff --git a/themes/bootstrap3/scss/bootstrap/_responsive-utilities.scss b/themes/bootstrap3/scss/bootstrap/_responsive-utilities.scss deleted file mode 100644 index cd9348c6e429a5e5ebf5dfa41d5943bf31ae905e..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_responsive-utilities.scss +++ /dev/null @@ -1,74 +0,0 @@ -// -// Responsive: Utility classes -// -------------------------------------------------- - - -// IE10 in Windows (Phone) 8 -// -// Support for responsive views via media queries is kind of borked in IE10, for -// Surface/desktop in split view and for Windows Phone 8. This particular fix -// must be accompanied by a snippet of JavaScript to sniff the user agent and -// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at -// our Getting Started page for more information on this bug. -// -// For more information, see the following: -// -// Issue: https://github.com/twbs/bootstrap/issues/10497 -// Docs: http://getbootstrap.com/getting-started/#browsers -// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ - -@-ms-viewport { - width: device-width; -} - - -// Visibility utilities - -@include responsive-invisibility('.visible-xs, .visible-sm, .visible-md, .visible-lg'); - -@media (max-width: $screen-xs-max) { - @include responsive-visibility('.visible-xs'); -} - -@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { - @include responsive-visibility('.visible-sm'); -} - -@media (min-width: $screen-md-min) and (max-width: $screen-md-max) { - @include responsive-visibility('.visible-md'); -} - -@media (min-width: $screen-lg-min) { - @include responsive-visibility('.visible-lg'); -} - -@media (max-width: $screen-xs-max) { - @include responsive-invisibility('.hidden-xs'); -} - -@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { - @include responsive-invisibility('.hidden-sm'); -} - -@media (min-width: $screen-md-min) and (max-width: $screen-md-max) { - @include responsive-invisibility('.hidden-md'); -} - -@media (min-width: $screen-lg-min) { - @include responsive-invisibility('.hidden-lg'); -} - - -// Print utilities -// -// Media queries are placed on the inside to be mixin-friendly. - -@include responsive-invisibility('.visible-print'); - -@media print { - @include responsive-visibility('.visible-print'); -} - -@media print { - @include responsive-invisibility('.hidden-print'); -} diff --git a/themes/bootstrap3/scss/bootstrap/_scaffolding.scss b/themes/bootstrap3/scss/bootstrap/_scaffolding.scss deleted file mode 100644 index cf020299affe02354bfbef97b7d926946cc2f840..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_scaffolding.scss +++ /dev/null @@ -1,134 +0,0 @@ -// -// Scaffolding -// -------------------------------------------------- - - -// Reset the box-sizing -// -// 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 -* { - @include box-sizing(border-box); -} -*:before, -*:after { - @include box-sizing(border-box); -} - - -// Body reset - -html { - font-size: 62.5%; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} - -body { - font-family: $font-family-base; - font-size: $font-size-base; - line-height: $line-height-base; - color: $text-color; - background-color: $body-bg; -} - -// Reset fonts for relevant elements -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - - -// Links - -a { - color: $link-color; - text-decoration: none; - - &:hover, - &:focus { - color: $link-hover-color; - text-decoration: underline; - } - - &:focus { - @include tab-focus(); - } -} - - -// Figures -// -// We reset this here because previously Normalize had no `figure` margins. This -// ensures we don't break anyone's use of the element. - -figure { - margin: 0; -} - - -// Images - -img { - vertical-align: middle; -} - -// Responsive images (ensure images don't scale beyond their parents) -.img-responsive { - @include img-responsive(); -} - -// Rounded corners -.img-rounded { - border-radius: $border-radius-large; -} - -// Image thumbnails -// -// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`. -.img-thumbnail { - padding: $thumbnail-padding; - line-height: $line-height-base; - background-color: $thumbnail-bg; - border: 1px solid $thumbnail-border; - border-radius: $thumbnail-border-radius; - @include transition(all .2s ease-in-out); - - // Keep them at most 100% wide - @include img-responsive(inline-block); -} - -// Perfect circle -.img-circle { - border-radius: 50%; // set radius in percents -} - - -// Horizontal rules - -hr { - margin-top: $line-height-computed; - margin-bottom: $line-height-computed; - border: 0; - border-top: 1px solid $hr-border; -} - - -// Only display content to screen readers -// -// See: http://a11yproject.com/posts/how-to-hide-content/ - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0,0,0,0); - border: 0; -} diff --git a/themes/bootstrap3/scss/bootstrap/_tables.scss b/themes/bootstrap3/scss/bootstrap/_tables.scss deleted file mode 100644 index 1ddfb7ab36fc7db2a511a0dddda470ec5ff52956..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_tables.scss +++ /dev/null @@ -1,233 +0,0 @@ -// -// Tables -// -------------------------------------------------- - - -table { - max-width: 100%; - background-color: $table-bg; -} -th { - text-align: left; -} - - -// Baseline styles - -.table { - width: 100%; - margin-bottom: $line-height-computed; - // Cells - > thead, - > tbody, - > tfoot { - > tr { - > th, - > td { - padding: $table-cell-padding; - line-height: $line-height-base; - vertical-align: top; - border-top: 1px solid $table-border-color; - } - } - } - // Bottom align for column headings - > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid $table-border-color; - } - // Remove top border from thead by default - > caption + thead, - > colgroup + thead, - > thead:first-child { - > tr:first-child { - > th, - > td { - border-top: 0; - } - } - } - // Account for multiple tbody instances - > tbody + tbody { - border-top: 2px solid $table-border-color; - } - - // Nesting - .table { - background-color: $body-bg; - } -} - - -// Condensed table w/ half padding - -.table-condensed { - > thead, - > tbody, - > tfoot { - > tr { - > th, - > td { - padding: $table-condensed-cell-padding; - } - } - } -} - - -// Bordered version -// -// Add borders all around the table and between all the columns. - -.table-bordered { - border: 1px solid $table-border-color; - > thead, - > tbody, - > tfoot { - > tr { - > th, - > td { - border: 1px solid $table-border-color; - } - } - } - > thead > tr { - > th, - > td { - border-bottom-width: 2px; - } - } -} - - -// Zebra-striping -// -// Default zebra-stripe styles (alternating gray and transparent backgrounds) - -.table-striped { - > tbody > tr:nth-child(odd) { - > td, - > th { - background-color: $table-bg-accent; - } - } -} - - -// Hover effect -// -// Placed here since it has to come after the potential zebra striping - -.table-hover { - > tbody > tr:hover { - > td, - > th { - background-color: $table-bg-hover; - } - } -} - - -// Table cell sizing -// -// Reset default table behavior - -table col[class*="col-"] { - position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) - float: none; - display: table-column; -} -table { - td, - th { - &[class*="col-"] { - position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) - float: none; - display: table-cell; - } - } -} - - -// Table backgrounds -// -// Exact selectors below required to override `.table-striped` and prevent -// inheritance to nested tables. - -// Generate the contextual variants -@include table-row-variant('active', $table-bg-active); -@include table-row-variant('success', $state-success-bg); -@include table-row-variant('info', $state-info-bg); -@include table-row-variant('warning', $state-warning-bg); -@include table-row-variant('danger', $state-danger-bg); - - -// Responsive tables -// -// Wrap your tables in `.table-responsive` and we'll make them mobile friendly -// by enabling horizontal scrolling. Only applies <768px. Everything above that -// will display normally. - -@media (max-width: $screen-xs-max) { - .table-responsive { - width: 100%; - margin-bottom: ($line-height-computed * 0.75); - overflow-y: hidden; - overflow-x: scroll; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid $table-border-color; - -webkit-overflow-scrolling: touch; - - // Tighten up spacing - > .table { - margin-bottom: 0; - - // Ensure the content doesn't wrap - > thead, - > tbody, - > tfoot { - > tr { - > th, - > td { - white-space: nowrap; - } - } - } - } - - // Special overrides for the bordered tables - > .table-bordered { - border: 0; - - // Nuke the appropriate borders so that the parent can handle them - > thead, - > tbody, - > tfoot { - > tr { - > th:first-child, - > td:first-child { - border-left: 0; - } - > th:last-child, - > td:last-child { - border-right: 0; - } - } - } - - // Only nuke the last row's bottom-border in `tbody` and `tfoot` since - // chances are there will be only one `tr` in a `thead` and that would - // remove the border altogether. - > tbody, - > tfoot { - > tr:last-child { - > th, - > td { - border-bottom: 0; - } - } - } - - } - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_theme.scss b/themes/bootstrap3/scss/bootstrap/_theme.scss deleted file mode 100644 index d8f7bc2fb3cc571cea5c1fa4ac85253b3a0da5e4..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_theme.scss +++ /dev/null @@ -1,247 +0,0 @@ - -// -// Load core variables and mixins -// -------------------------------------------------- - -@import "variables"; -@import "mixins"; - - - -// -// Buttons -// -------------------------------------------------- - -// Common styles -.btn-default, -.btn-primary, -.btn-success, -.btn-info, -.btn-warning, -.btn-danger { - text-shadow: 0 -1px 0 rgba(0,0,0,.2); - $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075); - @include box-shadow($shadow); - - // Reset the shadow - &:active, - &.active { - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - } -} - -// Mixin for generating new styles -@mixin btn-styles($btn-color: #555) { - @include gradient-vertical($start-color: $btn-color, $end-color: darken($btn-color, 12%)); - @include reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners - background-repeat: repeat-x; - border-color: darken($btn-color, 14%); - - &:hover, - &:focus { - background-color: darken($btn-color, 12%); - background-position: 0 -15px; - } - - &:active, - &.active { - background-color: darken($btn-color, 12%); - border-color: darken($btn-color, 14%); - } -} - -// Common styles -.btn { - // Remove the gradient for the pressed/active state - &:active, - &.active { - background-image: none; - } -} - -// Apply the mixin to the buttons -.btn-default { @include btn-styles($btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; } -.btn-primary { @include btn-styles($btn-primary-bg); } -.btn-success { @include btn-styles($btn-success-bg); } -.btn-info { @include btn-styles($btn-info-bg); } -.btn-warning { @include btn-styles($btn-warning-bg); } -.btn-danger { @include btn-styles($btn-danger-bg); } - - - -// -// Images -// -------------------------------------------------- - -.thumbnail, -.img-thumbnail { - @include box-shadow(0 1px 2px rgba(0,0,0,.075)); -} - - - -// -// Dropdowns -// -------------------------------------------------- - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - @include gradient-vertical($start-color: $dropdown-link-hover-bg, $end-color: darken($dropdown-link-hover-bg, 5%)); - background-color: darken($dropdown-link-hover-bg, 5%); -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - @include gradient-vertical($start-color: $dropdown-link-active-bg, $end-color: darken($dropdown-link-active-bg, 5%)); - background-color: darken($dropdown-link-active-bg, 5%); -} - - - -// -// Navbar -// -------------------------------------------------- - -// Default navbar -.navbar-default { - @include gradient-vertical($start-color: lighten($navbar-default-bg, 10%), $end-color: $navbar-default-bg); - @include reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered - border-radius: $navbar-border-radius; - $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); - @include box-shadow($shadow); - - .navbar-nav > .active > a { - @include gradient-vertical($start-color: darken($navbar-default-bg, 5%), $end-color: darken($navbar-default-bg, 2%)); - @include box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); - } -} -.navbar-brand, -.navbar-nav > li > a { - text-shadow: 0 1px 0 rgba(255,255,255,.25); -} - -// Inverted navbar -.navbar-inverse { - @include gradient-vertical($start-color: lighten($navbar-inverse-bg, 10%), $end-color: $navbar-inverse-bg); - @include reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered - - .navbar-nav > .active > a { - @include gradient-vertical($start-color: $navbar-inverse-bg, $end-color: lighten($navbar-inverse-bg, 2.5%)); - @include box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); - } - - .navbar-brand, - .navbar-nav > li > a { - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } -} - -// Undo rounded corners in static and fixed navbars -.navbar-static-top, -.navbar-fixed-top, -.navbar-fixed-bottom { - border-radius: 0; -} - - - -// -// Alerts -// -------------------------------------------------- - -// Common styles -.alert { - text-shadow: 0 1px 0 rgba(255,255,255,.2); - $shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05); - @include box-shadow($shadow); -} - -// Mixin for generating new styles -@mixin alert-styles($color) { - @include gradient-vertical($start-color: $color, $end-color: darken($color, 7.5%)); - border-color: darken($color, 15%); -} - -// Apply the mixin to the alerts -.alert-success { @include alert-styles($alert-success-bg); } -.alert-info { @include alert-styles($alert-info-bg); } -.alert-warning { @include alert-styles($alert-warning-bg); } -.alert-danger { @include alert-styles($alert-danger-bg); } - - - -// -// Progress bars -// -------------------------------------------------- - -// Give the progress background some depth -.progress { - @include gradient-vertical($start-color: darken($progress-bg, 4%), $end-color: $progress-bg) -} - -// Mixin for generating new styles -@mixin progress-bar-styles($color) { - @include gradient-vertical($start-color: $color, $end-color: darken($color, 10%)); -} - -// Apply the mixin to the progress bars -.progress-bar { @include progress-bar-styles($progress-bar-bg); } -.progress-bar-success { @include progress-bar-styles($progress-bar-success-bg); } -.progress-bar-info { @include progress-bar-styles($progress-bar-info-bg); } -.progress-bar-warning { @include progress-bar-styles($progress-bar-warning-bg); } -.progress-bar-danger { @include progress-bar-styles($progress-bar-danger-bg); } - - - -// -// List groups -// -------------------------------------------------- - -.list-group { - border-radius: $border-radius-base; - @include box-shadow(0 1px 2px rgba(0,0,0,.075)); -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - text-shadow: 0 -1px 0 darken($list-group-active-bg, 10%); - @include gradient-vertical($start-color: $list-group-active-bg, $end-color: darken($list-group-active-bg, 7.5%)); - border-color: darken($list-group-active-border, 7.5%); -} - - - -// -// Panels -// -------------------------------------------------- - -// Common styles -.panel { - @include box-shadow(0 1px 2px rgba(0,0,0,.05)); -} - -// Mixin for generating new styles -@mixin panel-heading-styles($color) { - @include gradient-vertical($start-color: $color, $end-color: darken($color, 5%)); -} - -// Apply the mixin to the panel headings only -.panel-default > .panel-heading { @include panel-heading-styles($panel-default-heading-bg); } -.panel-primary > .panel-heading { @include panel-heading-styles($panel-primary-heading-bg); } -.panel-success > .panel-heading { @include panel-heading-styles($panel-success-heading-bg); } -.panel-info > .panel-heading { @include panel-heading-styles($panel-info-heading-bg); } -.panel-warning > .panel-heading { @include panel-heading-styles($panel-warning-heading-bg); } -.panel-danger > .panel-heading { @include panel-heading-styles($panel-danger-heading-bg); } - - - -// -// Wells -// -------------------------------------------------- - -.well { - @include gradient-vertical($start-color: darken($well-bg, 5%), $end-color: $well-bg); - border-color: darken($well-bg, 10%); - $shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1); - @include box-shadow($shadow); -} diff --git a/themes/bootstrap3/scss/bootstrap/_thumbnails.scss b/themes/bootstrap3/scss/bootstrap/_thumbnails.scss deleted file mode 100644 index 3d5ed86d05fd5bdeba1d61f3b1faa2c6055d0868..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_thumbnails.scss +++ /dev/null @@ -1,38 +0,0 @@ -// -// Thumbnails -// -------------------------------------------------- - - -// Mixin and adjust the regular image class -.thumbnail { - display: block; - padding: $thumbnail-padding; - margin-bottom: $line-height-computed; - line-height: $line-height-base; - background-color: $thumbnail-bg; - border: 1px solid $thumbnail-border; - border-radius: $thumbnail-border-radius; - @include transition(all .2s ease-in-out); - - > img, - a > img { - @include img-responsive(); - margin-left: auto; - margin-right: auto; - } - - // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active - - // Image captions - .caption { - padding: $thumbnail-caption-padding; - color: $thumbnail-caption-color; - } -} - -// Add a hover state for linked versions only -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: $link-color; -} diff --git a/themes/bootstrap3/scss/bootstrap/_tooltip.scss b/themes/bootstrap3/scss/bootstrap/_tooltip.scss deleted file mode 100644 index dec674cb40871ec975cd629951a8783d4141ddcd..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_tooltip.scss +++ /dev/null @@ -1,95 +0,0 @@ -// -// Tooltips -// -------------------------------------------------- - - -// Base class -.tooltip { - position: absolute; - z-index: $zindex-tooltip; - display: block; - visibility: visible; - font-size: $font-size-small; - line-height: 1.4; - @include opacity(0); - - &.in { @include opacity($tooltip-opacity); } - &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; } - &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; } - &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; } - &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; } -} - -// Wrapper for the tooltip content -.tooltip-inner { - max-width: $tooltip-max-width; - padding: 3px 8px; - color: $tooltip-color; - text-align: center; - text-decoration: none; - background-color: $tooltip-bg; - border-radius: $border-radius-base; -} - -// Arrows -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip { - &.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -$tooltip-arrow-width; - border-width: $tooltip-arrow-width $tooltip-arrow-width 0; - border-top-color: $tooltip-arrow-color; - } - &.top-left .tooltip-arrow { - bottom: 0; - left: $tooltip-arrow-width; - border-width: $tooltip-arrow-width $tooltip-arrow-width 0; - border-top-color: $tooltip-arrow-color; - } - &.top-right .tooltip-arrow { - bottom: 0; - right: $tooltip-arrow-width; - border-width: $tooltip-arrow-width $tooltip-arrow-width 0; - border-top-color: $tooltip-arrow-color; - } - &.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -$tooltip-arrow-width; - border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0; - border-right-color: $tooltip-arrow-color; - } - &.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -$tooltip-arrow-width; - border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width; - border-left-color: $tooltip-arrow-color; - } - &.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -$tooltip-arrow-width; - border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; - border-bottom-color: $tooltip-arrow-color; - } - &.bottom-left .tooltip-arrow { - top: 0; - left: $tooltip-arrow-width; - border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; - border-bottom-color: $tooltip-arrow-color; - } - &.bottom-right .tooltip-arrow { - top: 0; - right: $tooltip-arrow-width; - border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; - border-bottom-color: $tooltip-arrow-color; - } -} diff --git a/themes/bootstrap3/scss/bootstrap/_type.scss b/themes/bootstrap3/scss/bootstrap/_type.scss deleted file mode 100644 index 7fee043455dbb00ca5e2f1ca43e2988381b288ce..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_type.scss +++ /dev/null @@ -1,284 +0,0 @@ -// -// Typography -// -------------------------------------------------- - - -// Headings -// ------------------------- - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - font-family: $headings-font-family; - font-weight: $headings-font-weight; - line-height: $headings-line-height; - color: $headings-color; - - small, - .small { - font-weight: normal; - line-height: 1; - color: $headings-small-color; - } -} - -h1, .h1, -h2, .h2, -h3, .h3 { - margin-top: $line-height-computed; - margin-bottom: ($line-height-computed / 2); - - small, - .small { - font-size: 65%; - } -} -h4, .h4, -h5, .h5, -h6, .h6 { - margin-top: ($line-height-computed / 2); - margin-bottom: ($line-height-computed / 2); - - small, - .small { - font-size: 75%; - } -} - -h1, .h1 { font-size: $font-size-h1; } -h2, .h2 { font-size: $font-size-h2; } -h3, .h3 { font-size: $font-size-h3; } -h4, .h4 { font-size: $font-size-h4; } -h5, .h5 { font-size: $font-size-h5; } -h6, .h6 { font-size: $font-size-h6; } - - -// Body text -// ------------------------- - -p { - margin: 0 0 ($line-height-computed / 2); -} - -.lead { - margin-bottom: $line-height-computed; - font-size: floor(($font-size-base * 1.15)); - font-weight: 200; - line-height: 1.4; - - @media (min-width: $screen-sm-min) { - font-size: ($font-size-base * 1.5); - } -} - - -// Emphasis & misc -// ------------------------- - -// Ex: 14px base font * 85% = about 12px -small, -.small { font-size: 85%; } - -// Undo browser default styling -cite { font-style: normal; } - -// Alignment -.text-left { text-align: left; } -.text-right { text-align: right; } -.text-center { text-align: center; } -.text-justify { text-align: justify; } - -// Contextual colors -.text-muted { - color: $text-muted; -} - -@include text-emphasis-variant('.text-primary', $brand-primary); - -@include text-emphasis-variant('.text-success', $state-success-text); - -@include text-emphasis-variant('.text-info', $state-info-text); - -@include text-emphasis-variant('.text-warning', $state-warning-text); - -@include text-emphasis-variant('.text-danger', $state-danger-text); - -// Contextual backgrounds -// For now we'll leave these alongside the text classes until v4 when we can -// safely shift things around (per SemVer rules). -.bg-primary { - // Given the contrast here, this is the only class to have its color inverted - // automatically. - color: #fff; -} -@include bg-variant('.bg-primary', $brand-primary); - -@include bg-variant('.bg-success', $state-success-bg); - -@include bg-variant('.bg-info', $state-info-bg); - -@include bg-variant('.bg-warning', $state-warning-bg); - -@include bg-variant('.bg-danger', $state-danger-bg); - - -// Page header -// ------------------------- - -.page-header { - padding-bottom: (($line-height-computed / 2) - 1); - margin: ($line-height-computed * 2) 0 $line-height-computed; - border-bottom: 1px solid $page-header-border-color; -} - - -// Lists -// -------------------------------------------------- - -// Unordered and Ordered lists -ul, -ol { - margin-top: 0; - margin-bottom: ($line-height-computed / 2); - ul, - ol { - margin-bottom: 0; - } -} - -// List options - -// Unstyled keeps list items block level, just removes default browser padding and list-style -.list-unstyled { - padding-left: 0; - list-style: none; -} - -// Inline turns list items into inline-block -.list-inline { - @extend .list-unstyled; - margin-left: -5px; - - > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; - } -} - -// Description Lists -dl { - margin-top: 0; // Remove browser default - margin-bottom: $line-height-computed; -} -dt, -dd { - line-height: $line-height-base; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; // Undo browser default -} - -// Horizontal description lists -// -// Defaults to being stacked without any of the below styles applied, until the -// grid breakpoint is reached (default of ~768px). - -@media (min-width: $grid-float-breakpoint) { - .dl-horizontal { - dt { - float: left; - width: ($component-offset-horizontal - 20); - clear: left; - text-align: right; - @include text-overflow(); - } - dd { - margin-left: $component-offset-horizontal; - @include clearfix(); // Clear the floated `dt` if an empty `dd` is present - } - } -} - -// MISC -// ---- - -// 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; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -// Blockquotes -blockquote { - padding: ($line-height-computed / 2) $line-height-computed; - margin: 0 0 $line-height-computed; - font-size: $blockquote-font-size; - border-left: 5px solid $blockquote-border-color; - - p, - ul, - ol { - &:last-child { - margin-bottom: 0; - } - } - - // Note: Deprecated small and .small as of v3.1.0 - // Context: https://github.com/twbs/bootstrap/issues/11660 - footer, - small, - .small { - display: block; - font-size: 80%; // back to default font-size - line-height: $line-height-base; - color: $blockquote-small-color; - - &:before { - content: '\2014 \00A0'; // em dash, nbsp - } - } -} - -// Opposite alignment of blockquote -// -// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0. -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid $blockquote-border-color; - border-left: 0; - text-align: right; - - // Account for citation - footer, - small, - .small { - &:before { content: ''; } - &:after { - content: '\00A0 \2014'; // nbsp, em dash - } - } -} - -// Quotes -blockquote:before, -blockquote:after { - content: ""; -} - -// Addresses -address { - margin-bottom: $line-height-computed; - font-style: normal; - line-height: $line-height-base; -} diff --git a/themes/bootstrap3/scss/bootstrap/_utilities.scss b/themes/bootstrap3/scss/bootstrap/_utilities.scss deleted file mode 100644 index 85cb62ea7d6632e67916a63ab744b103070b8a12..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_utilities.scss +++ /dev/null @@ -1,56 +0,0 @@ -// -// Utility classes -// -------------------------------------------------- - - -// Floats -// ------------------------- - -.clearfix { - @include clearfix(); -} -.center-block { - @include center-block(); -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} - - -// Toggling content -// ------------------------- - -// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - @include text-hide(); -} - - -// Hide from screenreaders and browsers -// -// Credit: HTML5 Boilerplate - -.hidden { - display: none !important; - visibility: hidden !important; -} - - -// For Affix plugin -// ------------------------- - -.affix { - position: fixed; -} diff --git a/themes/bootstrap3/scss/bootstrap/_variables.scss b/themes/bootstrap3/scss/bootstrap/_variables.scss deleted file mode 100644 index 8042a68660fe6b1a4f9fdb50f83e51953f2fdad1..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_variables.scss +++ /dev/null @@ -1,833 +0,0 @@ -// a flag to toggle asset pipeline / compass integration -// defaults to true if twbs-font-path function is present (no function => twbs-font-path('') parsed as string == right side) -// in Sass 3.3 this can be improved with: function-exists(twbs-font-path) -$bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")')) !default; -// -// Variables -// -------------------------------------------------- - - -//== Colors -// -//## Gray and brand colors for use across Bootstrap. - -$gray-darker: lighten(#000, 13.5%) !default; // #222 -$gray-dark: lighten(#000, 20%) !default; // #333 -$gray: lighten(#000, 33.5%) !default; // #555 -$gray-light: lighten(#000, 60%) !default; // #999 -$gray-lighter: lighten(#000, 93.5%) !default; // #eee - -$brand-primary: #428bca !default; -$brand-success: #5cb85c !default; -$brand-info: #5bc0de !default; -$brand-warning: #f0ad4e !default; -$brand-danger: #d9534f !default; - - -//== Scaffolding -// -// ## Settings for some of the most global styles. - -//** Background color for `<body>`. -$body-bg: #fff !default; -//** Global text color on `<body>`. -$text-color: $gray-dark !default; - -//** Global textual link color. -$link-color: $brand-primary !default; -//** Link hover color set via `darken()` function. -$link-hover-color: darken($link-color, 15%) !default; - - -//== Typography -// -//## Font, line-height, and color for body text, headings, and more. - -$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default; -$font-family-serif: Georgia, "Times New Roman", Times, serif !default; -//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`. -$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default; -$font-family-base: $font-family-sans-serif !default; - -$font-size-base: 14px !default; -$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px -$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px - -$font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px -$font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px -$font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px -$font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px -$font-size-h5: $font-size-base !default; -$font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px - -//** Unit-less `line-height` for use in components like buttons. -$line-height-base: 1.428571429 !default; // 20/14 -//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc. -$line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px - -//** By default, this inherits from the `<body>`. -$headings-font-family: inherit !default; -$headings-font-weight: 500 !default; -$headings-line-height: 1.1 !default; -$headings-color: inherit !default; - - -//-- Iconography -// -//## Specify custom locations of the include Glyphicons icon font. Useful for those including Bootstrap via Bower. - -$icon-font-path: "bootstrap/" !default; -$icon-font-name: "glyphicons-halflings-regular" !default; -$icon-font-svg-id: "glyphicons_halflingsregular" !default; - -//== Components -// -//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start). - -$padding-base-vertical: 6px !default; -$padding-base-horizontal: 12px !default; - -$padding-large-vertical: 10px !default; -$padding-large-horizontal: 16px !default; - -$padding-small-vertical: 5px !default; -$padding-small-horizontal: 10px !default; - -$padding-xs-vertical: 1px !default; -$padding-xs-horizontal: 5px !default; - -$line-height-large: 1.33 !default; -$line-height-small: 1.5 !default; - -$border-radius-base: 4px !default; -$border-radius-large: 6px !default; -$border-radius-small: 3px !default; - -//** Global color for active items (e.g., navs or dropdowns). -$component-active-color: #fff !default; -//** Global background color for active items (e.g., navs or dropdowns). -$component-active-bg: $brand-primary !default; - -//** Width of the `border` for generating carets that indicator dropdowns. -$caret-width-base: 4px !default; -//** Carets increase slightly in size for larger components. -$caret-width-large: 5px !default; - - -//== Tables -// -//## Customizes the `.table` component with basic values, each used across all table variations. - -//** Padding for `<th>`s and `<td>`s. -$table-cell-padding: 8px !default; -//** Padding for cells in `.table-condensed`. -$table-condensed-cell-padding: 5px !default; - -//** Default background color used for all tables. -$table-bg: transparent !default; -//** Background color used for `.table-striped`. -$table-bg-accent: #f9f9f9 !default; -//** Background color used for `.table-hover`. -$table-bg-hover: #f5f5f5 !default; -$table-bg-active: $table-bg-hover !default; - -//** Border color for table and cell borders. -$table-border-color: #ddd !default; - - -//== Buttons -// -//## For each of Bootstrap's buttons, define text, background and border color. - -$btn-font-weight: normal !default; - -$btn-default-color: #333 !default; -$btn-default-bg: #fff !default; -$btn-default-border: #ccc !default; - -$btn-primary-color: #fff !default; -$btn-primary-bg: $brand-primary !default; -$btn-primary-border: darken($btn-primary-bg, 5%) !default; - -$btn-success-color: #fff !default; -$btn-success-bg: $brand-success !default; -$btn-success-border: darken($btn-success-bg, 5%) !default; - -$btn-info-color: #fff !default; -$btn-info-bg: $brand-info !default; -$btn-info-border: darken($btn-info-bg, 5%) !default; - -$btn-warning-color: #fff !default; -$btn-warning-bg: $brand-warning !default; -$btn-warning-border: darken($btn-warning-bg, 5%) !default; - -$btn-danger-color: #fff !default; -$btn-danger-bg: $brand-danger !default; -$btn-danger-border: darken($btn-danger-bg, 5%) !default; - -$btn-link-disabled-color: $gray-light !default; - - -//== Forms -// -//## - -//** `<input>` background color -$input-bg: #fff !default; -//** `<input disabled>` background color -$input-bg-disabled: $gray-lighter !default; - -//** Text color for `<input>`s -$input-color: $gray !default; -//** `<input>` border color -$input-border: #ccc !default; -//** `<input>` border radius -$input-border-radius: $border-radius-base !default; -//** Border color for inputs on focus -$input-border-focus: #66afe9 !default; - -//** Placeholder text color -$input-color-placeholder: $gray-light !default; - -//** Default `.form-control` height -$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default; -//** Large `.form-control` height -$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default; -//** Small `.form-control` height -$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default; - -$legend-color: $gray-dark !default; -$legend-border-color: #e5e5e5 !default; - -//** Background color for textual input addons -$input-group-addon-bg: $gray-lighter !default; -//** Border color for textual input addons -$input-group-addon-border-color: $input-border !default; - - -//== Dropdowns -// -//## Dropdown menu container and contents. - -//** Background for the dropdown menu. -$dropdown-bg: #fff !default; -//** Dropdown menu `border-color`. -$dropdown-border: rgba(0,0,0,.15) !default; -//** Dropdown menu `border-color` **for IE8**. -$dropdown-fallback-border: #ccc !default; -//** Divider color for between dropdown items. -$dropdown-divider-bg: #e5e5e5 !default; - -//** Dropdown link text color. -$dropdown-link-color: $gray-dark !default; -//** Hover color for dropdown links. -$dropdown-link-hover-color: darken($gray-dark, 5%) !default; -//** Hover background for dropdown links. -$dropdown-link-hover-bg: #f5f5f5 !default; - -//** Active dropdown menu item text color. -$dropdown-link-active-color: $component-active-color !default; -//** Active dropdown menu item background color. -$dropdown-link-active-bg: $component-active-bg !default; - -//** Disabled dropdown menu item background color. -$dropdown-link-disabled-color: $gray-light !default; - -//** Text color for headers within dropdown menus. -$dropdown-header-color: $gray-light !default; - -// Note: Deprecated $dropdown-caret-color as of v3.1.0 -$dropdown-caret-color: #000 !default; - - -//-- Z-index master list -// -// Warning: Avoid customizing these values. They're used for a bird's eye view -// of components dependent on the z-axis and are designed to all work together. -// -// Note: These variables are not generated into the Customizer. - -$zindex-navbar: 1000 !default; -$zindex-dropdown: 1000 !default; -$zindex-popover: 1010 !default; -$zindex-tooltip: 1030 !default; -$zindex-navbar-fixed: 1030 !default; -$zindex-modal-background: 1040 !default; -$zindex-modal: 1050 !default; - - -//== Media queries breakpoints -// -//## Define the breakpoints at which your layout will change, adapting to different screen sizes. - -// Extra small screen / phone -// Note: Deprecated $screen-xs and $screen-phone as of v3.0.1 -$screen-xs: 480px !default; -$screen-xs-min: $screen-xs !default; -$screen-phone: $screen-xs-min !default; - -// Small screen / tablet -// Note: Deprecated $screen-sm and $screen-tablet as of v3.0.1 -$screen-sm: 768px !default; -$screen-sm-min: $screen-sm !default; -$screen-tablet: $screen-sm-min !default; - -// Medium screen / desktop -// Note: Deprecated $screen-md and $screen-desktop as of v3.0.1 -$screen-md: 992px !default; -$screen-md-min: $screen-md !default; -$screen-desktop: $screen-md-min !default; - -// Large screen / wide desktop -// Note: Deprecated $screen-lg and $screen-lg-desktop as of v3.0.1 -$screen-lg: 1200px !default; -$screen-lg-min: $screen-lg !default; -$screen-lg-desktop: $screen-lg-min !default; - -// So media queries don't overlap when required, provide a maximum -$screen-xs-max: ($screen-sm-min - 1) !default; -$screen-sm-max: ($screen-md-min - 1) !default; -$screen-md-max: ($screen-lg-min - 1) !default; - - -//== Grid system -// -//## Define your custom responsive grid. - -//** Number of columns in the grid. -$grid-columns: 12 !default; -//** Padding between columns. Gets divided in half for the left and right. -$grid-gutter-width: 30px !default; -// Navbar collapse -//** Point at which the navbar becomes uncollapsed. -$grid-float-breakpoint: $screen-sm-min !default; -//** Point at which the navbar begins collapsing. -$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default; - - -//== Container sizes -// -//## Define the maximum width of `.container` for different screen sizes. - -// Small screen / tablet -$container-tablet: ((720px + $grid-gutter-width)) !default; -//** For `$screen-sm-min` and up. -$container-sm: $container-tablet !default; - -// Medium screen / desktop -$container-desktop: ((940px + $grid-gutter-width)) !default; -//** For `$screen-md-min` and up. -$container-md: $container-desktop !default; - -// Large screen / wide desktop -$container-large-desktop: ((1140px + $grid-gutter-width)) !default; -//** For `$screen-lg-min` and up. -$container-lg: $container-large-desktop !default; - - -//== Navbar -// -//## - -// Basics of a navbar -$navbar-height: 50px !default; -$navbar-margin-bottom: $line-height-computed !default; -$navbar-border-radius: $border-radius-base !default; -$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default; -$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default; -$navbar-collapse-max-height: 340px !default; - -$navbar-default-color: #777 !default; -$navbar-default-bg: #f8f8f8 !default; -$navbar-default-border: darken($navbar-default-bg, 6.5%) !default; - -// Navbar links -$navbar-default-link-color: #777 !default; -$navbar-default-link-hover-color: #333 !default; -$navbar-default-link-hover-bg: transparent !default; -$navbar-default-link-active-color: #555 !default; -$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default; -$navbar-default-link-disabled-color: #ccc !default; -$navbar-default-link-disabled-bg: transparent !default; - -// Navbar brand label -$navbar-default-brand-color: $navbar-default-link-color !default; -$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default; -$navbar-default-brand-hover-bg: transparent !default; - -// Navbar toggle -$navbar-default-toggle-hover-bg: #ddd !default; -$navbar-default-toggle-icon-bar-bg: #888 !default; -$navbar-default-toggle-border-color: #ddd !default; - - -// Inverted navbar -// Reset inverted navbar basics -$navbar-inverse-color: $gray-light !default; -$navbar-inverse-bg: #222 !default; -$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default; - -// Inverted navbar links -$navbar-inverse-link-color: $gray-light !default; -$navbar-inverse-link-hover-color: #fff !default; -$navbar-inverse-link-hover-bg: transparent !default; -$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default; -$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default; -$navbar-inverse-link-disabled-color: #444 !default; -$navbar-inverse-link-disabled-bg: transparent !default; - -// Inverted navbar brand label -$navbar-inverse-brand-color: $navbar-inverse-link-color !default; -$navbar-inverse-brand-hover-color: #fff !default; -$navbar-inverse-brand-hover-bg: transparent !default; - -// Inverted navbar toggle -$navbar-inverse-toggle-hover-bg: #333 !default; -$navbar-inverse-toggle-icon-bar-bg: #fff !default; -$navbar-inverse-toggle-border-color: #333 !default; - - -//== Navs -// -//## - -//=== Shared nav styles -$nav-link-padding: 10px 15px !default; -$nav-link-hover-bg: $gray-lighter !default; - -$nav-disabled-link-color: $gray-light !default; -$nav-disabled-link-hover-color: $gray-light !default; - -$nav-open-link-hover-color: #fff !default; - -//== Tabs -$nav-tabs-border-color: #ddd !default; - -$nav-tabs-link-hover-border-color: $gray-lighter !default; - -$nav-tabs-active-link-hover-bg: $body-bg !default; -$nav-tabs-active-link-hover-color: $gray !default; -$nav-tabs-active-link-hover-border-color: #ddd !default; - -$nav-tabs-justified-link-border-color: #ddd !default; -$nav-tabs-justified-active-link-border-color: $body-bg !default; - -//== Pills -$nav-pills-border-radius: $border-radius-base !default; -$nav-pills-active-link-hover-bg: $component-active-bg !default; -$nav-pills-active-link-hover-color: $component-active-color !default; - - -//== Pagination -// -//## - -$pagination-color: $link-color !default; -$pagination-bg: #fff !default; -$pagination-border: #ddd !default; - -$pagination-hover-color: $link-hover-color !default; -$pagination-hover-bg: $gray-lighter !default; -$pagination-hover-border: #ddd !default; - -$pagination-active-color: #fff !default; -$pagination-active-bg: $brand-primary !default; -$pagination-active-border: $brand-primary !default; - -$pagination-disabled-color: $gray-light !default; -$pagination-disabled-bg: #fff !default; -$pagination-disabled-border: #ddd !default; - - -//== Pager -// -//## - -$pager-bg: $pagination-bg !default; -$pager-border: $pagination-border !default; -$pager-border-radius: 15px !default; - -$pager-hover-bg: $pagination-hover-bg !default; - -$pager-active-bg: $pagination-active-bg !default; -$pager-active-color: $pagination-active-color !default; - -$pager-disabled-color: $pagination-disabled-color !default; - - -//== Jumbotron -// -//## - -$jumbotron-padding: 30px !default; -$jumbotron-color: inherit !default; -$jumbotron-bg: $gray-lighter !default; -$jumbotron-heading-color: inherit !default; -$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default; - - -//== Form states and alerts -// -//## Define colors for form feedback states and, by default, alerts. - -$state-success-text: #3c763d !default; -$state-success-bg: #dff0d8 !default; -$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default; - -$state-info-text: #31708f !default; -$state-info-bg: #d9edf7 !default; -$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default; - -$state-warning-text: #8a6d3b !default; -$state-warning-bg: #fcf8e3 !default; -$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default; - -$state-danger-text: #a94442 !default; -$state-danger-bg: #f2dede !default; -$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default; - - -//== Tooltips -// -//## - -//** Tooltip max width -$tooltip-max-width: 200px !default; -//** Tooltip text color -$tooltip-color: #fff !default; -//** Tooltip background color -$tooltip-bg: #000 !default; -$tooltip-opacity: .9 !default; - -//** Tooltip arrow width -$tooltip-arrow-width: 5px !default; -//** Tooltip arrow color -$tooltip-arrow-color: $tooltip-bg !default; - - -//== Popovers -// -//## - -//** Popover body background color -$popover-bg: #fff !default; -//** Popover maximum width -$popover-max-width: 276px !default; -//** Popover border color -$popover-border-color: rgba(0,0,0,.2) !default; -//** Popover fallback border color -$popover-fallback-border-color: #ccc !default; - -//** Popover title background color -$popover-title-bg: darken($popover-bg, 3%) !default; - -//** Popover arrow width -$popover-arrow-width: 10px !default; -//** Popover arrow color -$popover-arrow-color: #fff !default; - -//** Popover outer arrow width -$popover-arrow-outer-width: ($popover-arrow-width + 1) !default; -//** Popover outer arrow color -$popover-arrow-outer-color: fadein($popover-border-color, 5%) !default; -//** Popover outer arrow fallback color -$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default; - - -//== Labels -// -//## - -//** Default label background color -$label-default-bg: $gray-light !default; -//** Primary label background color -$label-primary-bg: $brand-primary !default; -//** Success label background color -$label-success-bg: $brand-success !default; -//** Info label background color -$label-info-bg: $brand-info !default; -//** Warning label background color -$label-warning-bg: $brand-warning !default; -//** Danger label background color -$label-danger-bg: $brand-danger !default; - -//** Default label text color -$label-color: #fff !default; -//** Default text color of a linked label -$label-link-hover-color: #fff !default; - - -//== Modals -// -//## - -//** Padding applied to the modal body -$modal-inner-padding: 20px !default; - -//** Padding applied to the modal title -$modal-title-padding: 15px !default; -//** Modal title line-height -$modal-title-line-height: $line-height-base !default; - -//** Background color of modal content area -$modal-content-bg: #fff !default; -//** Modal content border color -$modal-content-border-color: rgba(0,0,0,.2) !default; -//** Modal content border color **for IE8** -$modal-content-fallback-border-color: #999 !default; - -//** Modal backdrop background color -$modal-backdrop-bg: #000 !default; -//** Modal backdrop opacity -$modal-backdrop-opacity: .5 !default; -//** Modal header border color -$modal-header-border-color: #e5e5e5 !default; -//** Modal footer border color -$modal-footer-border-color: $modal-header-border-color !default; - -$modal-lg: 900px !default; -$modal-md: 600px !default; -$modal-sm: 300px !default; - - -//== Alerts -// -//## Define alert colors, border radius, and padding. - -$alert-padding: 15px !default; -$alert-border-radius: $border-radius-base !default; -$alert-link-font-weight: bold !default; - -$alert-success-bg: $state-success-bg !default; -$alert-success-text: $state-success-text !default; -$alert-success-border: $state-success-border !default; - -$alert-info-bg: $state-info-bg !default; -$alert-info-text: $state-info-text !default; -$alert-info-border: $state-info-border !default; - -$alert-warning-bg: $state-warning-bg !default; -$alert-warning-text: $state-warning-text !default; -$alert-warning-border: $state-warning-border !default; - -$alert-danger-bg: $state-danger-bg !default; -$alert-danger-text: $state-danger-text !default; -$alert-danger-border: $state-danger-border !default; - - -//== Progress bars -// -//## - -//** Background color of the whole progress component -$progress-bg: #f5f5f5 !default; -//** Progress bar text color -$progress-bar-color: #fff !default; - -//** Default progress bar color -$progress-bar-bg: $brand-primary !default; -//** Success progress bar color -$progress-bar-success-bg: $brand-success !default; -//** Warning progress bar color -$progress-bar-warning-bg: $brand-warning !default; -//** Danger progress bar color -$progress-bar-danger-bg: $brand-danger !default; -//** Info progress bar color -$progress-bar-info-bg: $brand-info !default; - - -//== List group -// -//## - -//** Background color on `.list-group-item` -$list-group-bg: #fff !default; -//** `.list-group-item` border color -$list-group-border: #ddd !default; -//** List group border radius -$list-group-border-radius: $border-radius-base !default; - -//** Background color of single list elements on hover -$list-group-hover-bg: #f5f5f5 !default; -//** Text color of active list elements -$list-group-active-color: $component-active-color !default; -//** Background color of active list elements -$list-group-active-bg: $component-active-bg !default; -//** Border color of active list elements -$list-group-active-border: $list-group-active-bg !default; -$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default; - -$list-group-link-color: #555 !default; -$list-group-link-heading-color: #333 !default; - - -//== Panels -// -//## - -$panel-bg: #fff !default; -$panel-body-padding: 15px !default; -$panel-border-radius: $border-radius-base !default; - -//** Border color for elements within panels -$panel-inner-border: #ddd !default; -$panel-footer-bg: #f5f5f5 !default; - -$panel-default-text: $gray-dark !default; -$panel-default-border: #ddd !default; -$panel-default-heading-bg: #f5f5f5 !default; - -$panel-primary-text: #fff !default; -$panel-primary-border: $brand-primary !default; -$panel-primary-heading-bg: $brand-primary !default; - -$panel-success-text: $state-success-text !default; -$panel-success-border: $state-success-border !default; -$panel-success-heading-bg: $state-success-bg !default; - -$panel-info-text: $state-info-text !default; -$panel-info-border: $state-info-border !default; -$panel-info-heading-bg: $state-info-bg !default; - -$panel-warning-text: $state-warning-text !default; -$panel-warning-border: $state-warning-border !default; -$panel-warning-heading-bg: $state-warning-bg !default; - -$panel-danger-text: $state-danger-text !default; -$panel-danger-border: $state-danger-border !default; -$panel-danger-heading-bg: $state-danger-bg !default; - - -//== Thumbnails -// -//## - -//** Padding around the thumbnail image -$thumbnail-padding: 4px !default; -//** Thumbnail background color -$thumbnail-bg: $body-bg !default; -//** Thumbnail border color -$thumbnail-border: #ddd !default; -//** Thumbnail border radius -$thumbnail-border-radius: $border-radius-base !default; - -//** Custom text color for thumbnail captions -$thumbnail-caption-color: $text-color !default; -//** Padding around the thumbnail caption -$thumbnail-caption-padding: 9px !default; - - -//== Wells -// -//## - -$well-bg: #f5f5f5 !default; -$well-border: darken($well-bg, 7%) !default; - - -//== Badges -// -//## - -$badge-color: #fff !default; -//** Linked badge text color on hover -$badge-link-hover-color: #fff !default; -$badge-bg: $gray-light !default; - -//** Badge text color in active nav link -$badge-active-color: $link-color !default; -//** Badge background color in active nav link -$badge-active-bg: #fff !default; - -$badge-font-weight: bold !default; -$badge-line-height: 1 !default; -$badge-border-radius: 10px !default; - - -//== Breadcrumbs -// -//## - -$breadcrumb-padding-vertical: 8px !default; -$breadcrumb-padding-horizontal: 15px !default; -//** Breadcrumb background color -$breadcrumb-bg: #f5f5f5 !default; -//** Breadcrumb text color -$breadcrumb-color: #ccc !default; -//** Text color of current page in the breadcrumb -$breadcrumb-active-color: $gray-light !default; -//** Textual separator for between breadcrumb elements -$breadcrumb-separator: "/" !default; - - -//== Carousel -// -//## - -$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default; - -$carousel-control-color: #fff !default; -$carousel-control-width: 15% !default; -$carousel-control-opacity: .5 !default; -$carousel-control-font-size: 20px !default; - -$carousel-indicator-active-bg: #fff !default; -$carousel-indicator-border-color: #fff !default; - -$carousel-caption-color: #fff !default; - - -//== Close -// -//## - -$close-font-weight: bold !default; -$close-color: #000 !default; -$close-text-shadow: 0 1px 0 #fff !default; - - -//== Code -// -//## - -$code-color: #c7254e !default; -$code-bg: #f9f2f4 !default; - -$kbd-color: #fff !default; -$kbd-bg: #333 !default; - -$pre-bg: #f5f5f5 !default; -$pre-color: $gray-dark !default; -$pre-border-color: #ccc !default; -$pre-scrollable-max-height: 340px !default; - - -//== Type -// -//## - -//** Text muted color -$text-muted: $gray-light !default; -//** Abbreviations and acronyms border color -$abbr-border-color: $gray-light !default; -//** Headings small color -$headings-small-color: $gray-light !default; -//** Blockquote small color -$blockquote-small-color: $gray-light !default; -//** Blockquote font size -$blockquote-font-size: ($font-size-base * 1.25) !default; -//** Blockquote border color -$blockquote-border-color: $gray-lighter !default; -//** Page header border color -$page-header-border-color: $gray-lighter !default; - - -//== Miscellaneous -// -//## - -//** Horizontal line color. -$hr-border: $gray-lighter !default; - -//** Horizontal offset for forms and lists. -$component-offset-horizontal: 180px !default; diff --git a/themes/bootstrap3/scss/bootstrap/_wells.scss b/themes/bootstrap3/scss/bootstrap/_wells.scss deleted file mode 100644 index b8657118a661cfb1f6119f7dccb169db06e4cd04..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/_wells.scss +++ /dev/null @@ -1,29 +0,0 @@ -// -// Wells -// -------------------------------------------------- - - -// Base class -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: $well-bg; - border: 1px solid $well-border; - border-radius: $border-radius-base; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); - blockquote { - border-color: #ddd; - border-color: rgba(0,0,0,.15); - } -} - -// Sizes -.well-lg { - padding: 24px; - border-radius: $border-radius-large; -} -.well-sm { - padding: 9px; - border-radius: $border-radius-small; -} diff --git a/themes/bootstrap3/scss/bootstrap/bootstrap.scss b/themes/bootstrap3/scss/bootstrap/bootstrap.scss deleted file mode 100644 index 48da226e1fc7e5c1b60b11ee0ce346b6523a3250..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/bootstrap/bootstrap.scss +++ /dev/null @@ -1,50 +0,0 @@ -// Core variables and mixins -@import "variables"; -@import "mixins"; -@import "../a11y"; - -// Reset -@import "normalize"; -@import "print"; - -// Core CSS -@import "scaffolding"; -@import "type"; -@import "code"; -@import "grid"; -@import "tables"; -@import "forms"; -@import "buttons"; - -// Components -@import "component-animations"; -@import "glyphicons"; -@import "dropdowns"; -@import "button-groups"; -@import "input-groups"; -@import "navs"; -@import "navbar"; -@import "breadcrumbs"; -@import "pagination"; -@import "pager"; -@import "labels"; -@import "badges"; -@import "jumbotron"; -@import "thumbnails"; -@import "alerts"; -@import "progress-bars"; -@import "media"; -@import "list-group"; -@import "panels"; -@import "wells"; -@import "close"; - -// Components w/ JavaScript -@import "modals"; -@import "tooltip"; -@import "popovers"; -@import "carousel"; - -// Utility classes -@import "utilities"; -@import "responsive-utilities"; diff --git a/themes/bootstrap3/scss/compiled.scss b/themes/bootstrap3/scss/compiled.scss deleted file mode 100644 index b0692d898a36e6b48de6304e7dca597a249904c6..0000000000000000000000000000000000000000 --- a/themes/bootstrap3/scss/compiled.scss +++ /dev/null @@ -1 +0,0 @@ -@import "bootstrap"; \ No newline at end of file diff --git a/themes/bootstrap3/theme.config.php b/themes/bootstrap3/theme.config.php index 1bab58c411da3bd9610b0860db2e0f418d6b1fb7..fa39f1f013d761d8e9369457d5fc5dc90f6e256c 100644 --- a/themes/bootstrap3/theme.config.php +++ b/themes/bootstrap3/theme.config.php @@ -23,10 +23,6 @@ return array( 'active' => false, 'compiled.less' ), - 'scss' => array( - 'active' => false, - 'compiled.scss' - ), 'favicon' => 'vufind-favicon.ico', 'helpers' => array( 'factories' => array( diff --git a/vendor/autoload.php b/vendor/autoload.php index e10403182216dfb0cd1eb74ac6c7ed74d9c8e3a2..b65f70f1ccebbd8bb3ff500629bfefeacef8c4a8 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInit10fa56f5866e8fd06c4858e28b252536::getLoader(); +return ComposerAutoloaderInite187e8e8985b1108048a87b08c32b59c::getLoader(); diff --git a/vendor/bin/composer-php b/vendor/bin/composer-php new file mode 100755 index 0000000000000000000000000000000000000000..7e89815c5aee9c652847c03a602c5c2b326bef96 --- /dev/null +++ b/vendor/bin/composer-php @@ -0,0 +1,15 @@ +#!/usr/bin/env sh +SRC_DIR=`pwd` +BIN_DIR=`dirname $0` +VENDOR_DIR=$BIN_DIR/'../' +DIRS="" +for vendor in $VENDOR_DIR/*; do + if [ -d "$vendor" ]; then + for package in $vendor/*; do + if [ -d "$package" ]; then + DIRS="${DIRS}:${package}" + fi + done + fi +done +php -d include_path=".$DIRS" $@ diff --git a/vendor/bin/composer-php.bat b/vendor/bin/composer-php.bat new file mode 100755 index 0000000000000000000000000000000000000000..68cd54e4f5c7f277a64d3854e6ba00ccd7088e3a --- /dev/null +++ b/vendor/bin/composer-php.bat @@ -0,0 +1,11 @@ +@echo off +setlocal enabledelayedexpansion +set BIN_DIR=%~dp0 +set VENDOR_DIR=%BIN_DIR%\../ +set DIRS=. +FOR /D %%V IN (%VENDOR_DIR%\*) DO ( + FOR /D %%P IN (%%V\*) DO ( + set DIRS=!DIRS!;%%~fP + ) +) +php.exe -d include_path=!DIRS! %* diff --git a/vendor/bin/pear b/vendor/bin/pear new file mode 120000 index 0000000000000000000000000000000000000000..6f7b00ad25eef7fac8ab6d595a0e078e265fbd5d --- /dev/null +++ b/vendor/bin/pear @@ -0,0 +1 @@ +../pear-pear.php.net/PEAR/bin/pear \ No newline at end of file diff --git a/vendor/bin/peardev b/vendor/bin/peardev new file mode 120000 index 0000000000000000000000000000000000000000..215e9e41781cb30b51c72469f29dce8796b90d7a --- /dev/null +++ b/vendor/bin/peardev @@ -0,0 +1 @@ +../pear-pear.php.net/PEAR/bin/peardev \ No newline at end of file diff --git a/vendor/bin/pecl b/vendor/bin/pecl new file mode 120000 index 0000000000000000000000000000000000000000..d9e0043a9a99b7f67ca5fa9b4a32de42c4d6908b --- /dev/null +++ b/vendor/bin/pecl @@ -0,0 +1 @@ +../pear-pear.php.net/PEAR/bin/pecl \ No newline at end of file diff --git a/vendor/bin/pscss b/vendor/bin/pscss deleted file mode 120000 index 9e42e1021c6d5c48fabfd5184711836a7ec58ea3..0000000000000000000000000000000000000000 --- a/vendor/bin/pscss +++ /dev/null @@ -1 +0,0 @@ -../leafo/scssphp/pscss \ No newline at end of file diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 88684c52657173a7b2f321351c169ca0e08972a4..443364959a541bf85ac0e77476f1ded4feb93747 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -143,6 +143,8 @@ class ClassLoader * @param string $prefix The prefix/namespace, with trailing '\\' * @param array|string $paths The PSR-0 base directories * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException */ public function addPsr4($prefix, $paths, $prepend = false) { @@ -204,6 +206,8 @@ class ClassLoader * * @param string $prefix The prefix/namespace, with trailing '\\' * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException */ public function setPsr4($prefix, $paths) { diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index b85040cdb10cc75e5ae89e50c868571984623608..978e3e4986301ba1be35fec443a7dce5dbd2e83b 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -144,12 +144,6 @@ return array( 'XML_Util' => $vendorDir . '/pear-pear.php.net/XML_Util/XML/Util.php', 'lessc' => $vendorDir . '/oyejorge/less.php/lessc.inc.php', 'phpCAS' => $vendorDir . '/jasig/phpcas/source/CAS.php', - 'scss_formatter' => $vendorDir . '/leafo/scssphp/scss.inc.php', - 'scss_formatter_compressed' => $vendorDir . '/leafo/scssphp/scss.inc.php', - 'scss_formatter_nested' => $vendorDir . '/leafo/scssphp/scss.inc.php', - 'scss_parser' => $vendorDir . '/leafo/scssphp/scss.inc.php', - 'scss_server' => $vendorDir . '/leafo/scssphp/scss.inc.php', - 'scssc' => $vendorDir . '/leafo/scssphp/scss.inc.php', 'sip2' => $vendorDir . '/johnwohlers/sip2/sip2.class.php', 'uagent_info' => $vendorDir . '/mobileesp/mdetect/mdetect.php', ); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index dabcd65d86a00009aae1be643ac0e59ad5850b02..ae133de9471deb2becd19f709743e1f8345827c5 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit10fa56f5866e8fd06c4858e28b252536 +class ComposerAutoloaderInite187e8e8985b1108048a87b08c32b59c { private static $loader; @@ -19,9 +19,9 @@ class ComposerAutoloaderInit10fa56f5866e8fd06c4858e28b252536 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit10fa56f5866e8fd06c4858e28b252536', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInite187e8e8985b1108048a87b08c32b59c', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit10fa56f5866e8fd06c4858e28b252536', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInite187e8e8985b1108048a87b08c32b59c', 'loadClassLoader')); $includePaths = require __DIR__ . '/include_paths.php'; array_push($includePaths, get_include_path()); @@ -48,7 +48,7 @@ class ComposerAutoloaderInit10fa56f5866e8fd06c4858e28b252536 } } -function composerRequire10fa56f5866e8fd06c4858e28b252536($file) +function composerRequiree187e8e8985b1108048a87b08c32b59c($file) { require $file; } diff --git a/vendor/composer/include_paths.php b/vendor/composer/include_paths.php index 7640dd1f24f91fe10910beb87a5a969432f829f8..0492372701f183fffbe352fdeb8a743d06bb77cb 100644 --- a/vendor/composer/include_paths.php +++ b/vendor/composer/include_paths.php @@ -9,9 +9,9 @@ return array( $vendorDir . '/pear-pear.php.net/Console_Getopt', $vendorDir . '/pear-pear.php.net/Structures_Graph', $vendorDir . '/pear-pear.php.net/Archive_Tar', - $vendorDir . '/pear-pear.php.net/PEAR', $vendorDir . '/pear-pear.php.net/Validate', $vendorDir . '/pear-pear.php.net/Validate_ISPN', $vendorDir . '/pear-pear.php.net/File_MARC', $vendorDir . '/pear-pear.php.net/XML_Util', + $vendorDir . '/pear-pear.php.net/PEAR', ); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 675ea822f032a0f30b23f0bec832b2d8006fae7c..7901c0fab01270bd7df213df43b0d7a2c295f450 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -101,44 +101,6 @@ ], "description": "This class provides handling of tar files in PHP.\nIt supports creating, listing, extracting and adding to tar files.\nGzip support is available if PHP has the zlib extension built-in or\nloaded. Bz2 compression is also supported with the bz2 extension loaded." }, - { - "name": "pear-pear.php.net/PEAR", - "version": "1.9.4", - "version_normalized": "1.9.4.0", - "dist": { - "type": "file", - "url": "http://pear.php.net/get/PEAR-1.9.4.tgz", - "reference": null, - "shasum": null - }, - "require": { - "ext-pcre": "*", - "ext-xml": "*", - "pear-pear.php.net/archive_tar": ">=1.3.7.0", - "pear-pear.php.net/console_getopt": ">=1.2.0.0", - "pear-pear.php.net/structures_graph": ">=1.0.2.0", - "pear-pear.php.net/xml_util": ">=1.2.0.0", - "php": ">=4.4.0.0,!=5.0.0.0,!=5.1.0.0,!=5.1.1.0,!=5.1.2.0,!=5.1.3.0,!=5.1.4.0,!=5.1.5.0" - }, - "conflict": { - "pear-pear.php.net/pear_frontend_gtk": "<0.4.0.0", - "pear-pear.php.net/pear_frontend_web": "<=0.4.0.0" - }, - "replace": { - "pear-pear/pear": "== 1.9.4.0" - }, - "type": "pear-library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "" - ] - }, - "include-path": [ - "/" - ], - "description": "The PEAR package contains:\n * the PEAR installer, for creating, distributing\n and installing packages\n * the PEAR_Exception PHP5 error handling mechanism\n * the PEAR_ErrorStack advanced error handling mechanism\n * the PEAR_Error error handling mechanism\n * the OS_Guess class for retrieving info about the OS\n where PHP is running on\n * the System class for quick handling of common operations\n with files and directories\n * the PEAR base class\n Features in a nutshell:\n * full support for channels\n * pre-download dependency validation\n * new package.xml 2.0 format allows tremendous flexibility while maintaining BC\n * support for optional dependency groups and limited support for sub-packaging\n * robust dependency support\n * full dependency validation on uninstall\n * remote install for hosts with only ftp access - no more problems with\n restricted host installation\n * full support for mirroring\n * support for bundling several packages into a single tarball\n * support for static dependencies on a url-based package\n * support for custom file roles and installation tasks" - }, { "name": "pear-pear.php.net/Validate", "version": "0.8.5", @@ -630,57 +592,6 @@ "issues": "https://github.com/zendframework/ZendService_ReCaptcha/issues" } }, - { - "name": "symfony/yaml", - "version": "v2.5.0", - "version_normalized": "2.5.0.0", - "target-dir": "Symfony/Component/Yaml", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "b4b09c68ec2f2727574544ef0173684281a5033c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/b4b09c68ec2f2727574544ef0173684281a5033c", - "reference": "b4b09c68ec2f2727574544ef0173684281a5033c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2014-05-16 14:25:18", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com" - }, { "name": "pear-pear.php.net/XML_Util", "version": "1.2.3", @@ -763,54 +674,6 @@ "issues": "https://github.com/Jasig/phpCAS/issues" } }, - { - "name": "leafo/scssphp", - "version": "0.0.10", - "version_normalized": "0.0.10.0", - "source": { - "type": "git", - "url": "https://github.com/leafo/scssphp.git", - "reference": "558357feceb9b932a192966945904414dc372e4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/leafo/scssphp/zipball/558357feceb9b932a192966945904414dc372e4d", - "reference": "558357feceb9b932a192966945904414dc372e4d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": "3.7.*" - }, - "time": "2014-04-15 02:25:09", - "bin": [ - "pscss" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "scss.inc.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT", - "GPL-3.0" - ], - "authors": [ - { - "name": "Leaf Corcoran", - "email": "leafot@gmail.com", - "homepage": "http://leafo.net" - } - ], - "description": "scssphp is a compiler for SCSS written in PHP.", - "homepage": "http://leafo.net/scssphp/" - }, { "name": "oyejorge/less.php", "version": "v1.7.0.2", @@ -889,5 +752,94 @@ "/" ] } + }, + { + "name": "pear-pear.php.net/PEAR", + "version": "1.9.5", + "version_normalized": "1.9.5.0", + "dist": { + "type": "file", + "url": "http://pear.php.net/get/PEAR-1.9.5.tgz", + "reference": null, + "shasum": null + }, + "require": { + "ext-pcre": "*", + "ext-xml": "*", + "pear-pear.php.net/archive_tar": ">=1.3.11.0", + "pear-pear.php.net/console_getopt": ">=1.2.0.0", + "pear-pear.php.net/structures_graph": ">=1.0.2.0", + "pear-pear.php.net/xml_util": ">=1.2.0.0", + "php": ">=4.4.0.0,!=5.0.0.0,!=5.1.0.0,!=5.1.1.0,!=5.1.2.0,!=5.1.3.0,!=5.1.4.0,!=5.1.5.0" + }, + "conflict": { + "pear-pear.php.net/pear_frontend_gtk": "<0.4.0.0", + "pear-pear.php.net/pear_frontend_web": "<=0.4.0.0" + }, + "replace": { + "pear-pear/pear": "== 1.9.5.0" + }, + "type": "pear-library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "" + ] + }, + "include-path": [ + "/" + ], + "description": "The PEAR package contains:\n * the PEAR installer, for creating, distributing\n and installing packages\n * the PEAR_Exception PHP5 error handling mechanism\n * the PEAR_ErrorStack advanced error handling mechanism\n * the PEAR_Error error handling mechanism\n * the OS_Guess class for retrieving info about the OS\n where PHP is running on\n * the System class for quick handling of common operations\n with files and directories\n * the PEAR base class\n Features in a nutshell:\n * full support for channels\n * pre-download dependency validation\n * new package.xml 2.0 format allows tremendous flexibility while maintaining BC\n * support for optional dependency groups and limited support for sub-packaging\n * robust dependency support\n * full dependency validation on uninstall\n * remote install for hosts with only ftp access - no more problems with\n restricted host installation\n * full support for mirroring\n * support for bundling several packages into a single tarball\n * support for static dependencies on a url-based package\n * support for custom file roles and installation tasks" + }, + { + "name": "symfony/yaml", + "version": "v2.5.2", + "version_normalized": "2.5.2.0", + "target-dir": "Symfony/Component/Yaml", + "source": { + "type": "git", + "url": "https://github.com/symfony/Yaml.git", + "reference": "f868ecdbcc0276b6158dfbf08b9e98ce07f014e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/f868ecdbcc0276b6158dfbf08b9e98ce07f014e1", + "reference": "f868ecdbcc0276b6158dfbf08b9e98ce07f014e1", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "time": "2014-07-09 09:05:48", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Symfony\\Component\\Yaml\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "http://symfony.com" } ] diff --git a/vendor/leafo/scssphp/.gitignore b/vendor/leafo/scssphp/.gitignore deleted file mode 100644 index 04d6f4ba0e56de38505b9d4db58e422961cb1415..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/*.scss -/*.css -.sass-cache -/sass/ -/compass/ diff --git a/vendor/leafo/scssphp/.travis.yml b/vendor/leafo/scssphp/.travis.yml deleted file mode 100644 index 7f8a9268ca243bcc873d676f238a60112842d49f..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: php -script: phpunit tests -php: - - 5.3 - - 5.4 - - 5.5 diff --git a/vendor/leafo/scssphp/LICENSE.md b/vendor/leafo/scssphp/LICENSE.md deleted file mode 100644 index 7eced0619ec08caac9ce24bfbaafcaf402e1ed9e..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/LICENSE.md +++ /dev/null @@ -1,660 +0,0 @@ -For ease of distribution, scssphp is available under a dual license. -You are free to pick which one suits your needs. - -* * * - - -MIT LICENSE - - - - -Copyright (c) 2012 Leaf Corcoran, http://leafo.net/scssphp - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* * * - - -GPL VERSION 3 - - - - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - diff --git a/vendor/leafo/scssphp/Makefile b/vendor/leafo/scssphp/Makefile deleted file mode 100644 index 7b72c70f29cc5c1c15277754133a6ced2d2cdc3d..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/Makefile +++ /dev/null @@ -1,3 +0,0 @@ - -test: - phpunit --colors tests \ No newline at end of file diff --git a/vendor/leafo/scssphp/README.md b/vendor/leafo/scssphp/README.md deleted file mode 100644 index 8e557a6952b7f7481dfa49e0a06d0b790912a6c7..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# scssphp v0.0.10 -### <http://leafo.net/scssphp> - -[](http://travis-ci.org/leafo/scssphp) - -`scssphp` is a compiler for SCSS written in PHP. - -It implements SCSS 3.2.12. It does not implement the SASS syntax, only the SCSS -syntax. - -Checkout the homepage, <http://leafo.net/scssphp>, for directions on how to use. - -## Running Tests - -`scssphp` uses [PHPUnit](https://github.com/sebastianbergmann/phpunit) for testing. - -Run the following command from the root directory to run every test: - - phpunit tests - -There are two kinds of tests in the `tests/` directory: - -* `ApiTest.php` contains various unit tests that test the PHP interface. -* `ExceptionTest.php` contains unit tests that test for exceptions thrown by the parser and compiler. -* `InputTest.php` compiles every `.scss` file in the `tests/inputs` directory - then compares to the respective `.css` file in the `tests/outputs` directory. - -When changing any of the tests in `tests/inputs`, the tests will most likely -fail because the output has changed. Once you verify that the output is correct -you can run the following command to rebuild all the tests: - - BUILD=true phpunit tests - -This will compile all the tests, and save results into `tests/outputs`. diff --git a/vendor/leafo/scssphp/composer.json b/vendor/leafo/scssphp/composer.json deleted file mode 100644 index face95dadac7e711d0a8c964f44045f46f3fdb42..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "leafo/scssphp", - "type": "library", - "description": "scssphp is a compiler for SCSS written in PHP.", - "homepage": "http://leafo.net/scssphp/", - "license": [ - "MIT", - "GPL-3.0" - ], - "authors": [ - { - "name": "Leaf Corcoran", - "email": "leafot@gmail.com", - "homepage": "http://leafo.net" - } - ], - "autoload": { - "classmap": ["scss.inc.php"] - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": "3.7.*" - }, - "bin": ["pscss"] -} diff --git a/vendor/leafo/scssphp/package.sh b/vendor/leafo/scssphp/package.sh deleted file mode 100755 index 02a528dabf0939e451e868cbe9685da1e5aecc9b..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/package.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# creates tar.gz for current version - -TARGET_DIR="site/www/src" - -VERSION=`./pscss -v | sed -n 's/^v\(.*\)$/\1/p'` -OUT_DIR="tmp/scssphp" -TMP=`dirname $OUT_DIR` - -mkdir -p $OUT_DIR -tar -c `git ls-files` | tar -C $OUT_DIR -x - -rm $OUT_DIR/.gitignore -rm $OUT_DIR/package.sh -rm $OUT_DIR/todo -rm -r $OUT_DIR/site - -OUT_PATH="$TARGET_DIR/scssphp-$VERSION.tar.gz" -tar -czf "$OUT_PATH" -C $TMP scssphp/ -echo "Wrote $OUT_PATH" - -rm -r $TMP - diff --git a/vendor/leafo/scssphp/phpunit.xml.dist b/vendor/leafo/scssphp/phpunit.xml.dist deleted file mode 100644 index d320697e6a5e536a3c1a5293e55dacaf4676773d..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/phpunit.xml.dist +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html --> -<phpunit - backupGlobals = "false" - backupStaticAttributes = "false" - strict = "false" - colors = "true" - convertErrorsToExceptions = "true" - convertNoticesToExceptions = "true" - convertWarningsToExceptions = "true" - processIsolation = "false" - stopOnFailure = "false" - syntaxCheck = "false"> - - <testsuites> - <testsuite name="Project Test Suite"> - <directory>tests</directory> - </testsuite> - </testsuites> - - <filter> - <whitelist> - <directory>.</directory> - </whitelist> - </filter> - -</phpunit> diff --git a/vendor/leafo/scssphp/pscss b/vendor/leafo/scssphp/pscss deleted file mode 100755 index 97cbf95eb7bc5e7650289a270454d7e45de0636b..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/pscss +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env php -<?php -error_reporting(E_ALL); - -require "scss.inc.php"; - -$opts = getopt('hvTf:', array('help', 'version')); - -function has() { - global $opts; - foreach (func_get_args() as $arg) { - if (isset($opts[$arg])) return true; - } - return false; -} - -if (has("h", "help")) { - $exe = array_shift($argv); - -$HELP = <<<EOT -Usage: $exe [options] < input-file - -Options include: - - -h, --help Show this message - -v, --version Print the version - -f=format Set the output format - -T Dump formatted parse tree - -EOT; - exit($HELP); -} - -if (has("v", "version")) { - exit(scssc::$VERSION . "\n"); -} - -$data = ""; -while (!feof(STDIN)) { - $data .= fread(STDIN, 8192); -} - -if (has("T")) { - $parser = new scss_parser("STDIN"); - print_r($parser->parse($data)); - exit(); -} - -$scss = new scssc(); -if (has("f")) { - $scss->setFormatter($opts["f"]); -} -echo $scss->compile($data, "STDIN"); diff --git a/vendor/leafo/scssphp/scss.inc.php b/vendor/leafo/scssphp/scss.inc.php deleted file mode 100644 index efc19a8862488a3561e392fff3d8caed45a8f53a..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/scss.inc.php +++ /dev/null @@ -1,4441 +0,0 @@ -<?php -/** - * SCSS compiler written in PHP - * - * @copyright 2012-2013 Leaf Corcoran - * - * @license http://opensource.org/licenses/gpl-license GPL-3.0 - * @license http://opensource.org/licenses/MIT MIT - * - * @link http://leafo.net/scssphp - */ - -/** - * The scss compiler and parser. - * - * Converting SCSS to CSS is a three stage process. The incoming file is parsed - * by `scssc_parser` into a syntax tree, then it is compiled into another tree - * representing the CSS structure by `scssc`. The CSS tree is fed into a - * formatter, like `scssc_formatter` which then outputs CSS as a string. - * - * During the first compile, all values are *reduced*, which means that their - * types are brought to the lowest form before being dump as strings. This - * handles math equations, variable dereferences, and the like. - * - * The `parse` function of `scssc` is the entry point. - * - * In summary: - * - * The `scssc` class creates an instance of the parser, feeds it SCSS code, - * then transforms the resulting tree to a CSS tree. This class also holds the - * evaluation context, such as all available mixins and variables at any given - * time. - * - * The `scssc_parser` class is only concerned with parsing its input. - * - * The `scssc_formatter` takes a CSS tree, and dumps it to a formatted string, - * handling things like indentation. - */ - -/** - * SCSS compiler - * - * @author Leaf Corcoran <leafot@gmail.com> - */ -class scssc { - static public $VERSION = "v0.0.10"; - - static protected $operatorNames = array( - '+' => "add", - '-' => "sub", - '*' => "mul", - '/' => "div", - '%' => "mod", - - '==' => "eq", - '!=' => "neq", - '<' => "lt", - '>' => "gt", - - '<=' => "lte", - '>=' => "gte", - ); - - static protected $namespaces = array( - "special" => "%", - "mixin" => "@", - "function" => "^", - ); - - static protected $unitTable = array( - "in" => array( - "in" => 1, - "pt" => 72, - "pc" => 6, - "cm" => 2.54, - "mm" => 25.4, - "px" => 96, - ) - ); - - static public $true = array("keyword", "true"); - static public $false = array("keyword", "false"); - static public $null = array("null"); - - static public $defaultValue = array("keyword", ""); - static public $selfSelector = array("self"); - - protected $importPaths = array(""); - protected $importCache = array(); - - protected $userFunctions = array(); - - protected $numberPrecision = 5; - - protected $formatter = "scss_formatter_nested"; - - public function compile($code, $name=null) { - $this->indentLevel = -1; - $this->commentsSeen = array(); - $this->extends = array(); - $this->extendsMap = array(); - - $locale = setlocale(LC_NUMERIC, 0); - setlocale(LC_NUMERIC, "C"); - - $this->parsedFiles = array(); - $this->parser = new scss_parser($name); - $tree = $this->parser->parse($code); - - $this->formatter = new $this->formatter(); - - $this->env = null; - $this->scope = null; - - $this->compileRoot($tree); - - $out = $this->formatter->format($this->scope); - - setlocale(LC_NUMERIC, $locale); - return $out; - } - - protected function isSelfExtend($target, $origin) { - foreach ($origin as $sel) { - if (in_array($target, $sel)) { - return true; - } - } - - return false; - } - - protected function pushExtends($target, $origin) { - if ($this->isSelfExtend($target, $origin)) { - return; - } - - $i = count($this->extends); - $this->extends[] = array($target, $origin); - - foreach ($target as $part) { - if (isset($this->extendsMap[$part])) { - $this->extendsMap[$part][] = $i; - } else { - $this->extendsMap[$part] = array($i); - } - } - } - - protected function makeOutputBlock($type, $selectors = null) { - $out = new stdClass; - $out->type = $type; - $out->lines = array(); - $out->children = array(); - $out->parent = $this->scope; - $out->selectors = $selectors; - $out->depth = $this->env->depth; - - return $out; - } - - protected function matchExtendsSingle($single, &$outOrigin) { - $counts = array(); - foreach ($single as $part) { - if (!is_string($part)) return false; // hmm - - if (isset($this->extendsMap[$part])) { - foreach ($this->extendsMap[$part] as $idx) { - $counts[$idx] = - isset($counts[$idx]) ? $counts[$idx] + 1 : 1; - } - } - } - - $outOrigin = array(); - $found = false; - - foreach ($counts as $idx => $count) { - list($target, $origin) = $this->extends[$idx]; - - // check count - if ($count != count($target)) continue; - - // check if target is subset of single - if (array_diff(array_intersect($single, $target), $target)) continue; - - $rem = array_diff($single, $target); - - foreach ($origin as $j => $new) { - // prevent infinite loop when target extends itself - foreach ($new as $new_selector) { - if (!array_diff($single, $new_selector)) { - continue 2; - } - } - - $origin[$j][count($origin[$j]) - 1] = $this->combineSelectorSingle(end($new), $rem); - } - - $outOrigin = array_merge($outOrigin, $origin); - - $found = true; - } - - return $found; - } - - protected function combineSelectorSingle($base, $other) { - $tag = null; - $out = array(); - - foreach (array($base, $other) as $single) { - foreach ($single as $part) { - if (preg_match('/^[^\[.#:]/', $part)) { - $tag = $part; - } else { - $out[] = $part; - } - } - } - - if ($tag) { - array_unshift($out, $tag); - } - - return $out; - } - - protected function matchExtends($selector, &$out, $from = 0, $initial=true) { - foreach ($selector as $i => $part) { - if ($i < $from) continue; - - if ($this->matchExtendsSingle($part, $origin)) { - $before = array_slice($selector, 0, $i); - $after = array_slice($selector, $i + 1); - - foreach ($origin as $new) { - $k = 0; - - // remove shared parts - if ($initial) { - foreach ($before as $k => $val) { - if (!isset($new[$k]) || $val != $new[$k]) { - break; - } - } - } - - $result = array_merge( - $before, - $k > 0 ? array_slice($new, $k) : $new, - $after); - - - if ($result == $selector) continue; - $out[] = $result; - - // recursively check for more matches - $this->matchExtends($result, $out, $i, false); - - // selector sequence merging - if (!empty($before) && count($new) > 1) { - $result2 = array_merge( - array_slice($new, 0, -1), - $k > 0 ? array_slice($before, $k) : $before, - array_slice($new, -1), - $after); - - $out[] = $result2; - } - } - } - } - } - - protected function flattenSelectors($block, $parentKey = null) { - if ($block->selectors) { - $selectors = array(); - foreach ($block->selectors as $s) { - $selectors[] = $s; - if (!is_array($s)) continue; - // check extends - if (!empty($this->extendsMap)) { - $this->matchExtends($s, $selectors); - } - } - - $block->selectors = array(); - $placeholderSelector = false; - foreach ($selectors as $selector) { - if ($this->hasSelectorPlaceholder($selector)) { - $placeholderSelector = true; - continue; - } - $block->selectors[] = $this->compileSelector($selector); - } - - if ($placeholderSelector && 0 == count($block->selectors) && null !== $parentKey) { - unset($block->parent->children[$parentKey]); - return; - } - } - - foreach ($block->children as $key => $child) { - $this->flattenSelectors($child, $key); - } - } - - protected function compileRoot($rootBlock) { - $this->pushEnv($rootBlock); - $this->scope = $this->makeOutputBlock("root"); - - $this->compileChildren($rootBlock->children, $this->scope); - $this->flattenSelectors($this->scope); - - $this->popEnv(); - } - - protected function compileMedia($media) { - $this->pushEnv($media); - - $mediaQuery = $this->compileMediaQuery($this->multiplyMedia($this->env)); - - if (!empty($mediaQuery)) { - - $this->scope = $this->makeOutputBlock("media", array($mediaQuery)); - - $parentScope = $this->mediaParent($this->scope); - - $parentScope->children[] = $this->scope; - - // top level properties in a media cause it to be wrapped - $needsWrap = false; - foreach ($media->children as $child) { - $type = $child[0]; - if ($type !== 'block' && $type !== 'media' && $type !== 'directive') { - $needsWrap = true; - break; - } - } - - if ($needsWrap) { - $wrapped = (object)array( - "selectors" => array(), - "children" => $media->children - ); - $media->children = array(array("block", $wrapped)); - } - - $this->compileChildren($media->children, $this->scope); - - $this->scope = $this->scope->parent; - } - - $this->popEnv(); - } - - protected function mediaParent($scope) { - while (!empty($scope->parent)) { - if (!empty($scope->type) && $scope->type != "media") { - break; - } - $scope = $scope->parent; - } - - return $scope; - } - - // TODO refactor compileNestedBlock and compileMedia into same thing - protected function compileNestedBlock($block, $selectors) { - $this->pushEnv($block); - - $this->scope = $this->makeOutputBlock($block->type, $selectors); - $this->scope->parent->children[] = $this->scope; - $this->compileChildren($block->children, $this->scope); - - $this->scope = $this->scope->parent; - $this->popEnv(); - } - - /** - * Recursively compiles a block. - * - * A block is analogous to a CSS block in most cases. A single SCSS document - * is encapsulated in a block when parsed, but it does not have parent tags - * so all of its children appear on the root level when compiled. - * - * Blocks are made up of selectors and children. - * - * The children of a block are just all the blocks that are defined within. - * - * Compiling the block involves pushing a fresh environment on the stack, - * and iterating through the props, compiling each one. - * - * @see scss::compileChild() - * - * @param \StdClass $block - */ - protected function compileBlock($block) { - $env = $this->pushEnv($block); - - $env->selectors = - array_map(array($this, "evalSelector"), $block->selectors); - - $out = $this->makeOutputBlock(null, $this->multiplySelectors($env)); - $this->scope->children[] = $out; - $this->compileChildren($block->children, $out); - - $this->popEnv(); - } - - // joins together .classes and #ids - protected function flattenSelectorSingle($single) { - $joined = array(); - foreach ($single as $part) { - if (empty($joined) || - !is_string($part) || - preg_match('/[\[.:#%]/', $part)) - { - $joined[] = $part; - continue; - } - - if (is_array(end($joined))) { - $joined[] = $part; - } else { - $joined[count($joined) - 1] .= $part; - } - } - - return $joined; - } - - // replaces all the interpolates - protected function evalSelector($selector) { - return array_map(array($this, "evalSelectorPart"), $selector); - } - - protected function evalSelectorPart($piece) { - foreach ($piece as &$p) { - if (!is_array($p)) continue; - - switch ($p[0]) { - case "interpolate": - $p = $this->compileValue($p); - break; - case "string": - $p = $this->compileValue($p); - break; - } - } - - return $this->flattenSelectorSingle($piece); - } - - // compiles to string - // self(&) should have been replaced by now - protected function compileSelector($selector) { - if (!is_array($selector)) return $selector; // media and the like - - return implode(" ", array_map( - array($this, "compileSelectorPart"), $selector)); - } - - protected function compileSelectorPart($piece) { - foreach ($piece as &$p) { - if (!is_array($p)) continue; - - switch ($p[0]) { - case "self": - $p = "&"; - break; - default: - $p = $this->compileValue($p); - break; - } - } - - return implode($piece); - } - - protected function hasSelectorPlaceholder($selector) - { - if (!is_array($selector)) return false; - - foreach ($selector as $parts) { - foreach ($parts as $part) { - if ('%' == $part[0]) { - return true; - } - } - } - - return false; - } - - protected function compileChildren($stms, $out) { - foreach ($stms as $stm) { - $ret = $this->compileChild($stm, $out); - if (!is_null($ret)) return $ret; - } - } - - protected function compileMediaQuery($queryList) { - $out = "@media"; - $first = true; - foreach ($queryList as $query){ - $type = null; - $parts = array(); - foreach ($query as $q) { - switch ($q[0]) { - case "mediaType": - if ($type) { - $type = $this->mergeMediaTypes($type, array_map(array($this, "compileValue"), array_slice($q, 1))); - if (empty($type)) { // merge failed - return null; - } - } else { - $type = array_map(array($this, "compileValue"), array_slice($q, 1)); - } - break; - case "mediaExp": - if (isset($q[2])) { - $parts[] = "(". $this->compileValue($q[1]) . $this->formatter->assignSeparator . $this->compileValue($q[2]) . ")"; - } else { - $parts[] = "(" . $this->compileValue($q[1]) . ")"; - } - break; - } - } - if ($type) { - array_unshift($parts, implode(' ', array_filter($type))); - } - if (!empty($parts)) { - if ($first) { - $first = false; - $out .= " "; - } else { - $out .= $this->formatter->tagSeparator; - } - $out .= implode(" and ", $parts); - } - } - return $out; - } - - protected function mergeMediaTypes($type1, $type2) { - if (empty($type1)) { - return $type2; - } - if (empty($type2)) { - return $type1; - } - $m1 = ''; - $t1 = ''; - if (count($type1) > 1) { - $m1= strtolower($type1[0]); - $t1= strtolower($type1[1]); - } else { - $t1 = strtolower($type1[0]); - } - $m2 = ''; - $t2 = ''; - if (count($type2) > 1) { - $m2 = strtolower($type2[0]); - $t2 = strtolower($type2[1]); - } else { - $t2 = strtolower($type2[0]); - } - if (($m1 == 'not') ^ ($m2 == 'not')) { - if ($t1 == $t2) { - return null; - } - return array( - $m1 == 'not' ? $m2 : $m1, - $m1 == 'not' ? $t2 : $t1 - ); - } elseif ($m1 == 'not' && $m2 == 'not') { - # CSS has no way of representing "neither screen nor print" - if ($t1 != $t2) { - return null; - } - return array('not', $t1); - } elseif ($t1 != $t2) { - return null; - } else { // t1 == t2, neither m1 nor m2 are "not" - return array(empty($m1)? $m2 : $m1, $t1); - } - } - - // returns true if the value was something that could be imported - protected function compileImport($rawPath, $out) { - if ($rawPath[0] == "string") { - $path = $this->compileStringContent($rawPath); - if ($path = $this->findImport($path)) { - $this->importFile($path, $out); - return true; - } - return false; - } - if ($rawPath[0] == "list") { - // handle a list of strings - if (count($rawPath[2]) == 0) return false; - foreach ($rawPath[2] as $path) { - if ($path[0] != "string") return false; - } - - foreach ($rawPath[2] as $path) { - $this->compileImport($path, $out); - } - - return true; - } - - return false; - } - - // return a value to halt execution - protected function compileChild($child, $out) { - $this->sourcePos = isset($child[-1]) ? $child[-1] : -1; - $this->sourceParser = isset($child[-2]) ? $child[-2] : $this->parser; - - switch ($child[0]) { - case "import": - list(,$rawPath) = $child; - $rawPath = $this->reduce($rawPath); - if (!$this->compileImport($rawPath, $out)) { - $out->lines[] = "@import " . $this->compileValue($rawPath) . ";"; - } - break; - case "directive": - list(, $directive) = $child; - $s = "@" . $directive->name; - if (!empty($directive->value)) { - $s .= " " . $this->compileValue($directive->value); - } - $this->compileNestedBlock($directive, array($s)); - break; - case "media": - $this->compileMedia($child[1]); - break; - case "block": - $this->compileBlock($child[1]); - break; - case "charset": - $out->lines[] = "@charset ".$this->compileValue($child[1]).";"; - break; - case "assign": - list(,$name, $value) = $child; - if ($name[0] == "var") { - $isDefault = !empty($child[3]); - - if ($isDefault) { - $existingValue = $this->get($name[1], true); - $shouldSet = $existingValue === true || $existingValue == self::$null; - } - - if (!$isDefault || $shouldSet) { - $this->set($name[1], $this->reduce($value)); - } - break; - } - - // if the value reduces to null from something else then - // the property should be discarded - if ($value[0] != "null") { - $value = $this->reduce($value); - if ($value[0] == "null") { - break; - } - } - - $compiledValue = $this->compileValue($value); - $out->lines[] = $this->formatter->property( - $this->compileValue($name), - $compiledValue); - break; - case "comment": - $out->lines[] = $child[1]; - break; - case "mixin": - case "function": - list(,$block) = $child; - $this->set(self::$namespaces[$block->type] . $block->name, $block); - break; - case "extend": - list(, $selectors) = $child; - foreach ($selectors as $sel) { - // only use the first one - $sel = current($this->evalSelector($sel)); - $this->pushExtends($sel, $out->selectors); - } - break; - case "if": - list(, $if) = $child; - if ($this->isTruthy($this->reduce($if->cond, true))) { - return $this->compileChildren($if->children, $out); - } else { - foreach ($if->cases as $case) { - if ($case->type == "else" || - $case->type == "elseif" && $this->isTruthy($this->reduce($case->cond))) - { - return $this->compileChildren($case->children, $out); - } - } - } - break; - case "return": - return $this->reduce($child[1], true); - case "each": - list(,$each) = $child; - $list = $this->coerceList($this->reduce($each->list)); - foreach ($list[2] as $item) { - $this->pushEnv(); - $this->set($each->var, $item); - // TODO: allow return from here - $this->compileChildren($each->children, $out); - $this->popEnv(); - } - break; - case "while": - list(,$while) = $child; - while ($this->isTruthy($this->reduce($while->cond, true))) { - $ret = $this->compileChildren($while->children, $out); - if ($ret) return $ret; - } - break; - case "for": - list(,$for) = $child; - $start = $this->reduce($for->start, true); - $start = $start[1]; - $end = $this->reduce($for->end, true); - $end = $end[1]; - $d = $start < $end ? 1 : -1; - - while (true) { - if ((!$for->until && $start - $d == $end) || - ($for->until && $start == $end)) - { - break; - } - - $this->set($for->var, array("number", $start, "")); - $start += $d; - - $ret = $this->compileChildren($for->children, $out); - if ($ret) return $ret; - } - - break; - case "nestedprop": - list(,$prop) = $child; - $prefixed = array(); - $prefix = $this->compileValue($prop->prefix) . "-"; - foreach ($prop->children as $child) { - if ($child[0] == "assign") { - array_unshift($child[1][2], $prefix); - } - if ($child[0] == "nestedprop") { - array_unshift($child[1]->prefix[2], $prefix); - } - $prefixed[] = $child; - } - $this->compileChildren($prefixed, $out); - break; - case "include": // including a mixin - list(,$name, $argValues, $content) = $child; - $mixin = $this->get(self::$namespaces["mixin"] . $name, false); - if (!$mixin) { - $this->throwError("Undefined mixin $name"); - } - - $callingScope = $this->env; - - // push scope, apply args - $this->pushEnv(); - if ($this->env->depth > 0) { - $this->env->depth--; - } - - if (!is_null($content)) { - $content->scope = $callingScope; - $this->setRaw(self::$namespaces["special"] . "content", $content); - } - - if (!is_null($mixin->args)) { - $this->applyArguments($mixin->args, $argValues); - } - - foreach ($mixin->children as $child) { - $this->compileChild($child, $out); - } - - $this->popEnv(); - - break; - case "mixin_content": - $content = $this->get(self::$namespaces["special"] . "content"); - if (is_null($content)) { - $this->throwError("Expected @content inside of mixin"); - } - - $strongTypes = array('include', 'block', 'for', 'while'); - foreach ($content->children as $child) { - $this->storeEnv = (in_array($child[0], $strongTypes)) - ? null - : $content->scope; - - $this->compileChild($child, $out); - } - - unset($this->storeEnv); - break; - case "debug": - list(,$value, $pos) = $child; - $line = $this->parser->getLineNo($pos); - $value = $this->compileValue($this->reduce($value, true)); - fwrite(STDERR, "Line $line DEBUG: $value\n"); - break; - default: - $this->throwError("unknown child type: $child[0]"); - } - } - - protected function expToString($exp) { - list(, $op, $left, $right, $inParens, $whiteLeft, $whiteRight) = $exp; - $content = array($this->reduce($left)); - if ($whiteLeft) $content[] = " "; - $content[] = $op; - if ($whiteRight) $content[] = " "; - $content[] = $this->reduce($right); - return array("string", "", $content); - } - - protected function isTruthy($value) { - return $value != self::$false && $value != self::$null; - } - - // should $value cause its operand to eval - protected function shouldEval($value) { - switch ($value[0]) { - case "exp": - if ($value[1] == "/") { - return $this->shouldEval($value[2], $value[3]); - } - case "var": - case "fncall": - return true; - } - return false; - } - - protected function reduce($value, $inExp = false) { - list($type) = $value; - switch ($type) { - case "exp": - list(, $op, $left, $right, $inParens) = $value; - $opName = isset(self::$operatorNames[$op]) ? self::$operatorNames[$op] : $op; - - $inExp = $inExp || $this->shouldEval($left) || $this->shouldEval($right); - - $left = $this->reduce($left, true); - $right = $this->reduce($right, true); - - // only do division in special cases - if ($opName == "div" && !$inParens && !$inExp) { - if ($left[0] != "color" && $right[0] != "color") { - return $this->expToString($value); - } - } - - $left = $this->coerceForExpression($left); - $right = $this->coerceForExpression($right); - - $ltype = $left[0]; - $rtype = $right[0]; - - // this tries: - // 1. op_[op name]_[left type]_[right type] - // 2. op_[left type]_[right type] (passing the op as first arg - // 3. op_[op name] - $fn = "op_${opName}_${ltype}_${rtype}"; - if (is_callable(array($this, $fn)) || - (($fn = "op_${ltype}_${rtype}") && - is_callable(array($this, $fn)) && - $passOp = true) || - (($fn = "op_${opName}") && - is_callable(array($this, $fn)) && - $genOp = true)) - { - $unitChange = false; - if (!isset($genOp) && - $left[0] == "number" && $right[0] == "number") - { - if ($opName == "mod" && $right[2] != "") { - $this->throwError("Cannot modulo by a number with units: $right[1]$right[2]."); - } - - $unitChange = true; - $emptyUnit = $left[2] == "" || $right[2] == ""; - $targetUnit = "" != $left[2] ? $left[2] : $right[2]; - - if ($opName != "mul") { - $left[2] = "" != $left[2] ? $left[2] : $targetUnit; - $right[2] = "" != $right[2] ? $right[2] : $targetUnit; - } - - if ($opName != "mod") { - $left = $this->normalizeNumber($left); - $right = $this->normalizeNumber($right); - } - - if ($opName == "div" && !$emptyUnit && $left[2] == $right[2]) { - $targetUnit = ""; - } - - if ($opName == "mul") { - $left[2] = "" != $left[2] ? $left[2] : $right[2]; - $right[2] = "" != $right[2] ? $right[2] : $left[2]; - } elseif ($opName == "div" && $left[2] == $right[2]) { - $left[2] = ""; - $right[2] = ""; - } - } - - $shouldEval = $inParens || $inExp; - if (isset($passOp)) { - $out = $this->$fn($op, $left, $right, $shouldEval); - } else { - $out = $this->$fn($left, $right, $shouldEval); - } - - if (!is_null($out)) { - if ($unitChange && $out[0] == "number") { - $out = $this->coerceUnit($out, $targetUnit); - } - return $out; - } - } - - return $this->expToString($value); - case "unary": - list(, $op, $exp, $inParens) = $value; - $inExp = $inExp || $this->shouldEval($exp); - - $exp = $this->reduce($exp); - if ($exp[0] == "number") { - switch ($op) { - case "+": - return $exp; - case "-": - $exp[1] *= -1; - return $exp; - } - } - - if ($op == "not") { - if ($inExp || $inParens) { - if ($exp == self::$false) { - return self::$true; - } else { - return self::$false; - } - } else { - $op = $op . " "; - } - } - - return array("string", "", array($op, $exp)); - case "var": - list(, $name) = $value; - return $this->reduce($this->get($name)); - case "list": - foreach ($value[2] as &$item) { - $item = $this->reduce($item); - } - return $value; - case "string": - foreach ($value[2] as &$item) { - if (is_array($item)) { - $item = $this->reduce($item); - } - } - return $value; - case "interpolate": - $value[1] = $this->reduce($value[1]); - return $value; - case "fncall": - list(,$name, $argValues) = $value; - - // user defined function? - $func = $this->get(self::$namespaces["function"] . $name, false); - if ($func) { - $this->pushEnv(); - - // set the args - if (isset($func->args)) { - $this->applyArguments($func->args, $argValues); - } - - // throw away lines and children - $tmp = (object)array( - "lines" => array(), - "children" => array() - ); - $ret = $this->compileChildren($func->children, $tmp); - $this->popEnv(); - - return is_null($ret) ? self::$defaultValue : $ret; - } - - // built in function - if ($this->callBuiltin($name, $argValues, $returnValue)) { - return $returnValue; - } - - // need to flatten the arguments into a list - $listArgs = array(); - foreach ((array)$argValues as $arg) { - if (empty($arg[0])) { - $listArgs[] = $this->reduce($arg[1]); - } - } - return array("function", $name, array("list", ",", $listArgs)); - default: - return $value; - } - } - - public function normalizeValue($value) { - $value = $this->coerceForExpression($this->reduce($value)); - list($type) = $value; - - switch ($type) { - case "list": - $value = $this->extractInterpolation($value); - if ($value[0] != "list") { - return array("keyword", $this->compileValue($value)); - } - foreach ($value[2] as $key => $item) { - $value[2][$key] = $this->normalizeValue($item); - } - return $value; - case "number": - return $this->normalizeNumber($value); - default: - return $value; - } - } - - // just does physical lengths for now - protected function normalizeNumber($number) { - list(, $value, $unit) = $number; - if (isset(self::$unitTable["in"][$unit])) { - $conv = self::$unitTable["in"][$unit]; - return array("number", $value / $conv, "in"); - } - return $number; - } - - // $number should be normalized - protected function coerceUnit($number, $unit) { - list(, $value, $baseUnit) = $number; - if (isset(self::$unitTable[$baseUnit][$unit])) { - $value = $value * self::$unitTable[$baseUnit][$unit]; - } - - return array("number", $value, $unit); - } - - protected function op_add_number_number($left, $right) { - return array("number", $left[1] + $right[1], $left[2]); - } - - protected function op_mul_number_number($left, $right) { - return array("number", $left[1] * $right[1], $left[2]); - } - - protected function op_sub_number_number($left, $right) { - return array("number", $left[1] - $right[1], $left[2]); - } - - protected function op_div_number_number($left, $right) { - return array("number", $left[1] / $right[1], $left[2]); - } - - protected function op_mod_number_number($left, $right) { - return array("number", $left[1] % $right[1], $left[2]); - } - - // adding strings - protected function op_add($left, $right) { - if ($strLeft = $this->coerceString($left)) { - if ($right[0] == "string") { - $right[1] = ""; - } - $strLeft[2][] = $right; - return $strLeft; - } - - if ($strRight = $this->coerceString($right)) { - if ($left[0] == "string") { - $left[1] = ""; - } - array_unshift($strRight[2], $left); - return $strRight; - } - } - - protected function op_and($left, $right, $shouldEval) { - if (!$shouldEval) return; - if ($left != self::$false) return $right; - return $left; - } - - protected function op_or($left, $right, $shouldEval) { - if (!$shouldEval) return; - if ($left != self::$false) return $left; - return $right; - } - - protected function op_color_color($op, $left, $right) { - $out = array('color'); - foreach (range(1, 3) as $i) { - $lval = isset($left[$i]) ? $left[$i] : 0; - $rval = isset($right[$i]) ? $right[$i] : 0; - switch ($op) { - case '+': - $out[] = $lval + $rval; - break; - case '-': - $out[] = $lval - $rval; - break; - case '*': - $out[] = $lval * $rval; - break; - case '%': - $out[] = $lval % $rval; - break; - case '/': - if ($rval == 0) { - $this->throwError("color: Can't divide by zero"); - } - $out[] = $lval / $rval; - break; - case "==": - return $this->op_eq($left, $right); - case "!=": - return $this->op_neq($left, $right); - default: - $this->throwError("color: unknown op $op"); - } - } - - if (isset($left[4])) $out[4] = $left[4]; - elseif (isset($right[4])) $out[4] = $right[4]; - - return $this->fixColor($out); - } - - protected function op_color_number($op, $left, $right) { - $value = $right[1]; - return $this->op_color_color($op, $left, - array("color", $value, $value, $value)); - } - - protected function op_number_color($op, $left, $right) { - $value = $left[1]; - return $this->op_color_color($op, - array("color", $value, $value, $value), $right); - } - - protected function op_eq($left, $right) { - if (($lStr = $this->coerceString($left)) && ($rStr = $this->coerceString($right))) { - $lStr[1] = ""; - $rStr[1] = ""; - return $this->toBool($this->compileValue($lStr) == $this->compileValue($rStr)); - } - - return $this->toBool($left == $right); - } - - protected function op_neq($left, $right) { - return $this->toBool($left != $right); - } - - protected function op_gte_number_number($left, $right) { - return $this->toBool($left[1] >= $right[1]); - } - - protected function op_gt_number_number($left, $right) { - return $this->toBool($left[1] > $right[1]); - } - - protected function op_lte_number_number($left, $right) { - return $this->toBool($left[1] <= $right[1]); - } - - protected function op_lt_number_number($left, $right) { - return $this->toBool($left[1] < $right[1]); - } - - public function toBool($thing) { - return $thing ? self::$true : self::$false; - } - - /** - * Compiles a primitive value into a CSS property value. - * - * Values in scssphp are typed by being wrapped in arrays, their format is - * typically: - * - * array(type, contents [, additional_contents]*) - * - * The input is expected to be reduced. This function will not work on - * things like expressions and variables. - * - * @param array $value - */ - protected function compileValue($value) { - $value = $this->reduce($value); - - list($type) = $value; - switch ($type) { - case "keyword": - return $value[1]; - case "color": - // [1] - red component (either number for a %) - // [2] - green component - // [3] - blue component - // [4] - optional alpha component - list(, $r, $g, $b) = $value; - - $r = round($r); - $g = round($g); - $b = round($b); - - if (count($value) == 5 && $value[4] != 1) { // rgba - return 'rgba('.$r.', '.$g.', '.$b.', '.$value[4].')'; - } - - $h = sprintf("#%02x%02x%02x", $r, $g, $b); - - // Converting hex color to short notation (e.g. #003399 to #039) - if ($h[1] === $h[2] && $h[3] === $h[4] && $h[5] === $h[6]) { - $h = '#' . $h[1] . $h[3] . $h[5]; - } - - return $h; - case "number": - return round($value[1], $this->numberPrecision) . $value[2]; - case "string": - return $value[1] . $this->compileStringContent($value) . $value[1]; - case "function": - $args = !empty($value[2]) ? $this->compileValue($value[2]) : ""; - return "$value[1]($args)"; - case "list": - $value = $this->extractInterpolation($value); - if ($value[0] != "list") return $this->compileValue($value); - - list(, $delim, $items) = $value; - - $filtered = array(); - foreach ($items as $item) { - if ($item[0] == "null") continue; - $filtered[] = $this->compileValue($item); - } - - return implode("$delim ", $filtered); - case "interpolated": # node created by extractInterpolation - list(, $interpolate, $left, $right) = $value; - list(,, $whiteLeft, $whiteRight) = $interpolate; - - $left = count($left[2]) > 0 ? - $this->compileValue($left).$whiteLeft : ""; - - $right = count($right[2]) > 0 ? - $whiteRight.$this->compileValue($right) : ""; - - return $left.$this->compileValue($interpolate).$right; - - case "interpolate": # raw parse node - list(, $exp) = $value; - - // strip quotes if it's a string - $reduced = $this->reduce($exp); - switch ($reduced[0]) { - case "string": - $reduced = array("keyword", - $this->compileStringContent($reduced)); - break; - case "null": - $reduced = array("keyword", ""); - } - - return $this->compileValue($reduced); - case "null": - return "null"; - default: - $this->throwError("unknown value type: $type"); - } - } - - protected function compileStringContent($string) { - $parts = array(); - foreach ($string[2] as $part) { - if (is_array($part)) { - $parts[] = $this->compileValue($part); - } else { - $parts[] = $part; - } - } - - return implode($parts); - } - - // doesn't need to be recursive, compileValue will handle that - protected function extractInterpolation($list) { - $items = $list[2]; - foreach ($items as $i => $item) { - if ($item[0] == "interpolate") { - $before = array("list", $list[1], array_slice($items, 0, $i)); - $after = array("list", $list[1], array_slice($items, $i + 1)); - return array("interpolated", $item, $before, $after); - } - } - return $list; - } - - // find the final set of selectors - protected function multiplySelectors($env) { - $envs = array(); - while (null !== $env) { - if (!empty($env->selectors)) { - $envs[] = $env; - } - $env = $env->parent; - }; - - $selectors = array(); - $parentSelectors = array(array()); - while ($env = array_pop($envs)) { - $selectors = array(); - foreach ($env->selectors as $selector) { - foreach ($parentSelectors as $parent) { - $selectors[] = $this->joinSelectors($parent, $selector); - } - } - $parentSelectors = $selectors; - } - - return $selectors; - } - - // looks for & to replace, or append parent before child - protected function joinSelectors($parent, $child) { - $setSelf = false; - $out = array(); - foreach ($child as $part) { - $newPart = array(); - foreach ($part as $p) { - if ($p == self::$selfSelector) { - $setSelf = true; - foreach ($parent as $i => $parentPart) { - if ($i > 0) { - $out[] = $newPart; - $newPart = array(); - } - - foreach ($parentPart as $pp) { - $newPart[] = $pp; - } - } - } else { - $newPart[] = $p; - } - } - - $out[] = $newPart; - } - - return $setSelf ? $out : array_merge($parent, $child); - } - - protected function multiplyMedia($env, $childQueries = null) { - if (is_null($env) || - !empty($env->block->type) && $env->block->type != "media") - { - return $childQueries; - } - - // plain old block, skip - if (empty($env->block->type)) { - return $this->multiplyMedia($env->parent, $childQueries); - } - - $parentQueries = $env->block->queryList; - if ($childQueries == null) { - $childQueries = $parentQueries; - } else { - $originalQueries = $childQueries; - $childQueries = array(); - - foreach ($parentQueries as $parentQuery){ - foreach ($originalQueries as $childQuery) { - $childQueries []= array_merge($parentQuery, $childQuery); - } - } - } - - return $this->multiplyMedia($env->parent, $childQueries); - } - - // convert something to list - protected function coerceList($item, $delim = ",") { - if (!is_null($item) && $item[0] == "list") { - return $item; - } - - return array("list", $delim, is_null($item) ? array(): array($item)); - } - - protected function applyArguments($argDef, $argValues) { - $hasVariable = false; - $args = array(); - foreach ($argDef as $i => $arg) { - list($name, $default, $isVariable) = $argDef[$i]; - $args[$name] = array($i, $name, $default, $isVariable); - $hasVariable |= $isVariable; - } - - $keywordArgs = array(); - $deferredKeywordArgs = array(); - $remaining = array(); - // assign the keyword args - foreach ((array) $argValues as $arg) { - if (!empty($arg[0])) { - if (!isset($args[$arg[0][1]])) { - if ($hasVariable) { - $deferredKeywordArgs[$arg[0][1]] = $arg[1]; - } else { - $this->throwError("Mixin or function doesn't have an argument named $%s.", $arg[0][1]); - } - } elseif ($args[$arg[0][1]][0] < count($remaining)) { - $this->throwError("The argument $%s was passed both by position and by name.", $arg[0][1]); - } else { - $keywordArgs[$arg[0][1]] = $arg[1]; - } - } elseif (count($keywordArgs)) { - $this->throwError('Positional arguments must come before keyword arguments.'); - } elseif ($arg[2] == true) { - $val = $this->reduce($arg[1], true); - if ($val[0] == "list") { - foreach ($val[2] as $name => $item) { - if (!is_numeric($name)) { - $keywordArgs[$name] = $item; - } else { - $remaining[] = $item; - } - } - } else { - $remaining[] = $val; - } - } else { - $remaining[] = $arg[1]; - } - } - - foreach ($args as $arg) { - list($i, $name, $default, $isVariable) = $arg; - if ($isVariable) { - $val = array("list", ",", array()); - for ($count = count($remaining); $i < $count; $i++) { - $val[2][] = $remaining[$i]; - } - foreach ($deferredKeywordArgs as $itemName => $item) { - $val[2][$itemName] = $item; - } - } elseif (isset($remaining[$i])) { - $val = $remaining[$i]; - } elseif (isset($keywordArgs[$name])) { - $val = $keywordArgs[$name]; - } elseif (!empty($default)) { - $val = $default; - } else { - $this->throwError("Missing argument $name"); - } - - $this->set($name, $this->reduce($val, true), true); - } - } - - protected function pushEnv($block=null) { - $env = new stdClass; - $env->parent = $this->env; - $env->store = array(); - $env->block = $block; - $env->depth = isset($this->env->depth) ? $this->env->depth + 1 : 0; - - $this->env = $env; - return $env; - } - - protected function normalizeName($name) { - return str_replace("-", "_", $name); - } - - protected function getStoreEnv() { - return isset($this->storeEnv) ? $this->storeEnv : $this->env; - } - - protected function set($name, $value, $shadow=false) { - $name = $this->normalizeName($name); - - if ($shadow) { - $this->setRaw($name, $value); - } else { - $this->setExisting($name, $value); - } - } - - protected function setExisting($name, $value, $env = null) { - if (is_null($env)) $env = $this->getStoreEnv(); - - if (isset($env->store[$name]) || is_null($env->parent)) { - $env->store[$name] = $value; - } else { - $this->setExisting($name, $value, $env->parent); - } - } - - protected function setRaw($name, $value) { - $env = $this->getStoreEnv(); - $env->store[$name] = $value; - } - - public function get($name, $defaultValue = null, $env = null) { - $name = $this->normalizeName($name); - - if (is_null($env)) $env = $this->getStoreEnv(); - if (is_null($defaultValue)) $defaultValue = self::$defaultValue; - - if (isset($env->store[$name])) { - return $env->store[$name]; - } elseif (isset($env->parent)) { - return $this->get($name, $defaultValue, $env->parent); - } - - return $defaultValue; // found nothing - } - - protected function popEnv() { - $env = $this->env; - $this->env = $this->env->parent; - return $env; - } - - public function getParsedFiles() { - return $this->parsedFiles; - } - - public function addImportPath($path) { - $this->importPaths[] = $path; - } - - public function setImportPaths($path) { - $this->importPaths = (array)$path; - } - - public function setNumberPrecision($numberPrecision) { - $this->numberPrecision = $numberPrecision; - } - - public function setFormatter($formatterName) { - $this->formatter = $formatterName; - } - - public function registerFunction($name, $func) { - $this->userFunctions[$this->normalizeName($name)] = $func; - } - - public function unregisterFunction($name) { - unset($this->userFunctions[$this->normalizeName($name)]); - } - - protected function importFile($path, $out) { - // see if tree is cached - $realPath = realpath($path); - if (isset($this->importCache[$realPath])) { - $tree = $this->importCache[$realPath]; - } else { - $code = file_get_contents($path); - $parser = new scss_parser($path, false); - $tree = $parser->parse($code); - $this->parsedFiles[] = $path; - - $this->importCache[$realPath] = $tree; - } - - $pi = pathinfo($path); - array_unshift($this->importPaths, $pi['dirname']); - $this->compileChildren($tree->children, $out); - array_shift($this->importPaths); - } - - // results the file path for an import url if it exists - public function findImport($url) { - $urls = array(); - - // for "normal" scss imports (ignore vanilla css and external requests) - if (!preg_match('/\.css|^http:\/\/$/', $url)) { - // try both normal and the _partial filename - $urls = array($url, preg_replace('/[^\/]+$/', '_\0', $url)); - } - - foreach ($this->importPaths as $dir) { - if (is_string($dir)) { - // check urls for normal import paths - foreach ($urls as $full) { - $full = $dir . - (!empty($dir) && substr($dir, -1) != '/' ? '/' : '') . - $full; - - if ($this->fileExists($file = $full.'.scss') || - $this->fileExists($file = $full)) - { - return $file; - } - } - } else { - // check custom callback for import path - $file = call_user_func($dir,$url,$this); - if ($file !== null) { - return $file; - } - } - } - - return null; - } - - protected function fileExists($name) { - return is_file($name); - } - - protected function callBuiltin($name, $args, &$returnValue) { - // try a lib function - $name = $this->normalizeName($name); - $libName = "lib_".$name; - $f = array($this, $libName); - $prototype = isset(self::$$libName) ? self::$$libName : null; - - if (is_callable($f)) { - $sorted = $this->sortArgs($prototype, $args); - foreach ($sorted as &$val) { - $val = $this->reduce($val, true); - } - $returnValue = call_user_func($f, $sorted, $this); - } elseif (isset($this->userFunctions[$name])) { - // see if we can find a user function - $fn = $this->userFunctions[$name]; - - foreach ($args as &$val) { - $val = $this->reduce($val[1], true); - } - - $returnValue = call_user_func($fn, $args, $this); - } - - if (isset($returnValue)) { - // coerce a php value into a scss one - if (is_numeric($returnValue)) { - $returnValue = array('number', $returnValue, ""); - } elseif (is_bool($returnValue)) { - $returnValue = $returnValue ? self::$true : self::$false; - } elseif (!is_array($returnValue)) { - $returnValue = array('keyword', $returnValue); - } - - return true; - } - - return false; - } - - // sorts any keyword arguments - // TODO: merge with apply arguments - protected function sortArgs($prototype, $args) { - $keyArgs = array(); - $posArgs = array(); - - foreach ($args as $arg) { - list($key, $value) = $arg; - $key = $key[1]; - if (empty($key)) { - $posArgs[] = $value; - } else { - $keyArgs[$key] = $value; - } - } - - if (is_null($prototype)) return $posArgs; - - $finalArgs = array(); - foreach ($prototype as $i => $names) { - if (isset($posArgs[$i])) { - $finalArgs[] = $posArgs[$i]; - continue; - } - - $set = false; - foreach ((array)$names as $name) { - if (isset($keyArgs[$name])) { - $finalArgs[] = $keyArgs[$name]; - $set = true; - break; - } - } - - if (!$set) { - $finalArgs[] = null; - } - } - - return $finalArgs; - } - - protected function coerceForExpression($value) { - if ($color = $this->coerceColor($value)) { - return $color; - } - - return $value; - } - - protected function coerceColor($value) { - switch ($value[0]) { - case "color": return $value; - case "keyword": - $name = $value[1]; - if (isset(self::$cssColors[$name])) { - $rgba = explode(',', self::$cssColors[$name]); - return isset($rgba[3]) - ? array('color', (int) $rgba[0], (int) $rgba[1], (int) $rgba[2], (int) $rgba[3]) - : array('color', (int) $rgba[0], (int) $rgba[1], (int) $rgba[2]); - } - return null; - } - - return null; - } - - protected function coerceString($value) { - switch ($value[0]) { - case "string": - return $value; - case "keyword": - return array("string", "", array($value[1])); - } - return null; - } - - public function assertList($value) { - if ($value[0] != "list") - $this->throwError("expecting list"); - return $value; - } - - public function assertColor($value) { - if ($color = $this->coerceColor($value)) return $color; - $this->throwError("expecting color"); - } - - public function assertNumber($value) { - if ($value[0] != "number") - $this->throwError("expecting number"); - return $value[1]; - } - - protected function coercePercent($value) { - if ($value[0] == "number") { - if ($value[2] == "%") { - return $value[1] / 100; - } - return $value[1]; - } - return 0; - } - - // make sure a color's components don't go out of bounds - protected function fixColor($c) { - foreach (range(1, 3) as $i) { - if ($c[$i] < 0) $c[$i] = 0; - if ($c[$i] > 255) $c[$i] = 255; - } - - return $c; - } - - public function toHSL($red, $green, $blue) { - $min = min($red, $green, $blue); - $max = max($red, $green, $blue); - - $l = $min + $max; - - if ($min == $max) { - $s = $h = 0; - } else { - $d = $max - $min; - - if ($l < 255) - $s = $d / $l; - else - $s = $d / (510 - $l); - - if ($red == $max) - $h = 60 * ($green - $blue) / $d; - elseif ($green == $max) - $h = 60 * ($blue - $red) / $d + 120; - elseif ($blue == $max) - $h = 60 * ($red - $green) / $d + 240; - } - - return array('hsl', fmod($h, 360), $s * 100, $l / 5.1); - } - - public function hueToRGB($m1, $m2, $h) { - if ($h < 0) - $h += 1; - elseif ($h > 1) - $h -= 1; - - if ($h * 6 < 1) - return $m1 + ($m2 - $m1) * $h * 6; - - if ($h * 2 < 1) - return $m2; - - if ($h * 3 < 2) - return $m1 + ($m2 - $m1) * (2/3 - $h) * 6; - - return $m1; - } - - // H from 0 to 360, S and L from 0 to 100 - public function toRGB($hue, $saturation, $lightness) { - if ($hue < 0) { - $hue += 360; - } - - $h = $hue / 360; - $s = min(100, max(0, $saturation)) / 100; - $l = min(100, max(0, $lightness)) / 100; - - $m2 = $l <= 0.5 ? $l * ($s + 1) : $l + $s - $l * $s; - $m1 = $l * 2 - $m2; - - $r = $this->hueToRGB($m1, $m2, $h + 1/3) * 255; - $g = $this->hueToRGB($m1, $m2, $h) * 255; - $b = $this->hueToRGB($m1, $m2, $h - 1/3) * 255; - - $out = array('color', $r, $g, $b); - return $out; - } - - // Built in functions - - protected static $lib_if = array("condition", "if-true", "if-false"); - protected function lib_if($args) { - list($cond,$t, $f) = $args; - if (!$this->isTruthy($cond)) return $f; - return $t; - } - - protected static $lib_index = array("list", "value"); - protected function lib_index($args) { - list($list, $value) = $args; - $list = $this->assertList($list); - - $values = array(); - foreach ($list[2] as $item) { - $values[] = $this->normalizeValue($item); - } - $key = array_search($this->normalizeValue($value), $values); - - return false === $key ? false : $key + 1; - } - - protected static $lib_rgb = array("red", "green", "blue"); - protected function lib_rgb($args) { - list($r,$g,$b) = $args; - return array("color", $r[1], $g[1], $b[1]); - } - - protected static $lib_rgba = array( - array("red", "color"), - "green", "blue", "alpha"); - protected function lib_rgba($args) { - if ($color = $this->coerceColor($args[0])) { - $num = is_null($args[1]) ? $args[3] : $args[1]; - $alpha = $this->assertNumber($num); - $color[4] = $alpha; - return $color; - } - - list($r,$g,$b, $a) = $args; - return array("color", $r[1], $g[1], $b[1], $a[1]); - } - - // helper function for adjust_color, change_color, and scale_color - protected function alter_color($args, $fn) { - $color = $this->assertColor($args[0]); - - foreach (array(1,2,3,7) as $i) { - if (!is_null($args[$i])) { - $val = $this->assertNumber($args[$i]); - $ii = $i == 7 ? 4 : $i; // alpha - $color[$ii] = - $this->$fn(isset($color[$ii]) ? $color[$ii] : 0, $val, $i); - } - } - - if (!is_null($args[4]) || !is_null($args[5]) || !is_null($args[6])) { - $hsl = $this->toHSL($color[1], $color[2], $color[3]); - foreach (array(4,5,6) as $i) { - if (!is_null($args[$i])) { - $val = $this->assertNumber($args[$i]); - $hsl[$i - 3] = $this->$fn($hsl[$i - 3], $val, $i); - } - } - - $rgb = $this->toRGB($hsl[1], $hsl[2], $hsl[3]); - if (isset($color[4])) $rgb[4] = $color[4]; - $color = $rgb; - } - - return $color; - } - - protected static $lib_adjust_color = array( - "color", "red", "green", "blue", - "hue", "saturation", "lightness", "alpha" - ); - protected function adjust_color_helper($base, $alter, $i) { - return $base += $alter; - } - protected function lib_adjust_color($args) { - return $this->alter_color($args, "adjust_color_helper"); - } - - protected static $lib_change_color = array( - "color", "red", "green", "blue", - "hue", "saturation", "lightness", "alpha" - ); - protected function change_color_helper($base, $alter, $i) { - return $alter; - } - protected function lib_change_color($args) { - return $this->alter_color($args, "change_color_helper"); - } - - protected static $lib_scale_color = array( - "color", "red", "green", "blue", - "hue", "saturation", "lightness", "alpha" - ); - protected function scale_color_helper($base, $scale, $i) { - // 1,2,3 - rgb - // 4, 5, 6 - hsl - // 7 - a - switch ($i) { - case 1: - case 2: - case 3: - $max = 255; break; - case 4: - $max = 360; break; - case 7: - $max = 1; break; - default: - $max = 100; - } - - $scale = $scale / 100; - if ($scale < 0) { - return $base * $scale + $base; - } else { - return ($max - $base) * $scale + $base; - } - } - protected function lib_scale_color($args) { - return $this->alter_color($args, "scale_color_helper"); - } - - protected static $lib_ie_hex_str = array("color"); - protected function lib_ie_hex_str($args) { - $color = $this->coerceColor($args[0]); - $color[4] = isset($color[4]) ? round(255*$color[4]) : 255; - - return sprintf('#%02X%02X%02X%02X', $color[4], $color[1], $color[2], $color[3]); - } - - protected static $lib_red = array("color"); - protected function lib_red($args) { - $color = $this->coerceColor($args[0]); - return $color[1]; - } - - protected static $lib_green = array("color"); - protected function lib_green($args) { - $color = $this->coerceColor($args[0]); - return $color[2]; - } - - protected static $lib_blue = array("color"); - protected function lib_blue($args) { - $color = $this->coerceColor($args[0]); - return $color[3]; - } - - protected static $lib_alpha = array("color"); - protected function lib_alpha($args) { - if ($color = $this->coerceColor($args[0])) { - return isset($color[4]) ? $color[4] : 1; - } - - // this might be the IE function, so return value unchanged - return null; - } - - protected static $lib_opacity = array("color"); - protected function lib_opacity($args) { - $value = $args[0]; - if ($value[0] === 'number') return null; - return $this->lib_alpha($args); - } - - // mix two colors - protected static $lib_mix = array("color-1", "color-2", "weight"); - protected function lib_mix($args) { - list($first, $second, $weight) = $args; - $first = $this->assertColor($first); - $second = $this->assertColor($second); - - if (is_null($weight)) { - $weight = 0.5; - } else { - $weight = $this->coercePercent($weight); - } - - $firstAlpha = isset($first[4]) ? $first[4] : 1; - $secondAlpha = isset($second[4]) ? $second[4] : 1; - - $w = $weight * 2 - 1; - $a = $firstAlpha - $secondAlpha; - - $w1 = (($w * $a == -1 ? $w : ($w + $a)/(1 + $w * $a)) + 1) / 2.0; - $w2 = 1.0 - $w1; - - $new = array('color', - $w1 * $first[1] + $w2 * $second[1], - $w1 * $first[2] + $w2 * $second[2], - $w1 * $first[3] + $w2 * $second[3], - ); - - if ($firstAlpha != 1.0 || $secondAlpha != 1.0) { - $new[] = $firstAlpha * $weight + $secondAlpha * ($weight - 1); - } - - return $this->fixColor($new); - } - - protected static $lib_hsl = array("hue", "saturation", "lightness"); - protected function lib_hsl($args) { - list($h, $s, $l) = $args; - return $this->toRGB($h[1], $s[1], $l[1]); - } - - protected static $lib_hsla = array("hue", "saturation", - "lightness", "alpha"); - protected function lib_hsla($args) { - list($h, $s, $l, $a) = $args; - $color = $this->toRGB($h[1], $s[1], $l[1]); - $color[4] = $a[1]; - return $color; - } - - protected static $lib_hue = array("color"); - protected function lib_hue($args) { - $color = $this->assertColor($args[0]); - $hsl = $this->toHSL($color[1], $color[2], $color[3]); - return array("number", $hsl[1], "deg"); - } - - protected static $lib_saturation = array("color"); - protected function lib_saturation($args) { - $color = $this->assertColor($args[0]); - $hsl = $this->toHSL($color[1], $color[2], $color[3]); - return array("number", $hsl[2], "%"); - } - - protected static $lib_lightness = array("color"); - protected function lib_lightness($args) { - $color = $this->assertColor($args[0]); - $hsl = $this->toHSL($color[1], $color[2], $color[3]); - return array("number", $hsl[3], "%"); - } - - protected function adjustHsl($color, $idx, $amount) { - $hsl = $this->toHSL($color[1], $color[2], $color[3]); - $hsl[$idx] += $amount; - $out = $this->toRGB($hsl[1], $hsl[2], $hsl[3]); - if (isset($color[4])) $out[4] = $color[4]; - return $out; - } - - protected static $lib_adjust_hue = array("color", "degrees"); - protected function lib_adjust_hue($args) { - $color = $this->assertColor($args[0]); - $degrees = $this->assertNumber($args[1]); - return $this->adjustHsl($color, 1, $degrees); - } - - protected static $lib_lighten = array("color", "amount"); - protected function lib_lighten($args) { - $color = $this->assertColor($args[0]); - $amount = 100*$this->coercePercent($args[1]); - return $this->adjustHsl($color, 3, $amount); - } - - protected static $lib_darken = array("color", "amount"); - protected function lib_darken($args) { - $color = $this->assertColor($args[0]); - $amount = 100*$this->coercePercent($args[1]); - return $this->adjustHsl($color, 3, -$amount); - } - - protected static $lib_saturate = array("color", "amount"); - protected function lib_saturate($args) { - $value = $args[0]; - if ($value[0] === 'number') return null; - $color = $this->assertColor($value); - $amount = 100*$this->coercePercent($args[1]); - return $this->adjustHsl($color, 2, $amount); - } - - protected static $lib_desaturate = array("color", "amount"); - protected function lib_desaturate($args) { - $color = $this->assertColor($args[0]); - $amount = 100*$this->coercePercent($args[1]); - return $this->adjustHsl($color, 2, -$amount); - } - - protected static $lib_grayscale = array("color"); - protected function lib_grayscale($args) { - $value = $args[0]; - if ($value[0] === 'number') return null; - return $this->adjustHsl($this->assertColor($value), 2, -100); - } - - protected static $lib_complement = array("color"); - protected function lib_complement($args) { - return $this->adjustHsl($this->assertColor($args[0]), 1, 180); - } - - protected static $lib_invert = array("color"); - protected function lib_invert($args) { - $value = $args[0]; - if ($value[0] === 'number') return null; - $color = $this->assertColor($value); - $color[1] = 255 - $color[1]; - $color[2] = 255 - $color[2]; - $color[3] = 255 - $color[3]; - return $color; - } - - // increases opacity by amount - protected static $lib_opacify = array("color", "amount"); - protected function lib_opacify($args) { - $color = $this->assertColor($args[0]); - $amount = $this->coercePercent($args[1]); - - $color[4] = (isset($color[4]) ? $color[4] : 1) + $amount; - $color[4] = min(1, max(0, $color[4])); - return $color; - } - - protected static $lib_fade_in = array("color", "amount"); - protected function lib_fade_in($args) { - return $this->lib_opacify($args); - } - - // decreases opacity by amount - protected static $lib_transparentize = array("color", "amount"); - protected function lib_transparentize($args) { - $color = $this->assertColor($args[0]); - $amount = $this->coercePercent($args[1]); - - $color[4] = (isset($color[4]) ? $color[4] : 1) - $amount; - $color[4] = min(1, max(0, $color[4])); - return $color; - } - - protected static $lib_fade_out = array("color", "amount"); - protected function lib_fade_out($args) { - return $this->lib_transparentize($args); - } - - protected static $lib_unquote = array("string"); - protected function lib_unquote($args) { - $str = $args[0]; - if ($str[0] == "string") $str[1] = ""; - return $str; - } - - protected static $lib_quote = array("string"); - protected function lib_quote($args) { - $value = $args[0]; - if ($value[0] == "string" && !empty($value[1])) - return $value; - return array("string", '"', array($value)); - } - - protected static $lib_percentage = array("value"); - protected function lib_percentage($args) { - return array("number", - $this->coercePercent($args[0]) * 100, - "%"); - } - - protected static $lib_round = array("value"); - protected function lib_round($args) { - $num = $args[0]; - $num[1] = round($num[1]); - return $num; - } - - protected static $lib_floor = array("value"); - protected function lib_floor($args) { - $num = $args[0]; - $num[1] = floor($num[1]); - return $num; - } - - protected static $lib_ceil = array("value"); - protected function lib_ceil($args) { - $num = $args[0]; - $num[1] = ceil($num[1]); - return $num; - } - - protected static $lib_abs = array("value"); - protected function lib_abs($args) { - $num = $args[0]; - $num[1] = abs($num[1]); - return $num; - } - - protected function lib_min($args) { - $numbers = $this->getNormalizedNumbers($args); - $min = null; - foreach ($numbers as $key => $number) { - if (null === $min || $number[1] <= $min[1]) { - $min = array($key, $number[1]); - } - } - - return $args[$min[0]]; - } - - protected function lib_max($args) { - $numbers = $this->getNormalizedNumbers($args); - $max = null; - foreach ($numbers as $key => $number) { - if (null === $max || $number[1] >= $max[1]) { - $max = array($key, $number[1]); - } - } - - return $args[$max[0]]; - } - - protected function getNormalizedNumbers($args) { - $unit = null; - $originalUnit = null; - $numbers = array(); - foreach ($args as $key => $item) { - if ('number' != $item[0]) { - $this->throwError("%s is not a number", $item[0]); - } - $number = $this->normalizeNumber($item); - - if (null === $unit) { - $unit = $number[2]; - $originalUnit = $item[2]; - } elseif ($unit !== $number[2]) { - $this->throwError('Incompatible units: "%s" and "%s".', $originalUnit, $item[2]); - } - - $numbers[$key] = $number; - } - - return $numbers; - } - - protected static $lib_length = array("list"); - protected function lib_length($args) { - $list = $this->coerceList($args[0]); - return count($list[2]); - } - - protected static $lib_nth = array("list", "n"); - protected function lib_nth($args) { - $list = $this->coerceList($args[0]); - $n = $this->assertNumber($args[1]) - 1; - return isset($list[2][$n]) ? $list[2][$n] : self::$defaultValue; - } - - protected function listSeparatorForJoin($list1, $sep) { - if (is_null($sep)) return $list1[1]; - switch ($this->compileValue($sep)) { - case "comma": - return ","; - case "space": - return ""; - default: - return $list1[1]; - } - } - - protected static $lib_join = array("list1", "list2", "separator"); - protected function lib_join($args) { - list($list1, $list2, $sep) = $args; - $list1 = $this->coerceList($list1, " "); - $list2 = $this->coerceList($list2, " "); - $sep = $this->listSeparatorForJoin($list1, $sep); - return array("list", $sep, array_merge($list1[2], $list2[2])); - } - - protected static $lib_append = array("list", "val", "separator"); - protected function lib_append($args) { - list($list1, $value, $sep) = $args; - $list1 = $this->coerceList($list1, " "); - $sep = $this->listSeparatorForJoin($list1, $sep); - return array("list", $sep, array_merge($list1[2], array($value))); - } - - protected function lib_zip($args) { - foreach ($args as $arg) { - $this->assertList($arg); - } - - $lists = array(); - $firstList = array_shift($args); - foreach ($firstList[2] as $key => $item) { - $list = array("list", "", array($item)); - foreach ($args as $arg) { - if (isset($arg[2][$key])) { - $list[2][] = $arg[2][$key]; - } else { - break 2; - } - } - $lists[] = $list; - } - - return array("list", ",", $lists); - } - - protected static $lib_type_of = array("value"); - protected function lib_type_of($args) { - $value = $args[0]; - switch ($value[0]) { - case "keyword": - if ($value == self::$true || $value == self::$false) { - return "bool"; - } - - if ($this->coerceColor($value)) { - return "color"; - } - - return "string"; - default: - return $value[0]; - } - } - - protected static $lib_unit = array("number"); - protected function lib_unit($args) { - $num = $args[0]; - if ($num[0] == "number") { - return array("string", '"', array($num[2])); - } - return ""; - } - - protected static $lib_unitless = array("number"); - protected function lib_unitless($args) { - $value = $args[0]; - return $value[0] == "number" && empty($value[2]); - } - - protected static $lib_comparable = array("number-1", "number-2"); - protected function lib_comparable($args) { - list($number1, $number2) = $args; - if (!isset($number1[0]) || $number1[0] != "number" || !isset($number2[0]) || $number2[0] != "number") { - $this->throwError('Invalid argument(s) for "comparable"'); - } - - $number1 = $this->normalizeNumber($number1); - $number2 = $this->normalizeNumber($number2); - - return $number1[2] == $number2[2] || $number1[2] == "" || $number2[2] == ""; - } - - /** - * Workaround IE7's content counter bug. - * - * @param array $args - */ - protected function lib_counter($args) { - $list = array_map(array($this, 'compileValue'), $args); - return array('string', '', array('counter(' . implode(',', $list) . ')')); - } - - public function throwError($msg = null) { - if (func_num_args() > 1) { - $msg = call_user_func_array("sprintf", func_get_args()); - } - - if ($this->sourcePos >= 0 && isset($this->sourceParser)) { - $this->sourceParser->throwParseError($msg, $this->sourcePos); - } - - throw new Exception($msg); - } - - /** - * CSS Colors - * - * @see http://www.w3.org/TR/css3-color - */ - static protected $cssColors = array( - 'aliceblue' => '240,248,255', - 'antiquewhite' => '250,235,215', - 'aqua' => '0,255,255', - 'aquamarine' => '127,255,212', - 'azure' => '240,255,255', - 'beige' => '245,245,220', - 'bisque' => '255,228,196', - 'black' => '0,0,0', - 'blanchedalmond' => '255,235,205', - 'blue' => '0,0,255', - 'blueviolet' => '138,43,226', - 'brown' => '165,42,42', - 'burlywood' => '222,184,135', - 'cadetblue' => '95,158,160', - 'chartreuse' => '127,255,0', - 'chocolate' => '210,105,30', - 'coral' => '255,127,80', - 'cornflowerblue' => '100,149,237', - 'cornsilk' => '255,248,220', - 'crimson' => '220,20,60', - 'cyan' => '0,255,255', - 'darkblue' => '0,0,139', - 'darkcyan' => '0,139,139', - 'darkgoldenrod' => '184,134,11', - 'darkgray' => '169,169,169', - 'darkgreen' => '0,100,0', - 'darkgrey' => '169,169,169', - 'darkkhaki' => '189,183,107', - 'darkmagenta' => '139,0,139', - 'darkolivegreen' => '85,107,47', - 'darkorange' => '255,140,0', - 'darkorchid' => '153,50,204', - 'darkred' => '139,0,0', - 'darksalmon' => '233,150,122', - 'darkseagreen' => '143,188,143', - 'darkslateblue' => '72,61,139', - 'darkslategray' => '47,79,79', - 'darkslategrey' => '47,79,79', - 'darkturquoise' => '0,206,209', - 'darkviolet' => '148,0,211', - 'deeppink' => '255,20,147', - 'deepskyblue' => '0,191,255', - 'dimgray' => '105,105,105', - 'dimgrey' => '105,105,105', - 'dodgerblue' => '30,144,255', - 'firebrick' => '178,34,34', - 'floralwhite' => '255,250,240', - 'forestgreen' => '34,139,34', - 'fuchsia' => '255,0,255', - 'gainsboro' => '220,220,220', - 'ghostwhite' => '248,248,255', - 'gold' => '255,215,0', - 'goldenrod' => '218,165,32', - 'gray' => '128,128,128', - 'green' => '0,128,0', - 'greenyellow' => '173,255,47', - 'grey' => '128,128,128', - 'honeydew' => '240,255,240', - 'hotpink' => '255,105,180', - 'indianred' => '205,92,92', - 'indigo' => '75,0,130', - 'ivory' => '255,255,240', - 'khaki' => '240,230,140', - 'lavender' => '230,230,250', - 'lavenderblush' => '255,240,245', - 'lawngreen' => '124,252,0', - 'lemonchiffon' => '255,250,205', - 'lightblue' => '173,216,230', - 'lightcoral' => '240,128,128', - 'lightcyan' => '224,255,255', - 'lightgoldenrodyellow' => '250,250,210', - 'lightgray' => '211,211,211', - 'lightgreen' => '144,238,144', - 'lightgrey' => '211,211,211', - 'lightpink' => '255,182,193', - 'lightsalmon' => '255,160,122', - 'lightseagreen' => '32,178,170', - 'lightskyblue' => '135,206,250', - 'lightslategray' => '119,136,153', - 'lightslategrey' => '119,136,153', - 'lightsteelblue' => '176,196,222', - 'lightyellow' => '255,255,224', - 'lime' => '0,255,0', - 'limegreen' => '50,205,50', - 'linen' => '250,240,230', - 'magenta' => '255,0,255', - 'maroon' => '128,0,0', - 'mediumaquamarine' => '102,205,170', - 'mediumblue' => '0,0,205', - 'mediumorchid' => '186,85,211', - 'mediumpurple' => '147,112,219', - 'mediumseagreen' => '60,179,113', - 'mediumslateblue' => '123,104,238', - 'mediumspringgreen' => '0,250,154', - 'mediumturquoise' => '72,209,204', - 'mediumvioletred' => '199,21,133', - 'midnightblue' => '25,25,112', - 'mintcream' => '245,255,250', - 'mistyrose' => '255,228,225', - 'moccasin' => '255,228,181', - 'navajowhite' => '255,222,173', - 'navy' => '0,0,128', - 'oldlace' => '253,245,230', - 'olive' => '128,128,0', - 'olivedrab' => '107,142,35', - 'orange' => '255,165,0', - 'orangered' => '255,69,0', - 'orchid' => '218,112,214', - 'palegoldenrod' => '238,232,170', - 'palegreen' => '152,251,152', - 'paleturquoise' => '175,238,238', - 'palevioletred' => '219,112,147', - 'papayawhip' => '255,239,213', - 'peachpuff' => '255,218,185', - 'peru' => '205,133,63', - 'pink' => '255,192,203', - 'plum' => '221,160,221', - 'powderblue' => '176,224,230', - 'purple' => '128,0,128', - 'red' => '255,0,0', - 'rosybrown' => '188,143,143', - 'royalblue' => '65,105,225', - 'saddlebrown' => '139,69,19', - 'salmon' => '250,128,114', - 'sandybrown' => '244,164,96', - 'seagreen' => '46,139,87', - 'seashell' => '255,245,238', - 'sienna' => '160,82,45', - 'silver' => '192,192,192', - 'skyblue' => '135,206,235', - 'slateblue' => '106,90,205', - 'slategray' => '112,128,144', - 'slategrey' => '112,128,144', - 'snow' => '255,250,250', - 'springgreen' => '0,255,127', - 'steelblue' => '70,130,180', - 'tan' => '210,180,140', - 'teal' => '0,128,128', - 'thistle' => '216,191,216', - 'tomato' => '255,99,71', - 'transparent' => '0,0,0,0', - 'turquoise' => '64,224,208', - 'violet' => '238,130,238', - 'wheat' => '245,222,179', - 'white' => '255,255,255', - 'whitesmoke' => '245,245,245', - 'yellow' => '255,255,0', - 'yellowgreen' => '154,205,50' - ); -} - -/** - * SCSS parser - * - * @author Leaf Corcoran <leafot@gmail.com> - */ -class scss_parser { - static protected $precedence = array( - "or" => 0, - "and" => 1, - - '==' => 2, - '!=' => 2, - '<=' => 2, - '>=' => 2, - '=' => 2, - '<' => 3, - '>' => 2, - - '+' => 3, - '-' => 3, - '*' => 4, - '/' => 4, - '%' => 4, - ); - - static protected $operators = array("+", "-", "*", "/", "%", - "==", "!=", "<=", ">=", "<", ">", "and", "or"); - - static protected $operatorStr; - static protected $whitePattern; - static protected $commentMulti; - - static protected $commentSingle = "//"; - static protected $commentMultiLeft = "/*"; - static protected $commentMultiRight = "*/"; - - public function __construct($sourceName = null, $rootParser = true) { - $this->sourceName = $sourceName; - $this->rootParser = $rootParser; - - if (empty(self::$operatorStr)) { - self::$operatorStr = $this->makeOperatorStr(self::$operators); - - $commentSingle = $this->preg_quote(self::$commentSingle); - $commentMultiLeft = $this->preg_quote(self::$commentMultiLeft); - $commentMultiRight = $this->preg_quote(self::$commentMultiRight); - self::$commentMulti = $commentMultiLeft.'.*?'.$commentMultiRight; - self::$whitePattern = '/'.$commentSingle.'[^\n]*\s*|('.self::$commentMulti.')\s*|\s+/Ais'; - } - } - - static protected function makeOperatorStr($operators) { - return '('.implode('|', array_map(array('scss_parser','preg_quote'), - $operators)).')'; - } - - public function parse($buffer) { - $this->count = 0; - $this->env = null; - $this->inParens = false; - $this->pushBlock(null); // root block - $this->eatWhiteDefault = true; - $this->insertComments = true; - - $this->buffer = $buffer; - - $this->whitespace(); - while (false !== $this->parseChunk()); - - if ($this->count != strlen($this->buffer)) - $this->throwParseError(); - - if (!empty($this->env->parent)) { - $this->throwParseError("unclosed block"); - } - - $this->env->isRoot = true; - return $this->env; - } - - /** - * Parse a single chunk off the head of the buffer and append it to the - * current parse environment. - * - * Returns false when the buffer is empty, or when there is an error. - * - * This function is called repeatedly until the entire document is - * parsed. - * - * This parser is most similar to a recursive descent parser. Single - * functions represent discrete grammatical rules for the language, and - * they are able to capture the text that represents those rules. - * - * Consider the function scssc::keyword(). (All parse functions are - * structured the same.) - * - * The function takes a single reference argument. When calling the - * function it will attempt to match a keyword on the head of the buffer. - * If it is successful, it will place the keyword in the referenced - * argument, advance the position in the buffer, and return true. If it - * fails then it won't advance the buffer and it will return false. - * - * All of these parse functions are powered by scssc::match(), which behaves - * the same way, but takes a literal regular expression. Sometimes it is - * more convenient to use match instead of creating a new function. - * - * Because of the format of the functions, to parse an entire string of - * grammatical rules, you can chain them together using &&. - * - * But, if some of the rules in the chain succeed before one fails, then - * the buffer position will be left at an invalid state. In order to - * avoid this, scssc::seek() is used to remember and set buffer positions. - * - * Before parsing a chain, use $s = $this->seek() to remember the current - * position into $s. Then if a chain fails, use $this->seek($s) to - * go back where we started. - * - * @return boolean - */ - protected function parseChunk() { - $s = $this->seek(); - - // the directives - if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] == "@") { - if ($this->literal("@media") && $this->mediaQueryList($mediaQueryList) && $this->literal("{")) { - $media = $this->pushSpecialBlock("media"); - $media->queryList = $mediaQueryList[2]; - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@mixin") && - $this->keyword($mixinName) && - ($this->argumentDef($args) || true) && - $this->literal("{")) - { - $mixin = $this->pushSpecialBlock("mixin"); - $mixin->name = $mixinName; - $mixin->args = $args; - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@include") && - $this->keyword($mixinName) && - ($this->literal("(") && - ($this->argValues($argValues) || true) && - $this->literal(")") || true) && - ($this->end() || - $this->literal("{") && $hasBlock = true)) - { - $child = array("include", - $mixinName, isset($argValues) ? $argValues : null, null); - - if (!empty($hasBlock)) { - $include = $this->pushSpecialBlock("include"); - $include->child = $child; - } else { - $this->append($child, $s); - } - - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@import") && - $this->valueList($importPath) && - $this->end()) - { - $this->append(array("import", $importPath), $s); - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@extend") && - $this->selectors($selector) && - $this->end()) - { - $this->append(array("extend", $selector), $s); - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@function") && - $this->keyword($fnName) && - $this->argumentDef($args) && - $this->literal("{")) - { - $func = $this->pushSpecialBlock("function"); - $func->name = $fnName; - $func->args = $args; - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@return") && $this->valueList($retVal) && $this->end()) { - $this->append(array("return", $retVal), $s); - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@each") && - $this->variable($varName) && - $this->literal("in") && - $this->valueList($list) && - $this->literal("{")) - { - $each = $this->pushSpecialBlock("each"); - $each->var = $varName[1]; - $each->list = $list; - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@while") && - $this->expression($cond) && - $this->literal("{")) - { - $while = $this->pushSpecialBlock("while"); - $while->cond = $cond; - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@for") && - $this->variable($varName) && - $this->literal("from") && - $this->expression($start) && - ($this->literal("through") || - ($forUntil = true && $this->literal("to"))) && - $this->expression($end) && - $this->literal("{")) - { - $for = $this->pushSpecialBlock("for"); - $for->var = $varName[1]; - $for->start = $start; - $for->end = $end; - $for->until = isset($forUntil); - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@if") && $this->valueList($cond) && $this->literal("{")) { - $if = $this->pushSpecialBlock("if"); - $if->cond = $cond; - $if->cases = array(); - return true; - } else { - $this->seek($s); - } - - if (($this->literal("@debug") || $this->literal("@warn")) && - $this->valueList($value) && - $this->end()) { - $this->append(array("debug", $value, $s), $s); - return true; - } else { - $this->seek($s); - } - - if ($this->literal("@content") && $this->end()) { - $this->append(array("mixin_content"), $s); - return true; - } else { - $this->seek($s); - } - - $last = $this->last(); - if (!is_null($last) && $last[0] == "if") { - list(, $if) = $last; - if ($this->literal("@else")) { - if ($this->literal("{")) { - $else = $this->pushSpecialBlock("else"); - } elseif ($this->literal("if") && $this->valueList($cond) && $this->literal("{")) { - $else = $this->pushSpecialBlock("elseif"); - $else->cond = $cond; - } - - if (isset($else)) { - $else->dontAppend = true; - $if->cases[] = $else; - return true; - } - } - - $this->seek($s); - } - - if ($this->literal("@charset") && - $this->valueList($charset) && $this->end()) - { - $this->append(array("charset", $charset), $s); - return true; - } else { - $this->seek($s); - } - - // doesn't match built in directive, do generic one - if ($this->literal("@", false) && $this->keyword($dirName) && - ($this->openString("{", $dirValue) || true) && - $this->literal("{")) - { - $directive = $this->pushSpecialBlock("directive"); - $directive->name = $dirName; - if (isset($dirValue)) $directive->value = $dirValue; - return true; - } - - $this->seek($s); - return false; - } - - // property shortcut - // captures most properties before having to parse a selector - if ($this->keyword($name, false) && - $this->literal(": ") && - $this->valueList($value) && - $this->end()) - { - $name = array("string", "", array($name)); - $this->append(array("assign", $name, $value), $s); - return true; - } else { - $this->seek($s); - } - - // variable assigns - if ($this->variable($name) && - $this->literal(":") && - $this->valueList($value) && $this->end()) - { - // check for !default - $defaultVar = $value[0] == "list" && $this->stripDefault($value); - $this->append(array("assign", $name, $value, $defaultVar), $s); - return true; - } else { - $this->seek($s); - } - - // misc - if ($this->literal("-->")) { - return true; - } - - // opening css block - $oldComments = $this->insertComments; - $this->insertComments = false; - if ($this->selectors($selectors) && $this->literal("{")) { - $this->pushBlock($selectors); - $this->insertComments = $oldComments; - return true; - } else { - $this->seek($s); - } - $this->insertComments = $oldComments; - - // property assign, or nested assign - if ($this->propertyName($name) && $this->literal(":")) { - $foundSomething = false; - if ($this->valueList($value)) { - $this->append(array("assign", $name, $value), $s); - $foundSomething = true; - } - - if ($this->literal("{")) { - $propBlock = $this->pushSpecialBlock("nestedprop"); - $propBlock->prefix = $name; - $foundSomething = true; - } elseif ($foundSomething) { - $foundSomething = $this->end(); - } - - if ($foundSomething) { - return true; - } - - $this->seek($s); - } else { - $this->seek($s); - } - - // closing a block - if ($this->literal("}")) { - $block = $this->popBlock(); - if (isset($block->type) && $block->type == "include") { - $include = $block->child; - unset($block->child); - $include[3] = $block; - $this->append($include, $s); - } elseif (empty($block->dontAppend)) { - $type = isset($block->type) ? $block->type : "block"; - $this->append(array($type, $block), $s); - } - return true; - } - - // extra stuff - if ($this->literal(";") || - $this->literal("<!--")) - { - return true; - } - - return false; - } - - protected function stripDefault(&$value) { - $def = end($value[2]); - if ($def[0] == "keyword" && $def[1] == "!default") { - array_pop($value[2]); - $value = $this->flattenList($value); - return true; - } - - if ($def[0] == "list") { - return $this->stripDefault($value[2][count($value[2]) - 1]); - } - - return false; - } - - protected function literal($what, $eatWhitespace = null) { - if (is_null($eatWhitespace)) $eatWhitespace = $this->eatWhiteDefault; - - // shortcut on single letter - if (!isset($what[1]) && isset($this->buffer[$this->count])) { - if ($this->buffer[$this->count] == $what) { - if (!$eatWhitespace) { - $this->count++; - return true; - } - // goes below... - } else { - return false; - } - } - - return $this->match($this->preg_quote($what), $m, $eatWhitespace); - } - - // tree builders - - protected function pushBlock($selectors) { - $b = new stdClass; - $b->parent = $this->env; // not sure if we need this yet - - $b->selectors = $selectors; - $b->children = array(); - - $this->env = $b; - return $b; - } - - protected function pushSpecialBlock($type) { - $block = $this->pushBlock(null); - $block->type = $type; - return $block; - } - - protected function popBlock() { - if (empty($this->env->parent)) { - $this->throwParseError("unexpected }"); - } - - $old = $this->env; - $this->env = $this->env->parent; - unset($old->parent); - return $old; - } - - protected function append($statement, $pos=null) { - if ($pos !== null) { - $statement[-1] = $pos; - if (!$this->rootParser) $statement[-2] = $this; - } - $this->env->children[] = $statement; - } - - // last child that was appended - protected function last() { - $i = count($this->env->children) - 1; - if (isset($this->env->children[$i])) - return $this->env->children[$i]; - } - - // high level parsers (they return parts of ast) - - protected function mediaQueryList(&$out) { - return $this->genericList($out, "mediaQuery", ",", false); - } - - protected function mediaQuery(&$out) { - $s = $this->seek(); - - $expressions = null; - $parts = array(); - - if (($this->literal("only") && ($only = true) || $this->literal("not") && ($not = true) || true) && $this->mixedKeyword($mediaType)) { - $prop = array("mediaType"); - if (isset($only)) $prop[] = array("keyword", "only"); - if (isset($not)) $prop[] = array("keyword", "not"); - $media = array("list", "", array()); - foreach ((array)$mediaType as $type) { - if (is_array($type)) { - $media[2][] = $type; - } else { - $media[2][] = array("keyword", $type); - } - } - $prop[] = $media; - $parts[] = $prop; - } - - if (empty($parts) || $this->literal("and")) { - $this->genericList($expressions, "mediaExpression", "and", false); - if (is_array($expressions)) $parts = array_merge($parts, $expressions[2]); - } - - $out = $parts; - return true; - } - - protected function mediaExpression(&$out) { - $s = $this->seek(); - $value = null; - if ($this->literal("(") && - $this->expression($feature) && - ($this->literal(":") && $this->expression($value) || true) && - $this->literal(")")) - { - $out = array("mediaExp", $feature); - if ($value) $out[] = $value; - return true; - } - - $this->seek($s); - return false; - } - - protected function argValues(&$out) { - if ($this->genericList($list, "argValue", ",", false)) { - $out = $list[2]; - return true; - } - return false; - } - - protected function argValue(&$out) { - $s = $this->seek(); - - $keyword = null; - if (!$this->variable($keyword) || !$this->literal(":")) { - $this->seek($s); - $keyword = null; - } - - if ($this->genericList($value, "expression")) { - $out = array($keyword, $value, false); - $s = $this->seek(); - if ($this->literal("...")) { - $out[2] = true; - } else { - $this->seek($s); - } - return true; - } - - return false; - } - - - protected function valueList(&$out) { - return $this->genericList($out, "spaceList", ","); - } - - protected function spaceList(&$out) { - return $this->genericList($out, "expression"); - } - - protected function genericList(&$out, $parseItem, $delim="", $flatten=true) { - $s = $this->seek(); - $items = array(); - while ($this->$parseItem($value)) { - $items[] = $value; - if ($delim) { - if (!$this->literal($delim)) break; - } - } - - if (count($items) == 0) { - $this->seek($s); - return false; - } - - if ($flatten && count($items) == 1) { - $out = $items[0]; - } else { - $out = array("list", $delim, $items); - } - - return true; - } - - protected function expression(&$out) { - $s = $this->seek(); - - if ($this->literal("(")) { - if ($this->literal(")")) { - $out = array("list", "", array()); - return true; - } - - if ($this->valueList($out) && $this->literal(')') && $out[0] == "list") { - return true; - } - - $this->seek($s); - } - - if ($this->value($lhs)) { - $out = $this->expHelper($lhs, 0); - return true; - } - - return false; - } - - protected function expHelper($lhs, $minP) { - $opstr = self::$operatorStr; - - $ss = $this->seek(); - $whiteBefore = isset($this->buffer[$this->count - 1]) && - ctype_space($this->buffer[$this->count - 1]); - while ($this->match($opstr, $m) && self::$precedence[$m[1]] >= $minP) { - $whiteAfter = isset($this->buffer[$this->count - 1]) && - ctype_space($this->buffer[$this->count - 1]); - - $op = $m[1]; - - // don't turn negative numbers into expressions - if ($op == "-" && $whiteBefore) { - if (!$whiteAfter) break; - } - - if (!$this->value($rhs)) break; - - // peek and see if rhs belongs to next operator - if ($this->peek($opstr, $next) && self::$precedence[$next[1]] > self::$precedence[$op]) { - $rhs = $this->expHelper($rhs, self::$precedence[$next[1]]); - } - - $lhs = array("exp", $op, $lhs, $rhs, $this->inParens, $whiteBefore, $whiteAfter); - $ss = $this->seek(); - $whiteBefore = isset($this->buffer[$this->count - 1]) && - ctype_space($this->buffer[$this->count - 1]); - } - - $this->seek($ss); - return $lhs; - } - - protected function value(&$out) { - $s = $this->seek(); - - if ($this->literal("not", false) && $this->whitespace() && $this->value($inner)) { - $out = array("unary", "not", $inner, $this->inParens); - return true; - } else { - $this->seek($s); - } - - if ($this->literal("+") && $this->value($inner)) { - $out = array("unary", "+", $inner, $this->inParens); - return true; - } else { - $this->seek($s); - } - - // negation - if ($this->literal("-", false) && - ($this->variable($inner) || - $this->unit($inner) || - $this->parenValue($inner))) - { - $out = array("unary", "-", $inner, $this->inParens); - return true; - } else { - $this->seek($s); - } - - if ($this->parenValue($out)) return true; - if ($this->interpolation($out)) return true; - if ($this->variable($out)) return true; - if ($this->color($out)) return true; - if ($this->unit($out)) return true; - if ($this->string($out)) return true; - if ($this->func($out)) return true; - if ($this->progid($out)) return true; - - if ($this->keyword($keyword)) { - if ($keyword == "null") { - $out = array("null"); - } else { - $out = array("keyword", $keyword); - } - return true; - } - - return false; - } - - // value wrappen in parentheses - protected function parenValue(&$out) { - $s = $this->seek(); - - $inParens = $this->inParens; - if ($this->literal("(") && - ($this->inParens = true) && $this->expression($exp) && - $this->literal(")")) - { - $out = $exp; - $this->inParens = $inParens; - return true; - } else { - $this->inParens = $inParens; - $this->seek($s); - } - - return false; - } - - protected function progid(&$out) { - $s = $this->seek(); - if ($this->literal("progid:", false) && - $this->openString("(", $fn) && - $this->literal("(")) - { - $this->openString(")", $args, "("); - if ($this->literal(")")) { - $out = array("string", "", array( - "progid:", $fn, "(", $args, ")" - )); - return true; - } - } - - $this->seek($s); - return false; - } - - protected function func(&$func) { - $s = $this->seek(); - - if ($this->keyword($name, false) && - $this->literal("(")) - { - if ($name == "alpha" && $this->argumentList($args)) { - $func = array("function", $name, array("string", "", $args)); - return true; - } - - if ($name != "expression" && !preg_match("/^(-[a-z]+-)?calc$/", $name)) { - $ss = $this->seek(); - if ($this->argValues($args) && $this->literal(")")) { - $func = array("fncall", $name, $args); - return true; - } - $this->seek($ss); - } - - if (($this->openString(")", $str, "(") || true ) && - $this->literal(")")) - { - $args = array(); - if (!empty($str)) { - $args[] = array(null, array("string", "", array($str))); - } - - $func = array("fncall", $name, $args); - return true; - } - } - - $this->seek($s); - return false; - } - - protected function argumentList(&$out) { - $s = $this->seek(); - $this->literal("("); - - $args = array(); - while ($this->keyword($var)) { - $ss = $this->seek(); - - if ($this->literal("=") && $this->expression($exp)) { - $args[] = array("string", "", array($var."=")); - $arg = $exp; - } else { - break; - } - - $args[] = $arg; - - if (!$this->literal(",")) break; - - $args[] = array("string", "", array(", ")); - } - - if (!$this->literal(")") || !count($args)) { - $this->seek($s); - return false; - } - - $out = $args; - return true; - } - - protected function argumentDef(&$out) { - $s = $this->seek(); - $this->literal("("); - - $args = array(); - while ($this->variable($var)) { - $arg = array($var[1], null, false); - - $ss = $this->seek(); - if ($this->literal(":") && $this->genericList($defaultVal, "expression")) { - $arg[1] = $defaultVal; - } else { - $this->seek($ss); - } - - $ss = $this->seek(); - if ($this->literal("...")) { - $sss = $this->seek(); - if (!$this->literal(")")) { - $this->throwParseError("... has to be after the final argument"); - } - $arg[2] = true; - $this->seek($sss); - } else { - $this->seek($ss); - } - - $args[] = $arg; - if (!$this->literal(",")) break; - } - - if (!$this->literal(")")) { - $this->seek($s); - return false; - } - - $out = $args; - return true; - } - - protected function color(&$out) { - $color = array('color'); - - if ($this->match('(#([0-9a-f]{6})|#([0-9a-f]{3}))', $m)) { - if (isset($m[3])) { - $num = $m[3]; - $width = 16; - } else { - $num = $m[2]; - $width = 256; - } - - $num = hexdec($num); - foreach (array(3,2,1) as $i) { - $t = $num % $width; - $num /= $width; - - $color[$i] = $t * (256/$width) + $t * floor(16/$width); - } - - $out = $color; - return true; - } - - return false; - } - - protected function unit(&$unit) { - if ($this->match('([0-9]*(\.)?[0-9]+)([%a-zA-Z]+)?', $m)) { - $unit = array("number", $m[1], empty($m[3]) ? "" : $m[3]); - return true; - } - return false; - } - - protected function string(&$out) { - $s = $this->seek(); - if ($this->literal('"', false)) { - $delim = '"'; - } elseif ($this->literal("'", false)) { - $delim = "'"; - } else { - return false; - } - - $content = array(); - $oldWhite = $this->eatWhiteDefault; - $this->eatWhiteDefault = false; - - while ($this->matchString($m, $delim)) { - $content[] = $m[1]; - if ($m[2] == "#{") { - $this->count -= strlen($m[2]); - if ($this->interpolation($inter, false)) { - $content[] = $inter; - } else { - $this->count += strlen($m[2]); - $content[] = "#{"; // ignore it - } - } elseif ($m[2] == '\\') { - $content[] = $m[2]; - if ($this->literal($delim, false)) { - $content[] = $delim; - } - } else { - $this->count -= strlen($delim); - break; // delim - } - } - - $this->eatWhiteDefault = $oldWhite; - - if ($this->literal($delim)) { - $out = array("string", $delim, $content); - return true; - } - - $this->seek($s); - return false; - } - - protected function mixedKeyword(&$out) { - $s = $this->seek(); - - $parts = array(); - - $oldWhite = $this->eatWhiteDefault; - $this->eatWhiteDefault = false; - - while (true) { - if ($this->keyword($key)) { - $parts[] = $key; - continue; - } - - if ($this->interpolation($inter)) { - $parts[] = $inter; - continue; - } - - break; - } - - $this->eatWhiteDefault = $oldWhite; - - if (count($parts) == 0) return false; - - if ($this->eatWhiteDefault) { - $this->whitespace(); - } - - $out = $parts; - return true; - } - - // an unbounded string stopped by $end - protected function openString($end, &$out, $nestingOpen=null) { - $oldWhite = $this->eatWhiteDefault; - $this->eatWhiteDefault = false; - - $stop = array("'", '"', "#{", $end); - $stop = array_map(array($this, "preg_quote"), $stop); - $stop[] = self::$commentMulti; - - $patt = '(.*?)('.implode("|", $stop).')'; - - $nestingLevel = 0; - - $content = array(); - while ($this->match($patt, $m, false)) { - if (isset($m[1]) && $m[1] !== '') { - $content[] = $m[1]; - if ($nestingOpen) { - $nestingLevel += substr_count($m[1], $nestingOpen); - } - } - - $tok = $m[2]; - - $this->count-= strlen($tok); - if ($tok == $end) { - if ($nestingLevel == 0) { - break; - } else { - $nestingLevel--; - } - } - - if (($tok == "'" || $tok == '"') && $this->string($str)) { - $content[] = $str; - continue; - } - - if ($tok == "#{" && $this->interpolation($inter)) { - $content[] = $inter; - continue; - } - - $content[] = $tok; - $this->count+= strlen($tok); - } - - $this->eatWhiteDefault = $oldWhite; - - if (count($content) == 0) return false; - - // trim the end - if (is_string(end($content))) { - $content[count($content) - 1] = rtrim(end($content)); - } - - $out = array("string", "", $content); - return true; - } - - // $lookWhite: save information about whitespace before and after - protected function interpolation(&$out, $lookWhite=true) { - $oldWhite = $this->eatWhiteDefault; - $this->eatWhiteDefault = true; - - $s = $this->seek(); - if ($this->literal("#{") && $this->valueList($value) && $this->literal("}", false)) { - - // TODO: don't error if out of bounds - - if ($lookWhite) { - $left = preg_match('/\s/', $this->buffer[$s - 1]) ? " " : ""; - $right = preg_match('/\s/', $this->buffer[$this->count]) ? " ": ""; - } else { - $left = $right = false; - } - - $out = array("interpolate", $value, $left, $right); - $this->eatWhiteDefault = $oldWhite; - if ($this->eatWhiteDefault) $this->whitespace(); - return true; - } - - $this->seek($s); - $this->eatWhiteDefault = $oldWhite; - return false; - } - - // low level parsers - - // returns an array of parts or a string - protected function propertyName(&$out) { - $s = $this->seek(); - $parts = array(); - - $oldWhite = $this->eatWhiteDefault; - $this->eatWhiteDefault = false; - - while (true) { - if ($this->interpolation($inter)) { - $parts[] = $inter; - } elseif ($this->keyword($text)) { - $parts[] = $text; - } elseif (count($parts) == 0 && $this->match('[:.#]', $m, false)) { - // css hacks - $parts[] = $m[0]; - } else { - break; - } - } - - $this->eatWhiteDefault = $oldWhite; - if (count($parts) == 0) return false; - - // match comment hack - if (preg_match(self::$whitePattern, - $this->buffer, $m, null, $this->count)) - { - if (!empty($m[0])) { - $parts[] = $m[0]; - $this->count += strlen($m[0]); - } - } - - $this->whitespace(); // get any extra whitespace - - $out = array("string", "", $parts); - return true; - } - - // comma separated list of selectors - protected function selectors(&$out) { - $s = $this->seek(); - $selectors = array(); - while ($this->selector($sel)) { - $selectors[] = $sel; - if (!$this->literal(",")) break; - while ($this->literal(",")); // ignore extra - } - - if (count($selectors) == 0) { - $this->seek($s); - return false; - } - - $out = $selectors; - return true; - } - - // whitespace separated list of selectorSingle - protected function selector(&$out) { - $selector = array(); - - while (true) { - if ($this->match('[>+~]+', $m)) { - $selector[] = array($m[0]); - } elseif ($this->selectorSingle($part)) { - $selector[] = $part; - $this->whitespace(); - } elseif ($this->match('\/[^\/]+\/', $m)) { - $selector[] = array($m[0]); - } else { - break; - } - - } - - if (count($selector) == 0) { - return false; - } - - $out = $selector; - return true; - } - - // the parts that make up - // div[yes=no]#something.hello.world:nth-child(-2n+1)%placeholder - protected function selectorSingle(&$out) { - $oldWhite = $this->eatWhiteDefault; - $this->eatWhiteDefault = false; - - $parts = array(); - - if ($this->literal("*", false)) { - $parts[] = "*"; - } - - while (true) { - // see if we can stop early - if ($this->match("\s*[{,]", $m)) { - $this->count--; - break; - } - - $s = $this->seek(); - // self - if ($this->literal("&", false)) { - $parts[] = scssc::$selfSelector; - continue; - } - - if ($this->literal(".", false)) { - $parts[] = "."; - continue; - } - - if ($this->literal("|", false)) { - $parts[] = "|"; - continue; - } - - // for keyframes - if ($this->unit($unit)) { - $parts[] = $unit; - continue; - } - - if ($this->keyword($name)) { - $parts[] = $name; - continue; - } - - if ($this->interpolation($inter)) { - $parts[] = $inter; - continue; - } - - if ($this->literal('%', false) && $this->placeholder($placeholder)) { - $parts[] = '%'; - $parts[] = $placeholder; - continue; - } - - if ($this->literal("#", false)) { - $parts[] = "#"; - continue; - } - - // a pseudo selector - if ($this->match("::?", $m) && $this->mixedKeyword($nameParts)) { - $parts[] = $m[0]; - foreach ($nameParts as $sub) { - $parts[] = $sub; - } - - $ss = $this->seek(); - if ($this->literal("(") && - ($this->openString(")", $str, "(") || true ) && - $this->literal(")")) - { - $parts[] = "("; - if (!empty($str)) $parts[] = $str; - $parts[] = ")"; - } else { - $this->seek($ss); - } - - continue; - } else { - $this->seek($s); - } - - // attribute selector - // TODO: replace with open string? - if ($this->literal("[", false)) { - $attrParts = array("["); - // keyword, string, operator - while (true) { - if ($this->literal("]", false)) { - $this->count--; - break; // get out early - } - - if ($this->match('\s+', $m)) { - $attrParts[] = " "; - continue; - } - if ($this->string($str)) { - $attrParts[] = $str; - continue; - } - - if ($this->keyword($word)) { - $attrParts[] = $word; - continue; - } - - if ($this->interpolation($inter, false)) { - $attrParts[] = $inter; - continue; - } - - // operator, handles attr namespace too - if ($this->match('[|-~\$\*\^=]+', $m)) { - $attrParts[] = $m[0]; - continue; - } - - break; - } - - if ($this->literal("]", false)) { - $attrParts[] = "]"; - foreach ($attrParts as $part) { - $parts[] = $part; - } - continue; - } - $this->seek($s); - // should just break here? - } - - break; - } - - $this->eatWhiteDefault = $oldWhite; - - if (count($parts) == 0) return false; - - $out = $parts; - return true; - } - - protected function variable(&$out) { - $s = $this->seek(); - if ($this->literal("$", false) && $this->keyword($name)) { - $out = array("var", $name); - return true; - } - $this->seek($s); - return false; - } - - protected function keyword(&$word, $eatWhitespace = null) { - if ($this->match('([\w_\-\*!"\'\\\\][\w\-_"\'\\\\]*)', - $m, $eatWhitespace)) - { - $word = $m[1]; - return true; - } - return false; - } - - protected function placeholder(&$placeholder) { - if ($this->match('([\w\-_]+)', $m)) { - $placeholder = $m[1]; - return true; - } - return false; - } - - // consume an end of statement delimiter - protected function end() { - if ($this->literal(';')) { - return true; - } elseif ($this->count == strlen($this->buffer) || $this->buffer[$this->count] == '}') { - // if there is end of file or a closing block next then we don't need a ; - return true; - } - return false; - } - - // advance counter to next occurrence of $what - // $until - don't include $what in advance - // $allowNewline, if string, will be used as valid char set - protected function to($what, &$out, $until = false, $allowNewline = false) { - if (is_string($allowNewline)) { - $validChars = $allowNewline; - } else { - $validChars = $allowNewline ? "." : "[^\n]"; - } - if (!$this->match('('.$validChars.'*?)'.$this->preg_quote($what), $m, !$until)) return false; - if ($until) $this->count -= strlen($what); // give back $what - $out = $m[1]; - return true; - } - - public function throwParseError($msg = "parse error", $count = null) { - $count = is_null($count) ? $this->count : $count; - - $line = $this->getLineNo($count); - - if (!empty($this->sourceName)) { - $loc = "$this->sourceName on line $line"; - } else { - $loc = "line: $line"; - } - - if ($this->peek("(.*?)(\n|$)", $m, $count)) { - throw new Exception("$msg: failed at `$m[1]` $loc"); - } else { - throw new Exception("$msg: $loc"); - } - } - - public function getLineNo($pos) { - return 1 + substr_count(substr($this->buffer, 0, $pos), "\n"); - } - - /** - * Match string looking for either ending delim, escape, or string interpolation - * - * {@internal This is a workaround for preg_match's 250K string match limit. }} - * - * @param array $m Matches (passed by reference) - * @param string $delim Delimeter - * - * @return boolean True if match; false otherwise - */ - protected function matchString(&$m, $delim) { - $token = null; - - $end = strpos($this->buffer, "\n", $this->count); - if ($end === false) { - $end = strlen($this->buffer); - } - - // look for either ending delim, escape, or string interpolation - foreach (array('#{', '\\', $delim) as $lookahead) { - $pos = strpos($this->buffer, $lookahead, $this->count); - if ($pos !== false && $pos < $end) { - $end = $pos; - $token = $lookahead; - } - } - - if (!isset($token)) { - return false; - } - - $match = substr($this->buffer, $this->count, $end - $this->count); - $m = array( - $match . $token, - $match, - $token - ); - $this->count = $end + strlen($token); - - return true; - } - - // try to match something on head of buffer - protected function match($regex, &$out, $eatWhitespace = null) { - if (is_null($eatWhitespace)) $eatWhitespace = $this->eatWhiteDefault; - - $r = '/'.$regex.'/Ais'; - if (preg_match($r, $this->buffer, $out, null, $this->count)) { - $this->count += strlen($out[0]); - if ($eatWhitespace) $this->whitespace(); - return true; - } - return false; - } - - // match some whitespace - protected function whitespace() { - $gotWhite = false; - while (preg_match(self::$whitePattern, $this->buffer, $m, null, $this->count)) { - if ($this->insertComments) { - if (isset($m[1]) && empty($this->commentsSeen[$this->count])) { - $this->append(array("comment", $m[1])); - $this->commentsSeen[$this->count] = true; - } - } - $this->count += strlen($m[0]); - $gotWhite = true; - } - return $gotWhite; - } - - protected function peek($regex, &$out, $from=null) { - if (is_null($from)) $from = $this->count; - - $r = '/'.$regex.'/Ais'; - $result = preg_match($r, $this->buffer, $out, null, $from); - - return $result; - } - - protected function seek($where = null) { - if ($where === null) return $this->count; - else $this->count = $where; - return true; - } - - static function preg_quote($what) { - return preg_quote($what, '/'); - } - - protected function show() { - if ($this->peek("(.*?)(\n|$)", $m, $this->count)) { - return $m[1]; - } - return ""; - } - - // turn list of length 1 into value type - protected function flattenList($value) { - if ($value[0] == "list" && count($value[2]) == 1) { - return $this->flattenList($value[2][0]); - } - return $value; - } -} - -/** - * SCSS base formatter - * - * @author Leaf Corcoran <leafot@gmail.com> - */ -class scss_formatter { - public $indentChar = " "; - - public $break = "\n"; - public $open = " {"; - public $close = "}"; - public $tagSeparator = ", "; - public $assignSeparator = ": "; - - public function __construct() { - $this->indentLevel = 0; - } - - public function indentStr($n = 0) { - return str_repeat($this->indentChar, max($this->indentLevel + $n, 0)); - } - - public function property($name, $value) { - return $name . $this->assignSeparator . $value . ";"; - } - - protected function block($block) { - if (empty($block->lines) && empty($block->children)) return; - - $inner = $pre = $this->indentStr(); - - if (!empty($block->selectors)) { - echo $pre . - implode($this->tagSeparator, $block->selectors) . - $this->open . $this->break; - $this->indentLevel++; - $inner = $this->indentStr(); - } - - if (!empty($block->lines)) { - $glue = $this->break.$inner; - echo $inner . implode($glue, $block->lines); - if (!empty($block->children)) { - echo $this->break; - } - } - - foreach ($block->children as $child) { - $this->block($child); - } - - if (!empty($block->selectors)) { - $this->indentLevel--; - if (empty($block->children)) echo $this->break; - echo $pre . $this->close . $this->break; - } - } - - public function format($block) { - ob_start(); - $this->block($block); - $out = ob_get_clean(); - - return $out; - } -} - -/** - * SCSS nested formatter - * - * @author Leaf Corcoran <leafot@gmail.com> - */ -class scss_formatter_nested extends scss_formatter { - public $close = " }"; - - // adjust the depths of all children, depth first - public function adjustAllChildren($block) { - // flatten empty nested blocks - $children = array(); - foreach ($block->children as $i => $child) { - if (empty($child->lines) && empty($child->children)) { - if (isset($block->children[$i + 1])) { - $block->children[$i + 1]->depth = $child->depth; - } - continue; - } - $children[] = $child; - } - - $count = count($children); - for ($i = 0; $i < $count; $i++) { - $depth = $children[$i]->depth; - $j = $i + 1; - if (isset($children[$j]) && $depth < $children[$j]->depth) { - $childDepth = $children[$j]->depth; - for (; $j < $count; $j++) { - if ($depth < $children[$j]->depth && $childDepth >= $children[$j]->depth) { - $children[$j]->depth = $depth + 1; - } - } - } - } - - $block->children = $children; - - // make relative to parent - foreach ($block->children as $child) { - $this->adjustAllChildren($child); - $child->depth = $child->depth - $block->depth; - } - } - - protected function block($block) { - if ($block->type == "root") { - $this->adjustAllChildren($block); - } - - $inner = $pre = $this->indentStr($block->depth - 1); - if (!empty($block->selectors)) { - echo $pre . - implode($this->tagSeparator, $block->selectors) . - $this->open . $this->break; - $this->indentLevel++; - $inner = $this->indentStr($block->depth - 1); - } - - if (!empty($block->lines)) { - $glue = $this->break.$inner; - echo $inner . implode($glue, $block->lines); - if (!empty($block->children)) echo $this->break; - } - - foreach ($block->children as $i => $child) { - // echo "*** block: ".$block->depth." child: ".$child->depth."\n"; - $this->block($child); - if ($i < count($block->children) - 1) { - echo $this->break; - - if (isset($block->children[$i + 1])) { - $next = $block->children[$i + 1]; - if ($next->depth == max($block->depth, 1) && $child->depth >= $next->depth) { - echo $this->break; - } - } - } - } - - if (!empty($block->selectors)) { - $this->indentLevel--; - echo $this->close; - } - - if ($block->type == "root") { - echo $this->break; - } - } -} - -/** - * SCSS compressed formatter - * - * @author Leaf Corcoran <leafot@gmail.com> - */ -class scss_formatter_compressed extends scss_formatter { - public $open = "{"; - public $tagSeparator = ","; - public $assignSeparator = ":"; - public $break = ""; - - public function indentStr($n = 0) { - return ""; - } -} - -/** - * SCSS server - * - * @author Leaf Corcoran <leafot@gmail.com> - */ -class scss_server { - /** - * Join path components - * - * @param string $left Path component, left of the directory separator - * @param string $right Path component, right of the directory separator - * - * @return string - */ - protected function join($left, $right) { - return rtrim($left, '/\\') . DIRECTORY_SEPARATOR . ltrim($right, '/\\'); - } - - /** - * Get name of requested .scss file - * - * @return string|null - */ - protected function inputName() { - switch (true) { - case isset($_GET['p']): - return $_GET['p']; - case isset($_SERVER['PATH_INFO']): - return $_SERVER['PATH_INFO']; - case isset($_SERVER['DOCUMENT_URI']): - return substr($_SERVER['DOCUMENT_URI'], strlen($_SERVER['SCRIPT_NAME'])); - } - } - - /** - * Get path to requested .scss file - * - * @return string - */ - protected function findInput() { - if (($input = $this->inputName()) - && strpos($input, '..') === false - && substr($input, -5) === '.scss' - ) { - $name = $this->join($this->dir, $input); - - if (is_file($name) && is_readable($name)) { - return $name; - } - } - - return false; - } - - /** - * Get path to cached .css file - * - * @return string - */ - protected function cacheName($fname) { - return $this->join($this->cacheDir, md5($fname) . '.css'); - } - - /** - * Get path to cached imports - * - * @return string - */ - protected function importsCacheName($out) { - return $out . '.imports'; - } - - /** - * Determine whether .scss file needs to be re-compiled. - * - * @param string $in Input path - * @param string $out Output path - * - * @return boolean True if compile required. - */ - protected function needsCompile($in, $out) { - if (!is_file($out)) return true; - - $mtime = filemtime($out); - if (filemtime($in) > $mtime) return true; - - // look for modified imports - $icache = $this->importsCacheName($out); - if (is_readable($icache)) { - $imports = unserialize(file_get_contents($icache)); - foreach ($imports as $import) { - if (filemtime($import) > $mtime) return true; - } - } - return false; - } - - /** - * Compile .scss file - * - * @param string $in Input path (.scss) - * @param string $out Output path (.css) - * - * @return string - */ - protected function compile($in, $out) { - $start = microtime(true); - $css = $this->scss->compile(file_get_contents($in), $in); - $elapsed = round((microtime(true) - $start), 4); - - $v = scssc::$VERSION; - $t = date('r'); - $css = "/* compiled by scssphp $v on $t (${elapsed}s) */\n\n" . $css; - - file_put_contents($out, $css); - file_put_contents($this->importsCacheName($out), - serialize($this->scss->getParsedFiles())); - return $css; - } - - /** - * Compile requested scss and serve css. Outputs HTTP response. - * - * @param string $salt Prefix a string to the filename for creating the cache name hash - */ - public function serve($salt = '') { - if ($input = $this->findInput()) { - $output = $this->cacheName($salt . $input); - header('Content-type: text/css'); - - if ($this->needsCompile($input, $output)) { - try { - echo $this->compile($input, $output); - } catch (Exception $e) { - header('HTTP/1.1 500 Internal Server Error'); - echo 'Parse error: ' . $e->getMessage() . "\n"; - } - } else { - header('X-SCSS-Cache: true'); - echo file_get_contents($output); - } - - return; - } - - header('HTTP/1.0 404 Not Found'); - header('Content-type: text'); - $v = scssc::$VERSION; - echo "/* INPUT NOT FOUND scss $v */\n"; - } - - /** - * Constructor - * - * @param string $dir Root directory to .scss files - * @param string $cacheDir Cache directory - * @param \scssc|null $scss SCSS compiler instance - */ - public function __construct($dir, $cacheDir=null, $scss=null) { - $this->dir = $dir; - - if (is_null($cacheDir)) { - $cacheDir = $this->join($dir, 'scss_cache'); - } - - $this->cacheDir = $cacheDir; - if (!is_dir($this->cacheDir)) mkdir($this->cacheDir, 0755, true); - - if (is_null($scss)) { - $scss = new scssc(); - $scss->setImportPaths($this->dir); - } - $this->scss = $scss; - } - - /** - * Helper method to serve compiled scss - * - * @param string $path Root path - */ - static public function serveFrom($path) { - $server = new self($path); - $server->serve(); - } -} diff --git a/vendor/leafo/scssphp/site/.gitignore b/vendor/leafo/scssphp/site/.gitignore deleted file mode 100644 index 6cff422781e22f978c44212d2fc15e0101ebb4f4..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.sitegen_cache -.tup diff --git a/vendor/leafo/scssphp/site/composer.html b/vendor/leafo/scssphp/site/composer.html deleted file mode 100644 index 40d6b7a1d85272985e8c403ea98363615f5aa6a4..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/composer.html +++ /dev/null @@ -1,6 +0,0 @@ -<pre class="highlight lang_json"><code><span class="p">{</span> - <span class="nt">"require"</span><span class="p">:</span> <span class="p">{</span> - <span class="nt">"leafo/scssphp"</span><span class="p">:</span> <span class="s2">"$current_version"</span> - <span class="p">}</span> -<span class="p">}</span></code> -</pre> diff --git a/vendor/leafo/scssphp/site/docs/index.md b/vendor/leafo/scssphp/site/docs/index.md deleted file mode 100644 index 1a7b607c4ee8e906bb0b512a686f12ca368729a5..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/docs/index.md +++ /dev/null @@ -1,306 +0,0 @@ - title: Documentation --- - -<h1 skip="true">scssphp $current_version Documentation</h1> - -<div class="index">$index</div> - -## PHP Interface - -### Including - -The entire project comes in a single file. Just include it somewhere to start -using it: - - ```php - <?php - require "scssphp/scss.inc.php"; - ``` - -### Compiling - -In order to manually compile code from PHP you must create an instance of the -`scssc` class. The typical flow is to create the instance, set any compile time -options, then run the compiler with the `compile` method. - - ```php - <?php - require "scssphp/scss.inc.php"; - $scss = new scssc(); - - echo $scss->compile(' - $color: #abc; - div { color: lighten($color, 20%); } - '); - ``` - -* <p>`compile($scssCode)` will attempt to compile a string of SCSS code. If it - succeeds then the CSS will be returned as a string. If there is any error, an - exception is thrown with an appropriate error message. - </p> - -### Import Paths - -When you import a file using the `@import` directive, the current path of your -PHP script is used as the search path by default. This is often not what -you want, so there are two methods for manipulating the import path: -`addImportPath`, and `setImportPaths`. - -* `addImportPath($path)` will append `$path` to the list of the import - paths that are searched. - -* `setImportPaths($pathArray)` will replace the entire import path with - `$pathArray`. The value of `$pathArray` will be converted to an array if it - isn't one already. - -If the import path is set to `array()` then importing is effectively disabled. -The default import path is `array("")`, which means the current directory. - - ```php - <?php - require "scssphp/scss.inc.php"; - $scss = new scssc(); - $scss->setImportPaths("assets/stylesheets/"); - - // will search for `assets/stylesheets/mixins.scss' - echo $scss->compile('@import "mixins.scss"'); - ``` - -Besides adding static import paths, it's also possible to add custom import -functions. This allows you to load paths from a database, or HTTP, or using -files that SCSS would otherwise not process (such as vanilla CSS imports). - - ```php - <?php - require "scssphp/scss.inc.php"; - $scss = new scssc(); - $scss->addImportPath(function($path) { - if (!file_exists('stylesheets/'.$path)) return null; - return 'stylesheets/'.$path; - }); - - // will import `stylesheets/vanilla.css' - echo $scss->compile('@import "vanilla.css"'); - ``` - -### Output Formatting - -It's possible to customize the formatting of the output CSS by changing the -default formatter. - -Three formatters are included: - -* `scss_formatter` -* `scss_formatter_nested` *(default)* -* `scss_formatter_compressed` - -We can change the formatting using the `setFormatter` method. - -* <p>`setFormatter($formatterName)` sets the current formatter to `$formatterName`, - the name of a class as a string that implements the formatting interface. See - the source for `scss_formatter` for an example. - </p> - -Given the following SCSS: - - ```scss - .navigation { - ul { - line-height: 20px; - color: blue; - a { - color: red; - } - } - } - - .footer { - .copyright { - color: silver; - } - } - ``` - -The formatters will output, - -`scss_formatter`: - - ```css - .navigation ul { - line-height: 20px; - color: blue; - } - .navigation ul a { - color: red; - } - .footer .copyright { - color: silver; - } - ``` - -`scss_formatter_nested`: - - ```css - .navigation ul { - line-height: 20px; - color: blue; } - .navigation ul a { - color: red; } - - .footer .copyright { - color: silver; } - ``` - -`scss_formatter_compressed`: - - ```css - .navigation ul{line-height:20px;color:blue;}.navigation ul a{color:red;}.footer .copyright{color:silver;} - ``` - -### Custom Functions - -It's possible to register custom functions written in PHP that can be called -from SCSS. Some possible applications include appending your assets directory -to a URL with an `asset-url` function, or converting image URLs to an embedded -data URI to reduce the number of requests on a page with a `data-uri` function. - -We can add and remove functions using the methods `registerFunction` and -`unregisterFunction`. - -* `registerFunction($functionName, $callable)` assigns the callable value to - the name `$functionName`. The name is normalized using the rules of SCSS. - Meaning underscores and dashes are interchangeable. If a function with the - same name already exists then it is replaced. - -* `unregisterFunction($functionName)` removes `$functionName` from the list of - available functions. - - -The `$callable` can be anything that PHP knows how to call using -`call_user_func`. The function receives two arguments when invoked. The first -is an array of SCSS typed arguments that the function was sent. The second is a -reference to the current `scss` instance. - -The *SCSS typed arguments* are actually just arrays that represent SCSS values. -SCSS has different types than PHP, and this is how **scssphp** represents them -internally. - -For example, the value `10px` in PHP would be `array("number", 1, "px")`. There -is a large variety of types. Experiment with a debugging function like `print_r` -to examine the possible inputs. - -The return value of the custom function can either be a SCSS type or a basic -PHP type. (such as a string or a number) If it's a PHP type, it will be converted -automatically to the corresponding SCSS type. - -As an example, a function called `add-two` is registered, which adds two numbers -together. PHP's anonymous function syntax is used to define the function. - - ```php - <?php - $scss = new scssc(); - - $scss->registerFunction("add-two", function($args) { - list($a, $b) = $args; - return $a[1] + $b[1]; - }); - - $scss->compile('.ex1 { result: add-two(10, 10); }'); - ``` - -It's worth noting that in this example we lose the units of the number, and we -also don't do any type checking. This will have undefined results if we give it -anything other than two numbers. - - -## SCSS Server - -The SCSS server is a small class that helps with automatically compiling SCSS. - -It's an endpoint for your web application that searches for SCSS files in a -directory then compiles and serves them as CSS. It will only compile -files if they've been modified (or one of the imports has been modified). - -### Using `serveFrom` - -`scss_server::serveFrom` is a simple to use function that should handle most cases. - -For example, create a file `style.php`: - - ```php - <?php - $directory = "stylesheets"; - - require "scssphp/scss.inc.php"; - scss_server::serveFrom($directory); - ``` - -Going to the URL `example.com/style.php/style.scss` will attempt to compile -`style.scss` from the `stylesheets` directory, and serve it as CSS. - -* <p>`scss_server::serveFrom($directory)` will serve SCSS files out of - `$directory`. It will attempt to get the path to the file out of - `$_SERVER["PATH_INFO"]`. (It also looks at the GET parameter `p`) - </p> - -If it can not find the file it will return an HTTP 404 page: - - ```text - /* INPUT NOT FOUND scss v0.0.1 */ - ``` - -If the file can't be compiled due to an error, then an HTTP 500 page is -returned. Similar to the following: - - ```text - Parse error: parse error: failed at `height: ;` stylesheets/test.scss on line 8 - ``` - -By default , the SCSS server must have write access to the style sheet -directory. It writes its cache in a special directory called `scss_cache`. - -Also, because SCSS server writes headers, make sure no output is written before -it runs. - -### Using `scss_server` - -Creating an instance of `scss_server` is just another way of accomplishing what -`serveFrom` does. It let's us customize the cache directory and the instance -of the `scssc` that is used to compile - - -* <p>`new scss_server($sourceDir, $cacheDir, $scss)` creates a new server that - serves files from `$sourceDir`. The cache dir is where the cached compiled - files are placed. When `null`, `$sourceDir . "/scss_cache"` is used. `$scss` - is the instance of `scss` that is used to compile. - </p> - -Just call the `serve` method to let it render its output. - -Here's an example of creating a SCSS server that outputs compressed CSS: - - ```php - <?php - require "scssphp/scss.inc.php"; - - $scss = new scssc(); - $scss->setFormatter("scss_formatter_compressed"); - - $server = new scss_server("stylesheets", null, $scss); - $server->serve(); - ``` - - -## Command Line Tool - -A really basic command line tool is included for integration with scripts. It -is called `pscss`. It reads a SCSS file from standard out and returns the CSS. - -If passed the flag `-v`, input is ignored and the current version if returned. - -The flag `-f` can be used to set the [formatter](#Output_formatting): - - ```bash - $ ./pscss -f scss_formatter_compressed < styles.scss - ``` - diff --git a/vendor/leafo/scssphp/site/index.md b/vendor/leafo/scssphp/site/index.md deleted file mode 100644 index ae88f3eba1fc41d4ef244e6b86bcacd52118dcb3..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/index.md +++ /dev/null @@ -1,201 +0,0 @@ -**scssphp** is a compiler for [SCSS][0] written in PHP. - -SCSS is a CSS preprocessor that adds many features like variables, mixins, -imports, color manipulation, functions, and tons of other powerful features. - -The entire compiler comes in a single class file ready for including in any -kind of project in addition to a command line tool for running the compiler -from the terminal. - -**scssphp** implements SCSS (3.2.12). It does not implement the SASS syntax, -only the SCSS syntax. - -Follow the author on twitter: [@moonscript](http://twitter.com/moonscript). - -<div class="github-buttons"> -<iframe src="http://ghbtns.com/github-btn.html?user=leafo&repo=scssphp&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110px" height="20px"></iframe> -<iframe src="http://ghbtns.com/github-btn.html?user=leafo&repo=scssphp&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="95px" height="20px"></iframe> -</div> - -<a name="installing"></a> -## Installing - -You can always download the latest version here: -<a href="$root/src/scssphp-$current_version.tar.gz" id="download-link">scssphp-$current_version.tar.gz</a> - -You can also find the latest source online: -<https://github.com/leafo/scssphp/> - -If you use [Packagist][2] for installing packages, then you can update your `composer.json` like so: - -$render{[[composer]]} - -<a name="quickstart"></a> -## Language Reference - -For a complete guide to the syntax of SCSS, consult the [official documentation][1]. - -## PHP Reference - -Complete documentation for **scssphp** is located at <a href="$root/docs/">http://leafo.net/scssphp/docs/</a>. - -### Quickstart - -If you just want to start serving compiled `scss` files as quick as possible -then start here. - -**scssphp** comes with a easy to use class that automatically compiles modified -`scss` files and serves them from a directory you specify. - -Create a file, like `style.php`: - - ```php - <?php - $directory = "stylesheets"; - - require "scssphp/scss.inc.php"; - scss_server::serveFrom($directory); - - ``` - -Create the directory set in the script alongside the script, then add your -`scss` files to it. - -If we've got a file in there called `style.scss`, then we just need to hit the -url: `example.com/style.php/style.scss` to get the compiled css. - -If there is an error compiling, the url will result in a `500` error with the -error message. If the file can't be found, then a friendly `404` is returned. - -**scssphp** will automatically create a `scss_cache` directory inside the -stylesheets directory where it will cache the compiled output. This way it can -quickly serve the files if no modifications have been made. Your PHP script -must have permission to write in `scss_cache`. - -### Compiler Interface - -If you're interested in directly using the compiler, then all you need to do is -require `scss.inc.php` and invoke the `scss` class: - - ```php - <?php - require "scssphp/scss.inc.php"; - $scss = new scssc(); - - echo $scss->compile(' - $color: #abc; - div { color: lighten($color, 20%); } - '); - - ``` - -The `compile` method takes `SCSS` as a string, and returns the `CSS`. If there -is an error when compiling then an exception is thrown with an appropriate -message. - - -For a more detailed guide consult <a href="$root/docs/">http://leafo.net/scssphp/docs/</a>. - -<a name="issues"></a> -## Issues - -Find any issues? I'd love to fix them for you, post about them on [the issues tracker][3]. - -<div id="changelog"></div> -## Changelog - -* **0.0.10** -- April 14, 2014 - * fix media query merging (timonbaetz) - * inline if should treat null as false (wonderslug) - * optimizing toHSL() (jfsullivan) -* **0.0.9** -- December 23, 2013 - * fix @for/@while inside @content block (sergeylukin) - * fix functions in mixin_content (timonbaetz) - * fix infinite loop when target extends itself (oscherler) - * fix function arguments are lost inside of @content block - * allow setting number precision (kasperisager) - * add public function helpers (toBool, get, findImport, assertList, assertColor, assertNumber, throwError) (Burgov, atdt) - * add optional cache buster prefix to serve() method (iMoses) -* **0.0.8** -- September 16, 2013 - * Avoid IE7 content: counter bug - * Support transparent as color name - * Recursively create cache dir (turksheadsw) - * Fix for INPUT NOT FOUND (morgen32) -* **0.0.7** -- May 24, 2013 - * Port various fixes from leafo/lessphp. - * Improve filter precision. - * Parsing large image data-urls does not work. - * Add == and != ops for colors. - * @if and @while directives should treat null like false. - * Add pscss as bin in composer.json (Christian Lück). - * Fix !default bug (James Shannon, Alberto Aldegheri). - * Fix mixin content includes (James Shannon, Christian Brandt). - * Fix passing of varargs to another mixin. - * Fix interpolation bug in expToString() (Matti Jarvinen). -* **0.0.5** -- March 11, 2013 - * Better compile time errors - * Fix top level properties inside of a nested `@media` (Anthon Pang) - * Fix some issues with `@extends` (Anthon Pang) - * Enhanced handling of `null` (Anthon Pang) - * Helper functions shouldn't mix with css builtins (Anthon Pang) - * Enhance selector parsing (Guilherme Blanco, Anthon Pang) - * Add Placeholder selector support (Martin Hasoň) - * Add variable argument support (Martin Hasoň) - * Add zip, index, comparable functions (Martin Hasoň) - * A bunch of parser and bug fixes -* **0.0.4** -- Nov 3nd, 2012 - * [Import path can be a function](docs/#import_paths) (Christian Lück). - * Correctly parse media queries with more than one item (Christian Lück). - * Add `ie_hex_str`, `abs`, `min`, `max` functions (Martin Hasoň) - * Ignore expressions inside of `calc()` (Martin Hasoň) - * Improve operator evaluation (Martin Hasoň) - * Add [`@content`](http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-content) support. - * Misc bug fixes. -* **0.0.3** -- August 2nd, 2012 - * Add missing and/or/not operators. - * Expression evaluation happens correctly. - * Import file caching and _partial filename support. - * Misc bug fixes. -* **0.0.2** -- July 30th, 2012 - * SCSS server is aware of imports - * added custom function interface - * compressed formatter - * wrote <a href="http://leafo.net/scssphp/docs/">documentation</a> -* Initial Release v0.0.1 -- July 29th, 2012 - -<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> -<script type="text/javascript"> -(function() { - var changelog = jQuery("#changelog").nextAll("ul:first"); - var hidden = changelog.children("li").slice(1).hide(); - if (hidden.length) { - var show_all = jQuery("<a href=''>Show All</a>").insertAfter(changelog).on("click", function() { - hidden.show(); - show_all.remove(); - return false; - }); - } -})(); -</script> - -<a name="comments"></a> -## Comments - -<div class="comments" id="disqus_thread"></div> -<script type="text/javascript"> - var disqus_shortname = 'leafo'; - var disqus_url = 'http://leafo.net/scssphp/'; - - (function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); -</script> - - - [0]: http://sass-lang.com/ - [1]: http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#css_extensions - [2]: http://packagist.org/ - [3]: https://github.com/leafo/scssphp/issues - [4]: https://github.com/leafo/scssphp/ diff --git a/vendor/leafo/scssphp/site/site.moon b/vendor/leafo/scssphp/site/site.moon deleted file mode 100644 index e5548f8a96eac83b2e928e009fd458ffb3ef4b5c..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/site.moon +++ /dev/null @@ -1,15 +0,0 @@ -require "sitegen" - -tools = require "sitegen.tools" - -sitegen.create_site => - @current_version = "0.0.10" - @title = "SCSS Compiler in PHP" - - scssphp = tools.system_command "pscss < %s > %s", "css" - build scssphp, "style.scss", "style/style.css" - - deploy_to "leaf@leafo.net", "www/scssphp/" - - add "docs/index.md" - diff --git a/vendor/leafo/scssphp/site/style.scss b/vendor/leafo/scssphp/site/style.scss deleted file mode 100644 index 18ecc09286acd5506453c30d92c89e0931e6ccdb..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/style.scss +++ /dev/null @@ -1,303 +0,0 @@ - -$site_width: 640px; - -$light_teal: #7FC7AF; -$teal: desaturate(#3FB8AF, 10%); -$brown: #DAD8A7; -$pink: darken(#FF9E9D, 10%); -$btn_color: desaturate(#FF3D7F, 10%); - -::selection { - background: red; - color: white; -} - -@mixin unselectable { - -moz-user-select: none; - -webkit-user-select: none; - user-select: none; -} - -@mixin grad($top, $bottom) { - background-color: mix($top, $bottom); - background-image: linear-gradient(bottom, $bottom 0%, $top 100%); - background-image: -webkit-linear-gradient(bottom, $bottom 0%, $top 100%); - background-image: -moz-linear-gradient(bottom, $bottom 0%, $top 100%); - background-image: -o-linear-gradient(bottom, $bottom 0%, $top 100%); - background-image: -ms-linear-gradient(bottom, $bottom 0%, $top 100%); -} - -@mixin autograd($color, $amount: 10%) { - @include grad($color, darken($color, $amount)); -} - -body { - background: $pink; - font-family: Lato, sans-serif; -} - -.header, .footer, .body { - .inner { - width: $site_width; - margin: 0 auto; - } -} - -.header { - text-shadow: 0px -1px 0px darken($teal, 15%); - - .color { - background: $teal url(../img/tile.png); - border-top: 4px solid $light_teal; - box-shadow: inset 0px 1px 0px rgba(255,255,255, 0.5), inset 0px 8px 8px -8px #37505A, inset 0px -1px 0px rgba(255,255,255, 0.3); - } - - h1 { - font-family: 'Quicksand', sans-serif; - font-size: 40px; - line-height: 100px; - font-weight: normal; - margin: 0; - - a { - text-decoration: none; - color: #EDFFF9; - - &:active { - position: relative; - top: 1px; - } - } - } - - .nav { - padding: 8px 0; - font-size: 17px; - text-shadow: none; - background: darken($teal, 30%); - color: $teal; - box-shadow: inset 0px 4px 8px -4px rgba(0,0,0,0.9), inset 0px -1px 0px rgba(255,255,255, 0.8); - - a { - color: lighten($teal, 40%); - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } - - .social { - float: right; - margin-top: -2px; - } - } - - .download-area { - float: right; - margin-top: 25px; - background: rgba(255,255,255, 0.3); - border-radius: 8px; - padding: 5px; - - a { - text-decoration: none; - } - - .download-button { - $height: 8px; - $depress: 4px; - - @include unselectable; - - color: white; - text-align: center; - - @include autograd($btn_color); - - position: relative; - top: -1 * $height; - - padding: 8px 20px; - border-radius: 8px; - text-shadow: none; - - box-shadow: 0px $height 0px darken($btn_color, 30%), inset 0px -1px 0px rgba(255,255,255, 0.2), inset 0px 1px 0px rgba(0,0,0, 0.2); - text-shadow: 0px 1px 2px darken($btn_color, 40%); - - cursor: pointer; - - -webkit-transition: all 0.05s ease-in-out; - -moz-transition: all 0.05s ease-in-out; - transition: all 0.05s ease-in-out; - - &:hover { - @include autograd(lighten($btn_color, 3%)); - } - - &:active { - box-shadow: 0px $height - $depress 0px darken($btn_color, 30%), inset 0px -1px 0px rgba(255,255,255, 0.2), inset 0px 1px 0px rgba(0,0,0, 0.2); - top: -1 * ($height - $depress); - } - - .top { - font-weight: bold; - font-size: 16px; - } - - .sub { - font-size: 14px; - } - } - } - -} - -.body { - $bg_color: #FEFFED; - $text_color: darken($brown, 60%); - box-shadow: inset 0px 4px 8px -4px rgba(0,0,0,0.7), inset 0px -4px 8px -4px rgba(0,0,0,0.4); - background: $bg_color; - overflow: hidden; - color: $text_color; - font-size: 18px; - padding-bottom: 20px; - - .inner { - background: white; - margin-top: 20px; - padding: 30px 50px; - border: 1px solid lightGrey; - box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.19); - - h1, h2, h3 { - margin: 0 0 20px 0; - } - } - - h1, h2, h3 { - text-shadow: 1px 1px 0px $bg_color, 2px 2px 0px rgba($text_color, 0.3); - letter-spacing: -1px; - } - - h3 { - color: #4D4C3D; - } - - p { - margin: 0 0 15px 0; - } - - a { - color: #DB1C4A; - &:hover { - color: lighten(#DB1C4A, 10%); - } - } - - pre { - margin: 20px 0; - } -} - -.footer { - font-size: 16px; - color: lighten($pink, 20%); - text-shadow: 0px 1px 0px darken($pink, 20%); - - border-top: 1px dashed darken($pink, 50%); - box-shadow: inset 0px 1px 0px rgba(255,255,255, 0.5); - padding: 8px 0 20px 0; - - line-height: 150%; - - a { - color: white; - font-weight: bold; - text-decoration: none; - padding: 0 4px; - border-radius: 4px; - border: 1px solid lighten($pink, 4%); - - &:hover { - background: darken($pink, 3%); - border: 1px solid lighten($pink, 4%); - } - } -} - - -p { - line-height: 150%; - code { - background: rgba(0,0,0, 0.1); - border-radius: 4px; - padding: 1px 4px; - } -} - -.comments { - font-size: 12px; -} - -.index { - line-height: 150%; - margin-bottom: 20px; - - ul { - margin: 0; - } -} - -.highlight { - background: #333; - color: white; - font-size: 14px; - padding: 10px; - box-shadow: 0px 1px 3px rgba(0,0,0, 0.7), inset 0px 0px 0px 1px rgba(255,255,255,0.3); - border-radius: 2px; - border: 1px solid #222; - - - // builtins - .nb { - color: #FFA67C; - } - - // strings - .s, .s1, .s2, .se, .nt { - color: #ffe898; - } - - // proper names - .nc, .vc, .bp { - color: #98d9ff; - } - - // true, false, nil - .kc { - color: #acfff0; - } - - // function lit, braces, parens - .nf, .kt { - color: #9fff98; - } - - .nv { - color: #ff9898; - } - - // keywords - .k, .kd, .na { - color: #cb98ff; - } - - .c1, .c2 { - color: #929292; - } - - .m, .mi, .mf, .mh, .o { - color: #9495ff; - } -} diff --git a/vendor/leafo/scssphp/site/templates/index.html b/vendor/leafo/scssphp/site/templates/index.html deleted file mode 100644 index 587b691ff1173d2c68919f509942071d0e9f7736..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/templates/index.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE HTML> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>$if{"title"}[[$title - ]]scssphp</title> - <link href='http://fonts.googleapis.com/css?family=Lato:400,900|Quicksand' rel='stylesheet' type='text/css'> - <link rel="stylesheet" href="$root/style/normalize.css" /> - <link rel="stylesheet" href="$root/style/style.css?$generate_date" /> - $analytics{"UA-136625-1"} -</head> -<body> - <div class="header"> - <div class="color"> - <div class="inner"> - <div class="download-area"> - <a href="$root/src/scssphp-$current_version.tar.gz"> - <div class="download-button" id="download-button"> - <div class="top">Download</div> - <div class="sub">scssphp-$current_version.tar.gz</div> - </div> - </a> - </div> - - <h1><a href="$root">scssphp</a></h1> - </div> - </div> - - <div class="nav"> - <div class="inner"> - <div class="social"> - <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://leafo.net/scssphp/" data-text="scssphp v$current_version - SCSS compiler for PHP" data-count="horizontal" data-via="moonscript">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script> - <a href="https://twitter.com/moonscript" class="twitter-follow-button" data-width="70px" data-show-count="false" data-show-screen-name="false">Follow @moonscript</a> - </div> - - <a href="$root/#installing">Install</a> - · - <a href="$root/#quickstart">Quickstart</a> - · - <a href="$root/docs/">Docs</a> - · - <a href="$root/#comments">Comments</a> - </div> - </div> - - </div> - - <div class="body"> - <div class="inner"> - $body - </div> - </div> - - <div class="footer"> - <div class="inner"> - <div> - created by <a href="http://leafo.net">leaf corcoran</a> · scssphp is licensed under GPL3/MIT - </div> - <div> - generated by <a href="http://github.com/leafo/sitegen">sitegen</a> on $generate_date - </div> - </div> - </div> - - <script type="text/javascript"> - (function() { - document.getElementById("download-button").onclick = function() { - _gaq.push(['_trackEvent', 'scssphp', 'click', 'download-button']); - } - var link = document.getElementById("download-link"); - if (link) link.onclick = function() { - _gaq.push(['_trackEvent', 'scssphp', 'click', 'download-link']); - } - })(); - </script> - - <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> - - - <a href="https://github.com/leafo/scssphp"><img style="position: fixed; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a> -</body> -</html> diff --git a/vendor/leafo/scssphp/site/www/.gitignore b/vendor/leafo/scssphp/site/www/.gitignore deleted file mode 100644 index e82179728b3ce2a380b9a16bbd5fef180ea1113f..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/www/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -docs/index.html -index.html \ No newline at end of file diff --git a/vendor/leafo/scssphp/site/www/img/tile.png b/vendor/leafo/scssphp/site/www/img/tile.png deleted file mode 100644 index ecb7149dc6e07dae7f0d8914934990ef05724d73..0000000000000000000000000000000000000000 Binary files a/vendor/leafo/scssphp/site/www/img/tile.png and /dev/null differ diff --git a/vendor/leafo/scssphp/site/www/style/normalize.css b/vendor/leafo/scssphp/site/www/style/normalize.css deleted file mode 100644 index 8fa27e0ba225b6a9b746e8b2e11a6aafa81a779c..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/site/www/style/normalize.css +++ /dev/null @@ -1,500 +0,0 @@ -/*! normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */ - -/* ========================================================================== - HTML5 display definitions - ========================================================================== */ - -/* - * Corrects `block` display not defined in IE6/7/8/9 & FF3. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block; -} - -/* - * Corrects `inline-block` display not defined in IE6/7/8/9 & FF3. - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/* - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/* - * Addresses styling for `hidden` attribute not present in IE7/8/9, FF3, S4. - * Known issue: no IE6 support. - */ - -[hidden] { - display: none; -} - -/* ========================================================================== - Base - ========================================================================== */ - -/* - * 1. Corrects text resizing oddly in IE6/7 when body `font-size` is set using - * `em` units. - * 2. Prevents iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-size: 100%; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -ms-text-size-adjust: 100%; /* 2 */ -} - -/* - * Addresses `font-family` inconsistency between `textarea` and other form - * elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/* - * Addresses margins handled incorrectly in IE6/7. - */ - -body { - margin: 0; -} - -/* ========================================================================== - Links - ========================================================================== */ - -/* - * Addresses `outline` inconsistency between Chrome and other browsers. - */ - -a:focus { - outline: thin dotted; -} - -/* - * Improves readability when focused and also mouse hovered in all browsers. - * people.opera.com/patrickl/experiments/keyboard/test - */ - -a:active, -a:hover { - outline: 0; -} - -/* ========================================================================== - Typography - ========================================================================== */ - -/* - * Addresses font sizes and margins set differently in IE6/7. - * Addresses font sizes within `section` and `article` in FF4+, Chrome, S5. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.75em; - margin: 2.33em 0; -} - -/* - * Addresses styling not present in IE7/8/9, S5, Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/* - * Addresses style set to `bolder` in FF3+, S4/5, Chrome. - */ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/* - * Addresses styling not present in S5, Chrome. - */ - -dfn { - font-style: italic; -} - -/* - * Addresses styling not present in IE6/7/8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/* - * Addresses margins set differently in IE6/7. - */ - -p, -pre { - margin: 1em 0; -} - -/* - * Corrects font family set oddly in IE6, S4/5, Chrome. - * en.wikipedia.org/wiki/User:Davidgothberg/Test59 - */ - -code, -kbd, -pre, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/* - * Improves readability of pre-formatted text in all browsers. - */ - -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - -/* - * Addresses CSS quotes not supported in IE6/7. - */ - -q { - quotes: none; -} - -/* - * Addresses `quotes` property not supported in S4. - */ - -q:before, -q:after { - content: ''; - content: none; -} - -small { - font-size: 75%; -} - -/* - * Prevents `sub` and `sup` affecting `line-height` in all browsers. - * gist.github.com/413930 - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* ========================================================================== - Lists - ========================================================================== */ - -/* - * Addresses margins set differently in IE6/7. - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/* - * Addresses paddings set differently in IE6/7. - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/* - * Corrects list images handled incorrectly in IE7. - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - -/* ========================================================================== - Embedded content - ========================================================================== */ - -/* - * 1. Removes border when inside `a` element in IE6/7/8/9, FF3. - * 2. Improves image quality when scaled in IE7. - * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/* - * Corrects overflow displayed oddly in IE9. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* ========================================================================== - Figures - ========================================================================== */ - -/* - * Addresses margin not present in IE6/7/8/9, S5, O11. - */ - -figure { - margin: 0; -} - -/* ========================================================================== - Forms - ========================================================================== */ - -/* - * Corrects margin displayed oddly in IE6/7. - */ - -form { - margin: 0; -} - -/* - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/* - * 1. Corrects color not being inherited in IE6/7/8/9. - * 2. Corrects text not wrapping in FF3. - * 3. Corrects alignment displayed oddly in IE6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/* - * 1. Corrects font size not being inherited in all browsers. - * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome. - * 3. Improves appearance and consistency in all browsers. - */ - -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ -} - -/* - * Addresses FF3/4 setting `line-height` on `input` using `!important` in the - * UA stylesheet. - */ - -button, -input { - line-height: normal; -} - -/* - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Corrects inability to style clickable `input` types in iOS. - * 3. Improves usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - *overflow: visible; /* 4 */ -} - -/* - * Re-set default cursor for disabled elements. - */ - -button[disabled], -input[disabled] { - cursor: default; -} - -/* - * 1. Addresses box sizing set to content-box in IE8/9. - * 2. Removes excess padding in IE8/9. - * 3. Removes excess padding in IE7. - * Known issue: excess padding remains in IE6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ -} - -/* - * 1. Addresses `appearance` set to `searchfield` in S5, Chrome. - * 2. Addresses `box-sizing` set to `border-box` in S5, Chrome (include `-moz` - * to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/* - * Removes inner padding and search cancel button in S5, Chrome on OS X. - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* - * Removes inner padding and border in FF3+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/* - * 1. Removes default vertical scrollbar in IE6/7/8/9. - * 2. Improves readability and alignment in all browsers. - */ - -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ -} - -/* ========================================================================== - Tables - ========================================================================== */ - -/* - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/vendor/leafo/scssphp/tests/ApiTest.php b/vendor/leafo/scssphp/tests/ApiTest.php deleted file mode 100644 index 333d23e690b3e9fa8c9157b9931e70ac071e08d5..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/ApiTest.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -require_once __DIR__ . "/../scss.inc.php"; - -class ApiTest extends PHPUnit_Framework_TestCase { - public function setUp() { - $this->scss = new scssc(); - } - - public function testUserFunction() { - $this->scss->registerFunction("add-two", function($args) { - list($a, $b) = $args; - return $a[1] + $b[1]; - }); - - $this->assertEquals( - "result: 30;", - $this->compile("result: add-two(10, 20);")); - } - - public function testImportMissing(){ - $this->assertEquals( - '@import "missing";', - $this->compile('@import "missing";')); - } - - public function testImportCustomCallback(){ - $this->scss->addImportPath(function($path) { - return __DIR__.'/inputs/' . str_replace('.css','.scss',$path); - }); - - $this->assertEquals( - trim(file_get_contents(__DIR__.'/outputs/variables.css')), - $this->compile('@import "variables.css";')); - } - - public function compile($str) { - return trim($this->scss->compile($str)); - } - -} diff --git a/vendor/leafo/scssphp/tests/ExceptionTest.php b/vendor/leafo/scssphp/tests/ExceptionTest.php deleted file mode 100644 index 63d1db66eda13af422bcde9516831c51c21ca059..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/ExceptionTest.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php - -require_once __DIR__ . "/../scss.inc.php"; - -class ExceptionTest extends PHPUnit_Framework_TestCase { - public function setUp() { - $this->scss = new scssc(); - } - - /** - * @param string $scss - * @param string $expectedExceptionMessage - * - * @dataProvider provideScss - */ - public function testThrowError($scss, $expectedExceptionMessage) { - try { - $this->compile($scss); - } catch (Exception $e) { - if (strpos($e->getMessage(), $expectedExceptionMessage) !== false) { - return; - }; - } - - $this->fail('Expected exception to be raised: ' . $expectedExceptionMessage); - } - - /** - * @return array - */ - public function provideScss() { - return array( - array(<<<END_OF_SCSS -.test { - foo : bar; -END_OF_SCSS -, - 'unclosed block' - ), - array(<<<END_OF_SCSS -.test { -}} -END_OF_SCSS -, - 'unexpected }' - ), - array(<<<END_OF_SCSS -.test { color: #fff / 0; } -END_OF_SCSS -, - 'color: Can\'t divide by zero' - ), - array(<<<END_OF_SCSS -.test { - @include foo(); -} -END_OF_SCSS -, - 'Undefined mixin foo' - ), - array(<<<END_OF_SCSS -@mixin do-nothing() { -} - -.test { - @include do-nothing(\$a: "hello"); -} -END_OF_SCSS -, - 'Mixin or function doesn\'t have an argument named $a.' - ), - array(<<<END_OF_SCSS -div { - color: darken(cobaltgreen, 10%); -} -END_OF_SCSS -, - 'expecting color' - ), - ); - } - - private function compile($str) { - return trim($this->scss->compile($str)); - } -} diff --git a/vendor/leafo/scssphp/tests/InputTest.php b/vendor/leafo/scssphp/tests/InputTest.php deleted file mode 100644 index fbd83b6634ccd25ebabc5dab8507c99b8dc53c28..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/InputTest.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php - -require_once __DIR__ . "/../scss.inc.php"; - -// Runs all the tests in inputs/ and compares their output to ouputs/ - -function _dump($value) { - fwrite(STDOUT, print_r($value, true)); -} - -function _quote($str) { - return preg_quote($str, "/"); -} - -class InputTest extends PHPUnit_Framework_TestCase { - protected static $inputDir = "inputs"; - protected static $outputDir = "outputs"; - - public function setUp() { - $this->scss = new scssc(); - $this->scss->addImportPath(__DIR__ . "/" . self::$inputDir); - } - - /** - * @dataProvider fileNameProvider - */ - public function testInputFile($inFname, $outFname) { - if (getenv("BUILD")) { - return $this->buildInput($inFname,$outFname); - } - - if (!is_readable($outFname)) { - $this->fail("$outFname is missing, ". - "consider building tests with BUILD=true"); - } - - $input = file_get_contents($inFname); - $output = file_get_contents($outFname); - - $this->assertEquals($output, $this->scss->compile($input)); - } - - public function fileNameProvider() { - return array_map(function($a) { return array($a, InputTest::outputNameFor($a)); }, - self::findInputNames()); - } - - // only run when env is set - public function buildInput($inFname, $outFname) { - $css = $this->scss->compile(file_get_contents($inFname)); - file_put_contents($outFname, $css); - } - - static public function findInputNames($pattern="*") { - $files = glob(__DIR__ . "/" . self::$inputDir . "/" . $pattern); - $files = array_filter($files, "is_file"); - if ($pattern = getenv("MATCH")) { - $files = array_filter($files, function($fname) use ($pattern) { - return preg_match("/$pattern/", $fname); - }); - } - - return $files; - } - - static public function outputNameFor($input) { - $front = _quote(__DIR__ . "/"); - $out = preg_replace("/^$front/", "", $input); - - $in = _quote(self::$inputDir . "/"); - $out = preg_replace("/$in/", self::$outputDir . "/", $out); - $out = preg_replace("/.scss$/", ".css", $out); - - return __DIR__ . "/" . $out; - } - - static public function buildTests($pattern) { - $files = self::findInputNames($pattern); - foreach ($files as $file) { - } - } -} - diff --git a/vendor/leafo/scssphp/tests/compare-scss.sh b/vendor/leafo/scssphp/tests/compare-scss.sh deleted file mode 100755 index 3b0429212138cb31d230aab1e7114324c5238fc5..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/compare-scss.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -diff_tool="$1" - -for file in $(ls inputs/*.scss); do - out_file=$(echo $file | sed -e 's/inputs/outputs/' -e 's/\.scss$/\.css/') - sass=$(scss < $file 2> /dev/null) - if [ $? = "0" ]; then - # echo $file - # echo "$sass" - # echo - - if [ "$(cat $out_file)" != "$sass" ]; then - echo "* [FAIL] $file" - if [ -n "$diff_tool" ]; then - $diff_tool $out_file <(echo "$sass") 2> /dev/null - fi - else - echo " [PASS] $file" - fi - else - echo " $file" - fi -done - diff --git a/vendor/leafo/scssphp/tests/inputs/builtins.scss b/vendor/leafo/scssphp/tests/inputs/builtins.scss deleted file mode 100644 index ef93a03f53d8444b7435b3f9d0d019f74119f10b..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/builtins.scss +++ /dev/null @@ -1,171 +0,0 @@ - -#color { - color: rgb(34,234,24); - - red: red(rgb(34,234,24)); - green: green(rgb(34,234,24)); - blue: blue(rgb(34,234,24)); - - color: rgba(1,2,4, 0.5); - a1: alpha(rgb(1,2,4)); - a2: alpha(rgba(1,2,4, 0.5)); - - mix: mix(rgb(1,2,3), rgb(3,4,5)); - - rgba: rgba($color: #a7c, $alpha: 0.4); - rgba: rgba(#a7c, 0.4); -} - -#hsl { - color: hsl(100, 50, 55); - color: hsla(100, 50, 55, 0.5); - - hue: hue(hsl(100, 50, 55)); - sat: saturation(hsl(100, 50, 55)); - lig: lightness(hsl(100, 50, 55)); -} - -#more-color { - $color: hsl(-80,44,33); - - light: lighten($color, 10%); - dark: darken($color, 10%); - - sat: saturate($color, 10%); - desat: desaturate($color, 10%); - - gray: grayscale($color); - comp: complement($color); - inv: invert($color); -} - -#more-more-color { - $color: rgba(1,2,3,0.5); - op: opacity($color); - - opacify: opacify($color, 0.1); - opacify: fade-in($color, 0.1); - - transparentize: transparentize($color, 0.1); - transparentize: fade-out($color, 0.1); - transparentize: transparentize(#348203, 0.1); -} - -#more-more-more-color { - $color: rgba(10,10,10,0); - color: adjust-color($color, $blue: 69, $red: 55, $green: 100, $alpha: 0.4); - color: adjust-color($color, $hue: 170, $saturation: 100, $lightness: 50); - - color: change-color($color, $blue: 69, $red: 55, $green: 100, $alpha: 0.4); - color: change-color($color, $hue: 170, $saturation: 100, $lightness: 50); - - color: scale-color($color, $red: 55%); - color: scale-color($color, $red: -55%); - - color: scale-color($color, $lightness: 55%); - color: scale-color($color, $lightness: -55%); - - color: ie-hex-str($color); - color: ie-hex-str(#abc); -} - -#string { - color: unquote("hello what is going on"); - // color: quote(yeah you know it); // ** - color: quote(yeah); - color: quote("I do?"); -} - -#number { - color: percentage(100/40); - color: round(3.4); - color: floor(3.4); - color: ceil(3.4); - - top: floor(10.4px); - top: ceil(.4ex); - width: percentage(100px / 50px); - bottom: abs(-10px); - padding: min(5em, 3em, 4em) max(2px, 1in) min(1in, 96px) max(1in, 72pt); -} - -#list { - len: length(hello world what); - len: length(thing); - - n: nth(hello world what, 1); - // n: nth(hello world what, 100); // ** - - hello: join(one two three, hello, comma); - hello: join(one two three, hello world what is going, comma); - hello: append(one two three, hello, comma); - - index: index(1px solid red, solid); - index: index(1px solid red, dashed); - index: index(1px solid red, #f00); - index: index(96px solid red, 1in); - index: index((1in 2) a b, 1in); - index: index((1in 2) a b, (96px 2)); - index: index((1in 2) a b, (1in, 2)); - index: index((1px solid red), solid); - index: index(1px 3px + 3px, 4+2px); - $var: oo; - index: index(foo bar, f#{$var}); - - $yes: one, two, three; - $no: great job; - world: join($yes, $no); - world: append($yes, $no); - - cool: join($yes, $no, space); - cool: join($no, $yes); - - zip: zip((1px, 2px), (solid dashed)); - zip: zip(1px 2px 3px, solid dashed, red green blue); -} - -#introspection { - t: type-of(100px); - t: type-of(asdf); - t: type-of("asdf"); - t: type-of(true); - t: type-of(#fff); - t: type-of(blue); - t: type-of(one two three); - - u: unit(12); - u: unit(12px); - u: unit(12em); - - l: unitless(23); - l: unitless(23deg); - - c: comparable(2px, 1px); - c: comparable(100px, 3em); - c: comparable(10cm, 3mm); - c: comparable(1, 4); - c: comparable(1ex, 4em); - c: comparable(2em, 5em); -} - -#if { - color: if(true, yes, no); - color: if(false, yes, no); - color: if(false or true, yes, no); - color: if(10px, yes, no); -} - -.transparent { - r: red(transparent); - g: green(transparent); - b: blue(transparent); - a: alpha(transparent); -} - -.alpha { - a: alpha(black); - a: alpha(#fff); - a: alpha(rgb(0, 0, 0)); - a: alpha(rgba(0, 0, 0, 0.5)); - a: alpha(currentColor); -} diff --git a/vendor/leafo/scssphp/tests/inputs/comments.scss b/vendor/leafo/scssphp/tests/inputs/comments.scss deleted file mode 100644 index 513281b4389f87c87097ab14070fa1067930fe4f..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/comments.scss +++ /dev/null @@ -1,27 +0,0 @@ - -// what is going on? - -/** what the heck **/ - -/** - -Here is a block comment - -**/ - - -// this is a comment - -/*hello*/div /*yeah*/ { //surew - border: 1px solid red; // world - /* another property */ - color: url('http://mage-page.com'); - string: "hello /* this is not a comment */"; - world: "// neither is this"; - string: 'hello /* this is not a comment */' /*what if this is a comment */; - world: '// neither is this' // hell world; - ; - what-ever: 100px; - background: url(/*this is not a comment?*/); // uhh what happens here -} - diff --git a/vendor/leafo/scssphp/tests/inputs/compass_extract.scss b/vendor/leafo/scssphp/tests/inputs/compass_extract.scss deleted file mode 100644 index fba45728bd1e61e6779ee7f89a13a1f5c3df317a..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/compass_extract.scss +++ /dev/null @@ -1,248 +0,0 @@ -// Extracted from compass/typography/vertical_rhythm.scss - - -// The base font size. -$base-font-size: 16px !default; - -// The base line height determines the basic unit of vertical rhythm. -$base-line-height: 24px !default; - -// Set the default border style for rhythm borders. -$default-rhythm-border-style: solid !default; - -// The default font size in all browsers. -$browser-default-font-size: 16px; - -// Set to false if you want to use absolute pixels in sizing your typography. -$relative-font-sizing: true !default; - -// Allows the `adjust-font-size-to` mixin and the `lines-for-font-size` function -// to round the line height to the nearest half line height instead of the -// nearest integral line height to avoid large spacing between lines. -$round-to-nearest-half-line: false !default; - -// Ensure there is at least this many pixels -// of vertical padding above and below the text. -$min-line-padding: 2px !default; - -// $base-font-size but in your output unit of choice. -// Defaults to 1em when `$relative-font-sizing` is true. -$font-unit: if($relative-font-sizing, 1em, $base-font-size) !default; - -// The basic unit of font rhythm. -$base-rhythm-unit: $base-line-height / $base-font-size * $font-unit; - -// The leader is the amount of whitespace in a line. -// It might be useful in your calculations. -$base-leader: ($base-line-height - $base-font-size) * $font-unit / $base-font-size; - -// The half-leader is the amount of whitespace above and below a line. -// It might be useful in your calculations. -$base-half-leader: $base-leader / 2; - -// True if a number has a relative unit. -@function relative-unit($number) { - @return unit($number) == "%" or unit($number) == "em" or unit($number) == "rem" -} - -// True if a number has an absolute unit. -@function absolute-unit($number) { - @return not (relative-unit($number) or unitless($number)); -} - -@if $relative-font-sizing and not relative-unit($font-unit) { - @warn "$relative-font-sizing is true but $font-unit is set to #{$font-unit} which is not a relative unit."; -} - -// Establishes a font baseline for the given font-size. -@mixin establish-baseline($font-size: $base-font-size) { - // IE 6 refuses to resize fonts set in pixels and it weirdly resizes fonts - // whose root is set in ems. So we set the root font size in percentages of - // the default font size. - * html { - font-size: 100% * ($font-size / $browser-default-font-size); - } - html { - font-size: $font-size; - @include adjust-leading-to(1, if($relative-font-sizing, $font-size, $base-font-size)); - } -} - -// Resets the line-height to 1 vertical rhythm unit. -// Does not work on elements whose font-size is different from $base-font-size. -// -// @deprecated This mixin will be removed in the next release. -// Please use the `adjust-leading-to` mixin instead. -@mixin reset-baseline { - @include adjust-leading-to(1, if($relative-font-sizing, $base-font-size, $base-font-size)); -} - -// Show a background image that can be used to debug your alignments. -// Include the $img argument if you would rather use your own image than the -// Compass default gradient image. -@mixin debug-vertical-alignment($img: false) { - @if $img { - background: image-url($img); - } @else { - @include baseline-grid-background($base-rhythm-unit); - } -} - -// Adjust a block to have a different font size and line height to maintain the -// rhythm. $lines specifies how many multiples of the baseline rhythm each line -// of this font should use up. It does not have to be an integer, but it -// defaults to the smallest integer that is large enough to fit the font. -// Use $from-size to adjust from a font-size other than the base font-size. -@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) { - @if not $relative-font-sizing and $from-size != $base-font-size { - @warn "$relative-font-sizing is false but a relative font size was passed to adjust-font-size-to"; - } - font-size: $font-unit * $to-size / $from-size; - @include adjust-leading-to($lines, if($relative-font-sizing, $to-size, $base-font-size)); -} - -// Adjust a block to have different line height to maintain the rhythm. -// $lines specifies how many multiples of the baseline rhythm each line of this -// font should use up. It does not have to be an integer, but it defaults to the -// smallest integer that is large enough to fit the font. -@mixin adjust-leading-to($lines, $font-size: $base-font-size) { - line-height: rhythm($lines, $font-size); -} - -// Calculate rhythm units. -@function rhythm( - $lines: 1, - $font-size: $base-font-size, - $offset: 0 -) { - @if not $relative-font-sizing and $font-size != $base-font-size { - @warn "$relative-font-sizing is false but a relative font size was passed to the rhythm function"; - } - $rhythm: $font-unit * ($lines * $base-line-height - $offset) / $font-size; - // Round the pixels down to nearest integer. - @if unit($rhythm) == px { - $rhythm: floor($rhythm); - } - @return $rhythm; -} - -// Calculate the minimum multiple of rhythm units needed to contain the font-size. -@function lines-for-font-size($font-size) { - $lines: if($round-to-nearest-half-line, - ceil(2 * $font-size / $base-line-height) / 2, - ceil($font-size / $base-line-height)); - @if $lines * $base-line-height - $font-size < $min-line-padding * 2 { - $lines: $lines + if($round-to-nearest-half-line, 0.5, 1); - } - @return $lines; -} - -// Apply leading whitespace. The $property can be margin or padding. -@mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) { - #{$property}-top: rhythm($lines, $font-size); -} - -// Apply leading whitespace as padding. -@mixin padding-leader($lines: 1, $font-size: $base-font-size) { - padding-top: rhythm($lines, $font-size); -} - -// Apply leading whitespace as margin. -@mixin margin-leader($lines: 1, $font-size: $base-font-size) { - margin-top: rhythm($lines, $font-size); -} - -// Apply trailing whitespace. The $property can be margin or padding. -@mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) { - #{$property}-bottom: rhythm($lines, $font-size); -} - -// Apply trailing whitespace as padding. -@mixin padding-trailer($lines: 1, $font-size: $base-font-size) { - padding-bottom: rhythm($lines, $font-size); -} - -// Apply trailing whitespace as margin. -@mixin margin-trailer($lines: 1, $font-size: $base-font-size) { - margin-bottom: rhythm($lines, $font-size); -} - -// Shorthand mixin to apply whitespace for top and bottom margins and padding. -@mixin rhythm($leader: 0, $padding-leader: 0, $padding-trailer: 0, $trailer: 0, $font-size: $base-font-size) { - @include leader($leader, $font-size); - @include padding-leader($padding-leader, $font-size); - @include padding-trailer($padding-trailer, $font-size); - @include trailer($trailer, $font-size); -} - -// Apply a border and whitespace to any side without destroying the vertical -// rhythm. The whitespace must be greater than the width of the border. -@mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) { - @if not $relative-font-sizing and $font-size != $base-font-size { - @warn "$relative-font-sizing is false but a relative font size was passed to apply-side-rhythm-border"; - } - border-#{$side}: { - style: $border-style; - width: $font-unit * $width / $font-size; - }; - padding-#{$side}: rhythm($lines, $font-size, $offset: $width); -} - -// Apply borders and whitespace equally to all sides. -@mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) { - @if not $relative-font-sizing and $font-size != $base-font-size { - @warn "$relative-font-sizing is false but a relative font size was passed to rhythm-borders"; - } - border: { - style: $border-style; - width: $font-unit * $width / $font-size; - }; - padding: rhythm($lines, $font-size, $offset: $width); -} - -// Apply a leading border. -@mixin leading-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) { - @include apply-side-rhythm-border(top, $width, $lines, $font-size, $border-style); -} - -// Apply a trailing border. -@mixin trailing-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) { - @include apply-side-rhythm-border(bottom, $width, $lines, $font-size, $border-style); -} - -// Apply both leading and trailing borders. -@mixin horizontal-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) { - @include leading-border($width, $lines, $font-size, $border-style); - @include trailing-border($width, $lines, $font-size, $border-style); -} - -// Alias for `horizontal-borders` mixin. -@mixin h-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) { - @include horizontal-borders($width, $lines, $font-size, $border-style); -} - -#test-0 { - unit: relative-unit(10px); - unit: relative-unit(50%); - rhythm: rhythm(); - size: lines-for-font-size(15px); - size: lines-for-font-size(16px); - size: lines-for-font-size(17px); - size: lines-for-font-size(27px); - size: lines-for-font-size(37px); -} - - -#test-1 { - @include rhythm(5, 6, 7); -} - -#test-2 { - @include rhythm-borders; -} - -#test-3 { - @include horizontal-borders; -} - - diff --git a/vendor/leafo/scssphp/tests/inputs/content.scss b/vendor/leafo/scssphp/tests/inputs/content.scss deleted file mode 100644 index 55ca04e8ff8278f048dd75d5670100a223279fc7..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/content.scss +++ /dev/null @@ -1,61 +0,0 @@ - -@mixin apply-to-ie6-only { - * html { - @content; - } -} -@include apply-to-ie6-only { - #logo { - background-image: url(/logo.gif); - } -} - - -$color: white; -@mixin colors($color: blue) { - background-color: $color; - @content; - border-color: $color; -} -.colors { - @include colors { color: $color; } -} - - -@mixin iphone { - @media only screen and (max-width: 480px) { - @content; - } -} - -@include iphone { - body { color: red } -} - - -#sidebar { - $sidebar-width: 300px; - width: $sidebar-width; - @include iphone { - width: $sidebar-width / 3; - } -} - - -@mixin respond-to($width) { - @media only screen and (min-width: $width) { @content; } -} - -@include respond-to(40em) { - @for $i from 1 through 2 { - .grid-#{$i} { width: 100%; } - } -} - -@include respond-to(40em) { - $i: 1; - @while $i <= 2 { - .grid-#{$i} { width: 100%; } - $i: $i + 1; - } -} diff --git a/vendor/leafo/scssphp/tests/inputs/content_with_function.scss b/vendor/leafo/scssphp/tests/inputs/content_with_function.scss deleted file mode 100644 index f1462d6565392a20916424ea33137c5c97576df7..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/content_with_function.scss +++ /dev/null @@ -1,17 +0,0 @@ -$test-var: true; - -@mixin mixin-using-content() { - @content; -} - -@function test-function($value) { - @return $value; -} - -@include mixin-using-content { - @if $test-var { - body { - padding: test-function(1 px); - } - } -} diff --git a/vendor/leafo/scssphp/tests/inputs/default_args.scss b/vendor/leafo/scssphp/tests/inputs/default_args.scss deleted file mode 100644 index dbc8880091184a71d490568c4d0f46aad4d2641d..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/default_args.scss +++ /dev/null @@ -1,15 +0,0 @@ - - -@mixin cool($color: blue) { - margin: 100px; -} - -@function what($height: red) { - @return $height; -} - -div { - height: what(); - @include cool; -} - diff --git a/vendor/leafo/scssphp/tests/inputs/directives.scss b/vendor/leafo/scssphp/tests/inputs/directives.scss deleted file mode 100644 index 65f1c5139a2216dab027aebfbcc8593d005225b0..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/directives.scss +++ /dev/null @@ -1,108 +0,0 @@ - -@charset "hello-world"; - -@page :left { - div { - color: red; - } -} - -@page test { - @media yes { - div { - color: red; - } - - @media no { - pre { - color: blue; - } - } - } -} - -@media something { - @page { - @media else { - div { - height: 200px; - } - } - } -} - - -div { - color: red; - @page yeah { - pre { - height: 20px; - } - } -} - -@font-face { - color: red; - height: 20px; -} - - -@keyframes 'bounce' { - from { - top: 100px; - animation-timing-function: ease-out; - } - - 25% { - top: 50px; - animation-timing-function: ease-in; - } - - 50% { - top: 100px; - animation-timing-function: ease-out; - } - - 75% { - top: 75px; - animation-timing-function: ease-in; - } - - to { - top: 100px; - } -} - -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} - -div { - animation-name: 'diagonal-slide'; - animation-duration: 5s; - animation-iteration-count: 10; -} - -@keyframes 'diagonal-slide' { - - from { - left: 0; - top: 0; - } - - to { - left: 100px; - top: 100px; - } - -} - -@document url(http://www.w3.org/), - url-prefix(http://www.w3.org/Style/), - domain(mozilla.org), - regexp("https:.*") -{ - body { color: purple; background: yellow; } -} diff --git a/vendor/leafo/scssphp/tests/inputs/extends.scss b/vendor/leafo/scssphp/tests/inputs/extends.scss deleted file mode 100644 index 74a51600562c4c28aa230e16f5899732c75bd9e3..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/extends.scss +++ /dev/null @@ -1,184 +0,0 @@ - -error, other { - border: 1px #f00; - background-color: #fdd; -} - -pre, span { - seriousError { - @extend error; - font-size: 20px; - } -} - -hello { - @extend other; - color: green; - div { - margin: 10px; - } -} - -.cool { - color: red; -} - -.blue { - color: purple; -} - -.me { - @extend .cool, .blue; -} - -.hoverlink { @extend a:hover } -a:hover { text-decoration: underline } - - -// partial matching and selector merging: - -div.hello.world.hmm { - color: blue; -} - -pre, code { - .okay.span { - @extend .hello; - } -} - -// multiple matches per selector -.xxxxx .xxxxx .xxxxx { - color: green; -} - -code { - @extend .xxxxx; - color: red; -} - - -// chained - -.alpha { - color: red; -} - -.beta { - @extend .alpha; - color: white; -} - -.gama { - @extend .beta; - color: blue; -} - -// merging selector sequences - -#admin .tabbar a {font-weight: bold} -#demo .overview .fakelink {@extend a} - -a1 b1 c1 d1 { color: red; } -x1 y1 z1 w1 { @extend a1; } - -a2 b2 c2 d2 { color: red; } -x2 y2 z2 w2 { @extend b2; } - - -a3 b3 c3 d3 { color: red; } -x3 y3 z3 w3 { @extend c3; } - - -a4 b4 c4 d4 { color: red; } -x4 y4 z4 w4 { @extend d4; } - -// removing common prefix - -#butt .yeah .okay { font-weight: bold } -#butt .umm .sure { @extend .okay } - -a9 b9 s9 t9 v9 { color: red; } - -a9 b9 x9 y9 z9 { - @extend v9; -} - -// extends & media - -@media print { - horse { - color: blue; - } -} - -man { - color: red; - @extend horse; -} - - -// result == match - -wassup { - color: blue; - @extend wassup; -} - -.foo { - .wassup { - @extend .wassup; - color: blue; - } -} - -// multi-extend - -#something { - color: red; -} - -.x { - @extend #something; -} - -.y { - @extend #something; -} - -// twitter-sass-bootstrap infinite loop - -.nav-tabs { - &.nav-justified { - @extend .nav-justified; - } -} -.nav-justified { - text-align: justify; -} - -// multi-extend with nesting - -.btn:hover, -.btn:active, -.btn.active, -.btn.disabled, -.btn[disabled] { - color: red; -} -.edit .actions { - button { - float: right; - @extend .btn; - } -} -.edit { - .new { - .actions { - padding: 0; - } - .actions button { - @extend .btn; - } - } -} diff --git a/vendor/leafo/scssphp/tests/inputs/filter_effects.scss b/vendor/leafo/scssphp/tests/inputs/filter_effects.scss deleted file mode 100644 index e8f9a3bb841993c5fe3b06f6d0e211f7573c32bb..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/filter_effects.scss +++ /dev/null @@ -1,48 +0,0 @@ -#number { - -webkit-filter: grayscale(1) - sepia(0.5) - saturate(0.1) - invert(1) - opacity(0.5) - brightness(0.5) - contrast(0.5); -} - -#percentage { - -webkit-filter: grayscale(100%) - sepia(50%) - saturate(10%) - invert(100%) - opacity(50%) - brightness(50%) - contrast(50%); -} - -#misc { - -webkit-filter: hue-rotate(90deg) - blur(10px) - drop-shadow(10px -16px 30px purple); -} - -@mixin opacity($opacity, $style: 0) { - @if ($opacity < 1) { - opacity: $opacity; - filter: alpha(opacity=$opacity * 100, style=$style); - } @else { - opacity: $opacity / 100; - filter: alpha(opacity=$opacity); - } -} - -#decimal { - @include opacity(.5, 1); -} - -#percent { - @include opacity(50); -} - -.row { - background-color: darken(#2ba6cb, 40%); - color: darken(#2ba6cb, 10%); -} diff --git a/vendor/leafo/scssphp/tests/inputs/functions.scss b/vendor/leafo/scssphp/tests/inputs/functions.scss deleted file mode 100644 index d555ae9fd2d5436679aa05a75265fa596830336a..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/functions.scss +++ /dev/null @@ -1,81 +0,0 @@ - -@function hello($x) { - @return $x + 4; -} - -@function add($a, $b) { - @return $a + $b; -} - -div { - color: hello(10px); - sum: add(11, 12); -} - -// make sure values are being reduced before being passed up to previous scope - -@function one($a, $b) { - @return $a $b; -} - -@function two($a, $b) { - @return $a#{$a} $b; -} - -@function three($a, $b: default) { - @return "hello #{$a} and #{$b}" -} - -@function all($a...) { - @return "hello #{$a}" -} - -div { - hello: one(10, 55); - hello: two(10, 55); - hello: three(10, 55); -} - - -@function hello_world() { - @return 1000; -} - -del { - color: hello-world(); -} - -div { - $args: foo bar; - hello: three($args...); - hello: three(bar...); - hello: all(Alice, Bob, Tom); -} - -@function stringConcatCompassStyle($start,$last) -{ - // Compass still uses it like this - @return #{$start}-#{$last}; -} - -.foo -{ - test2: stringConcatCompassStyle(-moz,art); -} - -@mixin content_test { - span { - $color: green; - @content; - } -} - -@function func_test($c) { - @return $c + 1; -} - -div { - @include content_test { - height: func_test(2px); - } -} diff --git a/vendor/leafo/scssphp/tests/inputs/ie7.scss b/vendor/leafo/scssphp/tests/inputs/ie7.scss deleted file mode 100644 index 3d4771bd658a1625d1ca7655e174071b669f32cb..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/ie7.scss +++ /dev/null @@ -1,12 +0,0 @@ -// http://jes.st/2013/ie7s-css-breaking-content-counter-bug/ -#foo:before { - content: counter(item, ".") ": "; -} - -#bar:before { - content: counter(item,"."); -} - -#fu:before { - content: counter(item); -} diff --git a/vendor/leafo/scssphp/tests/inputs/if.scss b/vendor/leafo/scssphp/tests/inputs/if.scss deleted file mode 100644 index d62b056aeeed22e3aa127c8442353d23ae0e00f2..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/if.scss +++ /dev/null @@ -1,76 +0,0 @@ - -@function conds($val) { - @if $val { - @return "red"; - } - - @return "blue"; -} - -div { - @if something { - color: blue; - } -} - -pre { - val-1: conds(true); - val-2: conds(false); - val-3: conds(null); - val-4: conds(1); - val-5: conds(0); -} - - -span { - @if false { - color: red; - } @else { - color: blue; - } - - @if true { - height: 10px; - } @else { - color: 20px; - } - - @if false { - height: 10px; - } @elseif false { - color: 20px; - } @else { - width: 20px; - } -} - -div { - @if false { - color: red; - } @else if false { - color: green; - } @else { - color: blue; - } - - @if false { - border-color: red; - } @else if true { - border-color: green; - } @else { - border-color: blue; - } - -} - -// doesn't work in scss, thing loses scope -del { - @if false { - $thing: yes; - } @else { - $thing: no; - } - - thing: $thing; -} - diff --git a/vendor/leafo/scssphp/tests/inputs/if_on_null.scss b/vendor/leafo/scssphp/tests/inputs/if_on_null.scss deleted file mode 100644 index 16887065d9385d79a930e320c906c70de6eebaf0..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/if_on_null.scss +++ /dev/null @@ -1,8 +0,0 @@ -@function testfunc($pseudo: null) { - $output: if($pseudo, "green", "red"); - @return $output; -} - -body { - background-color: testfunc(); -} diff --git a/vendor/leafo/scssphp/tests/inputs/import.scss b/vendor/leafo/scssphp/tests/inputs/import.scss deleted file mode 100644 index 0556e6ddcc44cc48ce67088aa2a8a95b885e78fa..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/import.scss +++ /dev/null @@ -1,18 +0,0 @@ - -@import "foo.css"; -@import "foo" screen; -@import "http://foo.com/bar"; -@import url(foo); - -@import "imports/simple"; - -pre { - color: red; - @import "imports/simple.scss"; -} - -code { - @import "imports/simple", "imports/simple"; -} - -@import "imports/partial"; diff --git a/vendor/leafo/scssphp/tests/inputs/imports/_partial.scss b/vendor/leafo/scssphp/tests/inputs/imports/_partial.scss deleted file mode 100644 index 544467b88d291f2822a792ce2150b5383f3da4ff..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/imports/_partial.scss +++ /dev/null @@ -1,6 +0,0 @@ - -#partial { - color: blue; -} - - diff --git a/vendor/leafo/scssphp/tests/inputs/imports/simple.scss b/vendor/leafo/scssphp/tests/inputs/imports/simple.scss deleted file mode 100644 index 4b3e1f9108ebaf294e1cc8761a2587c34fa1e292..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/imports/simple.scss +++ /dev/null @@ -1,4 +0,0 @@ -div { - height: 200px; - color: red; -} diff --git a/vendor/leafo/scssphp/tests/inputs/interpolation.scss b/vendor/leafo/scssphp/tests/inputs/interpolation.scss deleted file mode 100644 index 3ac51cf5f88a58c686e5e75912fc9cf4651223c3..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/interpolation.scss +++ /dev/null @@ -1,86 +0,0 @@ - -div { - color: red#{white} blue; - color: red #{white} blue; - color: red #{white}blue; - color: red#{white}blue; - color: #{umm}#{yeah}#{what}; - color: #{stacked}; - - font-size: 10px/#{something}; - font-size: 10px / #{something}; - - test: "what#{"world"}wrong"; - test: "what#{'world'}wrong"; - test: "what#{world}wrong"; - test: "what"#{world}"wrong"; - - hi: "what is #{4 + 12} end" -} - - -// interpolation in selectors - -pre { - $var: cool; - - #{var} { - color: red; - } - - #{var} dad { - color: red; - } - - bed#{var}dad { - color: red; - } -} - -cool { - @for $x from 1 through 5 { - .thing-#{$x} { - color: red; - } - } -} - -a#{b}c#{d}e { - color: red; -} - -##{hello}, .#{world}{ - color: red; -} - -#abc#{hello}yeah, .cool#{world}yes{ - color: red; -} - -$scope: 2; - -div.element:nth-child(#{$scope}n) -{ - display: none; -} - -// property interpolation - -div { - $var: hello; - #{$var}: world; - cool#{$var}:world; - #{$var}one:world; - two#{$var}one:world; - - one#{a + b}two: cool; - - #{hello}: { - #{world}: red; - #{mold}: white; - #{$var}: blue; - } - -} - - diff --git a/vendor/leafo/scssphp/tests/inputs/keyword_args.scss b/vendor/leafo/scssphp/tests/inputs/keyword_args.scss deleted file mode 100644 index 0b8e4754ec77b812c2308b2fb0f1c869119f28ed..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/keyword_args.scss +++ /dev/null @@ -1,24 +0,0 @@ - -// mixins - -@mixin hello($a: one, $b:two, $c:three, $d: four) { - out: $a $b $c $d; -} - -pre { - @include hello(alpha, $d: palace, $b: fort); -} - - -// functions - -@function cool($a, $b) { - @return $a - $b; -} - -div { - hello: cool($b: 5, $a: 10); - world: cool(5, 10); -} - - diff --git a/vendor/leafo/scssphp/tests/inputs/list.scss b/vendor/leafo/scssphp/tests/inputs/list.scss deleted file mode 100644 index afeb742694b9d3287f2edf88de190fa16b157848..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/list.scss +++ /dev/null @@ -1,15 +0,0 @@ -$list: (black); -$list: join($list, white, comma); - -div { - padding: join(10px 20px, 30px 40px); - margin: join((0, 10px), (10px, 10px), space); - background: linear-gradient($list); -} - -$list: (); -$list: join($list, (red, blue), comma); - -p { - background: linear-gradient($list); -} \ No newline at end of file diff --git a/vendor/leafo/scssphp/tests/inputs/looping.scss b/vendor/leafo/scssphp/tests/inputs/looping.scss deleted file mode 100644 index 6f25e722648a9c72aee8b4c23405a68744f526de..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/looping.scss +++ /dev/null @@ -1,51 +0,0 @@ - -div { - @each $var in what is this { - color: $var; - } - - @each $var in what, is, this { - font: $var; - } - - $list: what is this; - @each $var in $list { - background: $var; - } - - $list: what, is, this; - @each $var in $list { - border: $var; - } -} - - -span { - $i: 0; - @while $i <= 10 { - color: $i; - $i: $i + 1; - } -} - -pre { - @for $x from 1 to 5 { - color: $x; - } - - @for $x from 1 through 5 { - height: $x; - } - - $y: 10; - @for $x from $y through 3 { - cool: $x; - } - -} - -$j: null; -@while $j { - .item { width: 2em; } - $j: false; -} diff --git a/vendor/leafo/scssphp/tests/inputs/media.scss b/vendor/leafo/scssphp/tests/inputs/media.scss deleted file mode 100644 index 3c2c147a47d07c9ab7785bdfc1dd8b596e3ced13..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/media.scss +++ /dev/null @@ -1,208 +0,0 @@ - -// media syntax -@media { - div { color: blue; } -} -@media what { - div { color: blue; } -} - -@media (cool) { - div { color: blue; } -} -@media (cool: blue) { - div { color: blue; } -} - -@media hello and (world) and (butt: man) { - div { color: blue; } -} - -$navbarCollapseWidth: 940px; - -@media (max-width: $navbarCollapseWidth) { - color: red; -} - -// media bubbling -@media not hello and (world) { - color: blue; - pre { - color: blue; - } - - @media butt { - color: red; - div { - color: red; - } - } -} - -@media a, b { - @media c { - color: blue; - } -} - -@media a{ - @media b, c { - color: blue; - } -} - -@media a, b{ - @media c, d { - color: blue; - } -} - -$media: cree; -$feature: -webkit-min-device-pixel-ratio; -$value: 1.5; - -div { - color: blue; - @media s#{$media}n and ($feature: $value) { - .sidebar { - width: 500px; - } - } -} - -// @media + @mixin -@mixin color { - color: red; - .success { - color: green; - } -} - -div { - position: absolute; - $y: 2em; - @media screen { - top: 0; - $x: 5px; - p { - margin: $x; - } - bottom: 6em + $y; - @include color; - } -} - -.button { - width: 300px; - height: 100px; - background: #eee; - - :hover { - background: #aaa; - } - - @media only screen and (max-width : 300px){ - width: 100px; - height: 100px; - } -} - -code { - position: absolute; - @media screen { - pre { - height: 20px; - } - height: 10px; - } -} - -dt { - @media screen { - @media (color: blue) { - height: 10px; - } - } -} - -// nesting media queries -@media screen { - .screen { - width: 12px; - } - @media only screen { - .only-screen { - height: 11px; - } - } -} - -@media only screen { - .only-screen { - width: 14px; - } - @media only screen { - .only-screen { - height: 16px; - } - } -} - -@media not screen { - @media screen { - .invalid { - height: 12px; - } - } -} - -@media not screen { - @media print { - .only-print { - height: 12px; - } - } -} - -@media screen { - @media not print { - .only-print { - height: 12px; - } - } -} - -@media not screen { - @media not print { - .invalid { - height: 12px; - } - } -} - -@media not screen { - @media not screen { - .not-screen { - height: 15px; - } - } -} - -@media only screen { - @media print { - .invalid { - height: 15px; - } - } -} - -@media only screen { - @media screen and (color: blue) { - @media screen and (width: 13) { - .only-screen { - height: 15px; - } - } - } -} - diff --git a/vendor/leafo/scssphp/tests/inputs/mixins.scss b/vendor/leafo/scssphp/tests/inputs/mixins.scss deleted file mode 100644 index 2e368a671c08cbafb6de0047e02e1e662d77ef7d..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/mixins.scss +++ /dev/null @@ -1,158 +0,0 @@ - -@mixin something { - color: red; - pre { - height: 200px; - } -} - -div { - color: blue; - @include something; -} - -@mixin something($color) { - color: $color; - - div { - height: 20px; - } -} - -@mixin cool($a, $b, $c) { - height: $a + $b + $c; -} - -span { - @include something(blue); -} - -html { - @include cool(10px, 12px, 21px); -} - - -@mixin hello_world { - height: 20px; -} - -del { - @include hello-world; -} - - -// variable shadowing - - -$color: white; -@mixin colors($color: blue) { - color: $color; -} - -div { - color: $color; - @include colors(); - color: $color; -} - -@mixin linear-gradient($from, $to, $pos: left top) { - background-image: linear-gradient($pos, $from, $to); -} - -div { - @include linear-gradient(red, green); -} - -@mixin box-shadow($shadows...) { - -moz-box-shadow: $shadows; - -webkit-box-shadow: $shadows; - box-shadow: $shadows; -} - -div { - @include box-shadow(10px 10px 5px #888); - @include box-shadow(inset 10px 10px #888, -10px -10px #f4f4f4); -} - -@mixin nested { - @include something(red); -} - -div { - p { - .class { - @include nested; - } - - @include nested; - - .top { - top: 0; - - div { - color: red; - } - } - - color: blue; - } -} - -// mixin content (http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-content) -@mixin content-simple { - div.mixin-content-simple { - @content; - } -} - -@mixin content-with-arg ( $background ) { - div.mixin-content-with-arg { - background: $background; - @content; - } -} - -@include content-simple { - color: red; -} - -@include content-with-arg($background: blue) { - color: red; -} - -@include content-with-arg($background: purple) { - @include hello_world; -} - -@include content-simple { - @include cool(10px, 12px, 21px); -} - -@include content-simple { - @include something(orange); -} - -@include content-with-arg($background: purple) { - @include cool(10px, 12px, 21px); -} - -@include content-with-arg($background: purple) { - @include something(orange); -} - -@mixin wallpaper($image, $top: 0, $right: 0, $bottom: 0, $left: 0) { - background: $image; - position: absolute; - top: $top; - right: $right; - bottom: $bottom; - left: $left; -} - -@mixin logo($offsets...) { - @include wallpaper(url(/images/logo.png), $offsets...); -} - -#please-wait { - @include logo(1em, $left: 4em, $bottom: 3em); -} diff --git a/vendor/leafo/scssphp/tests/inputs/nesting.scss b/vendor/leafo/scssphp/tests/inputs/nesting.scss deleted file mode 100644 index 68e31177748bd6c623e768ae45d8c437b45197af..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/nesting.scss +++ /dev/null @@ -1,45 +0,0 @@ - - -body { - color: red; -} - - -div { - color: red; - height: yes; - - pre { - color: blue; - } -} - - -div: blue; - - -div { - font: 10px hello world { - size: 10px; - color: blue; - } - - border: { - left: 1px solid blue; - right: 2px dashed green; - } -} - - -#nested-nesting { - bar: baz; - bang: { - bop: bar; - bip: 1px; - blat: { - baf: bort - } - } -} - - diff --git a/vendor/leafo/scssphp/tests/inputs/null.scss b/vendor/leafo/scssphp/tests/inputs/null.scss deleted file mode 100644 index 147dc2e2c82b92c57299df03bb1493412bc76938..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/null.scss +++ /dev/null @@ -1,41 +0,0 @@ -$list: null; -.div { - one: null; - one: null world; - one: NULL world; - one: a null, b; - two: a $list $list, $list, b; - three: $list; -} - -$value: null; - p:before { - content: "I ate #{$value} pies!"; -} - -@mixin Rounded($radius1, $direction: null, $radius2: false) { - $corner: null; - @if $direction == TL { $corner: top-left-; } - @if $direction == TR { $corner: top-right-; } - @if $direction == BL { $corner: bottom-left-; } - @if $direction == BR { $corner: bottom-right-; } - @if $radius2 { - -webkit-border-#{$corner}radius: $radius1 $radius2; - border-#{$corner}radius: $radius1 $radius2; - } @else { - -webkit-border-#{$corner}radius: $radius1; - border-#{$corner}radius: $radius1; - } -} - -.foo { - @include Rounded(10); -} - -.fu { - @include Rounded(20, null); -} - -.bar { - @include Rounded(30, TL); -} diff --git a/vendor/leafo/scssphp/tests/inputs/operators.scss b/vendor/leafo/scssphp/tests/inputs/operators.scss deleted file mode 100644 index eb6e20e5ce1756fec9d0b6d65bbb2e119a1c2946..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/operators.scss +++ /dev/null @@ -1,143 +0,0 @@ - - -body { - color: 1 + 2 + 5; - color: 1 + 2 * 5 + 5; - height: 10px/10px; - color: 10px/2 + 1; - color: (10px/2); - bottom: (4/2px); - top: 1em * (1 * 24px - 0) / 16px; - left: 1 - 2cm; - top: (2cm/12px); -} - -div { - color: 4 == 3; - color: hello == hello; - - color: 4 > 3; - color: 4 < 3; - color: what > 3; -} - - -#units { - test: 1in + 4cm; - test: 12mm + 1; - test: 1 + 3em; - test: 1mm + 1cm; - test: 1cm + 1mm; -} - -#modulo { - test: 3 % 2; - test: 4cm % 3; -} - -#colors { - color: red + rgb(1,2,3); - color: red - rgb(1,2,3); - color: rgba(1,2,3, 0.5) * rgba(3,4,5, 0.5); - color: rgba(10,15,20, 0.5) / rgba(2,2,2, 0.5); - - color: rgba(1,2,3, 0.5) * 2; - color: rgba(1,2,3, 0.5) / 2; - color: rgba(1,2,3, 0.5) + 2; - color: rgba(1,2,3, 0.5) - 2; - - color: blue + 34; - - color: #fff == #000; - color: #fff == #fff; - - color: #fff != #000; - color: #fff != #fff; -} - - -#preserve { - hello: what -going; - hello: what - going; -} - -#strings { - hello: what -going; - - hello: what +going; - hello: what+going; - hello: what+ going; - hello: what + going; - - hello: "what" + going; - hello: going + "what"; - hello: "what" + "what"; -} - -#negation { - $num: 100; - a: -$num + 40; - b: 10 -$num; - b: 10 - $num; -} - -#bools-fail { - and: false and two; - and: one and two; - and: one and false; - - or: false or two; - or: one or two; - or: one or false; -} - -#bools { - and: (false and two); - and: (one and two); - and: (one and false); - - or: (false or two); - or: (one or two); - or: (one or false); -} - - -#nots-fail { - not: not true + 2; - not: not false; - not: not 0; - not: not 1; - not: not ""; - not: not hello; -} - -#nots { - not: (not true) + 2; - not: (not false); - not: (not 0); - not: (not 1); - not: (not ""); - not: (not hello); -} - -#string-test { - str: hi == "hi"; - str: hi == "no"; - str: 'yes' == 'yes'; - - $var1: "hello"; - $var2: hello; - - str: "#{$var1}" == '#{$var2}'; - - str: xhello#{$var1}x == "x#{$var2}hellox"; // xhellohellofalse - - str: unit(10px) == px; -} - - -#special { - cancel-unit: (10px / 10px); -} - - diff --git a/vendor/leafo/scssphp/tests/inputs/placeholder_selector.scss b/vendor/leafo/scssphp/tests/inputs/placeholder_selector.scss deleted file mode 100644 index da3cda1e5e90ffafae0b118a27f9ea46d991fcc0..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/placeholder_selector.scss +++ /dev/null @@ -1,18 +0,0 @@ -#context a%extreme span { - color: blue; - font-weight: bold; - font-size: 2em; -} - -.notice, .error { @extend %extreme; } - -.hidden %placeholder { - margin: 0; -} - -p { - @extend #context; - padding: 2em; -} - -div { @extend .hidden; } \ No newline at end of file diff --git a/vendor/leafo/scssphp/tests/inputs/scss_css.scss b/vendor/leafo/scssphp/tests/inputs/scss_css.scss deleted file mode 100644 index 03d63d04700b9073e6e67f797cf5bf48df614443..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/scss_css.scss +++ /dev/null @@ -1,986 +0,0 @@ -[foo~=bar] { - a: b; } - - -[foo^=bar] { - a: b; } - - -[foo$=bar] { - a: b; } - - -[foo*=bar] { - a: b; } - - -[foo|=en] { - a: b; } - - -foo { - a: 2; - b: 2.3em; - c: 50%; - d: "fraz bran"; - e: flanny-blanny-blan; - f: url(http://sass-lang.com); - // g: U+ffa?; - h: #aabbcc; } - - -selector { - property: value; - property2: value; } - - -sel{p:v} - -.foo { - /* Foo -Bar - Baz */ - a: b; } - - -.foo { - /* Foo -Bar - Baz */ - a: b; } - - -.foo {/* Foo - Bar */ - a: b; } - - -.foo {/* Foo - Bar - Baz */ - a: b; } - - -@foo { - rule { - a: b; } - - a: b; } - - -@foo {a:b}; -@bar {a:b}; - - -@foo "bar" - -foo { - a: 12px calc(100%/3 - 2*1em - 2*1px); - b: 12px -moz-calc(100%/3 - 2*1em - 2*1px); - b: 12px -webkit-calc(100%/3 - 2*1em - 2*1px); - b: 12px -foobar-calc(100%/3 - 2*1em - 2*1px); } - - -foo {bar: baz} -<!-- -bar {bar: baz} ---> -baz {bar: baz} - - -/* - * foo - */ -bar {baz: bang} - - -E, F { - a: b; } - - -E F, G H { - a: b; } - - -E > F, G > H { - a: b; } - - -/* This is a CSS comment. */ -.one {color: green;} /* Another comment */ -/* The following should not be used: -.two {color: red;} */ -.three {color: green; /* color: red; */} -/** -.four {color: red;} */ -.five {color: green;} -/**/ -.six {color: green;} -/*********/ -.seven {color: green;} -/* a comment **/ -.eight {color: green;} - - -foo { - a: \foo bar; - b: foo\ bar; - c: \2022 \0020; - d: foo\\bar; - e: foo\"\'bar; } - - -foo { - a: "\foo bar"; - b: "foo\ bar"; - c: "\2022 \0020"; - d: "foo\\bar"; - e: "foo\"'bar"; } - - -foo { - _name: val; - *name: val; - :name: val; - .name: val; - #name: val; - name/**/: val; - name/*\**/: val; - name: val; } - - -@foo "bar" ; - -foo { - a: -moz-element(#foo); - b: -webkit-element(#foo); - b: -foobar-element(#foo); } - - -@foo {} - -@foo { -} - - -@foo; - -foo {;;;; - bar: baz;;;; - ;;} - - -#foo .bar {} - -#foo .bar { -} - - -0% { - a: b; } - - -60% { - a: b; } - - -100% { - a: b; } - - -12px { - a: b; } - - -"foo" { - a: b; } - - -foo { - a: 12px expression(1 + (3 / Foo.bar("baz" + "bang") + function() {return 12;}) % 12); } - - -:foo("bar") { - a: b; } - - -:foo(bar) { - a: b; } - - -:foo(12px) { - a: b; } - - -:foo(+) { - a: b; } - - -:foo(-) { - a: b; } - - -:foo(+"bar") { - a: b; } - - -:foo(-++--baz-"bar"12px) { - a: b; } - - -foo { - a: foo-bar(12); - b: -foo-bar-baz(13, 14 15); } - - -@import "foo.css"; - -@import 'foo.css'; - -@import url("foo.css"); - -@import url('foo.css'); - -@import url(foo.css); - -@import "foo.css" screen; - -@import "foo.css" screen, print; - -@import "foo.css" screen, print and (foo: 0); - -@import "foo.css" screen, only print, screen and (foo: 0); - -foo { - a: foo !important; - b: foo bar !important; - b: foo, bar !important; } - - -foo { - a: -moz-bar-baz; - b: foo -o-bar-baz; } - - -foo {a: /* b; c: */ d} - - -foo {a /*: b; c */: d} - - -/* Foo - * Bar */ - - -.foo { - /* Foo - * Bar */ } - - -[foo] { - a: b; } - - -[foo="bar"] { - a: b; } - - -[foo~="bar"] { - a: b; } - - -[foo^="bar"] { - a: b; } - - -[foo$="bar"] { - a: b; } - - -[foo*="bar"] { - a: b; } - - -[foo|="en"] { - a: b; } - - -:root { - a: b; } - - -:nth-child(n) { - a: b; } - - -:nth-last-child(n) { - a: b; } - - -:nth-of-type(n) { - a: b; } - - -:nth-last-of-type(n) { - a: b; } - - -:first-child { - a: b; } - - -:last-child { - a: b; } - - -:first-of-type { - a: b; } - - -:last-of-type { - a: b; } - - -:only-child { - a: b; } - - -:only-of-type { - a: b; } - - -:empty { - a: b; } - - -:link { - a: b; } - - -:visited { - a: b; } - - -:active { - a: b; } - - -:hover { - a: b; } - - -:focus { - a: b; } - - -:target { - a: b; } - - -:lang(fr) { - a: b; } - - -:enabled { - a: b; } - - -:disabled { - a: b; } - - -:checked { - a: b; } - - -::first-line { - a: b; } - - -::first-letter { - a: b; } - - -::before { - a: b; } - - -::after { - a: b; } - - -.warning { - a: b; } - - -#myid { - a: b; } - - -:not(s) { - a: b; } - - -@media all { - rule1 { - prop: val; } - - rule2 { - prop: val; } } - - -@media screen, print { - rule1 { - prop: val; } - - rule2 { - prop: val; } } - - -@media screen and (-webkit-min-device-pixel-ratio:0) { - a: b; } - - -@media only screen, print and (foo: 0px) and (bar: flam(12px solid)) { - a: b; } - - -:-moz-any(h1, h2, h3) { - a: b; } - - -:-moz-any(.foo) { - a: b; } - - -:-moz-any(foo bar, .baz > .bang) { - a: b; } - - -@-moz-document url(http://www.w3.org/), - url-prefix(http://www.w3.org/Style/), - domain(mozilla.org), - regexp("^https:.*") { - .foo {a: b} -} - - -foo { - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#c0ff3300, endColorstr=#ff000000); - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#c0ff3300, endColorstr=#ff000000); } - - -foo { - filter: alpha(opacity=20); - filter: alpha(opacity=20, enabled=true); - filter: blaznicate(foo=bar, baz=bang bip, bart=#fa4600); } - - -@foo bar { - a: b; } - -@bar baz { - c: d; } - - -@foo bar; -@bar baz; - - -/* Foo - * Bar */ -/* Baz - * Bang */ - - -.foo { - /* Foo - * Bar */ - /* Baz - * Bang */ } - - -.foo { - /* Foo Bar *//* Baz Bang */ } - - -@namespace "http://www.w3.org/Profiles/xhtml1-strict"; - -@namespace url(http://www.w3.org/Profiles/xhtml1-strict); - -@namespace html url("http://www.w3.org/Profiles/xhtml1-strict"); - -[foo|bar=baz] { - a: b; } - - -[*|bar=baz] { - a: b; } - - -[foo|bar|=baz] { - a: b; } - - -foo|E { - a: b; } - - -*|E { - a: b; } - - -foo|* { - a: b; } - - -*|* { - a: b; } - - -:not(foo|bar) { - a: b; } - - -:not(*|bar) { - a: b; } - - -:not(foo|*) { - a: b; } - - -:not(*|*) { - a: b; } - - -:not(#blah) { - a: b; } - - -:not(.blah) { - a: b; } - - -:not([foo]) { - a: b; } - - -:not([foo^="bar"]) { - a: b; } - - -:not([baz|foo~="bar"]) { - a: b; } - - -:not(:hover) { - a: b; } - - -:not(:nth-child(2n + 3)) { - a: b; } - - -:not(:not(#foo)) { - a: b; } - - -:not(a#foo.bar) { - a: b; } - - -:not(#foo .bar > baz) { - a: b; } - - -:not(h1, h2, h3) { - a: b; } - - -@mixin foo { - a: b; } - - -foo { - a: "bang #{1 + " bar "} bip"; } - - -:nth-child(-n) { - a: b; } - - -:nth-child(+n) { - a: b; } - - -:nth-child(even) { - a: b; } - - -:nth-child(odd) { - a: b; } - - -:nth-child(50) { - a: b; } - - -:nth-child(-50) { - a: b; } - - -:nth-child(+50) { - a: b; } - - -:nth-child(2n+3) { - a: b; } - - -:nth-child(2n-3) { - a: b; } - - -:nth-child(+2n-3) { - a: b; } - - -:nth-child(-2n+3) { - a: b; } - - -:nth-child(-2n+ 3) { - a: b; } - - -:nth-child( 2n + 3 ) { - a: b; } - - -foo { - a: foo bar baz; - b: foo, #aabbcc, -12; - c: 1px/2px/-3px; - d: foo bar, baz/bang; } - - -@page { - prop1: val; - prop2: val; } - - -@page flap { - prop1: val; - prop2: val; } - - -@page :first { - prop1: val; - prop2: val; } - - -@page flap:first { - prop1: val; - prop2: val; } - - -.foo { - /* Foo */ - a: b; } - - -.foo { - /* Foo - * Bar */a: b; } - - -/* Foo */ -.foo { - a: b; } - - -/* Foo - * Bar */.foo { - a: b; } - - -.foo /* .a #foo */ #bar:baz(/* bang )*/ bip) { - a: b; } - - -> E { - a: b; } - - -+ E { - a: b; } - - -~ E { - a: b; } - - -> > E { - a: b; } - - ->> E { - a: b; } - - -E* { - a: b; } - - -E*.foo { - a: b; } - - -E*:hover { - a: b; } - - -E, -F { - a: b; } - - -E -F { - a: b; } - - -E, F -G, H { - a: b; } - - -body { - /* - //comment here - */ -} - - -E>F { a: b;} - -E~F { a: b;} - -E+F { a: b;} - -* { - a: b; } - - -E { - a: b; } - - -E[foo] { - a: b; } - - -E[foo="bar"] { - a: b; } - - -E[foo~="bar"] { - a: b; } - - -E[foo^="bar"] { - a: b; } - - -E[foo$="bar"] { - a: b; } - - -E[foo*="bar"] { - a: b; } - - -E[foo|="en"] { - a: b; } - - -E:root { - a: b; } - - -E:nth-child(n) { - a: b; } - - -E:nth-last-child(n) { - a: b; } - - -E:nth-of-type(n) { - a: b; } - - -E:nth-last-of-type(n) { - a: b; } - - -E:first-child { - a: b; } - - -E:last-child { - a: b; } - - -E:first-of-type { - a: b; } - - -E:last-of-type { - a: b; } - - -E:only-child { - a: b; } - - -E:only-of-type { - a: b; } - - -E:empty { - a: b; } - - -E:link { - a: b; } - - -E:visited { - a: b; } - - -E:active { - a: b; } - - -E:hover { - a: b; } - - -E:focus { - a: b; } - - -E:target { - a: b; } - - -E:lang(fr) { - a: b; } - - -E:enabled { - a: b; } - - -E:disabled { - a: b; } - - -E:checked { - a: b; } - - -E::first-line { - a: b; } - - -E::first-letter { - a: b; } - - -E::before { - a: b; } - - -E::after { - a: b; } - - -E.warning { - a: b; } - - -E#myid { - a: b; } - - -E:not(s) { - a: b; } - - -E F { - a: b; } - - -E > F { - a: b; } - - -E + F { - a: b; } - - -E ~ F { - a: b; } - - -@supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) { - .foo { - a: b; - } -} - - -@-prefix-supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) { - .foo { - a: b; - } -} - - -foo { - foo: bar; - #baz: bang; - #bip: bop; } - - -foo { - a: -2; - b: -2.3em; - c: -50%; - d: -foo(bar baz); } - - -foo { - a: -0.5em; - b: +0.5em; - c: -foo(12px); - d: +foo(12px); - } - - -@charset "UTF-8"; - -foo { - -moz-foo-bar: blat; - -o-flat-blang: wibble; } - - -foo { - a: foo(); - b: bar baz-bang() bip; } - - diff --git a/vendor/leafo/scssphp/tests/inputs/selectors.scss b/vendor/leafo/scssphp/tests/inputs/selectors.scss deleted file mode 100644 index 01c7f8b692937833fdba0e32cb3bcb20e05df374..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/selectors.scss +++ /dev/null @@ -1,187 +0,0 @@ -* { color: blue; } -E { color: blue; } - -E:not(:link) { color: blue; } -E:not(:link):not(:visited) { color: blue; } -E:not(:link, :visited) { color: blue; } -E:matches(:hover, :focus) { color: blue; } - -E.warning { color: blue; } -E#id { color: blue; } -E[foo] { color: blue; } -E[foo="barbar"] { color: blue; } -E[foo="barbar" i] { color: blue; } -E[foo~="hello#$@%@$#^"] { color: blue; } -E[foo^="color: green;"] { color: blue; } -E[foo$="239023"] { color: blue; } -E[foo*="29302"] { color: blue; } -E[foo|="239032"] { color: blue; } - -[foo] { color: blue; } -[foo] .helloWorld { color: blue; } -[foo].helloWorld { color: blue; } -[foo="barbar"] { color: blue; } -[foo~="hello#$@%@$#^"] { color: blue; } -[foo^="color: green;"] { color: blue; } -[foo$="239023"] { color: blue; } -[foo*="29302"] { color: blue; } -[foo|="239032"] { color: blue; } - -E:dir(ltr) { color: blue; } -E:lang(en) { color: blue; } -E:lang(en, fr) { color: blue; } - -E:any-link { color: blue; } -E:link { color: blue; } -E:visited { color: blue; } -E:local-link { color: blue; } -E:local-link(0) { color: red; } -E:local-link(1) { color: white; } -E:local-link(2) { color: red; } -E:target { color: blue; } -E:scope { color: blue; } - -E:current { color: blue; } -E:current(:link) { color: blue; } -E:past { color: blue; } -E:future { color: blue; } - -E:active { color: blue; } -E:hover { color: blue; } -E:focus { color: blue; } -E:enabled { color: blue; } -E:disabled { color: blue; } -E:indeterminate { color: blue; } -E:default { color: blue; } -E:in-range { color: blue; } -E:out-of-range { color: blue; } -E:required { color: blue; } -E:optional { color: blue; } -E:read-only { color: blue; } -E:read-write { color: blue; } - -E:root { color: blue; } -E:empty { color: blue; } -E:first-child { color: blue; } -E:nth-child(odd) { color: blue; } -E:nth-child(2n+1) { color: blue; } -E:nth-child(5) { color: blue; } -E:last-child { color: blue; } -E:nth-last-child(-n+2) { color: blue; } -E:only-child { color: blue; } -E:first-of-type { color: blue; } -E:nth-of-type(2n) { color: blue; } -E:last-of-type { color: blue; } -E:nth-last-of-type(n) { color: blue; } -E:only-of-type { color: blue; } -E:nth-match(odd) { color: blue; } -E:nth-last-match(odd) { color: blue; } - -E:column(n) { color: blue; } -E:nth-column(n) { color: blue; } -E:nth-last-column(n) { color: blue; } - -E F { color: blue; } -E > F { color: blue; } -E + F { color: blue; } -E ~ F { color: blue; } -E /foo/ F { color: blue; } -E! > F { color: blue; } - -// namespaces -[foo|att=val] { color: blue } -[*|att] { color: yellow } -[|att] { color: green } -[att] { color: green } - -// CSS2.1 -E::first-line { color: blue; } -E::first-letter { color: blue; } -E::before { color: blue; } -E::after { color: blue; } - -// CSS3 UI (at risk) -E::choices { color: blue; } -E::value { color: blue; } -E::repeat-index { color: blue; } -E::repeat-item { color: blue; } - -E:first { color: blue; } -E:first-line { color: blue; } -E:first-letter { color: blue; } -E:before{ color: blue; } -E:after { color: blue; } -E:checked { color: blue; } -E:invalid { color: blue; } -E:valid { color: blue; } -E:left { color: blue; } -E:right { color: blue; } - -// -moz experimental -E:any(ol) { color: blue; } -E::selection { color: blue; } - -// one of these is nested property, -// the other is a css block. -div { - font:something { - size: 30em; - } - - font: something { - size: 30em; - } - -} - -// self selector - -.something { - &.world { - color: blue; - } - - & .mold { - height: 200px; - } - - .dog & { - color: blue; - } -} - -.simple { - .dad & .wolf { - color: blue; - } - - .rad&.bad { - color: blue; - } - -} - -div { - .something & .what { - &.world { - color: blue; - } - } -} - -div { - &.foo & { - color: blue; - } -} - -.main, div { - .message div { - .title { - .nice-fonts & { - font-size: 24px; - } - } - } -} - diff --git a/vendor/leafo/scssphp/tests/inputs/values.scss b/vendor/leafo/scssphp/tests/inputs/values.scss deleted file mode 100644 index 559f95c4ab3b2c0a239debaf10b9595029ea51a9..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/values.scss +++ /dev/null @@ -1,39 +0,0 @@ - -#values { - color: #eee; - color: #eeeeee; - height: 20px; - width: 80%; - color: "hello world"; - height: url("http://google.com"); - dads: url(http://leafo.net); - padding: 10px 10px 10px 10px, 3px 3px 3px; - margin: 4,3,1; - - border-radius: -1px -1px -1px black; -} - -#subtraction { - lit: 10 -11; - lit: 10 - 11; - lit: 10- 11; - lit: 10-11; - - $num: 100; - var: 10 -$num; - var: 10 - $num; - var: 10- $num; - var: 10-$num; -} - - -#special { - a: 12px expression(1 + (3 / Foo.bar("baz" + "bang") + function() {return 12;}) % 12); -} - -#unary { - b: +0.5em; - c: -foo(12px); - d: +foo(12px); -} - diff --git a/vendor/leafo/scssphp/tests/inputs/variables.scss b/vendor/leafo/scssphp/tests/inputs/variables.scss deleted file mode 100644 index bebd4dc7822e0ec19bc475c4c917adda3bc19d2c..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/inputs/variables.scss +++ /dev/null @@ -1,56 +0,0 @@ - -$color: red, two, three; - -div { - height: $color; -} - -$a: 1000; - -div { - $a: 2000 !default; - num: $a; -} - -div { - $b: 2000 !default; - num: $b; -} - -$cool_color: null; -$cool_color: blue !default; - -pre { - color: $cool_color; -} - -$something_man: 100px; -cool: $something_man; - - -del { - $something: blue; - - div { - $something: red; - pre { - color: $something; - } - } - - color: $something; -} - -$font-family-simple: Arial !default; -$font-family-spaces: Helvetica Neue !default; -$font-family-quotes: "Helvetica Neue" !default; -$font-family-commas: Helvetica, Arial, sans-serif !default; -$font-family-sans: "Helvetica Neue", Helvetica, Arial, sans-serif !default; - -body { - font-family: $font-family-simple; - font-family: $font-family-spaces; - font-family: $font-family-quotes; - font-family: $font-family-commas; - font-family: $font-family-sans; -} diff --git a/vendor/leafo/scssphp/tests/outputs/builtins.css b/vendor/leafo/scssphp/tests/outputs/builtins.css deleted file mode 100644 index b7884c2efa31adb515d6074ca2d2823a87b3be17..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/builtins.css +++ /dev/null @@ -1,126 +0,0 @@ -#color { - color: #22ea18; - red: 34; - green: 234; - blue: 24; - color: rgba(1, 2, 4, 0.5); - a1: 1; - a2: 0.5; - mix: #020304; - rgba: rgba(170, 119, 204, 0.4); - rgba: rgba(170, 119, 204, 0.4); } - -#hsl { - color: #79c653; - color: rgba(121, 198, 83, 0.5); - hue: 100deg; - sat: 50%; - lig: 55%; } - -#more-color { - light: #7e3d9e; - dark: #432154; - sat: #632782; - desat: #5e3871; - gray: #545454; - comp: #48792f; - inv: #9fd086; } - -#more-more-color { - op: 0.5; - opacify: rgba(1, 2, 3, 0.6); - opacify: rgba(1, 2, 3, 0.6); - transparentize: rgba(1, 2, 3, 0.4); - transparentize: rgba(1, 2, 3, 0.4); - transparentize: rgba(52, 130, 3, 0.9); } - -#more-more-more-color { - color: rgba(65, 110, 79, 0.4); - color: rgba(20, 255, 216, 0); - color: rgba(55, 100, 69, 0.4); - color: rgba(0, 255, 213, 0); - color: rgba(145, 10, 10, 0); - color: rgba(5, 10, 10, 0); - color: rgba(145, 145, 145, 0); - color: rgba(5, 5, 5, 0); - color: #000A0A0A; - color: #FFAABBCC; } - -#string { - color: hello what is going on; - color: "yeah"; - color: "I do?"; } - -#number { - color: 250%; - color: 3; - color: 3; - color: 4; - top: 10px; - top: 1ex; - width: 200%; - bottom: 10px; - padding: 3em 1in 96px 72pt; } - -#list { - len: 3; - len: 1; - n: hello; - hello: one, two, three, hello; - hello: one, two, three, hello, world, what, is, going; - hello: one, two, three, hello; - index: 2; - index: false; - index: 3; - index: 1; - index: false; - index: 1; - index: false; - index: 2; - index: 2; - index: 1; - world: one, two, three, great, job; - world: one, two, three, great job; - cool: one two three great job; - cool: great job one two three; - zip: 1px solid, 2px dashed; - zip: 1px solid red, 2px dashed green; } - -#introspection { - t: number; - t: string; - t: string; - t: bool; - t: color; - t: color; - t: list; - u: ""; - u: "px"; - u: "em"; - l: true; - l: false; - c: true; - c: false; - c: true; - c: true; - c: false; - c: true; } - -#if { - color: yes; - color: no; - color: yes; - color: yes; } - -.transparent { - r: 0; - g: 0; - b: 0; - a: 0; } - -.alpha { - a: 1; - a: 1; - a: 1; - a: 0.5; - a: alpha(currentColor); } diff --git a/vendor/leafo/scssphp/tests/outputs/comments.css b/vendor/leafo/scssphp/tests/outputs/comments.css deleted file mode 100644 index 751ddfe45357ddf3a7b79348d443138af628c854..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/comments.css +++ /dev/null @@ -1,19 +0,0 @@ -/** what the heck **/ -/** - -Here is a block comment - -**/ -/*hello*/ -div { - /* another property */ - border: 1px solid red; - color: url('http://mage-page.com'); - string: "hello /* this is not a comment */"; - world: "// neither is this"; - /*what if this is a comment */ - string: 'hello /* this is not a comment */'; - world: '// neither is this'; - what-ever: 100px; - /*this is not a comment?*/ - background: url(); } diff --git a/vendor/leafo/scssphp/tests/outputs/compass_extract.css b/vendor/leafo/scssphp/tests/outputs/compass_extract.css deleted file mode 100644 index 8ae7f3791f411b89bbfce39463a2318d0978c20d..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/compass_extract.css +++ /dev/null @@ -1,28 +0,0 @@ -#test-0 { - unit: false; - unit: true; - rhythm: 1.5em; - size: 1; - size: 1; - size: 1; - size: 2; - size: 2; } - -#test-1 { - margin-top: 7.5em; - padding-top: 9em; - padding-bottom: 10.5em; - margin-bottom: 0em; } - -#test-2 { - border-style: solid; - border-width: 0.0625em; - padding: 1.4375em; } - -#test-3 { - border-top-style: solid; - border-top-width: 0.0625em; - padding-top: 1.4375em; - border-bottom-style: solid; - border-bottom-width: 0.0625em; - padding-bottom: 1.4375em; } diff --git a/vendor/leafo/scssphp/tests/outputs/content.css b/vendor/leafo/scssphp/tests/outputs/content.css deleted file mode 100644 index 6657a2167def13ee02b63511b6061207341e4159..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/content.css +++ /dev/null @@ -1,29 +0,0 @@ -* html #logo { - background-image: url(/logo.gif); } - -.colors { - background-color: blue; - color: white; - border-color: blue; } - -@media only screen and (max-width: 480px) { - body { - color: red; } } - -#sidebar { - width: 300px; } - @media only screen and (max-width: 480px) { - #sidebar { - width: 100px; } } - -@media only screen and (min-width: 40em) { - .grid-1 { - width: 100%; } - .grid-2 { - width: 100%; } } - -@media only screen and (min-width: 40em) { - .grid-1 { - width: 100%; } - .grid-2 { - width: 100%; } } diff --git a/vendor/leafo/scssphp/tests/outputs/content_with_function.css b/vendor/leafo/scssphp/tests/outputs/content_with_function.css deleted file mode 100644 index 185fe66600eaf3a57ebe59e2e5bb2e1eb24add38..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/content_with_function.css +++ /dev/null @@ -1,2 +0,0 @@ -body { - padding: 1 px; } diff --git a/vendor/leafo/scssphp/tests/outputs/default_args.css b/vendor/leafo/scssphp/tests/outputs/default_args.css deleted file mode 100644 index 19379e0c906a6e94f05e247c2c8f63490b2b23a3..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/default_args.css +++ /dev/null @@ -1,3 +0,0 @@ -div { - height: red; - margin: 100px; } diff --git a/vendor/leafo/scssphp/tests/outputs/directives.css b/vendor/leafo/scssphp/tests/outputs/directives.css deleted file mode 100644 index 2b7155820f5504262bfe529cb57aa734446178a7..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/directives.css +++ /dev/null @@ -1,77 +0,0 @@ -@charset "hello-world"; -@page :left { - div { - color: red; } } - -@page test { - @media yes { - div { - color: red; } } } - -@media something { - @page { - @media else { - div { - height: 200px; } } } } - -div { - color: red; } - @page yeah { - div pre { - height: 20px; } } - -@font-face { - color: red; - height: 20px; } - -@keyframes 'bounce' { - from { - top: 100px; - animation-timing-function: ease-out; } - - 25% { - top: 50px; - animation-timing-function: ease-in; } - - 50% { - top: 100px; - animation-timing-function: ease-out; } - - 75% { - top: 75px; - animation-timing-function: ease-in; } - - to { - top: 100px; } } - -@-webkit-keyframes flowouttoleft { - 0% { - -webkit-transform: translateX(0) scale(1); } - - 60%, 70% { - -webkit-transform: translateX(0) scale(0.7); } - - 100% { - -webkit-transform: translateX(-100%) scale(0.7); } } - -div { - animation-name: 'diagonal-slide'; - animation-duration: 5s; - animation-iteration-count: 10; } - -@keyframes 'diagonal-slide' { - from { - left: 0; - top: 0; } - - to { - left: 100px; - top: 100px; } } - -@document url(http://www.w3.org/), - url-prefix(http://www.w3.org/Style/), - domain(mozilla.org), - regexp("https:.*") { - body { - color: purple; - background: yellow; } } diff --git a/vendor/leafo/scssphp/tests/outputs/extends.css b/vendor/leafo/scssphp/tests/outputs/extends.css deleted file mode 100644 index e40cd8671d2085a9447c56a64b7fca19ca01a08e..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/extends.css +++ /dev/null @@ -1,87 +0,0 @@ -error, pre seriousError, span seriousError, other, hello { - border: 1px #f00; - background-color: #fdd; } - -pre seriousError, span seriousError { - font-size: 20px; } - -hello { - color: green; } - hello div { - margin: 10px; } - -.cool, .me { - color: red; } - -.blue, .me { - color: purple; } - -a:hover, .hoverlink, #demo .overview .fakelink:hover { - text-decoration: underline; } - -div.hello.world.hmm, pre div.okay.span.world.hmm, pre #butt .umm div.sure.span.world.hmm, #butt .umm pre div.sure.span.world.hmm, code div.okay.span.world.hmm, code #butt .umm div.sure.span.world.hmm, #butt .umm code div.sure.span.world.hmm { - color: blue; } - -.xxxxx .xxxxx .xxxxx, code .xxxxx .xxxxx, code code .xxxxx, code code code, code .xxxxx code, .xxxxx code .xxxxx, .xxxxx code code, .xxxxx .xxxxx code { - color: green; } - -code { - color: red; } - -.alpha, .beta, .gama { - color: red; } - -.beta, .gama { - color: white; } - -.gama { - color: blue; } - -#admin .tabbar a, #admin .tabbar #demo .overview .fakelink, #demo .overview #admin .tabbar .fakelink { - font-weight: bold; } - -a1 b1 c1 d1, x1 y1 z1 w1 b1 c1 d1 { - color: red; } - -a2 b2 c2 d2, a2 x2 y2 z2 w2 c2 d2, x2 y2 z2 a2 w2 c2 d2 { - color: red; } - -a3 b3 c3 d3, a3 b3 x3 y3 z3 w3 d3, x3 y3 z3 a3 b3 w3 d3 { - color: red; } - -a4 b4 c4 d4, a4 b4 c4 x4 y4 z4 w4, x4 y4 z4 a4 b4 c4 w4 { - color: red; } - -#butt .yeah .okay, #butt .yeah .umm .sure, #butt .umm .yeah .sure { - font-weight: bold; } - -a9 b9 s9 t9 v9, a9 b9 s9 t9 x9 y9 z9, a9 b9 x9 y9 s9 t9 z9 { - color: red; } - -@media print { - horse, man { - color: blue; } } - -man { - color: red; } - -wassup { - color: blue; } - -.foo .wassup { - color: blue; } - -#something, .x, .y { - color: red; } - -.nav-justified, .nav-tabs.nav-justified { - text-align: justify; } - -.btn:hover, .edit .actions button:hover, .edit .new .actions button:hover, .btn:active, .edit .actions button:active, .edit .new .actions button:active, .btn.active, .edit .actions button.active, .edit .new .actions button.active, .btn.disabled, .edit .actions button.disabled, .edit .new .actions button.disabled, .btn[disabled], .edit .actions button[disabled], .edit .new .actions button[disabled] { - color: red; } - -.edit .actions button { - float: right; } - -.edit .new .actions { - padding: 0; } diff --git a/vendor/leafo/scssphp/tests/outputs/filter_effects.css b/vendor/leafo/scssphp/tests/outputs/filter_effects.css deleted file mode 100644 index 7d0bee839c36a0c2b874931156510f68b21dd805..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/filter_effects.css +++ /dev/null @@ -1,20 +0,0 @@ -#number { - -webkit-filter: grayscale(1) sepia(0.5) saturate(0.1) invert(1) opacity(0.5) brightness(0.5) contrast(0.5); } - -#percentage { - -webkit-filter: grayscale(100%) sepia(50%) saturate(10%) invert(100%) opacity(50%) brightness(50%) contrast(50%); } - -#misc { - -webkit-filter: hue-rotate(90deg) blur(10px) drop-shadow(10px -16px 30px purple); } - -#decimal { - opacity: 0.5; - filter: alpha(opacity=50, style=1); } - -#percent { - opacity: 0.5; - filter: alpha(opacity=50); } - -.row { - background-color: #071c23; - color: #2284a1; } diff --git a/vendor/leafo/scssphp/tests/outputs/functions.css b/vendor/leafo/scssphp/tests/outputs/functions.css deleted file mode 100644 index a19ae74b8108284e778da01247e684aab0c9dcaf..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/functions.css +++ /dev/null @@ -1,22 +0,0 @@ -div { - color: 14px; - sum: 23; } - -div { - hello: 10 55; - hello: 1010 55; - hello: "hello 10 and 55"; } - -del { - color: 1000; } - -div { - hello: "hello foo and bar"; - hello: "hello bar and default"; - hello: "hello Alice, Bob, Tom"; } - -.foo { - test2: -moz-art; } - -div span { - height: 3px; } diff --git a/vendor/leafo/scssphp/tests/outputs/ie7.css b/vendor/leafo/scssphp/tests/outputs/ie7.css deleted file mode 100644 index 7196fb19ba28910a7526f06197312a1cf5a43d7c..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/ie7.css +++ /dev/null @@ -1,8 +0,0 @@ -#foo:before { - content: counter(item,".") ": "; } - -#bar:before { - content: counter(item,"."); } - -#fu:before { - content: counter(item); } diff --git a/vendor/leafo/scssphp/tests/outputs/if.css b/vendor/leafo/scssphp/tests/outputs/if.css deleted file mode 100644 index b9d05205b438f2a968becc329ef79d6c0dea1747..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/if.css +++ /dev/null @@ -1,21 +0,0 @@ -div { - color: blue; } - -pre { - val-1: "red"; - val-2: "blue"; - val-3: "blue"; - val-4: "red"; - val-5: "red"; } - -span { - color: blue; - height: 10px; - width: 20px; } - -div { - color: blue; - border-color: green; } - -del { - thing: no; } diff --git a/vendor/leafo/scssphp/tests/outputs/if_on_null.css b/vendor/leafo/scssphp/tests/outputs/if_on_null.css deleted file mode 100644 index 2dfca956d137763374572cbdc6b7e22f5ee22f42..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/if_on_null.css +++ /dev/null @@ -1,2 +0,0 @@ -body { - background-color: "red"; } diff --git a/vendor/leafo/scssphp/tests/outputs/import.css b/vendor/leafo/scssphp/tests/outputs/import.css deleted file mode 100644 index 5dfa477152e1b80a772ee181bbba2490b35e5303..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/import.css +++ /dev/null @@ -1,23 +0,0 @@ -@import "foo.css"; -@import "foo" screen; -@import "http://foo.com/bar"; -@import url(foo); -div { - height: 200px; - color: red; } - -pre { - color: red; } - pre div { - height: 200px; - color: red; } - -code div { - height: 200px; - color: red; } - code div { - height: 200px; - color: red; } - -#partial { - color: blue; } diff --git a/vendor/leafo/scssphp/tests/outputs/interpolation.css b/vendor/leafo/scssphp/tests/outputs/interpolation.css deleted file mode 100644 index 89dc81c98bc1efc0f067cb3fbe7811d5e76f3397..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/interpolation.css +++ /dev/null @@ -1,54 +0,0 @@ -div { - color: redwhite blue; - color: red white blue; - color: red whiteblue; - color: redwhiteblue; - color: ummyeahwhat; - color: stacked; - font-size: 10px/something; - font-size: 10px / something; - test: "whatworldwrong"; - test: "whatworldwrong"; - test: "whatworldwrong"; - test: "what"world"wrong"; - hi: "what is 16 end"; } - -pre var { - color: red; } - pre var dad { - color: red; } - pre bedvardad { - color: red; } - -cool .thing-1 { - color: red; } - cool .thing-2 { - color: red; } - cool .thing-3 { - color: red; } - cool .thing-4 { - color: red; } - cool .thing-5 { - color: red; } - -abcde { - color: red; } - -#hello, .world { - color: red; } - -#abchelloyeah, .coolworldyes { - color: red; } - -div.element:nth-child(2n) { - display: none; } - -div { - hello: world; - coolhello: world; - helloone: world; - twohelloone: world; - oneabtwo: cool; - hello-world: red; - hello-mold: white; - hello-hello: blue; } diff --git a/vendor/leafo/scssphp/tests/outputs/keyword_args.css b/vendor/leafo/scssphp/tests/outputs/keyword_args.css deleted file mode 100644 index 441c4ab3d53cf6d4aedf8cb4a0e8cbce63c806b2..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/keyword_args.css +++ /dev/null @@ -1,6 +0,0 @@ -pre { - out: alpha fort three palace; } - -div { - hello: 5; - world: -5; } diff --git a/vendor/leafo/scssphp/tests/outputs/list.css b/vendor/leafo/scssphp/tests/outputs/list.css deleted file mode 100644 index 4e5472963aca4fc2064753e1a422ede1cc022bfc..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/list.css +++ /dev/null @@ -1,7 +0,0 @@ -div { - padding: 10px 20px 30px 40px; - margin: 0 10px 10px 10px; - background: linear-gradient(black, white); } - -p { - background: linear-gradient(red, blue); } diff --git a/vendor/leafo/scssphp/tests/outputs/looping.css b/vendor/leafo/scssphp/tests/outputs/looping.css deleted file mode 100644 index db58f4aa2cb803401b6a80295b6e86086837a183..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/looping.css +++ /dev/null @@ -1,45 +0,0 @@ -div { - color: what; - color: is; - color: this; - font: what; - font: is; - font: this; - background: what; - background: is; - background: this; - border: what; - border: is; - border: this; } - -span { - color: 0; - color: 1; - color: 2; - color: 3; - color: 4; - color: 5; - color: 6; - color: 7; - color: 8; - color: 9; - color: 10; } - -pre { - color: 1; - color: 2; - color: 3; - color: 4; - height: 1; - height: 2; - height: 3; - height: 4; - height: 5; - cool: 10; - cool: 9; - cool: 8; - cool: 7; - cool: 6; - cool: 5; - cool: 4; - cool: 3; } diff --git a/vendor/leafo/scssphp/tests/outputs/media.css b/vendor/leafo/scssphp/tests/outputs/media.css deleted file mode 100644 index 662765273c981865da655589a99d92e91d96df2f..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/media.css +++ /dev/null @@ -1,103 +0,0 @@ -@media { - div { - color: blue; } } - -@media what { - div { - color: blue; } } - -@media (cool) { - div { - color: blue; } } - -@media (cool: blue) { - div { - color: blue; } } - -@media hello and (world) and (butt: man) { - div { - color: blue; } } - -@media (max-width: 940px) { - color: red; } - -@media not hello and (world) { - color: blue; - pre { - color: blue; } } - @media butt and (world) { - color: red; - div { - color: red; } } - -div { - color: blue; } - @media screen and (-webkit-min-device-pixel-ratio: 1.5) { - div .sidebar { - width: 500px; } } - -div { - position: absolute; } - @media screen { - div { - top: 0; - bottom: 8em; - color: red; } - div p { - margin: 5px; } - - div .success { - color: green; } } - -.button { - width: 300px; - height: 100px; - background: #eee; } - .button :hover { - background: #aaa; } - @media only screen and (max-width: 300px) { - .button { - width: 100px; - height: 100px; } } - -code { - position: absolute; } - @media screen { - code { - height: 10px; } - code pre { - height: 20px; } } - -@media screen and (color: blue) { - dt { - height: 10px; } } - -@media screen { - .screen { - width: 12px; } } - @media only screen { - .only-screen { - height: 11px; } } - -@media only screen { - .only-screen { - width: 14px; } } - @media only screen { - .only-screen { - height: 16px; } } - -@media print { - .only-print { - height: 12px; } } - -@media screen { - .only-print { - height: 12px; } } - -@media not screen { - .not-screen { - height: 15px; } } - -@media only screen and (color: blue) and (width: 13) { - .only-screen { - height: 15px; } } diff --git a/vendor/leafo/scssphp/tests/outputs/mixins.css b/vendor/leafo/scssphp/tests/outputs/mixins.css deleted file mode 100644 index 92bb1c0f52a21874641627a8a9a0c547430524e1..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/mixins.css +++ /dev/null @@ -1,83 +0,0 @@ -div { - color: blue; - color: red; } - div pre { - height: 200px; } - -span { - color: blue; } - span div { - height: 20px; } - -html { - height: 43px; } - -del { - height: 20px; } - -div { - color: white; - color: blue; - color: white; } - -div { - background-image: linear-gradient(left top, red, green); } - -div { - -moz-box-shadow: 10px 10px 5px #888; - -webkit-box-shadow: 10px 10px 5px #888; - box-shadow: 10px 10px 5px #888; - -moz-box-shadow: inset 10px 10px #888, -10px -10px #f4f4f4; - -webkit-box-shadow: inset 10px 10px #888, -10px -10px #f4f4f4; - box-shadow: inset 10px 10px #888, -10px -10px #f4f4f4; } - -div p { - color: red; - color: blue; } - div p .class { - color: red; } - div p .class div { - height: 20px; } - div p div { - height: 20px; } - div p .top { - top: 0; } - div p .top div { - color: red; } - -div.mixin-content-simple { - color: red; } - -div.mixin-content-with-arg { - background: blue; - color: red; } - -div.mixin-content-with-arg { - background: purple; - height: 20px; } - -div.mixin-content-simple { - height: 43px; } - -div.mixin-content-simple { - color: orange; } - div.mixin-content-simple div { - height: 20px; } - -div.mixin-content-with-arg { - background: purple; - height: 43px; } - -div.mixin-content-with-arg { - background: purple; - color: orange; } - div.mixin-content-with-arg div { - height: 20px; } - -#please-wait { - background: url(/images/logo.png); - position: absolute; - top: 1em; - right: 0; - bottom: 3em; - left: 4em; } diff --git a/vendor/leafo/scssphp/tests/outputs/nesting.css b/vendor/leafo/scssphp/tests/outputs/nesting.css deleted file mode 100644 index 23be1881f5a8fd3809445313ec57961bbc055e39..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/nesting.css +++ /dev/null @@ -1,22 +0,0 @@ -div: blue; -body { - color: red; } - -div { - color: red; - height: yes; } - div pre { - color: blue; } - -div { - font: 10px hello world; - font-size: 10px; - font-color: blue; - border-left: 1px solid blue; - border-right: 2px dashed green; } - -#nested-nesting { - bar: baz; - bang-bop: bar; - bang-bip: 1px; - bang-blat-baf: bort; } diff --git a/vendor/leafo/scssphp/tests/outputs/null.css b/vendor/leafo/scssphp/tests/outputs/null.css deleted file mode 100644 index b21aa46e22c090b6ca5cd6a86ab30b3e662c0773..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/null.css +++ /dev/null @@ -1,21 +0,0 @@ -.div { - one: null; - one: world; - one: NULL world; - one: a, b; - two: a, b; } - -p:before { - content: "I ate pies!"; } - -.foo { - -webkit-border-radius: 10; - border-radius: 10; } - -.fu { - -webkit-border-radius: 20; - border-radius: 20; } - -.bar { - -webkit-border-top-left-radius: 30; - border-top-left-radius: 30; } diff --git a/vendor/leafo/scssphp/tests/outputs/operators.css b/vendor/leafo/scssphp/tests/outputs/operators.css deleted file mode 100644 index 3cae96a518e853144463c324c36da4d6f3939db8..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/operators.css +++ /dev/null @@ -1,105 +0,0 @@ -body { - color: 8; - color: 16; - height: 10px/10px; - color: 6px; - color: 5px; - bottom: 2px; - top: 1.5em; - left: -1cm; - top: 6.29921; } - -div { - color: false; - color: true; - color: true; - color: false; - color: what > 3; } - -#units { - test: 2.5748in; - test: 13mm; - test: 4em; - test: 11mm; - test: 1.1cm; } - -#modulo { - test: 1; - test: 1cm; } - -#colors { - color: #ff0203; - color: #fe0000; - color: rgba(3, 8, 15, 0.5); - color: rgba(5, 8, 10, 0.5); - color: rgba(2, 4, 6, 0.5); - color: rgba(1, 1, 2, 0.5); - color: rgba(3, 4, 5, 0.5); - color: rgba(0, 0, 1, 0.5); - color: #22f; - color: false; - color: true; - color: true; - color: false; } - -#preserve { - hello: what -going; - hello: what - going; } - -#strings { - hello: what -going; - hello: whatgoing; - hello: whatgoing; - hello: whatgoing; - hello: whatgoing; - hello: "whatgoing"; - hello: goingwhat; - hello: "whatwhat"; } - -#negation { - a: -60; - b: 10 -100; - b: -90; } - -#bools-fail { - and: false and two; - and: one and two; - and: one and false; - or: false or two; - or: one or two; - or: one or false; } - -#bools { - and: false; - and: two; - and: false; - or: two; - or: one; - or: one; } - -#nots-fail { - not: false2; - not: not false; - not: not 0; - not: not 1; - not: not ""; - not: not hello; } - -#nots { - not: false2; - not: true; - not: false; - not: false; - not: false; - not: false; } - -#string-test { - str: true; - str: false; - str: true; - str: true; - str: xhellohellofalse; - str: true; } - -#special { - cancel-unit: 1; } diff --git a/vendor/leafo/scssphp/tests/outputs/placeholder_selector.css b/vendor/leafo/scssphp/tests/outputs/placeholder_selector.css deleted file mode 100644 index 938ffeb30469753e3fb9df3be6c8c8acf65ed835..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/placeholder_selector.css +++ /dev/null @@ -1,7 +0,0 @@ -p a.notice span, p a.error span, #context a.notice span, #context a.error span { - color: blue; - font-weight: bold; - font-size: 2em; } - -p { - padding: 2em; } diff --git a/vendor/leafo/scssphp/tests/outputs/scss_css.css b/vendor/leafo/scssphp/tests/outputs/scss_css.css deleted file mode 100644 index 21af8e6bca4e86b93d10c2c727731773a4d06e98..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/scss_css.css +++ /dev/null @@ -1,741 +0,0 @@ -@import "foo.css"; -@import 'foo.css'; -@import url("foo.css"); -@import url('foo.css'); -@import url(foo.css); -@import "foo.css" screen; -@import "foo.css" screen, print; -/* Foo - * Bar */ -/* Baz - * Bang */ -@charset "UTF-8"; -[foo~=bar] { - a: b; } - -[foo^=bar] { - a: b; } - -[foo$=bar] { - a: b; } - -[foo*=bar] { - a: b; } - -[foo|=en] { - a: b; } - -foo { - a: 2; - b: 2.3em; - c: 50%; - d: "fraz bran"; - e: flanny-blanny-blan; - f: url(http://sass-lang.com); - h: #abc; } - -selector { - property: value; - property2: value; } - -sel { - p: v; } - -.foo { - a: b; } - -.foo { - a: b; } - -.foo { - a: b; } - -.foo { - a: b; } - -@foo { - a: b; - rule { - a: b; } } - -@foo { - a: b; } - -@bar { - a: b; } - -@foo "bar" - -foo { - a: 12px calc(100%/3 - 2*1em - 2*1px); - b: 12px -moz-calc(100%/3 - 2*1em - 2*1px); - b: 12px -webkit-calc(100%/3 - 2*1em - 2*1px); - b: 12px -foobar-calc(100%/3 - 2*1em - 2*1px); } - -foo { - bar: baz; } - -bar { - bar: baz; } - -baz { - bar: baz; - /* - * foo - */ } - -bar { - baz: bang; } - -E, F { - a: b; } - -E F, G H { - a: b; } - -E > F, G > H { - a: b; - /* This is a CSS comment. */ } - -.one { - color: green; - /* Another comment */ - /* The following should not be used: -.two {color: red;} */ } - -.three { - /* color: red; */ - color: green; - /** -.four {color: red;} */ } - -.five { - color: green; - /**/ } - -.six { - color: green; - /*********/ } - -.seven { - color: green; - /* a comment **/ } - -.eight { - color: green; } - -foo { - a: \foo bar; - b: foo\ bar; - c: \2022 \0020; - d: foo\\bar; - e: foo\"\'bar; } - -foo { - a: "\foo bar"; - b: "foo\ bar"; - c: "\2022 \0020"; - d: "foo\\bar"; - e: "foo\"'bar"; } - -foo { - _name: val; - *name: val; - :name: val; - .name: val; - #name: val; - name/**/: val; - name/*\**/: val; - name: val; } - -@foo "bar" ; - -foo { - a: -moz-element(#foo); - b: -webkit-element(#foo); - b: -foobar-element(#foo); } - -@foo ; - -foo { - bar: baz; } - -0% { - a: b; } - -60% { - a: b; } - -100% { - a: b; } - -12px { - a: b; } - -"foo" { - a: b; } - -foo { - a: 12px expression(1 + (3 / Foo.bar("baz" + "bang") + function() {return 12;}) % 12); } - -:foo("bar") { - a: b; } - -:foo(bar) { - a: b; } - -:foo(12px) { - a: b; } - -:foo(+) { - a: b; } - -:foo(-) { - a: b; } - -:foo(+"bar") { - a: b; } - -:foo(-++--baz-"bar"12px) { - a: b; } - -foo { - a: foo-bar(12); - b: -foo-bar-baz(13, 14 15); } - -@import "foo.css" screen, print and (foo: 0); - -@import "foo.css" screen, only print, screen and (foo: 0); - -foo { - a: foo !important; - b: foo bar !important; - b: foo, bar !important; } - -foo { - a: -moz-bar-baz; - b: foo -o-bar-baz; } - -foo { - /* b; c: */ - a: d; } - -foo { - /*: b; c */ - a : d; - /* Foo - * Bar */ } - -[foo] { - a: b; } - -[foo="bar"] { - a: b; } - -[foo~="bar"] { - a: b; } - -[foo^="bar"] { - a: b; } - -[foo$="bar"] { - a: b; } - -[foo*="bar"] { - a: b; } - -[foo|="en"] { - a: b; } - -:root { - a: b; } - -:nth-child(n) { - a: b; } - -:nth-last-child(n) { - a: b; } - -:nth-of-type(n) { - a: b; } - -:nth-last-of-type(n) { - a: b; } - -:first-child { - a: b; } - -:last-child { - a: b; } - -:first-of-type { - a: b; } - -:last-of-type { - a: b; } - -:only-child { - a: b; } - -:only-of-type { - a: b; } - -:empty { - a: b; } - -:link { - a: b; } - -:visited { - a: b; } - -:active { - a: b; } - -:hover { - a: b; } - -:focus { - a: b; } - -:target { - a: b; } - -:lang(fr) { - a: b; } - -:enabled { - a: b; } - -:disabled { - a: b; } - -:checked { - a: b; } - -::first-line { - a: b; } - -::first-letter { - a: b; } - -::before { - a: b; } - -::after { - a: b; } - -.warning { - a: b; } - -#myid { - a: b; } - -:not(s) { - a: b; } - -@media all { - rule1 { - prop: val; } - - rule2 { - prop: val; } } - -@media screen, print { - rule1 { - prop: val; } - - rule2 { - prop: val; } } - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - a: b; } - -@media only screen, print and (foo: 0px) and (bar: flam(12px solid)) { - a: b; } - -:-moz-any(h1, h2, h3) { - a: b; } - -:-moz-any(.foo) { - a: b; } - -:-moz-any(foo bar, .baz > .bang) { - a: b; } - -@-moz-document url(http://www.w3.org/), - url-prefix(http://www.w3.org/Style/), - domain(mozilla.org), - regexp("^https:.*") { - .foo { - a: b; } } - -foo { - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#c0ff3300, endColorstr=#ff000000); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#c0ff3300, endColorstr=#ff000000); } - -foo { - filter: alpha(opacity=20); - filter: alpha(opacity=20, enabled=true); - filter: blaznicate(foo=bar, baz=bang bip, bart=#fa4600); } - -@foo bar { - a: b; } - -@bar baz { - c: d; } - -@namespace "http://www.w3.org/Profiles/xhtml1-strict"; - -@namespace url(http://www.w3.org/Profiles/xhtml1-strict); - -@namespace html url("http://www.w3.org/Profiles/xhtml1-strict"); - -[foo|bar=baz] { - a: b; } - -[*|bar=baz] { - a: b; } - -[foo|bar|=baz] { - a: b; } - -foo|E { - a: b; } - -*|E { - a: b; } - -foo|* { - a: b; } - -*|* { - a: b; } - -:not(foo|bar) { - a: b; } - -:not(*|bar) { - a: b; } - -:not(foo|*) { - a: b; } - -:not(*|*) { - a: b; } - -:not(#blah) { - a: b; } - -:not(.blah) { - a: b; } - -:not([foo]) { - a: b; } - -:not([foo^="bar"]) { - a: b; } - -:not([baz|foo~="bar"]) { - a: b; } - -:not(:hover) { - a: b; } - -:not(:nth-child(2n + 3)) { - a: b; } - -:not(:not(#foo)) { - a: b; } - -:not(a#foo.bar) { - a: b; } - -:not(#foo .bar > baz) { - a: b; } - -:not(h1, h2, h3) { - a: b; } - -foo { - a: "bang 1 bar bip"; } - -:nth-child(-n) { - a: b; } - -:nth-child(+n) { - a: b; } - -:nth-child(even) { - a: b; } - -:nth-child(odd) { - a: b; } - -:nth-child(50) { - a: b; } - -:nth-child(-50) { - a: b; } - -:nth-child(+50) { - a: b; } - -:nth-child(2n+3) { - a: b; } - -:nth-child(2n-3) { - a: b; } - -:nth-child(+2n-3) { - a: b; } - -:nth-child(-2n+3) { - a: b; } - -:nth-child(-2n+ 3) { - a: b; } - -:nth-child( 2n + 3) { - a: b; } - -foo { - a: foo bar baz; - b: foo, #abc, -12; - c: 1px/2px/-3px; - d: foo bar, baz/bang; } - -@page { - prop1: val; - prop2: val; } - -@page flap { - prop1: val; - prop2: val; } - -@page :first { - prop1: val; - prop2: val; } - -@page flap:first { - prop1: val; - prop2: val; } - -.foo { - a: b; } - -.foo { - a: b; - /* Foo */ } - -.foo { - a: b; - /* Foo - * Bar */ } - -.foo { - a: b; } - -.foo #bar:baz(/* bang )*/ bip) { - a: b; } - -> E { - a: b; } - -+ E { - a: b; } - -~ E { - a: b; } - -> > E { - a: b; } - ->> E { - a: b; } - -E* { - a: b; } - -E*.foo { - a: b; } - -E*:hover { - a: b; } - -E, F { - a: b; } - -E F { - a: b; } - -E, F G, H { - a: b; } - -E > F { - a: b; } - -E ~ F { - a: b; } - -E + F { - a: b; } - -* { - a: b; } - -E { - a: b; } - -E[foo] { - a: b; } - -E[foo="bar"] { - a: b; } - -E[foo~="bar"] { - a: b; } - -E[foo^="bar"] { - a: b; } - -E[foo$="bar"] { - a: b; } - -E[foo*="bar"] { - a: b; } - -E[foo|="en"] { - a: b; } - -E:root { - a: b; } - -E:nth-child(n) { - a: b; } - -E:nth-last-child(n) { - a: b; } - -E:nth-of-type(n) { - a: b; } - -E:nth-last-of-type(n) { - a: b; } - -E:first-child { - a: b; } - -E:last-child { - a: b; } - -E:first-of-type { - a: b; } - -E:last-of-type { - a: b; } - -E:only-child { - a: b; } - -E:only-of-type { - a: b; } - -E:empty { - a: b; } - -E:link { - a: b; } - -E:visited { - a: b; } - -E:active { - a: b; } - -E:hover { - a: b; } - -E:focus { - a: b; } - -E:target { - a: b; } - -E:lang(fr) { - a: b; } - -E:enabled { - a: b; } - -E:disabled { - a: b; } - -E:checked { - a: b; } - -E::first-line { - a: b; } - -E::first-letter { - a: b; } - -E::before { - a: b; } - -E::after { - a: b; } - -E.warning { - a: b; } - -E#myid { - a: b; } - -E:not(s) { - a: b; } - -E F { - a: b; } - -E > F { - a: b; } - -E + F { - a: b; } - -E ~ F { - a: b; } - -@supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) { - .foo { - a: b; } } - -@-prefix-supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) { - .foo { - a: b; } } - -foo { - foo: bar; - #baz: bang; - #bip: bop; } - -foo { - a: -2; - b: -2.3em; - c: -50%; - d: -foo(bar baz); } - -foo { - a: -0.5em; - b: 0.5em; - c: -foo(12px); - d: +foo(12px); } - -foo { - -moz-foo-bar: blat; - -o-flat-blang: wibble; } - -foo { - a: foo(); - b: bar baz-bang() bip; } diff --git a/vendor/leafo/scssphp/tests/outputs/selectors.css b/vendor/leafo/scssphp/tests/outputs/selectors.css deleted file mode 100644 index f87383a0d894622287d52ba2b90cca51a7cdf0f5..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/selectors.css +++ /dev/null @@ -1,335 +0,0 @@ -* { - color: blue; } - -E { - color: blue; } - -E:not(:link) { - color: blue; } - -E:not(:link):not(:visited) { - color: blue; } - -E:not(:link, :visited) { - color: blue; } - -E:matches(:hover, :focus) { - color: blue; } - -E.warning { - color: blue; } - -E#id { - color: blue; } - -E[foo] { - color: blue; } - -E[foo="barbar"] { - color: blue; } - -E[foo="barbar" i] { - color: blue; } - -E[foo~="hello#$@%@$#^"] { - color: blue; } - -E[foo^="color: green;"] { - color: blue; } - -E[foo$="239023"] { - color: blue; } - -E[foo*="29302"] { - color: blue; } - -E[foo|="239032"] { - color: blue; } - -[foo] { - color: blue; } - -[foo] .helloWorld { - color: blue; } - -[foo].helloWorld { - color: blue; } - -[foo="barbar"] { - color: blue; } - -[foo~="hello#$@%@$#^"] { - color: blue; } - -[foo^="color: green;"] { - color: blue; } - -[foo$="239023"] { - color: blue; } - -[foo*="29302"] { - color: blue; } - -[foo|="239032"] { - color: blue; } - -E:dir(ltr) { - color: blue; } - -E:lang(en) { - color: blue; } - -E:lang(en, fr) { - color: blue; } - -E:any-link { - color: blue; } - -E:link { - color: blue; } - -E:visited { - color: blue; } - -E:local-link { - color: blue; } - -E:local-link(0) { - color: red; } - -E:local-link(1) { - color: white; } - -E:local-link(2) { - color: red; } - -E:target { - color: blue; } - -E:scope { - color: blue; } - -E:current { - color: blue; } - -E:current(:link) { - color: blue; } - -E:past { - color: blue; } - -E:future { - color: blue; } - -E:active { - color: blue; } - -E:hover { - color: blue; } - -E:focus { - color: blue; } - -E:enabled { - color: blue; } - -E:disabled { - color: blue; } - -E:indeterminate { - color: blue; } - -E:default { - color: blue; } - -E:in-range { - color: blue; } - -E:out-of-range { - color: blue; } - -E:required { - color: blue; } - -E:optional { - color: blue; } - -E:read-only { - color: blue; } - -E:read-write { - color: blue; } - -E:root { - color: blue; } - -E:empty { - color: blue; } - -E:first-child { - color: blue; } - -E:nth-child(odd) { - color: blue; } - -E:nth-child(2n+1) { - color: blue; } - -E:nth-child(5) { - color: blue; } - -E:last-child { - color: blue; } - -E:nth-last-child(-n+2) { - color: blue; } - -E:only-child { - color: blue; } - -E:first-of-type { - color: blue; } - -E:nth-of-type(2n) { - color: blue; } - -E:last-of-type { - color: blue; } - -E:nth-last-of-type(n) { - color: blue; } - -E:only-of-type { - color: blue; } - -E:nth-match(odd) { - color: blue; } - -E:nth-last-match(odd) { - color: blue; } - -E:column(n) { - color: blue; } - -E:nth-column(n) { - color: blue; } - -E:nth-last-column(n) { - color: blue; } - -E F { - color: blue; } - -E > F { - color: blue; } - -E + F { - color: blue; } - -E ~ F { - color: blue; } - -E /foo/ F { - color: blue; } - -E! > F { - color: blue; } - -[foo|att=val] { - color: blue; } - -[*|att] { - color: yellow; } - -[|att] { - color: green; } - -[att] { - color: green; } - -E::first-line { - color: blue; } - -E::first-letter { - color: blue; } - -E::before { - color: blue; } - -E::after { - color: blue; } - -E::choices { - color: blue; } - -E::value { - color: blue; } - -E::repeat-index { - color: blue; } - -E::repeat-item { - color: blue; } - -E:first { - color: blue; } - -E:first-line { - color: blue; } - -E:first-letter { - color: blue; } - -E:before { - color: blue; } - -E:after { - color: blue; } - -E:checked { - color: blue; } - -E:invalid { - color: blue; } - -E:valid { - color: blue; } - -E:left { - color: blue; } - -E:right { - color: blue; } - -E:any(ol) { - color: blue; } - -E::selection { - color: blue; } - -div { - font: something; - font-size: 30em; } - div font:something { - size: 30em; } - -.something.world { - color: blue; } - .something .mold { - height: 200px; } - .dog .something { - color: blue; } - -.dad .simple .wolf { - color: blue; } - .rad.simple.bad { - color: blue; } - -.something div .what.world { - color: blue; } - -div.foo div { - color: blue; } - -.nice-fonts .main .message div .title, .nice-fonts div .message div .title { - font-size: 24px; } diff --git a/vendor/leafo/scssphp/tests/outputs/values.css b/vendor/leafo/scssphp/tests/outputs/values.css deleted file mode 100644 index 830014f72c367a4e4aa2e5758a33aea82cbc3124..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/values.css +++ /dev/null @@ -1,29 +0,0 @@ -#values { - color: #eee; - color: #eee; - height: 20px; - width: 80%; - color: "hello world"; - height: url("http://google.com"); - dads: url(http://leafo.net); - padding: 10px 10px 10px 10px, 3px 3px 3px; - margin: 4, 3, 1; - border-radius: -1px -1px -1px black; } - -#subtraction { - lit: 10 -11; - lit: -1; - lit: -1; - lit: -1; - var: 10 -100; - var: -90; - var: -90; - var: -90; } - -#special { - a: 12px expression(1 + (3 / Foo.bar("baz" + "bang") + function() {return 12;}) % 12); } - -#unary { - b: 0.5em; - c: -foo(12px); - d: +foo(12px); } diff --git a/vendor/leafo/scssphp/tests/outputs/variables.css b/vendor/leafo/scssphp/tests/outputs/variables.css deleted file mode 100644 index 86763380c60e1fb9da964465f12203693913d54f..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/tests/outputs/variables.css +++ /dev/null @@ -1,24 +0,0 @@ -cool: 100px; -div { - height: red, two, three; } - -div { - num: 1000; } - -div { - num: 2000; } - -pre { - color: blue; } - -del { - color: red; } - del div pre { - color: red; } - -body { - font-family: Arial; - font-family: Helvetica Neue; - font-family: "Helvetica Neue"; - font-family: Helvetica, Arial, sans-serif; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } diff --git a/vendor/leafo/scssphp/todo b/vendor/leafo/scssphp/todo deleted file mode 100644 index ab271c5eae23cdd6a61fe8e876d4df9af91a41ee..0000000000000000000000000000000000000000 --- a/vendor/leafo/scssphp/todo +++ /dev/null @@ -1,47 +0,0 @@ - -* change all calls to reduce to not suppress division where appropriate -* store count in elements so we can have position of compile time errors -* failed parsing paths can add comments early - -* fix indentation for @content, see @content tests - -misc: - -# sequence merging: - -a b c d { color: red; } -x y z w { @extend a; } - - a b c d, x y z w b c d { color: red; } - - -a b c d { color: red; } -x y z w { @extend b; } - - a b c d, a x y z w c d, x y z a w c d { color: red; } - - -a b c d { color: red; } -x y z w { @extend c; } - - a b c d, a b x y z w d, x y z a b w d { color: red; } - - x y z a b w d - - before: a b - after: d - new: x y z w - - -a b c d { color: red; } -x y z w { @extend d; } - - a b c d, a b c x y z w, x y z a b c w { color: red; } - - -->> new[:-1] . before . new[-1] . after - - new.len > 1 - before not empty - - diff --git a/vendor/pear-pear.php.net/PEAR/OS/Guess.php b/vendor/pear-pear.php.net/PEAR/OS/Guess.php index d3f2cc764ebfde597f3b6442cdcc54dc6cb513f6..3fd4ab95835ea148ac977bf7ec37b3d67cd1b84c 100644 --- a/vendor/pear-pear.php.net/PEAR/OS/Guess.php +++ b/vendor/pear-pear.php.net/PEAR/OS/Guess.php @@ -10,7 +10,7 @@ * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Guess.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since PEAR 0.1 */ @@ -87,7 +87,7 @@ * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR.php b/vendor/pear-pear.php.net/PEAR/PEAR.php index 2aa85259d62dc69c0cad3f38320bc82fdcf28af9..e6f8edc2aa9b88493ceda52223246cdc4b9c5cb4 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR.php @@ -14,7 +14,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2010 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PEAR.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -78,7 +78,7 @@ $GLOBALS['_PEAR_error_handler_stack'] = array(); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @see PEAR_Error * @since Class available since PHP 4.0.2 @@ -689,7 +689,7 @@ class PEAR } /** - * OS independant PHP extension load. Remember to take care + * OS independent PHP extension load. Remember to take care * on the correct extension name for case sensitive OSes. * * @param string $ext The extension name @@ -788,7 +788,7 @@ function _PEAR_call_destructors() * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/manual/en/core.pear.pear-error.php * @see PEAR::raiseError(), PEAR::throwError() * @since Class available since PHP 4.0.2 diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Autoloader.php b/vendor/pear-pear.php.net/PEAR/PEAR/Autoloader.php index 0ed707ec842f577ca1649d74e0b4e3446170fb24..74a4f78bc5e426fa92a9d07147ee7ab2f6c4a627 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Autoloader.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Autoloader.php @@ -10,7 +10,7 @@ * @author Stig Bakken <ssb@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Autoloader.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/manual/en/core.ppm.php#core.ppm.pear-autoloader * @since File available since Release 0.1 * @deprecated File deprecated in Release 1.4.0a1 @@ -45,7 +45,7 @@ require_once "PEAR.php"; * @author Stig Bakken <ssb@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/manual/en/core.ppm.php#core.ppm.pear-autoloader * @since File available since Release 0.1 * @deprecated File deprecated in Release 1.4.0a1 diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Builder.php b/vendor/pear-pear.php.net/PEAR/PEAR/Builder.php index 90f3a1455524a48454e2d3dd17ea5897b6789660..88b7b61d35a662c30907c3f8485e7adefa696149 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Builder.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Builder.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Builder.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 * @@ -33,7 +33,7 @@ require_once 'PEAR/PackageFile.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since PHP 4.0.2 * @see http://pear.php.net/manual/en/core.ppm.pear-builder.php @@ -242,7 +242,7 @@ class PEAR_Builder extends PEAR_Common */ function build($descfile, $callback = null) { - if (preg_match('/(\\/|\\\\|^)([^\\/\\\\]+)?php(.+)?$/', + if (preg_match('/(\\/|\\\\|^)([^\\/\\\\]+)?php([^\\/\\\\]+)?$/', $this->config->get('php_bin'), $matches)) { if (isset($matches[2]) && strlen($matches[2]) && trim($matches[2]) != trim($this->config->get('php_prefix'))) { @@ -375,7 +375,7 @@ class PEAR_Builder extends PEAR_Common if (!file_exists($build_dir) || !is_dir($build_dir) || !chdir($build_dir)) { return $this->raiseError("could not chdir to $build_dir"); } - putenv('PHP_PEAR_VERSION=1.9.4'); + putenv('PHP_PEAR_VERSION=1.9.5'); foreach ($to_run as $cmd) { $err = $this->_runCommand($cmd, $callback); if (PEAR::isError($err)) { @@ -486,4 +486,4 @@ class PEAR_Builder extends PEAR_Common } return PEAR_Common::log($level, $msg); } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile.php b/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile.php index f2c02ab42b78848676665937a6eaa954ba6af23a..5769fa96026893173f2d8f222f7a54a8f67df07a 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: ChannelFile.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -146,7 +146,7 @@ $GLOBALS['_PEAR_CHANNELS_MIRROR_TYPES'] = array('server'); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile/Parser.php b/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile/Parser.php index e630ace2245d983f005d27bd35dde4bec13d7a5a..fa965819d99e79ea24de1d1c3dd34fb57597f766 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile/Parser.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/ChannelFile/Parser.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Parser.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -26,7 +26,7 @@ require_once 'PEAR/ChannelFile.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command.php index db39b8f36f357f17dc97a2d463d4c5908a207fb4..ea7f67925a95551bbca4e82b2ccbf72d507d09dd 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Command.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -94,7 +94,7 @@ $GLOBALS['_PEAR_Command_objects'] = array(); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Auth.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Auth.php index 63cd152b900735ee8c07a5b342460f9cb8963254..dd292fbe262ebc65b8ce61d2495c098f2842f318 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Auth.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Auth.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Auth.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 * @deprecated since 1.8.0alpha1 @@ -30,7 +30,7 @@ require_once 'PEAR/Command/Channels.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 * @deprecated since 1.8.0alpha1 diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Build.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Build.php index 1de7320246a1c292c49f4f5800c1438b10e7cb3b..014ab261049079c0efa24c6b1ebed5721cb39a13 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Build.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Build.php @@ -11,7 +11,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Build.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -31,7 +31,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Channels.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Channels.php index fcf01b50391c7e58338898e292f0cfd2643a3a8c..258f12f2db38412a1049934a67112a3609a15b67 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Channels.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Channels.php @@ -12,7 +12,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Channels.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -32,7 +32,7 @@ define('PEAR_COMMAND_CHANNELS_CHANNEL_EXISTS', -500); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Common.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Common.php index 279a716623df94e22e12b5b86362fe9df612065b..df4890f985058de0da7764af223e3a8616988afe 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Common.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Common.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -29,7 +29,7 @@ require_once 'PEAR.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Config.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Config.php index a761b277f5f8460651bcdff5a9d3776cc3d3ecbc..3af4ca102fa4d6ec07867136ae23cc8ff2e63cac 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Config.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Config.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Config.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -29,7 +29,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Install.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Install.php index c035f6d20de1eadcd7e6807718b645de4b336fa8..8ccaa105d99d769038e48d6cfc914450eb1cc353 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Install.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Install.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Install.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -30,7 +30,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -468,7 +468,7 @@ Run post-installation scripts in package <package>, if any exist. $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; $zend_extension_line = 'zend_extension' . $debug . $ts; $all = @file($filename); - if (!$all) { + if ($all === false) { return PEAR::raiseError('php.ini "' . $filename .'" could not be read'); } $zend_extensions = $extensions = array(); @@ -768,17 +768,24 @@ Run post-installation scripts in package <package>, if any exist. if ($param->getPackageType() == 'extsrc' || $param->getPackageType() == 'extbin') { $exttype = 'extension'; + $extpath = $pinfo[1]['basename']; } else { - ob_start(); - phpinfo(INFO_GENERAL); - $info = ob_get_contents(); - ob_end_clean(); - $debug = function_exists('leak') ? '_debug' : ''; - $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; + if (version_compare(PHP_VERSION, '5.3.0', '<')) { + ob_start(); + phpinfo(INFO_GENERAL); + $info = ob_get_contents(); + ob_end_clean(); + $debug = function_exists('leak') ? '_debug' : ''; + $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; + } else { + $debug = ''; + $ts = ''; + } $exttype = 'zend_extension' . $debug . $ts; + $extpath = $atts['installed_as']; } $extrainfo[] = 'You should add "' . $exttype . '=' . - $pinfo[1]['basename'] . '" to php.ini'; + $extpath . '" to php.ini'; } else { $extrainfo[] = 'Extension ' . $instpkg->getProvidesExtension() . ' enabled in php.ini'; @@ -1265,4 +1272,4 @@ Run post-installation scripts in package <package>, if any exist. return $ret; } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Mirror.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Mirror.php index 4d157c6b8886000edfc0d6dbec85e303087bc368..428246a9f24f96975b81722e9882ac99be26c3a5 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Mirror.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Mirror.php @@ -9,7 +9,7 @@ * @author Alexander Merz <alexmerz@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Mirror.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.2.0 */ @@ -27,7 +27,7 @@ require_once 'PEAR/Command/Common.php'; * @author Alexander Merz <alexmerz@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.2.0 */ @@ -82,7 +82,7 @@ packages within preferred_state ({config preferred_state}) will be downloaded' * @param string $command the command * @param array $options the command options before the command * @param array $params the stuff after the command name - * @return bool true if succesful + * @return bool true if successful * @throw PEAR_Error */ function doDownloadAll($command, $options, $params) diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Package.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Package.php index 81df7bf6945d974923427de420f199cbe6f48ab3..67a38be6f0dc0bb3d07fea86474aed585a010601 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Package.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Package.php @@ -12,7 +12,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Package.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -32,7 +32,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: @package_version@ + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -467,7 +467,7 @@ used for automated conversion or learning the format. 'name' => 'modified', 'type' => 'yesno', 'default' => 'no', - 'prompt' => 'You have files in your SVN checkout (' . $path['from'] . ') that have been modified but not commited, do you still want to tag ' . $version . '?', + 'prompt' => 'You have files in your SVN checkout (' . $path['from'] . ') that have been modified but not committed, do you still want to tag ' . $version . '?', )); $answers = $this->ui->confirmDialog($params); @@ -1121,4 +1121,4 @@ used for automated conversion or learning the format. $this->ui->outputData('Wrote new version 2.0 package.xml to "' . $saved . '"'); return true; } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Pickle.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Pickle.php index 87aa25ea30c5f2f4d08c6204974a65882787b7b3..78b7b42b18a76a089189b3644aef4f59ee5bbd10 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Pickle.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Pickle.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 2005-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Pickle.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.1 */ @@ -27,7 +27,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 2005-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Registry.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Registry.php index 4304db5ddf578f7c420ccb188fa1bbf2e377ef2c..1050d92b2c8f8d7df5782c971f42219fdfb4aa52 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Registry.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Registry.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Registry.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -29,7 +29,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Remote.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Remote.php index 74478d83c7a7394a977a0159d61c653bd343b754..509e45ed926f4f2b46ee3e795ed6fab2eef15cd9 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Remote.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Remote.php @@ -11,7 +11,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Remote.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -31,7 +31,7 @@ require_once 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Test.php b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Test.php index a757d9e579091f6d20ce5d6f93eb9cec8b883566..8be5b98376331dd48a2cba74cb649d4446bbd8b8 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Command/Test.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Command/Test.php @@ -11,7 +11,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Test.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -31,7 +31,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -332,6 +332,6 @@ Run regression tests with PHP\'s regression testing script (run-tests.php).', } } - return true; + return count($failed) == 0; } } \ No newline at end of file diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Common.php b/vendor/pear-pear.php.net/PEAR/PEAR/Common.php index 3a8c7e80d33f83aae44ff7a7ebed70a969312d5d..2792434f43f1c059519baaccdb6e55707c82e6ed 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Common.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Common.php @@ -11,7 +11,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1.0 * @deprecated File deprecated since Release 1.4.0a1 @@ -118,7 +118,7 @@ $GLOBALS['_PEAR_Common_script_phases'] = array('pre-install', 'post-install', 'p * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 * @deprecated This class will disappear, and its components will be spread diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Config.php b/vendor/pear-pear.php.net/PEAR/PEAR/Config.php index 86a7db3f32f3a9768f4df111db4788fc61692dbb..edaef745b3844240a8d031615a29c43f7c8229d3 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Config.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Config.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Config.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -246,7 +246,7 @@ if (getenv('PHP_PEAR_SIG_KEYDIR')) { * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Dependency2.php b/vendor/pear-pear.php.net/PEAR/PEAR/Dependency2.php index f3ddeb1cf1b4b5d874b533099348b91d961547dc..b42281795e65b0025cd7535a5ae061ff18732955 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Dependency2.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Dependency2.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Dependency2.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -31,7 +31,7 @@ require_once 'PEAR/Validate.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -541,7 +541,7 @@ class PEAR_Dependency2 */ function getPEARVersion() { - return '1.9.4'; + return '1.9.5'; } function validatePearinstallerDependency($dep) @@ -607,7 +607,7 @@ class PEAR_Dependency2 * @param boolean whether this is a required dependency * @param array a list of downloaded packages to be installed, if any * @param boolean if true, then deps on pear.php.net that fail will also check - * against pecl.php.net packages to accomodate extensions that have + * against pecl.php.net packages to accommodate extensions that have * moved to pecl.php.net from pear.php.net */ function validatePackageDependency($dep, $required, $params, $depv1 = false) @@ -1355,4 +1355,4 @@ class PEAR_Dependency2 return array(sprintf($msg, $this->_registry->parsedPackageNameToString( $this->_currentPackage, true))); } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/DependencyDB.php b/vendor/pear-pear.php.net/PEAR/PEAR/DependencyDB.php index 948f0c9d7083e31f27aa22b6caa340486d603a50..41bee038e73ee627419f849b490599762226d20b 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/DependencyDB.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/DependencyDB.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: DependencyDB.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -30,7 +30,7 @@ $GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'] = array(); * @author Tomas V.V.Cox <cox@idec.net.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Downloader.php b/vendor/pear-pear.php.net/PEAR/PEAR/Downloader.php index 730df0b73874bc2da179c692d14a3bf896ce6de7..8ccc072e83f49d480b7fcb0708d3ba12a59d6997 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Downloader.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Downloader.php @@ -12,7 +12,7 @@ * @author Martin Jansen <mj@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Downloader.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.0 */ @@ -39,7 +39,7 @@ define('PEAR_INSTALLER_ERROR_NO_PREF_STATE', 2); * @author Martin Jansen <mj@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.0 */ @@ -1639,7 +1639,7 @@ class PEAR_Downloader extends PEAR_Common } $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.4/PHP/" . PHP_VERSION . "\r\n"; + "User-Agent: PEAR/1.9.5/PHP/" . PHP_VERSION . "\r\n"; if (isset($this)) { // only pass in authentication for non-static calls $username = $config->get('username', null, $channel); diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Downloader/Package.php b/vendor/pear-pear.php.net/PEAR/PEAR/Downloader/Package.php index 987c9656751fbe4d0e24cfcc332b7ba1dd5d24ad..9303b488361d5ee96615ff3664c2a6bbd0c20943 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Downloader/Package.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Downloader/Package.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Package.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -50,7 +50,7 @@ define('PEAR_DOWNLOADER_PACKAGE_PHPVERSION', -1004); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/ErrorStack.php b/vendor/pear-pear.php.net/PEAR/PEAR/ErrorStack.php index 0303f5273adb45d68c77368ac99bd1910e1d4edd..c1b0396a9fc8c0ad6c55e1b466ac516f16ec5092 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/ErrorStack.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/ErrorStack.php @@ -23,7 +23,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 2004-2008 Greg Beaver * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: ErrorStack.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR_ErrorStack */ @@ -132,12 +132,12 @@ define('PEAR_ERRORSTACK_ERR_OBJTOSTRING', 2); * $local_stack = new PEAR_ErrorStack('MyPackage'); * </code> * @author Greg Beaver <cellog@php.net> - * @version 1.9.4 + * @version 1.9.5 * @package PEAR_ErrorStack * @category Debugging * @copyright 2004-2008 Greg Beaver * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: ErrorStack.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR_ErrorStack */ class PEAR_ErrorStack { diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Exception.php b/vendor/pear-pear.php.net/PEAR/PEAR/Exception.php index 4a0e7b86fac7a953773f2f3a841d36e2380b7664..2990cb612a2527c5e7e7dce1b35fb58be6370bcd 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Exception.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Exception.php @@ -13,7 +13,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Exception.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.3 */ @@ -89,7 +89,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.3 * diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Frontend.php b/vendor/pear-pear.php.net/PEAR/PEAR/Frontend.php index 531e541f9eb3942da0aaccb332fc6a0223441620..5a87d7a622f71c705979363b0d623a5da0ac77c3 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Frontend.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Frontend.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Frontend.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -39,7 +39,7 @@ $GLOBALS['_PEAR_FRONTEND_SINGLETON'] = null; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Frontend/CLI.php b/vendor/pear-pear.php.net/PEAR/PEAR/Frontend/CLI.php index 340b99b79b7872404809a56175955e84a3da6c0a..06d9a2b72663911625df977526ad25c25085342e 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Frontend/CLI.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Frontend/CLI.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: CLI.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -27,7 +27,7 @@ require_once 'PEAR/Frontend.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer.php index eb17ca7914dc0a7a34588715cbf61e5d99cf1966..1037ee929a61acb59a163b190c91690f9c7a3b61 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer.php @@ -12,7 +12,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Installer.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -36,7 +36,7 @@ define('PEAR_INSTALLER_NOBINARY', -240); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -808,7 +808,10 @@ class PEAR_Installer extends PEAR_Downloader if (!empty($res)) { $new = $this->_registry->getPackage($result[1], $result[0]); $this->file_operations[$key] = false; - $this->log(3, "file $data[0] was scheduled for removal from {$this->pkginfo->getName()} but is owned by {$new->getChannel()}/{$new->getName()}, removal has been cancelled."); + $pkginfoName = $this->pkginfo->getName(); + $newChannel = $new->getChannel(); + $newPackage = $new->getName(); + $this->log(3, "file $data[0] was scheduled for removal from $pkginfoName but is owned by $newChannel/$newPackage, removal has been cancelled."); } } } diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role.php index 0c50fa79c0c83dbe853ed3bb872bd15a2e0ace18..5cc7a33f00c1f41aedec46a75082a1c37d45e575 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Role.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -25,7 +25,7 @@ require_once 'PEAR/XMLParser.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Cfg.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Cfg.php index 762012248d23a5a4cd47eacd47449313d467d4f1..0945f83c6caf99545fd9433056f4132130ba0d03 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Cfg.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Cfg.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Cfg.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.7.0 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.7.0 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Common.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Common.php index 23e7348d70cf2332689f8968f66bfdb13a8531e4..837799d815ff12346720f56ccb909176af032a60 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Common.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Common.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -24,7 +24,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Data.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Data.php index e3b7fa2fff2da698a1924a627356c1c8f4fcc9ad..79498c48d64bc18e2ba045af14564a32827b8ffa 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Data.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Data.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Data.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Doc.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Doc.php index d592ffff01481f4af2eb856ad1f734d53701b0f3..7e58876c4bb0cbf157b1d12a5e74bacd814ad277 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Doc.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Doc.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Doc.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Ext.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Ext.php index eceb0279ff957267539233858fe1d1fcbb0c4c6a..5854320480564c597ce373d68062e940be51a38c 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Ext.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Ext.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Ext.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Php.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Php.php index e2abf44eed1ea222432a47e5bf14d425f3e61e5b..fa11b9259b8162657614dce1ad8aace667d9e2be 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Php.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Php.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Php.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Script.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Script.php index b31469e4b10721f8e02619ca194a2e03c80a5506..f758c8eda09d9fbd9c980c655d56ef6a510dd148 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Script.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Script.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Script.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Src.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Src.php index 503705313d821bff26e0457c805e40c612e3eed0..aca36361f41eea57dccb6b17c36173e126bba53d 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Src.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Src.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Src.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Test.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Test.php index 14c0e60919239fa8d2716fd114d7e31dc4b140cf..5f513a6655d0d4e3fc354ea9c24b1d7eb7c823b4 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Test.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Test.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Test.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Www.php b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Www.php index 11adeff8295c4a0b7c843e0b163f7f66159d1d2f..6b1c3818d48a664d531792f44a45b44c1668e875 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Www.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Installer/Role/Www.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Www.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.7.0 */ @@ -20,7 +20,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.7.0 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile.php index 7ae3362844158c8650cb54d12f02b13d94d7db93..9f90d6f21386419d871c635bc044371d6542c353 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PackageFile.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -35,7 +35,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_PACKAGEVERSION', 2); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v1.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v1.php index 2f42f178d595c8b57f7d7ac9838e2008af8c3109..5368e9c2c127515b122262c4fc889ae4f28b1e25 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v1.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v1.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v1.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -29,7 +29,7 @@ require_once 'PEAR/PackageFile/v2.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -46,7 +46,7 @@ class PEAR_PackageFile_Generator_v1 function getPackagerVersion() { - return '1.9.4'; + return '1.9.5'; } /** @@ -200,7 +200,7 @@ class PEAR_PackageFile_Generator_v1 ); $ret = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"; $ret .= "<!DOCTYPE package SYSTEM \"http://pear.php.net/dtd/package-1.0\">\n"; - $ret .= "<package version=\"1.0\" packagerversion=\"1.9.4\">\n" . + $ret .= "<package version=\"1.0\" packagerversion=\"1.9.5\">\n" . " <name>$pkginfo[package]</name>"; if (isset($pkginfo['extends'])) { $ret .= "\n<extends>$pkginfo[extends]</extends>"; diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v2.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v2.php index 4d202df27d30602c0f9acb46ad2d3c59fd61faca..889548da25d6f1681b04a25cdcccb1b6144786ae 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v2.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Generator/v2.php @@ -10,7 +10,7 @@ * @author Stephan Schmidt (original XML_Serializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v2.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -31,7 +31,7 @@ require_once 'XML/Util.php'; * @author Stephan Schmidt (original XML_Serializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -70,7 +70,7 @@ http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd', ), // attributes of the root tag 'attributesArray' => 'attribs', // all values in this key will be treated as attributes - 'contentName' => '_content', // this value will be used directly as content, instead of creating a new tag, may only be used in conjuction with attributesArray + 'contentName' => '_content', // this value will be used directly as content, instead of creating a new tag, may only be used in conjunction with attributesArray 'beautifyFilelist' => false, 'encoding' => 'UTF-8', ); @@ -113,7 +113,7 @@ http://pear.php.net/dtd/package-2.0.xsd', */ function getPackagerVersion() { - return '1.9.4'; + return '1.9.5'; } /** @@ -398,7 +398,7 @@ http://pear.php.net/dtd/package-2.0.xsd', $this->options['beautifyFilelist'] = true; } - $arr['attribs']['packagerversion'] = '1.9.4'; + $arr['attribs']['packagerversion'] = '1.9.5'; if ($this->serialize($arr, $options)) { return $this->_serializedData . "\n"; } @@ -890,4 +890,4 @@ http://pear.php.net/dtd/package-2.0.xsd', } return $tag; } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v1.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v1.php index 23395dc757a230e68b7273adc376fa444a82738e..bbf5989e8c47e5ff0045a9ba5f7607c123f77068 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v1.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v1.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v1.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v2.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v2.php index a3ba7063f2b481549a2e7a66a3fd0f078e9affaa..cb8104102e5052d40bbd836b74738b9da69e2cc0 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v2.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/Parser/v2.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v2.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v1.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v1.php index 43e346bcdac9adabe0d17e39953a06150d376341..ecff288a8b8cfbacfcd36b59c5d8347a6967bc9f 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v1.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v1.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v1.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -275,7 +275,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME', 52); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2.php index 1ca412dc8cdb74781d7575e67fe00480864a57f1..025d6e8291fe7bc6cce74d0cbd8e26d9883b90b3 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v2.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -23,7 +23,7 @@ require_once 'PEAR/ErrorStack.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/Validator.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/Validator.php index 33c8eee38767722f71710e79751557008b1539ec..8444afb6ea74502a19d941d61097b01ee394b1c8 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/Validator.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/Validator.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Validator.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a8 */ @@ -21,7 +21,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a8 * @access private @@ -112,7 +112,7 @@ class PEAR_PackageFile_v2_Validator isset($test['dependencies']['required']) && isset($test['dependencies']['required']['pearinstaller']) && isset($test['dependencies']['required']['pearinstaller']['min']) && - version_compare('1.9.4', + version_compare('1.9.5', $test['dependencies']['required']['pearinstaller']['min'], '<') ) { $this->_pearVersionTooLow($test['dependencies']['required']['pearinstaller']['min']); @@ -1350,7 +1350,7 @@ class PEAR_PackageFile_v2_Validator $this->_stack->push(__FUNCTION__, 'error', array('version' => $version), 'This package.xml requires PEAR version %version% to parse properly, we are ' . - 'version 1.9.4'); + 'version 1.9.5'); } function _invalidTagOrder($oktags, $actual, $root) @@ -1875,7 +1875,7 @@ class PEAR_PackageFile_v2_Validator $pn = $this->_pf->getPackage(); $this->_stack->push(__FUNCTION__, 'warning', array('file' => $file, 'package' => $pn), - 'in %file%: Could not process file for unkown reasons,' . + 'in %file%: Could not process file for unknown reasons,' . ' possibly a PHP parse error in %file% from %package%'); } } @@ -2045,7 +2045,7 @@ class PEAR_PackageFile_v2_Validator continue 2; case T_DOUBLE_COLON: $token = $tokens[$i - 1][0]; - if (!($token == T_WHITESPACE || $token == T_STRING || $token == T_STATIC)) { + if (!($token == T_WHITESPACE || $token == T_STRING || $token == T_STATIC || $token == T_VARIABLE)) { if (isset($this->_stack)) { $this->_stack->push(__FUNCTION__, 'warning', array('file' => $file), 'Parser error: invalid PHP found in file "%file%"'); @@ -2151,4 +2151,4 @@ class PEAR_PackageFile_v2_Validator return $providesret; } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/rw.php b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/rw.php index 58f76c55947c8419242ea72041f364e25e9c0764..5680d8a7194f868bee8061484826e70f09d72d1b 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/rw.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/PackageFile/v2/rw.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a8 */ @@ -23,7 +23,7 @@ require_once 'PEAR/PackageFile/v2.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a8 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Packager.php b/vendor/pear-pear.php.net/PEAR/PEAR/Packager.php index 8995a167fccda9b45e16b4270a3b38f8e38fe483..5172790fba9d72d3d1b46e5b15378a3d598c5bcb 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Packager.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Packager.php @@ -11,7 +11,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Packager.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -31,7 +31,7 @@ require_once 'System.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/REST.php b/vendor/pear-pear.php.net/PEAR/PEAR/REST.php index 34a804f2bde4c295ed692f2fa71d324cfdf0c165..4b1797b9bdc4ac255eb49c6829054665a11dd8d5 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/REST.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/REST.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: REST.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -28,7 +28,7 @@ require_once 'PEAR/XMLParser.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -129,11 +129,13 @@ class PEAR_REST } if (isset($headers['content-type'])) { - switch ($headers['content-type']) { + $content_type = explode(";", $headers['content-type']); + $content_type = $content_type[0]; + switch ($content_type) { case 'text/xml' : case 'application/xml' : case 'text/plain' : - if ($headers['content-type'] === 'text/plain') { + if ($content_type === 'text/plain') { $check = substr($content, 0, 5); if ($check !== '<?xml') { break; @@ -273,19 +275,24 @@ class PEAR_REST return PEAR::raiseError("Could not write $file."); } } else { // update file - $cachefile_lstat = lstat($file); - $cachefile_fp = @fopen($file, 'wb'); + $cachefile_fp = @fopen($file, 'r+b'); // do not truncate file if (!$cachefile_fp) { return PEAR::raiseError("Could not open $file for writing."); } - $cachefile_fstat = fstat($cachefile_fp); - if ( - $cachefile_lstat['mode'] == $cachefile_fstat['mode'] && - $cachefile_lstat['ino'] == $cachefile_fstat['ino'] && - $cachefile_lstat['dev'] == $cachefile_fstat['dev'] && - $cachefile_fstat['nlink'] === 1 - ) { + if (OS_WINDOWS) { + $not_symlink = !is_link($file); // see bug #18834 + } else { + $cachefile_lstat = lstat($file); + $cachefile_fstat = fstat($cachefile_fp); + $not_symlink = $cachefile_lstat['mode'] == $cachefile_fstat['mode'] + && $cachefile_lstat['ino'] == $cachefile_fstat['ino'] + && $cachefile_lstat['dev'] == $cachefile_fstat['dev'] + && $cachefile_fstat['nlink'] === 1; + } + + if ($not_symlink) { + ftruncate($cachefile_fp, 0); // NOW truncate if (fwrite($cachefile_fp, $contents, $len) < $len) { fclose($cachefile_fp); return PEAR::raiseError("Could not write $file."); @@ -383,7 +390,7 @@ class PEAR_REST } $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.4/PHP/" . PHP_VERSION . "\r\n"; + "User-Agent: PEAR/1.9.5/PHP/" . PHP_VERSION . "\r\n"; $username = $this->config->get('username', null, $channel); $password = $this->config->get('password', null, $channel); @@ -480,4 +487,4 @@ class PEAR_REST return $data; } -} \ No newline at end of file +} diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/REST/10.php b/vendor/pear-pear.php.net/PEAR/PEAR/REST/10.php index 6ded7aeace379c5b6d028d515f28b6d1cd28e88c..563577a1c7f96cdc20c47f94e4ea1f28637726a1 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/REST/10.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/REST/10.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: 10.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a12 */ @@ -27,7 +27,7 @@ require_once 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a12 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/REST/11.php b/vendor/pear-pear.php.net/PEAR/PEAR/REST/11.php index 831cfccdb7555ef9ff52fc65b2211927eb3ab019..f6e365d39d52d19b614dbfda9494fddae220622f 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/REST/11.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/REST/11.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: 11.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.3 */ @@ -27,7 +27,7 @@ require_once 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.3 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/REST/13.php b/vendor/pear-pear.php.net/PEAR/PEAR/REST/13.php index 722ae0de30fc97a1677310130a9c6ba505304ca4..7911e49f088b7c7e029d8ea1fe62bbfdb93d4c4e 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/REST/13.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/REST/13.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: 13.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a12 */ @@ -28,7 +28,7 @@ require_once 'PEAR/REST/10.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a12 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Registry.php b/vendor/pear-pear.php.net/PEAR/PEAR/Registry.php index 35e17db495298ff69fbc0b7f8d4e563d0f4c5d0f..06fed47fcff5444837fa3b73932cbf434c4598d5 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Registry.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Registry.php @@ -11,7 +11,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Registry.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -37,7 +37,7 @@ define('PEAR_REGISTRY_ERROR_CHANNEL_FILE', -6); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/RunTest.php b/vendor/pear-pear.php.net/PEAR/PEAR/RunTest.php index 5182490697015f3954aa05c924a80f6f58c47ed3..260fc6e46beb8e3fbf9e71ddbe1862edff96782d 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/RunTest.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/RunTest.php @@ -10,7 +10,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: RunTest.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.3 */ @@ -38,7 +38,7 @@ putenv("PHP_PEAR_RUNTESTS=1"); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.3 */ @@ -275,10 +275,8 @@ class PEAR_RunTest */ function run($file, $ini_settings = array(), $test_number = 1) { - if (isset($this->_savephp)) { - $this->_php = $this->_savephp; - unset($this->_savephp); - } + $this->_restorePHPBinary(); + if (empty($this->_options['cgi'])) { // try to see if php-cgi is in the path $res = $this->system_with_timeout('php-cgi -v'); @@ -340,7 +338,7 @@ class PEAR_RunTest } return 'SKIPPED'; } - $this->_savephp = $this->_php; + $this->_savePHPBinary(); $this->_php = $this->_options['cgi']; } @@ -494,8 +492,6 @@ class PEAR_RunTest } chdir($cwd); // in case the test moves us around - $this->_testCleanup($section_text, $temp_clean); - /* when using CGI, strip the headers from the output */ $output = $this->_stripHeadersCGI($output); @@ -516,6 +512,9 @@ class PEAR_RunTest $output .= "\n====EXPECTHEADERS FAILURE====:\n$changed"; } } + + $this->_testCleanup($section_text, $temp_clean); + // Does the output match what is expected? do { if (isset($section_text['EXPECTF']) || isset($section_text['EXPECTREGEX'])) { @@ -954,6 +953,8 @@ $text function _testCleanup($section_text, $temp_clean) { if ($section_text['CLEAN']) { + $this->_restorePHPBinary(); + // perform test cleanup $this->save_text($temp_clean, $section_text['CLEAN']); $output = $this->system_with_timeout("$this->_php $temp_clean 2>&1"); @@ -965,4 +966,18 @@ $text } } } + + function _savePHPBinary() + { + $this->_savephp = $this->_php; + } + + function _restorePHPBinary() + { + if (isset($this->_savephp)) + { + $this->_php = $this->_savephp; + unset($this->_savephp); + } + } } diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Common.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Common.php index 5b99c2e434795e143e4c2c7af905de902b15be1d..a091ed4eab205a4e9db0c9a277273f27642eb2ca 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Common.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Common.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -47,7 +47,7 @@ define('PEAR_TASK_PACKAGEANDINSTALL', 3); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 * @abstract diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript.php index e43ecca4b3db0aed7ebb1e17dd674d59cd8c1961..35a89e842d9f7f0e091b8694af457cbc5df613a6 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Postinstallscript.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -27,7 +27,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript/rw.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript/rw.php index 8f358bf22bc7b8f488e037ee2dcdd0e32d6dc65f..8c0a6fb93f3cc7498b408b1943bb4db41ba79ca2 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript/rw.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Postinstallscript/rw.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a10 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Postinstallscript.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace.php index 376df64df65c9e48c99904e63d6412d55a797925..e872ff5e0e9f0735a611e474161f59759a7ec4d8 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Replace.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace/rw.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace/rw.php index 32dad58629746623b2bf932a7cd866a2a3f10cb5..e0e30cd867fb0281ffe5528a61d3e9266e6e9cba 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace/rw.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Replace/rw.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a10 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Replace.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol.php index 89ca81be349c45e7e5d94de2b8fc4ff65d4b9773..1ddabd7d350582713e19f016567b25c4efacfc2a 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Unixeol.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol/rw.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol/rw.php index b2ae5fa5cbd7437fb05f0deba3363dfbf028088f..1b47bf8cbb939e311471ea1e3c7fd518645ef0ae 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol/rw.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Unixeol/rw.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a10 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Unixeol.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol.php index 8ba4171159faccaaccdbc641d4a7e9555c50de20..42ed7dd39159136483f24539bc64d1e2134ab0c3 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Windowseol.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol/rw.php b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol/rw.php index f0f1149c83ec58678c9ee10032852af875d7f765..a0dd3d25abd00d88e0c96e12bc6b51340b5506af 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol/rw.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Task/Windowseol/rw.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a10 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Task/Windowseol.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Validate.php b/vendor/pear-pear.php.net/PEAR/PEAR/Validate.php index 176560bc2377c1edd4293a2465ec9b57586ad35a..bc7ecbd0f2f9bb52d08f572c26df9ae27d581cb1 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Validate.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Validate.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Validate.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -32,7 +32,7 @@ require_once 'PEAR/Validator/PECL.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/Validator/PECL.php b/vendor/pear-pear.php.net/PEAR/PEAR/Validator/PECL.php index 89b951f7b67c64fe80b647b9cc7f6a9554ee535d..416d1abfd8dae69a5bb659fa80394321d50e80e1 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/Validator/PECL.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/Validator/PECL.php @@ -9,7 +9,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PECL.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a5 */ @@ -24,7 +24,7 @@ require_once 'PEAR/Validate.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a5 */ diff --git a/vendor/pear-pear.php.net/PEAR/PEAR/XMLParser.php b/vendor/pear-pear.php.net/PEAR/PEAR/XMLParser.php index 7f091c16fadba71c35552ea4774277403a6b6f94..83e4f96530e587cf44a75ddaaae22fbd8a92e5c6 100644 --- a/vendor/pear-pear.php.net/PEAR/PEAR/XMLParser.php +++ b/vendor/pear-pear.php.net/PEAR/PEAR/XMLParser.php @@ -10,7 +10,7 @@ * @author Stephan Schmidt (original XML_Unserializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license New BSD License - * @version CVS: $Id: XMLParser.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -23,7 +23,7 @@ * @author Stephan Schmidt (original XML_Unserializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: 1.9.4 + * @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ diff --git a/vendor/pear-pear.php.net/PEAR/System.php b/vendor/pear-pear.php.net/PEAR/System.php index c27d44658e3eed375e5e3763b753fe2024b2235f..e3693b10c56753b039b080e337ecea5237296e4a 100644 --- a/vendor/pear-pear.php.net/PEAR/System.php +++ b/vendor/pear-pear.php.net/PEAR/System.php @@ -9,7 +9,7 @@ * @author Tomas V.V.Cox <cox@idecnet.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: System.php 313024 2011-07-06 19:51:24Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -51,7 +51,7 @@ $GLOBALS['_System_temp_files'] = array(); * @author Tomas V.V. Cox <cox@idecnet.com> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License -* @version Release: 1.9.4 +* @version Release: 1.9.5 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 * @static @@ -71,6 +71,23 @@ class System function _parseArgs($argv, $short_options, $long_options = null) { if (!is_array($argv) && $argv !== null) { + /* + // Quote all items that are a short option + $av = preg_split('/(\A| )--?[a-z0-9]+[ =]?((?<!\\\\)((,\s*)|((?<!,)\s+))?)/i', $argv, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE); + $offset = 0; + foreach ($av as $a) { + $b = trim($a[0]); + if ($b{0} == '"' || $b{0} == "'") { + continue; + } + + $escape = escapeshellarg($b); + $pos = $a[1] + $offset; + $argv = substr_replace($argv, $escape, $pos, strlen($b)); + $offset += 2; + } + */ + // Find all items, quoted or otherwise preg_match_all("/(?:[\"'])(.*?)(?:['\"])|([^\s]+)/", $argv, $av); $argv = $av[1]; @@ -81,6 +98,7 @@ class System $argv[$k] = trim($a) ; } } + return Console_Getopt::getopt2($argv, $short_options, $long_options); } diff --git a/vendor/pear-pear.php.net/PEAR/bin/scripts/pear.sh b/vendor/pear-pear.php.net/PEAR/bin/pear old mode 100644 new mode 100755 similarity index 61% rename from vendor/pear-pear.php.net/PEAR/bin/scripts/pear.sh rename to vendor/pear-pear.php.net/PEAR/bin/pear index 48ab0677c8c0fe4fa017d8e5d856f65889d6bcc4..cc53e66f4645d7b09fc51b42448a57dd6c045d51 --- a/vendor/pear-pear.php.net/PEAR/bin/scripts/pear.sh +++ b/vendor/pear-pear.php.net/PEAR/bin/pear @@ -4,10 +4,10 @@ if test "x$PHP_PEAR_PHP_BIN" != "x"; then PHP="$PHP_PEAR_PHP_BIN" else - if test "@php_bin@" = '@'php_bin'@'; then + if test "/usr/bin/env /stage/local/vufind/vendor/bin/composer-php" = '@'php_bin'@'; then PHP=php else - PHP="@php_bin@" + PHP="/usr/bin/env /stage/local/vufind/vendor/bin/composer-php" fi fi @@ -16,12 +16,12 @@ if test "x$PHP_PEAR_INSTALL_DIR" != "x"; then INCDIR=$PHP_PEAR_INSTALL_DIR INCARG="-d include_path=$PHP_PEAR_INSTALL_DIR" else - if test "@php_dir@" = '@'php_dir'@'; then + if test "/stage/local/vufind/vendor/pear-pear.php.net/PEAR" = '@'php_dir'@'; then INCDIR=`dirname $0` INCARG="" else - INCDIR="@php_dir@" - INCARG="-d include_path=@php_dir@" + INCDIR="/stage/local/vufind/vendor/pear-pear.php.net/PEAR" + INCARG="-d include_path=/stage/local/vufind/vendor/pear-pear.php.net/PEAR" fi fi diff --git a/vendor/pear-pear.php.net/PEAR/bin/scripts/peardev.sh b/vendor/pear-pear.php.net/PEAR/bin/peardev old mode 100644 new mode 100755 similarity index 61% rename from vendor/pear-pear.php.net/PEAR/bin/scripts/peardev.sh rename to vendor/pear-pear.php.net/PEAR/bin/peardev index 635ec7581eaf5307db46900b3d936be3d95a7948..ea88babffbbf8a08e6ae85cd54bee5337ec90e1a --- a/vendor/pear-pear.php.net/PEAR/bin/scripts/peardev.sh +++ b/vendor/pear-pear.php.net/PEAR/bin/peardev @@ -4,10 +4,10 @@ if test "x$PHP_PEAR_PHP_BIN" != "x"; then PHP="$PHP_PEAR_PHP_BIN" else - if test "@php_bin@" = '@'php_bin'@'; then + if test "/usr/bin/env /stage/local/vufind/vendor/bin/composer-php" = '@'php_bin'@'; then PHP=php else - PHP="@php_bin@" + PHP="/usr/bin/env /stage/local/vufind/vendor/bin/composer-php" fi fi @@ -16,12 +16,12 @@ if test "x$PHP_PEAR_INSTALL_DIR" != "x"; then INCDIR=$PHP_PEAR_INSTALL_DIR INCARG="-d include_path=$PHP_PEAR_INSTALL_DIR" else - if test "@php_dir@" = '@'php_dir'@'; then + if test "/stage/local/vufind/vendor/pear-pear.php.net/PEAR" = '@'php_dir'@'; then INCDIR=`dirname $0` INCARG="" else - INCDIR="@php_dir@" - INCARG="-d include_path=@php_dir@" + INCDIR="/stage/local/vufind/vendor/pear-pear.php.net/PEAR" + INCARG="-d include_path=/stage/local/vufind/vendor/pear-pear.php.net/PEAR" fi fi diff --git a/vendor/pear-pear.php.net/PEAR/bin/scripts/pecl.sh b/vendor/pear-pear.php.net/PEAR/bin/pecl old mode 100644 new mode 100755 similarity index 58% rename from vendor/pear-pear.php.net/PEAR/bin/scripts/pecl.sh rename to vendor/pear-pear.php.net/PEAR/bin/pecl index 332890c534a7f899a3ccb14dcbac03ba722317c6..3839a784cbe53cf80ab60b6f771664c4b4b704db --- a/vendor/pear-pear.php.net/PEAR/bin/scripts/pecl.sh +++ b/vendor/pear-pear.php.net/PEAR/bin/pecl @@ -4,10 +4,10 @@ if test "x$PHP_PEAR_PHP_BIN" != "x"; then PHP="$PHP_PEAR_PHP_BIN" else - if test "@php_bin@" = '@'php_bin'@'; then + if test "/usr/bin/env /stage/local/vufind/vendor/bin/composer-php" = '@'php_bin'@'; then PHP=php else - PHP="@php_bin@" + PHP="/usr/bin/env /stage/local/vufind/vendor/bin/composer-php" fi fi @@ -16,12 +16,12 @@ if test "x$PHP_PEAR_INSTALL_DIR" != "x"; then INCDIR=$PHP_PEAR_INSTALL_DIR INCARG="-d include_path=$PHP_PEAR_INSTALL_DIR" else - if test "@php_dir@" = '@'php_dir'@'; then + if test "/stage/local/vufind/vendor/pear-pear.php.net/PEAR" = '@'php_dir'@'; then INCDIR=`dirname $0` INCARG="" else - INCDIR="@php_dir@" - INCARG="-d include_path=@php_dir@" + INCDIR="/stage/local/vufind/vendor/pear-pear.php.net/PEAR" + INCARG="-d include_path=/stage/local/vufind/vendor/pear-pear.php.net/PEAR" fi fi diff --git a/vendor/pear-pear.php.net/PEAR/bin/scripts/pear.bat b/vendor/pear-pear.php.net/PEAR/bin/scripts/pear.bat deleted file mode 100644 index 7f58376084aa014075f3bc1fdb75c3b7e9a902e6..0000000000000000000000000000000000000000 --- a/vendor/pear-pear.php.net/PEAR/bin/scripts/pear.bat +++ /dev/null @@ -1,111 +0,0 @@ -@ECHO OFF - -REM ---------------------------------------------------------------------- -REM PHP version 5 -REM ---------------------------------------------------------------------- -REM Copyright (c) 1997-2010 The Authors -REM ---------------------------------------------------------------------- -REM http://opensource.org/licenses/bsd-license.php New BSD License -REM ---------------------------------------------------------------------- -REM Authors: Alexander Merz (alexmerz@php.net) -REM ---------------------------------------------------------------------- -REM -REM Last updated 12/29/2004 ($Id$ is not replaced if the file is binary) - -REM change this lines to match the paths of your system -REM ------------------- - - -REM Test to see if this is a raw pear.bat (uninstalled version) -SET TMPTMPTMPTMPT=@includ -SET PMTPMTPMT=%TMPTMPTMPTMPT%e_path@ -FOR %%x IN ("@include_path@") DO (if %%x=="%PMTPMTPMT%" GOTO :NOTINSTALLED) - -REM Check PEAR global ENV, set them if they do not exist -IF "%PHP_PEAR_INSTALL_DIR%"=="" SET "PHP_PEAR_INSTALL_DIR=@include_path@" -IF "%PHP_PEAR_BIN_DIR%"=="" SET "PHP_PEAR_BIN_DIR=@bin_dir@" -IF "%PHP_PEAR_PHP_BIN%"=="" SET "PHP_PEAR_PHP_BIN=@php_bin@" - -GOTO :INSTALLED - -:NOTINSTALLED -ECHO WARNING: This is a raw, uninstalled pear.bat - -REM Check to see if we can grab the directory of this file (Windows NT+) -IF %~n0 == pear ( -FOR %%x IN (cli\php.exe php.exe) DO (if "%%~$PATH:x" NEQ "" ( -SET "PHP_PEAR_PHP_BIN=%%~$PATH:x" -echo Using PHP Executable "%PHP_PEAR_PHP_BIN%" -"%PHP_PEAR_PHP_BIN%" -v -GOTO :NEXTTEST -)) -GOTO :FAILAUTODETECT -:NEXTTEST -IF "%PHP_PEAR_PHP_BIN%" NEQ "" ( - -REM We can use this PHP to run a temporary php file to get the dirname of pear - -echo ^<?php $s=getcwd^(^);chdir^($a=dirname^(__FILE__^).'\\'^);if^(stristr^($a,'\\scripts'^)^)$a=dirname^(dirname^($a^)^).'\\';$f=fopen^($s.'\\~a.a','wb'^);echo$s.'\\~a.a';fwrite^($f,$a^);fclose^($f^);chdir^($s^);?^> > ~~getloc.php -"%PHP_PEAR_PHP_BIN%" ~~getloc.php -set /p PHP_PEAR_BIN_DIR=fakeprompt < ~a.a -DEL ~a.a -DEL ~~getloc.php -set "PHP_PEAR_INSTALL_DIR=%PHP_PEAR_BIN_DIR%pear" - -REM Make sure there is a pearcmd.php at our disposal - -IF NOT EXIST %PHP_PEAR_INSTALL_DIR%\pearcmd.php ( -IF EXIST %PHP_PEAR_INSTALL_DIR%\scripts\pearcmd.php COPY %PHP_PEAR_INSTALL_DIR%\scripts\pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -IF EXIST pearcmd.php COPY pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -IF EXIST %~dp0\scripts\pearcmd.php COPY %~dp0\scripts\pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -) -) -GOTO :INSTALLED -) ELSE ( -REM Windows Me/98 cannot succeed, so allow the batch to fail -) -:FAILAUTODETECT -echo WARNING: failed to auto-detect pear information -:INSTALLED - -REM Check Folders and files -IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%" GOTO PEAR_INSTALL_ERROR -IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" GOTO PEAR_INSTALL_ERROR2 -IF NOT EXIST "%PHP_PEAR_BIN_DIR%" GOTO PEAR_BIN_ERROR -IF NOT EXIST "%PHP_PEAR_PHP_BIN%" GOTO PEAR_PHPBIN_ERROR - -REM launch pearcmd -GOTO RUN -:PEAR_INSTALL_ERROR -ECHO PHP_PEAR_INSTALL_DIR is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_INSTALL_DIR% -GOTO END -:PEAR_INSTALL_ERROR2 -ECHO PHP_PEAR_INSTALL_DIR is not set correctly. -ECHO pearcmd.php could not be found there. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_INSTALL_DIR% -GOTO END -:PEAR_BIN_ERROR -ECHO PHP_PEAR_BIN_DIR is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_BIN_DIR% -GOTO END -:PEAR_PHPBIN_ERROR -ECHO PHP_PEAR_PHP_BIN is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_PHP_BIN% -GOTO END -:RUN -"%PHP_PEAR_PHP_BIN%" -C -d date.timezone=UTC -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d register_argc_argv="On" -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 -:END -@ECHO ON \ No newline at end of file diff --git a/vendor/pear-pear.php.net/PEAR/bin/scripts/peardev.bat b/vendor/pear-pear.php.net/PEAR/bin/scripts/peardev.bat deleted file mode 100644 index 48e03872b4ae01e5644a7905c69f9d09d24e1008..0000000000000000000000000000000000000000 --- a/vendor/pear-pear.php.net/PEAR/bin/scripts/peardev.bat +++ /dev/null @@ -1,115 +0,0 @@ -@ECHO OFF - -REM ---------------------------------------------------------------------- -REM PHP version 5 -REM ---------------------------------------------------------------------- -REM Copyright (c) 1997-2004 The PHP Group -REM ---------------------------------------------------------------------- -REM This source file is subject to version 3.0 of the PHP license, -REM that is bundled with this package in the file LICENSE, and is -REM available at through the world-wide-web at -REM http://www.php.net/license/3_0.txt. -REM If you did not receive a copy of the PHP license and are unable to -REM obtain it through the world-wide-web, please send a note to -REM license@php.net so we can mail you a copy immediately. -REM ---------------------------------------------------------------------- -REM Authors: Alexander Merz (alexmerz@php.net) -REM ---------------------------------------------------------------------- -REM -REM $Id: peardev.bat,v 1.6 2007-09-03 03:00:17 cellog Exp $ - -REM change this lines to match the paths of your system -REM ------------------- - - -REM Test to see if this is a raw pear.bat (uninstalled version) -SET TMPTMPTMPTMPT=@includ -SET PMTPMTPMT=%TMPTMPTMPTMPT%e_path@ -FOR %%x IN ("@include_path@") DO (if %%x=="%PMTPMTPMT%" GOTO :NOTINSTALLED) - -REM Check PEAR global ENV, set them if they do not exist -IF "%PHP_PEAR_INSTALL_DIR%"=="" SET "PHP_PEAR_INSTALL_DIR=@include_path@" -IF "%PHP_PEAR_BIN_DIR%"=="" SET "PHP_PEAR_BIN_DIR=@bin_dir@" -IF "%PHP_PEAR_PHP_BIN%"=="" SET "PHP_PEAR_PHP_BIN=@php_bin@" -GOTO :INSTALLED - -:NOTINSTALLED -ECHO WARNING: This is a raw, uninstalled pear.bat - -REM Check to see if we can grab the directory of this file (Windows NT+) -IF %~n0 == pear ( -FOR %%x IN (cli\php.exe php.exe) DO (if "%%~$PATH:x" NEQ "" ( -SET "PHP_PEAR_PHP_BIN=%%~$PATH:x" -echo Using PHP Executable "%PHP_PEAR_PHP_BIN%" -"%PHP_PEAR_PHP_BIN%" -v -GOTO :NEXTTEST -)) -GOTO :FAILAUTODETECT -:NEXTTEST -IF "%PHP_PEAR_PHP_BIN%" NEQ "" ( - -REM We can use this PHP to run a temporary php file to get the dirname of pear - -echo ^<?php $s=getcwd^(^);chdir^($a=dirname^(__FILE__^).'\\'^);if^(stristr^($a,'\\scripts'^)^)$a=dirname^(dirname^($a^)^).'\\';$f=fopen^($s.'\\~a.a','wb'^);echo$s.'\\~a.a';fwrite^($f,$a^);fclose^($f^);chdir^($s^);?^> > ~~getloc.php -"%PHP_PEAR_PHP_BIN%" ~~getloc.php -set /p PHP_PEAR_BIN_DIR=fakeprompt < ~a.a -DEL ~a.a -DEL ~~getloc.php -set "PHP_PEAR_INSTALL_DIR=%PHP_PEAR_BIN_DIR%pear" - -REM Make sure there is a pearcmd.php at our disposal - -IF NOT EXIST %PHP_PEAR_INSTALL_DIR%\pearcmd.php ( -IF EXIST %PHP_PEAR_INSTALL_DIR%\scripts\pearcmd.php COPY %PHP_PEAR_INSTALL_DIR%\scripts\pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -IF EXIST pearcmd.php COPY pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -IF EXIST %~dp0\scripts\pearcmd.php COPY %~dp0\scripts\pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -) -) -GOTO :INSTALLED -) ELSE ( -REM Windows Me/98 cannot succeed, so allow the batch to fail -) -:FAILAUTODETECT -echo WARNING: failed to auto-detect pear information -:INSTALLED - -REM Check Folders and files -IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%" GOTO PEAR_INSTALL_ERROR -IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" GOTO PEAR_INSTALL_ERROR2 -IF NOT EXIST "%PHP_PEAR_BIN_DIR%" GOTO PEAR_BIN_ERROR -IF NOT EXIST "%PHP_PEAR_PHP_BIN%" GOTO PEAR_PHPBIN_ERROR -REM launch pearcmd -GOTO RUN -:PEAR_INSTALL_ERROR -ECHO PHP_PEAR_INSTALL_DIR is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_INSTALL_DIR% -GOTO END -:PEAR_INSTALL_ERROR2 -ECHO PHP_PEAR_INSTALL_DIR is not set correctly. -ECHO pearcmd.php could not be found there. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_INSTALL_DIR% -GOTO END -:PEAR_BIN_ERROR -ECHO PHP_PEAR_BIN_DIR is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_BIN_DIR% -GOTO END -:PEAR_PHPBIN_ERROR -ECHO PHP_PEAR_PHP_BIN is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_PHP_BIN% -GOTO END -:RUN -"%PHP_PEAR_PHP_BIN%" -C -d date.timezone=UTC -d memory_limit="-1" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d open_basedir="" -d output_buffering=1 -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 -:END -@ECHO ON \ No newline at end of file diff --git a/vendor/pear-pear.php.net/PEAR/bin/scripts/pecl.bat b/vendor/pear-pear.php.net/PEAR/bin/scripts/pecl.bat deleted file mode 100644 index f604284de0305ec53569572cdcda230d0366746d..0000000000000000000000000000000000000000 --- a/vendor/pear-pear.php.net/PEAR/bin/scripts/pecl.bat +++ /dev/null @@ -1,115 +0,0 @@ -@ECHO OFF - -REM ---------------------------------------------------------------------- -REM PHP version 5 -REM ---------------------------------------------------------------------- -REM Copyright (c) 1997-2004 The PHP Group -REM ---------------------------------------------------------------------- -REM This source file is subject to version 3.0 of the PHP license, -REM that is bundled with this package in the file LICENSE, and is -REM available at through the world-wide-web at -REM http://www.php.net/license/3_0.txt. -REM If you did not receive a copy of the PHP license and are unable to -REM obtain it through the world-wide-web, please send a note to -REM license@php.net so we can mail you a copy immediately. -REM ---------------------------------------------------------------------- -REM Authors: Alexander Merz (alexmerz@php.net) -REM ---------------------------------------------------------------------- -REM -REM Last updated 02/08/2004 ($Id$ is not replaced if the file is binary) - -REM change this lines to match the paths of your system -REM ------------------- - - -REM Test to see if this is a raw pear.bat (uninstalled version) -SET TMPTMPTMPTMPT=@includ -SET PMTPMTPMT=%TMPTMPTMPTMPT%e_path@ -FOR %%x IN ("@include_path@") DO (if %%x=="%PMTPMTPMT%" GOTO :NOTINSTALLED) - -REM Check PEAR global ENV, set them if they do not exist -IF "%PHP_PEAR_INSTALL_DIR%"=="" SET "PHP_PEAR_INSTALL_DIR=@include_path@" -IF "%PHP_PEAR_BIN_DIR%"=="" SET "PHP_PEAR_BIN_DIR=@bin_dir@" -IF "%PHP_PEAR_PHP_BIN%"=="" SET "PHP_PEAR_PHP_BIN=@php_bin@" -GOTO :INSTALLED - -:NOTINSTALLED -ECHO WARNING: This is a raw, uninstalled pear.bat - -REM Check to see if we can grab the directory of this file (Windows NT+) -IF %~n0 == pear ( -FOR %%x IN (cli\php.exe php.exe) DO (if "%%~$PATH:x" NEQ "" ( -SET "PHP_PEAR_PHP_BIN=%%~$PATH:x" -echo Using PHP Executable "%PHP_PEAR_PHP_BIN%" -"%PHP_PEAR_PHP_BIN%" -v -GOTO :NEXTTEST -)) -GOTO :FAILAUTODETECT -:NEXTTEST -IF "%PHP_PEAR_PHP_BIN%" NEQ "" ( - -REM We can use this PHP to run a temporary php file to get the dirname of pear - -echo ^<?php $s=getcwd^(^);chdir^($a=dirname^(__FILE__^).'\\'^);if^(stristr^($a,'\\scripts'^)^)$a=dirname^(dirname^($a^)^).'\\';$f=fopen^($s.'\\~a.a','wb'^);echo$s.'\\~a.a';fwrite^($f,$a^);fclose^($f^);chdir^($s^);?^> > ~~getloc.php -"%PHP_PEAR_PHP_BIN%" ~~getloc.php -set /p PHP_PEAR_BIN_DIR=fakeprompt < ~a.a -DEL ~a.a -DEL ~~getloc.php -set "PHP_PEAR_INSTALL_DIR=%PHP_PEAR_BIN_DIR%pear" - -REM Make sure there is a pearcmd.php at our disposal - -IF NOT EXIST %PHP_PEAR_INSTALL_DIR%\pearcmd.php ( -IF EXIST %PHP_PEAR_INSTALL_DIR%\scripts\pearcmd.php COPY %PHP_PEAR_INSTALL_DIR%\scripts\pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -IF EXIST pearcmd.php COPY pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -IF EXIST %~dp0\scripts\pearcmd.php COPY %~dp0\scripts\pearcmd.php %PHP_PEAR_INSTALL_DIR%\pearcmd.php -) -) -GOTO :INSTALLED -) ELSE ( -REM Windows Me/98 cannot succeed, so allow the batch to fail -) -:FAILAUTODETECT -echo WARNING: failed to auto-detect pear information -:INSTALLED - -REM Check Folders and files -IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%" GOTO PEAR_INSTALL_ERROR -IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" GOTO PEAR_INSTALL_ERROR2 -IF NOT EXIST "%PHP_PEAR_BIN_DIR%" GOTO PEAR_BIN_ERROR -IF NOT EXIST "%PHP_PEAR_PHP_BIN%" GOTO PEAR_PHPBIN_ERROR -REM launch pearcmd -GOTO RUN -:PEAR_INSTALL_ERROR -ECHO PHP_PEAR_INSTALL_DIR is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_INSTALL_DIR% -GOTO END -:PEAR_INSTALL_ERROR2 -ECHO PHP_PEAR_INSTALL_DIR is not set correctly. -ECHO pearcmd.php could not be found there. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_INSTALL_DIR% -GOTO END -:PEAR_BIN_ERROR -ECHO PHP_PEAR_BIN_DIR is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_BIN_DIR% -GOTO END -:PEAR_PHPBIN_ERROR -ECHO PHP_PEAR_PHP_BIN is not set correctly. -ECHO Please fix it using your environment variable or modify -ECHO the default value in pear.bat -ECHO The current value is: -ECHO %PHP_PEAR_PHP_BIN% -GOTO END -:RUN -"%PHP_PEAR_PHP_BIN%" -C -n -d date.timezone=UTC -d output_buffering=1 -d safe_mode=0 -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -d register_argc_argv="On" -d variables_order=EGPCS -f "%PHP_PEAR_INSTALL_DIR%\peclcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 -:END -@ECHO ON \ No newline at end of file diff --git a/vendor/pear-pear.php.net/PEAR/scripts/pearcmd.php b/vendor/pear-pear.php.net/PEAR/pearcmd.php similarity index 97% rename from vendor/pear-pear.php.net/PEAR/scripts/pearcmd.php rename to vendor/pear-pear.php.net/PEAR/pearcmd.php index a3a928a3c09b6dd253e8f166768ed53a588ed786..3f5ce93e627b6bcee6e47f9c29cf32c8bf2c907c 100644 --- a/vendor/pear-pear.php.net/PEAR/scripts/pearcmd.php +++ b/vendor/pear-pear.php.net/PEAR/pearcmd.php @@ -12,11 +12,11 @@ * @author Tomas V.V.Cox <cox@idecnet.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: pearcmd.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR */ -ob_end_clean(); +@ob_end_clean(); if (!defined('PEAR_RUNTYPE')) { // this is defined in peclcmd.php as 'pecl' define('PEAR_RUNTYPE', 'pear'); @@ -25,8 +25,10 @@ define('PEAR_IGNORE_BACKTRACE', 1); /** * @nodep Gtk */ -if ('@include_path@' != '@'.'include_path'.'@') { - ini_set('include_path', '@include_path@'); +//the space is needed for windows include paths with trailing backslash +// http://pear.php.net/bugs/bug.php?id=19482 +if ('/stage/local/vufind/vendor/pear-pear.php.net/PEAR ' != '@'.'include_path'.'@ ') { + ini_set('include_path', trim('/stage/local/vufind/vendor/pear-pear.php.net/PEAR ')); $raw = false; } else { // this is a raw, uninstalled pear, either a cvs checkout, or php distro @@ -43,7 +45,7 @@ ob_implicit_flush(true); $_PEAR_PHPDIR = '#$%^&*'; set_error_handler('error_handler'); -$pear_package_version = "@pear_version@"; +$pear_package_version = "1.9.5"; require_once 'PEAR.php'; require_once 'PEAR/Frontend.php'; diff --git a/vendor/pear-pear.php.net/PEAR/scripts/peclcmd.php b/vendor/pear-pear.php.net/PEAR/peclcmd.php similarity index 70% rename from vendor/pear-pear.php.net/PEAR/scripts/peclcmd.php rename to vendor/pear-pear.php.net/PEAR/peclcmd.php index 498caafd11c730785115e2a3cabff4efb8d5584d..697d05c6d0d26f44b4e3da1bc47917eda7577933 100644 --- a/vendor/pear-pear.php.net/PEAR/scripts/peclcmd.php +++ b/vendor/pear-pear.php.net/PEAR/peclcmd.php @@ -12,15 +12,17 @@ * @author Tomas V.V.Cox <cox@idecnet.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: peclcmd.php 313023 2011-07-06 19:17:11Z dufuz $ + * @version CVS: $Id$ * @link http://pear.php.net/package/PEAR */ /** * @nodep Gtk */ -if ('@include_path@' != '@'.'include_path'.'@') { - ini_set('include_path', '@include_path@'); +//the space is needed for windows include paths with trailing backslash +// http://pear.php.net/bugs/bug.php?id=19482 +if ('/stage/local/vufind/vendor/pear-pear.php.net/PEAR ' != '@'.'include_path'.'@ ') { + ini_set('include_path', trim('/stage/local/vufind/vendor/pear-pear.php.net/PEAR ')); $raw = false; } else { // this is a raw, uninstalled pear, either a cvs checkout, or php distro diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php index 9539e36aa3c7ff6d175d6e05633aad65f102b8c2..0577b5e8853bf1c55d1f9a3a21e9d28d87cc6d7a 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php @@ -66,6 +66,7 @@ class Parser $data = array(); $context = null; + $allowOverwrite = false; while ($this->moveToNextLine()) { if ($this->isCurrentLineEmpty()) { continue; @@ -76,7 +77,7 @@ class Parser throw new ParseException('A YAML file cannot contain tabs as indentation.', $this->getRealCurrentLineNb() + 1, $this->currentLine); } - $isRef = $isInPlace = $isProcessed = false; + $isRef = $mergeNode = false; if (preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+?))?\s*$#u', $this->currentLine, $values)) { if ($context && 'mapping' == $context) { throw new ParseException('You cannot define a sequence item when in a mapping'); @@ -132,10 +133,24 @@ class Parser } if ('<<' === $key) { + $mergeNode = true; + $allowOverwrite = true; if (isset($values['value']) && 0 === strpos($values['value'], '*')) { - $isInPlace = substr($values['value'], 1); - if (!array_key_exists($isInPlace, $this->refs)) { - throw new ParseException(sprintf('Reference "%s" does not exist.', $isInPlace), $this->getRealCurrentLineNb() + 1, $this->currentLine); + $refName = substr($values['value'], 1); + if (!array_key_exists($refName, $this->refs)) { + throw new ParseException(sprintf('Reference "%s" does not exist.', $refName), $this->getRealCurrentLineNb() + 1, $this->currentLine); + } + + $refValue = $this->refs[$refName]; + + if (!is_array($refValue)) { + throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine); + } + + foreach ($refValue as $key => $value) { + if (!isset($data[$key])) { + $data[$key] = $value; + } } } else { if (isset($values['value']) && $values['value'] !== '') { @@ -148,40 +163,49 @@ class Parser $parser->refs =& $this->refs; $parsed = $parser->parse($value, $exceptionOnInvalidType, $objectSupport); - $merged = array(); if (!is_array($parsed)) { throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine); - } elseif (isset($parsed[0])) { - // Numeric array, merge individual elements - foreach (array_reverse($parsed) as $parsedItem) { + } + + if (isset($parsed[0])) { + // If the value associated with the merge key is a sequence, then this sequence is expected to contain mapping nodes + // and each of these nodes is merged in turn according to its order in the sequence. Keys in mapping nodes earlier + // in the sequence override keys specified in later mapping nodes. + foreach ($parsed as $parsedItem) { if (!is_array($parsedItem)) { throw new ParseException('Merge items must be arrays.', $this->getRealCurrentLineNb() + 1, $parsedItem); } - $merged = array_merge($parsedItem, $merged); + + foreach ($parsedItem as $key => $value) { + if (!isset($data[$key])) { + $data[$key] = $value; + } + } } } else { - // Associative array, merge - $merged = array_merge($merged, $parsed); + // If the value associated with the key is a single mapping node, each of its key/value pairs is inserted into the + // current mapping, unless the key already exists in it. + foreach ($parsed as $key => $value) { + if (!isset($data[$key])) { + $data[$key] = $value; + } + } } - - $isProcessed = $merged; } } elseif (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) { $isRef = $matches['ref']; $values['value'] = $matches['value']; } - if ($isProcessed) { + if ($mergeNode) { // Merge keys - $data = $isProcessed; - // hash } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) { + // hash // if next line is less indented or equal, then it means that the current value is null if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) { // Spec: Keys MUST be unique; first one wins. - // Parser cannot abort this mapping earlier, since lines - // are processed sequentially. - if (!isset($data[$key])) { + // But overwriting is allowed when a merge node is used in current block. + if ($allowOverwrite || !isset($data[$key])) { $data[$key] = null; } } else { @@ -190,23 +214,17 @@ class Parser $parser->refs =& $this->refs; $value = $parser->parse($this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport); // Spec: Keys MUST be unique; first one wins. - // Parser cannot abort this mapping earlier, since lines - // are processed sequentially. - if (!isset($data[$key])) { + // But overwriting is allowed when a merge node is used in current block. + if ($allowOverwrite || !isset($data[$key])) { $data[$key] = $value; } } } else { - if ($isInPlace) { - $data = $this->refs[$isInPlace]; - } else { - $value = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport);; - // Spec: Keys MUST be unique; first one wins. - // Parser cannot abort this mapping earlier, since lines - // are processed sequentially. - if (!isset($data[$key])) { - $data[$key] = $value; - } + $value = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport); + // Spec: Keys MUST be unique; first one wins. + // But overwriting is allowed when a merge node is used in current block. + if ($allowOverwrite || !isset($data[$key])) { + $data[$key] = $value; } } } else { diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml index 3eec4f877daacadc07c9eb068d9c448152d40b47..fd9910174dade40eeaa1557a7bcbd94b29a5425e 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml @@ -10,9 +10,19 @@ yaml: | a: Steve b: Clark c: Brian - bar: &bar + bar: + a: before + d: other <<: *foo + b: new x: Oren + c: + foo: bar + foo: ignore + bar: foo + duplicate: + foo: bar + foo: ignore foo2: &foo2 a: Ballmer ding: &dong [ fi, fei, fo, fam] @@ -24,4 +34,12 @@ yaml: | head: <<: [ *foo , *dong , *foo2 ] php: | - array('foo' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian'), 'bar' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'x' => 'Oren'), 'foo2' => array('a' => 'Ballmer'), 'ding' => array('fi', 'fei', 'fo', 'fam'), 'check' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam', 'isit' => 'tested'), 'head' => array('a' => 'Ballmer', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam')) + array( + 'foo' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian'), + 'bar' => array('a' => 'before', 'd' => 'other', 'b' => 'new', 'c' => array('foo' => 'bar', 'bar' => 'foo'), 'x' => 'Oren'), + 'duplicate' => array('foo' => 'bar'), + 'foo2' => array('a' => 'Ballmer'), + 'ding' => array('fi', 'fei', 'fo', 'fam'), + 'check' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam', 'isit' => 'tested'), + 'head' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam') + ) diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist b/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist index aa77e9de77ce02811de4f3291e4ca5feb97d5fb1..90e0bcc27efe8ea31b97a6d205735ee5656b0fc7 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist @@ -1,14 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<phpunit backupGlobals="false" - backupStaticAttributes="false" +<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + backupGlobals="false" colors="true" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - processIsolation="false" - stopOnFailure="false" - syntaxCheck="false" bootstrap="vendor/autoload.php" > <testsuites>