diff --git a/doc-src/content/examples/compass/css3/transform.haml b/doc-src/content/examples/compass/css3/transform.haml index 2fbea2aa..17c9bc93 100644 --- a/doc-src/content/examples/compass/css3/transform.haml +++ b/doc-src/content/examples/compass/css3/transform.haml @@ -2,7 +2,7 @@ title: Transform description: css3 mixin for css transforms framework: compass -stylesheet: compass/css3/_transform.scss +stylesheet: compass/css3/_transform-legacy.scss example: true --- = render "partials/example" \ No newline at end of file diff --git a/doc-src/content/examples/compass/css3/transform/stylesheet.sass b/doc-src/content/examples/compass/css3/transform/stylesheet.sass index bd8c7df2..bdc25362 100644 --- a/doc-src/content/examples/compass/css3/transform/stylesheet.sass +++ b/doc-src/content/examples/compass/css3/transform/stylesheet.sass @@ -1,4 +1,4 @@ -@import compass/css3 +@import compass/css3, compass/css3/transform-legacy .transform-example width: 40px diff --git a/doc-src/content/help/tutorials/upgrading/css3-v2.markdown b/doc-src/content/help/tutorials/upgrading/css3-v2.markdown index 0aaa0f8f..fa63057e 100644 --- a/doc-src/content/help/tutorials/upgrading/css3-v2.markdown +++ b/doc-src/content/help/tutorials/upgrading/css3-v2.markdown @@ -6,21 +6,19 @@ classnames: - tutorial --- # Upgrading to Compass CSS3 v2 -The `css3` import is deprecated as well as the following css3 modules: -`box-shadow`, `text-shadow`, and `transform`. Instead import `css3/version-2`, -`box-shadow-v2`, `text-shadow-v2`, and `transform-v2` respectively. -However, you will only get deprecation warnings if you actually use -one of the deprecated mixins. The imports will be restored by 1.0 -with the new, betterer APIs. +Many mixins and certain uses of mixins have been deprecated, but your +existing stylesheets should still work out of the box with one exception: +users who are using the `css3/transform` module should update their imports +to import `css/transform-legacy` when they upgrade. They should then upgrade +to the new `css/transform` module at their convenience. You should read about what changed, update your stylesheets accordingly and then update your imports to the new version. ## Box Shadow -The arguments to the [`box-shadow`][new_box_shadow] mixin have changed. -As a result you should change your import of `compass/css3/box-shadow` -to `compass/css3/box-shadow-v2` once you do one of the following choices: +You may get a deprecation warning using the `box-shadow` mixin. +You can resolve this in one of the following ways: 1. Change your use of the `box-shadow` and instead use `single-box-shadow`. This mixin has the same behavior and arguments as the old `box-shadow` mixin. @@ -31,10 +29,8 @@ to `compass/css3/box-shadow-v2` once you do one of the following choices: ## Text Shadow -Similarly to how the box shadow changed. The new [text-shadow][new_text_shadow] -mixin now accepts multiple shadows. As a result you should change your import of -`compass/css3/text-shadow` to `compass/css3/text-shadow-v2` once you do one of -the following choices: +You may get a deprecation warning using the `text-shadow` mixin. +You can resolve this in one of the following ways: 1. Change your use of the `text-shadow` and instead use `single-text-shadow`. This mixin has the same behavior and arguments as the old `text-shadow` mixin. @@ -47,6 +43,8 @@ the following choices: The transform module was largely re-written to support 3D transforms. If you are using it, it is suggested that you read the [new module's documentation][new_transform] and adjust your code appropriately. Many mixin names and constants have changed. +For your convenience, the [old CSS transform module][old_transform] can still be imported, but it +is deprecated and will be removed in the next release. ## Gradients @@ -77,10 +75,6 @@ Or for sass files: =linear-gradient($color-stops, $start: top, $image: false) +background-image($image, linear-gradient($start, $color-stops)) - -[old_box_shadow]: /reference/compass/css3/box_shadow/#mixin-box-shadow -[new_box_shadow]: /reference/compass/css3/box_shadow_v2/#mixin-box-shadow -[old_text_shadow]: /reference/compass/css3/text_shadow/#mixin-text-shadow -[new_text_shadow]: /reference/compass/css3/text-shadow-v2/#mixin-text-shadow -[new_transform]: /reference/compass/css3/transform-v2/ +[new_transform]: /reference/compass/css3/transform/ +[old_transform]: /reference/compass/css3/transform-legacy/ [image_stylesheet]: /reference/compass/css3/images/ \ No newline at end of file diff --git a/doc-src/content/reference/compass/css3.haml b/doc-src/content/reference/compass/css3.haml index b47ec404..e980ec45 100644 --- a/doc-src/content/reference/compass/css3.haml +++ b/doc-src/content/reference/compass/css3.haml @@ -16,7 +16,7 @@ layout: core The CSS3 module provides cross-browser mixins for CSS properties introduced in CSS3, for example border-radius - and text-shadow. + and text-shadow. %p What rendering engines you support for the experimental css properties is governed by the configurable variables defined in the browser @@ -24,6 +24,4 @@ layout: core %h3 Importing the Entire CSS3 Library %p To import the CSS3 Module add the following to your stylesheets:
- @import "compass/css3/version-2"
- Many of the mixins in version-1 are deprecated, and this import will make sure you don't - load them during this transition. \ No newline at end of file + @import "compass/css3"
diff --git a/doc-src/content/reference/compass/css3/box_shadow.haml b/doc-src/content/reference/compass/css3/box_shadow.haml index 3cc4c455..ff4079b9 100644 --- a/doc-src/content/reference/compass/css3/box_shadow.haml +++ b/doc-src/content/reference/compass/css3/box_shadow.haml @@ -1,17 +1,16 @@ --- title: Compass Box Shadow -crumb: Box Shadow (v1) +crumb: Box Shadow framework: compass stylesheet: compass/css3/_box-shadow.scss meta_description: Specify the box shadow for all browsers. layout: core -deprecated: true +beta: true classnames: - reference - core - css3 --- - render 'reference' do - %p.warning - This import is deprecated. Please import -
box-shadow-v2 instead. \ No newline at end of file + %p + The box-shadow mixins are used to apply an inset or drop shadow to a block element. \ No newline at end of file diff --git a/doc-src/content/reference/compass/css3/box_shadow_v2.haml b/doc-src/content/reference/compass/css3/box_shadow_v2.haml deleted file mode 100644 index f11bd9ed..00000000 --- a/doc-src/content/reference/compass/css3/box_shadow_v2.haml +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Compass Box Shadow (v2) -crumb: Box Shadow (v2) -framework: compass -stylesheet: compass/css3/_box-shadow-v2.scss -meta_description: Specify the box shadow for all browsers. -layout: core -beta: true -classnames: - - reference - - core - - css3 ---- -- render 'reference' do - %p - The box-shadow mixins are used to apply an inset or drop shadow to a block element. \ No newline at end of file diff --git a/doc-src/content/reference/compass/css3/text-shadow-v2.haml b/doc-src/content/reference/compass/css3/text-shadow.haml similarity index 76% rename from doc-src/content/reference/compass/css3/text-shadow-v2.haml rename to doc-src/content/reference/compass/css3/text-shadow.haml index e7b8499d..6f614e55 100644 --- a/doc-src/content/reference/compass/css3/text-shadow-v2.haml +++ b/doc-src/content/reference/compass/css3/text-shadow.haml @@ -1,8 +1,8 @@ --- -title: Compass Text Shadow (v2) -crumb: Text Shadow (v2) +title: Compass Text Shadow +crumb: Text Shadow framework: compass -stylesheet: compass/css3/_text-shadow-v2.scss +stylesheet: compass/css3/_text-shadow.scss meta_description: Specify the text shadow for all browsers. beta: true layout: core diff --git a/doc-src/content/reference/compass/css3/text_shadow.haml b/doc-src/content/reference/compass/css3/text_shadow.haml deleted file mode 100644 index 8f4052f2..00000000 --- a/doc-src/content/reference/compass/css3/text_shadow.haml +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Compass Text Shadow -crumb: Text Shadow (v1) -framework: compass -stylesheet: compass/css3/_text-shadow.scss -meta_description: Specify the text shadow for all browsers. -layout: core -deprecated: true -classnames: - - reference - - core - - css3 ---- -- render 'reference' do - %p.warning - This import is deprecated. Please import - text-shadow-v2 - instead. diff --git a/doc-src/content/reference/compass/css3/transform-legacy.haml b/doc-src/content/reference/compass/css3/transform-legacy.haml new file mode 100644 index 00000000..ba88b0d3 --- /dev/null +++ b/doc-src/content/reference/compass/css3/transform-legacy.haml @@ -0,0 +1,17 @@ +--- +title: Compass Transform (Legacy) +crumb: Transform (legacy) +framework: compass +stylesheet: compass/css3/_transform-legacy.scss +meta_description: Specify the 2D transformation for many browsers. +layout: core +deprecated: true +classnames: + - reference + - core + - css3 +--- +- render 'reference' do + %p.warning + This import is deprecated. Please import + transform instead. diff --git a/doc-src/content/reference/compass/css3/transform-v2.haml b/doc-src/content/reference/compass/css3/transform-v2.haml deleted file mode 100644 index c0709dca..00000000 --- a/doc-src/content/reference/compass/css3/transform-v2.haml +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Compass Transform (v2) -crumb: Transform (v2) -framework: compass -stylesheet: compass/css3/_transform-v2.scss -meta_description: Specify the 2D transformation for all browsers. -layout: core -beta: true -classnames: - - reference - - core - - css3 ---- -- render 'reference' do - %p - Provides mixins for CSS3 2D and 3D transforms. See - W3C: CSS 2D transforms - and See W3C: CSS 3D transforms. - %p - Safari is the only browser that currently supports 3D transforms. - Because of that it can be important to control whether a given 2D transform - uses the full range of experimental browser prefixes, or only the 3D list. - To make that easy, all 2D transforms include an browser-targeting toggle ($only3d) - to switch between the two support lists. The toggle defaults to 'false' (2D), - and also accepts 'true' (3D). Currently the lists are as follows: - 2D: Mozilla, Webkit, Opera, Official - 3D: Webkit, Official **(Only Safari Supports 3D perspective)** - diff --git a/doc-src/content/reference/compass/css3/transform.haml b/doc-src/content/reference/compass/css3/transform.haml index 144b7457..ee53a316 100644 --- a/doc-src/content/reference/compass/css3/transform.haml +++ b/doc-src/content/reference/compass/css3/transform.haml @@ -1,17 +1,28 @@ --- title: Compass Transform -crumb: Transform (v1) +crumb: Transform framework: compass stylesheet: compass/css3/_transform.scss -meta_description: Specify the 2D transformation for all browsers. +meta_description: Specify transformations for many browsers. layout: core -deprecated: true +beta: true classnames: - reference - core - css3 --- - render 'reference' do - %p.warning - This import is deprecated. Please import - transform-v2 instead. + %p + Provides mixins for CSS3 2D and 3D transforms. See + W3C: CSS 2D transforms + and See W3C: CSS 3D transforms. + %p + Safari is the only browser that currently supports 3D transforms. + Because of that it can be important to control whether a given 2D transform + uses the full range of experimental browser prefixes, or only the 3D list. + To make that easy, all 2D transforms include an browser-targeting toggle ($only3d) + to switch between the two support lists. The toggle defaults to 'false' (2D), + and also accepts 'true' (3D). Currently the lists are as follows: + 2D: Mozilla, Webkit, Opera, Official + 3D: Webkit, Official **(Only Safari Supports 3D perspective)** + diff --git a/examples/compass/src/pie.scss b/examples/compass/src/pie.scss index 7863f5ed..9a701a29 100644 --- a/examples/compass/src/pie.scss +++ b/examples/compass/src/pie.scss @@ -3,8 +3,8 @@ // you to style in CSS things that you'd have to do using image chops otherwise. // // Note: Each element that has PIE enabled on it will add about 10ms to your page load. +@import "compass/css3"; @import "compass/css3/pie"; -@import "compass/css3/version-2"; $pie-behavior: url("/stylesheets/PIE.htc"); diff --git a/frameworks/compass/stylesheets/compass/_css3.scss b/frameworks/compass/stylesheets/compass/_css3.scss index ecb7f3d7..41f0447f 100644 --- a/frameworks/compass/stylesheets/compass/_css3.scss +++ b/frameworks/compass/stylesheets/compass/_css3.scss @@ -1 +1,16 @@ -@import "css3/version-1"; +@import "css3/border-radius"; +@import "css3/inline-block"; +@import "css3/opacity"; +@import "css3/box-shadow"; +@import "css3/text-shadow"; +@import "css3/columns"; +@import "css3/box-sizing"; +@import "css3/box"; +@import "css3/gradient"; +@import "css3/images"; +@import "css3/background-clip"; +@import "css3/background-origin"; +@import "css3/background-size"; +@import "css3/font-face"; +@import "css3/transform"; +@import "css3/transition"; diff --git a/frameworks/compass/stylesheets/compass/css3/_box-shadow-v2.scss b/frameworks/compass/stylesheets/compass/css3/_box-shadow-v2.scss deleted file mode 100644 index 31a09fc3..00000000 --- a/frameworks/compass/stylesheets/compass/css3/_box-shadow-v2.scss +++ /dev/null @@ -1,98 +0,0 @@ -// @doc off -// These defaults make the arguments optional for this mixin -// If you like, set different defaults before importing. -// @doc on - -@import "shared"; - - -// The default color for box shadows -$default-box-shadow-color: #333333 !default; - -// The default horizontal offset. Positive is to the right. -$default-box-shadow-h-offset: 0px !default; - -// The default vertical offset. Positive is down. -$default-box-shadow-v-offset: 0px !default; - -// The default blur length. -$default-box-shadow-blur: 5px !default; - -// The default spread length. -$default-box-shadow-spread : false !default; - -// The default shadow instet: inset or false (for standard shadow). -$default-box-shadow-inset : false !default; - -// Provides cross-browser CSS box shadows for Webkit, Gecko, and CSS3. -// Arguments are color, horizontal offset, vertical offset, blur length, spread length, and inset. -@mixin single-box-shadow( - $color : $default-box-shadow-color, - $hoff : $default-box-shadow-h-offset, - $voff : $default-box-shadow-v-offset, - $blur : $default-box-shadow-blur, - $spread : $default-box-shadow-spread, - $inset : $default-box-shadow-inset -) { - @if not ($inset == true or $inset == false or $inset == inset) { - @warn "$inset expected to be true or the inset keyword. Got #{$inset} instead. Using: inset"; - } - - @if $color == none { - @include multiple-box-shadows(none); - } @else { - $full : $hoff $voff; - @if $blur { $full: $full $blur; } - @if $spread { $full: $full $spread; } - @if $color { $full: $full $color; } - @if $inset { $full: inset $full; } - @include multiple-box-shadows($full); - } -} - -// Provides cross-browser box shadows when one or more box shadows are needed. -@mixin multiple-box-shadows( - $shadow-1 : default, - $shadow-2 : false, - $shadow-3 : false, - $shadow-4 : false, - $shadow-5 : false, - $shadow-6 : false, - $shadow-7 : false, - $shadow-8 : false, - $shadow-9 : false, - $shadow-10: false -) { - - @if not ($default-box-shadow-inset == true or $default-box-shadow-inset == false or $default-box-shadow-inset == inset) { - @warn "$default-box-shadow-inset expected to be true or the inset keyword. Got #{$default-box-shadow-inset} instead. Using: inset"; - } - - @if $shadow-1 == default { - $shadow-1 : -compass-space-list(compact(if($default-box-shadow-inset, inset), $default-box-shadow-h-offset, $default-box-shadow-v-offset, $default-box-shadow-blur, $default-box-shadow-spread, $default-box-shadow-color)); - } - - $shadow : compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10); - @include experimental(box-shadow, $shadow, - -moz, -webkit, -o, not -ms, not -khtml, official - ); -} - -@mixin box-shadow( - $shadow-1 : default, - $shadow-2 : false, - $shadow-3 : false, - $shadow-4 : false, - $shadow-5 : false, - $shadow-6 : false, - $shadow-7 : false, - $shadow-8 : false, - $shadow-9 : false, - $shadow-10: false -) { - @include multiple-box-shadows( - $shadow-1, $shadow-2, $shadow-3, - $shadow-4, $shadow-5, $shadow-6, - $shadow-7, $shadow-8, $shadow-9, $shadow-10 - ); -} \ No newline at end of file diff --git a/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss b/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss index 87c8cc6b..92ae79e7 100644 --- a/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +++ b/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss @@ -1,17 +1,111 @@ -@import "box-shadow-v2"; +// @doc off +// These defaults make the arguments optional for this mixin +// If you like, set different defaults before importing. +// @doc on -// This mixin is deprecated. -// Use the box-shadow mixin from compass/css3/box-shadow-v2 instead. -// @deprecated -@mixin box-shadow( - $color : $default-box-shadow-color, - $hoff : $default-box-shadow-h-offset, - $voff : $default-box-shadow-v-offset, - $blur : $default-box-shadow-blur, - $spread : $default-box-shadow-spread, +@import "shared"; + + +// The default color for box shadows +$default-box-shadow-color: #333333 !default; + +// The default horizontal offset. Positive is to the right. +$default-box-shadow-h-offset: 0px !default; + +// The default vertical offset. Positive is down. +$default-box-shadow-v-offset: 0px !default; + +// The default blur length. +$default-box-shadow-blur: 5px !default; + +// The default spread length. +$default-box-shadow-spread : false !default; + +// The default shadow inset: inset or false (for standard shadow). +$default-box-shadow-inset : false !default; + +// Provides cross-browser CSS box shadows for Webkit, Gecko, and CSS3. +// Arguments are color, horizontal offset, vertical offset, blur length, spread length, and inset. +@mixin single-box-shadow( + $color : $default-box-shadow-color, + $hoff : $default-box-shadow-h-offset, + $voff : $default-box-shadow-v-offset, + $blur : $default-box-shadow-blur, + $spread : $default-box-shadow-spread, $inset : $default-box-shadow-inset ) { - @warn "This version of the box-shadow mixin has been deprecated. Please read: http://beta.compass-style.org/upgrading/css3-v2/#box-shadow for details."; - @include single-box-shadow($color, $hoff, $voff, $blur, $spread, $inset); + @if not ($inset == true or $inset == false or $inset == inset) { + @warn "$inset expected to be true or the inset keyword. Got #{$inset} instead. Using: inset"; + } + + @if $color == none { + @include multiple-box-shadows(none); + } @else { + $full : $hoff $voff; + @if $blur { $full: $full $blur; } + @if $spread { $full: $full $spread; } + @if $color { $full: $full $color; } + @if $inset { $full: inset $full; } + @include multiple-box-shadows($full); + } } +// Provides cross-browser box shadows when one or more box shadows are needed. +@mixin multiple-box-shadows( + $shadow-1 : default, + $shadow-2 : false, + $shadow-3 : false, + $shadow-4 : false, + $shadow-5 : false, + $shadow-6 : false, + $shadow-7 : false, + $shadow-8 : false, + $shadow-9 : false, + $shadow-10: false +) { + + @if $shadow-1 == default { + $shadow-1 : -compass-space-list(compact(if($default-box-shadow-inset, inset), $default-box-shadow-h-offset, $default-box-shadow-v-offset, $default-box-shadow-blur, $default-box-shadow-spread, $default-box-shadow-color)); + } + + $shadow : compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10); + @include experimental(box-shadow, $shadow, + -moz, -webkit, -o, not -ms, not -khtml, official + ); +} + +@mixin box-shadow( + $shadow-1 : default, + $shadow-2 : false, + $shadow-3 : false, + $shadow-4 : false, + $shadow-5 : false, + $shadow-6 : false, + $shadow-7 : false, + $shadow-8 : false, + $shadow-9 : false, + $shadow-10: false +) { + // This has to be on a single line due to a bug in the scss parser: https://github.com/nex3/sass/issues/issue/26 + $legacy: (type-of($shadow-1) == color and type-of(if($shadow-2, $shadow-2, 0)) == number and type-of(if($shadow-3, $shadow-3, 0)) == number and type-of(if($shadow-4, $shadow-4, 0)) == number and type-of(if($shadow-5, $shadow-5, 0)) == number and ($shadow-6 == inset or type-of($shadow-6) == bool) and ($shadow-2 or $shadow-3 or $shadow-4 or $shadow-5 or $shadow-6)); + @if $legacy { + @warn "Passing separate arguments for a single shadow to box-shadow is deprecated. " + + "Pass the values as a single space-separated list, or use the single-box-shadow mixin. " + + "See http://beta.compass-style.org/help/tutorials/upgrading/css3-v2/ for more info."; + @include single-box-shadow( + if($shadow-1, $shadow-1, $default-box-shadow-color), + if($shadow-2, $shadow-2, $default-box-shadow-h-offset), + if($shadow-3, $shadow-3, $default-box-shadow-v-offset), + if($shadow-4, $shadow-4, $default-box-shadow-blur), + if($shadow-5, $shadow-5, $default-box-shadow-spread), + if($shadow-6, $shadow-6, $default-box-shadow-inset) + ); + } + @else { + @include multiple-box-shadows( + $shadow-1, $shadow-2, $shadow-3, + $shadow-4, $shadow-5, $shadow-6, + $shadow-7, $shadow-8, $shadow-9, $shadow-10 + ); + } +} \ No newline at end of file diff --git a/frameworks/compass/stylesheets/compass/css3/_gradient.scss b/frameworks/compass/stylesheets/compass/css3/_gradient.scss index 055afc44..afca03c1 100644 --- a/frameworks/compass/stylesheets/compass/css3/_gradient.scss +++ b/frameworks/compass/stylesheets/compass/css3/_gradient.scss @@ -1,8 +1,6 @@ @import "compass/utilities/general/hacks"; @import "images"; -@warn "The css3 gradient module is deprecated. For more information see: http://beta.compass-style.org/help/tutorials/upgrading/css3-v2/#gradients"; - // The linear gradient mixin works best across browsers if you use percentage-based color stops. // // Examples: @@ -34,7 +32,9 @@ // - Safari // - Firefox 3.6 // - Opera - +// +// @deprecated Use the linear-gradient() function in conjunction with a +// property mixin like `background-image`. @mixin linear-gradient($color-stops, $start: false, $image: false) { @if $image { @if $start { @@ -77,7 +77,9 @@ // - Safari // - Firefox 3.6 // - Opera - +// +// @deprecated Use the radial-gradient() function in conjunction with a +// property mixin like `background-image`. @mixin radial-gradient($color-stops, $center-position: false, $image: false) { @if $image { @if $center-position { diff --git a/frameworks/compass/stylesheets/compass/css3/_text-shadow-v2.scss b/frameworks/compass/stylesheets/compass/css3/_text-shadow-v2.scss deleted file mode 100644 index 09a92330..00000000 --- a/frameworks/compass/stylesheets/compass/css3/_text-shadow-v2.scss +++ /dev/null @@ -1,72 +0,0 @@ -@import "shared"; - -// These defaults make the arguments optional for this mixin -// If you like, set different defaults in your project - -$default-text-shadow-color: #aaa !default; -$default-text-shadow-h-offset: 0px !default; -$default-text-shadow-v-offset: 0px !default; -$default-text-shadow-blur: 1px !default; - -// Provides CSS text shadows. -// Arguments are color, horizontal offset, vertical offset, and blur -@mixin single-text-shadow( - $color: $default-text-shadow-color, - $hoff: $default-text-shadow-h-offset, - $voff: $default-text-shadow-v-offset, - $blur: $default-text-shadow-blur -) { - // XXX I'm surprised we don't need experimental support for this property. - @if $color == none { - text-shadow: none; - } @else { - text-shadow: $color $hoff $voff $blur; - } -} - -// Provides cross-browser text shadows when one or more shadows are needed. -@mixin multiple-text-shadows( - $shadow-1 : $default-text-shadow-color $default-text-shadow-h-offset $default-text-shadow-v-offset $default-text-shadow-blur, - $shadow-2 : false, - $shadow-3 : false, - $shadow-4 : false, - $shadow-5 : false, - $shadow-6 : false, - $shadow-7 : false, - $shadow-8 : false, - $shadow-9 : false, - $shadow-10: false -) { - // Ugh. Sass needs variable argument support. - $shadow : $shadow-1; - @if $shadow-2 { $shadow: $shadow, $shadow-2; } - @if $shadow-3 { $shadow: $shadow, $shadow-3; } - @if $shadow-4 { $shadow: $shadow, $shadow-4; } - @if $shadow-5 { $shadow: $shadow, $shadow-5; } - @if $shadow-6 { $shadow: $shadow, $shadow-6; } - @if $shadow-7 { $shadow: $shadow, $shadow-7; } - @if $shadow-8 { $shadow: $shadow, $shadow-8; } - @if $shadow-9 { $shadow: $shadow, $shadow-9; } - @if $shadow-10 { $shadow: $shadow, $shadow-10; } - // Anticlimactic, we know. - text-shadow: $shadow -} - -@mixin text-shadow( - $shadow-1 : $default-text-shadow-color $default-text-shadow-h-offset $default-text-shadow-v-offset $default-text-shadow-blur, - $shadow-2 : false, - $shadow-3 : false, - $shadow-4 : false, - $shadow-5 : false, - $shadow-6 : false, - $shadow-7 : false, - $shadow-8 : false, - $shadow-9 : false, - $shadow-10: false -) { - @include multiple-text-shadows( - $shadow-1, $shadow-2, $shadow-3, - $shadow-4, $shadow-5, $shadow-6, - $shadow-7, $shadow-8, $shadow-9, $shadow-10 - ); -} \ No newline at end of file diff --git a/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss b/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss index 3097f9a4..4903ee4a 100644 --- a/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +++ b/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss @@ -4,13 +4,13 @@ // If you like, set different defaults in your project $default-text-shadow-color: #aaa !default; -$default-text-shadow-h-offset: 1px !default; -$default-text-shadow-v-offset: 1px !default; +$default-text-shadow-h-offset: 0px !default; +$default-text-shadow-v-offset: 0px !default; $default-text-shadow-blur: 1px !default; // Provides CSS text shadows. // Arguments are color, horizontal offset, vertical offset, and blur -@mixin text-shadow( +@mixin single-text-shadow( $color: $default-text-shadow-color, $hoff: $default-text-shadow-h-offset, $voff: $default-text-shadow-v-offset, @@ -23,3 +23,57 @@ $default-text-shadow-blur: 1px !default; text-shadow: $color $hoff $voff $blur; } } + +// Provides cross-browser text shadows when one or more shadows are needed. +@mixin multiple-text-shadows( + $shadow-1 : default, + $shadow-2 : false, + $shadow-3 : false, + $shadow-4 : false, + $shadow-5 : false, + $shadow-6 : false, + $shadow-7 : false, + $shadow-8 : false, + $shadow-9 : false, + $shadow-10: false +) { + @if $shadow-1 == default { + $shadow-1: $default-text-shadow-color $default-text-shadow-h-offset $default-text-shadow-v-offset $default-text-shadow-blur; + } + text-shadow: compact($shadow-1, $shadow-2, $shadow-3, + $shadow-4, $shadow-5, $shadow-6, + $shadow-7, $shadow-8, $shadow-9, $shadow-10); +} + +@mixin text-shadow( + $shadow-1 : default, + $shadow-2 : false, + $shadow-3 : false, + $shadow-4 : false, + $shadow-5 : false, + $shadow-6 : false, + $shadow-7 : false, + $shadow-8 : false, + $shadow-9 : false, + $shadow-10: false +) { + // This has to be on a single line due to a bug in the scss parser: https://github.com/nex3/sass/issues/issue/26 + $legacy: type-of($shadow-1) == color and type-of(if($shadow-2, $shadow-2, 0)) == number and type-of(if($shadow-3, $shadow-3, 0)) == number and type-of(if($shadow-4, $shadow-4, 0)) == number and ($shadow-2 or $shadow-3 or $shadow-4) and not($shadow-5 or $shadow-6 or $shadow-7 or $shadow-8 or $shadow-9 or $shadow-10); + @if $legacy { + @warn "Passing separate arguments for a single shadow to text-shadow is deprecated. " + + "Pass the values as a single space-separated list, or use the single-text-shadow mixin. " + + "See http://beta.compass-style.org/help/tutorials/upgrading/css3-v2/ for more info."; + @include single-text-shadow( + $shadow-1, + if($shadow-2, $shadow-2, $default-text-shadow-h-offset), + if($shadow-3, $shadow-3, $default-text-shadow-v-offset), + if($shadow-4, $shadow-4, $default-text-shadow-blur) + ); + } @else { + @include multiple-text-shadows( + $shadow-1, $shadow-2, $shadow-3, + $shadow-4, $shadow-5, $shadow-6, + $shadow-7, $shadow-8, $shadow-9, $shadow-10 + ); + } +} \ No newline at end of file diff --git a/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss b/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss new file mode 100644 index 00000000..ac661da8 --- /dev/null +++ b/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss @@ -0,0 +1,87 @@ +@import "shared"; + +@warn "This version of the transform module has been deprecated and will be removed."; + +// CSS Transform and Transform-Origin + +// Apply a transform sent as a complete string. + +@mixin apply-transform($transform) { + @include experimental(transform, $transform, + -moz, -webkit, -o, not -ms, not -khtml, official + ); +} + +// Apply a transform-origin sent as a complete string. + +@mixin apply-origin($origin) { + @include experimental(transform-origin, $origin, + -moz, -webkit, -o, not -ms, not -khtml, official + ); +} + +// transform-origin requires x and y coordinates +// +// * only applies the coordinates if they are there so that it can be called by scale, rotate and skew safely + +@mixin transform-origin($originx: 50%, $originy: 50%) { + @if $originx or $originy { + @if $originy { + @include apply-origin($originx or 50% $originy); + } @else { + @include apply-origin($originx); + } + } +} + +// A full transform mixin with everything you could want +// +// * including origin adjustments if you want them +// * scale, rotate and skew require units of degrees(deg) +// * scale takes a multiplier, rotate and skew take degrees + +@mixin transform( + $scale: 1, + $rotate: 0deg, + $transx: 0, + $transy: 0, + $skewx: 0deg, + $skewy: 0deg, + $originx: false, + $originy: false +) { + $transform : scale($scale) rotate($rotate) translate($transx, $transy) skew($skewx, $skewy); + @include apply-transform($transform); + @include transform-origin($originx, $originy); +} + +// Transform Partials +// +// These work well on their own, but they don't add to each other, they override. +// Use them with extra origin args, or along side +transform-origin + +// Adjust only the scale, with optional origin coordinates + +@mixin scale($scale: 1.25, $originx: false, $originy: false) { + @include apply-transform(scale($scale)); + @include transform-origin($originx, $originy); +} + +// Adjust only the rotation, with optional origin coordinates + +@mixin rotate($rotate: 45deg, $originx: false, $originy: false) { + @include apply-transform(rotate($rotate)); + @include transform-origin($originx, $originy); +} + +// Adjust only the translation + +@mixin translate($transx: 0, $transy: 0) { + @include apply-transform(translate($transx, $transy)); +} + +// Adjust only the skew, with optional origin coordinates +@mixin skew($skewx: 0deg, $skewy: 0deg, $originx: false, $originy: false) { + @include apply-transform(skew($skewx, $skewy)); + @include transform-origin($originx, $originy); +} diff --git a/frameworks/compass/stylesheets/compass/css3/_transform-v2.scss b/frameworks/compass/stylesheets/compass/css3/_transform-v2.scss deleted file mode 100644 index 8056562e..00000000 --- a/frameworks/compass/stylesheets/compass/css3/_transform-v2.scss +++ /dev/null @@ -1,584 +0,0 @@ -@import "shared"; - -// @doc off -// Note ---------------------------------------------------------------------- -// Safari is the only browser that currently supports 3D transforms. -// Because of that it can be important to control whether a given 2D transform -// uses the full range of experimental browser prefixes, or only the 3D list. -// To make that easy, all 2D transforms include an browser-targeting toggle ($only3d) -// to switch between the two support lists. The toggle defaults to 'false' (2D), -// and also accepts 'true' (3D). Currently the lists are as follows: -// 2D: Mozilla, Webkit, Opera, Official -// 3D: Webkit, Official **(Only Safari Supports 3D perspective)** - -// Available Transforms ------------------------------------------------------ -// - Scale (2d and 3d) -// - Rotate (2d and 3d) -// - Translate (2d and 3d) -// - Skew (2d only) - -// Transform Parameters ------------------------------------------------------ -// - Transform Origin (2d and 3d) -// - Perspective (3d) -// - Perspective Origin (3d) -// - Transform Style (3d) -// - Backface Visibility (3d) - -// Mixins -------------------------------------------------------------------- -// transform-origin -// - shortcuts: transform-origin2d, transform-origin3d -// - helpers: apply-origin -// transform -// - shortcuts: transform2d, transform3d -// - helpers: simple-transform, create-transform -// perspective -// - helpers: perspective-origin -// transform-style -// backface-visibility -// scale -// - shortcuts: scaleX, scaleY, scaleZ, scale3d -// rotate -// - shortcuts: rotateX, rotateY, rotate3d -// translate -// - shortcuts: translateX, translateY, translateZ, translate3d -// skew -// - shortcuts: skewX, skewY - -// Defaults ------------------------------------------------------------------ -// @doc on - -// Transform Origin -$default-origin-x : 50% !default; -$default-origin-y : 50% !default; -$default-origin-z : 50% !default; - -// Scale -$default-scale-x : 1.25 !default; -$default-scale-y : $default-scale-x !default; -$default-scale-z : $default-scale-x !default; - -// Rotate -$default-rotate : 45deg !default; - -// Rotate3d -$default-vector-x : 1 !default; -$default-vector-y : 1 !default; -$default-vector-z : 1 !default; - -// Translate -$default-translate-x : 1em !default; -$default-translate-y : $default-translate-x !default; -$default-translate-z : $default-translate-x !default; - -// Skew -$default-skew-x : 5deg !default; -$default-skew-y : 5deg !default; - - -// **Transform-origin** -// Transform-origin sent as a complete string -// -// @include apply-origin( origin [, 3D-only ] ) -// -// where 'origin' is a space separated list containing 1-3 (x/y/z) coordinates -// in percentages, absolute (px, cm, in, em etc..) or relative -// (left, top, right, bottom, center) units -// -// @param only3d Set this to true to only apply this -// mixin where browsers have 3D support. -@mixin apply-origin($origin, $only3d) { - $only3d: $only3d or -compass-list-size(-compass-list($origin)) > 2; - @if $only3d { - @include experimental(transform-origin, $origin, - not -moz, -webkit, not -o, not -ms, not -khtml, official - ); - } @else { - @include experimental(transform-origin, $origin, - -moz, -webkit, -o, not -ms, not -khtml, official - ); - } -} - -// Transform-origin sent as individual arguments: -// -// @include transform-origin( [ origin-x, origin-y, origin-z, 3D-only ] ) -// -// where the 3 'origin-' arguments represent x/y/z coordinates. -// -// **NOTE:** setting z coordinates triggers 3D support list, leave false for 2D support -@mixin transform-origin( - $origin-x: $default-origin-x, - $origin-y: $default-origin-y, - $origin-z: false, - $only3d: if($origin-z) -) { - $origin: unquote(''); - @if $origin-x or $origin-y or $origin-z { - @if $origin-x { $origin: $origin-x; } @else { $origin: 50%; } - @if $origin-y { $origin: $origin $origin-y; } @else { @if $origin-z { $origin: $origin 50%; }} - @if $origin-z { $origin: $origin $origin-z; } - @include apply-origin($origin, $only3d); - } -} - - -// Transform sent as a complete string: -// -// @include transform( transforms [, 3D-only ] ) -// -// where 'transforms' is a space separated list of all the transforms to be applied -@mixin transform( - $transform, - $only3d: false -) { - @if $only3d { - @include experimental(transform, $transform, - not -moz, -webkit, not -o, not -ms, not -khtml, official - ); - } @else { - @include experimental(transform, $transform, - -moz, -webkit, -o, not -ms, not -khtml, official - ); - } -} - -// Shortcut to target all browsers with 2D transform support -@mixin transform2d($trans) { - @include transform($trans, false); -} - -// Shortcut to target only browsers with 3D transform support -@mixin transform3d($trans) { - @include transform($trans, true); -} - -// @doc off -// 3D Parameters ------------------------------------------------------------- -// @doc on - -// Set the perspective of 3D transforms on the children of an element: -// -// @include perspective( perspective ) -// -// where 'perspective' is a uniless number representing the depth of the z-axis -// the higher the perspective, the more exagerated the foreshortening. -// values from 500 to 1000 are more-or-less "normal" - a good starting-point. -@mixin perspective($p) { - @include experimental(perspective, $p, - not -moz, -webkit, not -o, not -ms, not -khtml, official - ); -} - -// Set the origin position for the perspective -// -// @include perspective-origin(origin-x [origin-y]) -// -// where the two arguments represent x/y coordinates -@mixin perspective-origin($origin: 50%) { - @include experimental(perspective-origin, $origin, - not -moz, -webkit, not -o, not -ms, not -khtml, official - ); -} - -// Determine whether a 3D objects children also live in the given 3D space -// -// @include transform-style( [ style ] ) -// -// where `style` can be either `flat` or `preserves-3d` -// browsers default to `flat`, mixin defaults to `preserves-3d` -@mixin transform-style($style: preserves-3d) { - @include experimental(perspective-origin, $style, - not -moz, -webkit, not -o, not -ms, not -khtml, official - ); -} - -// Determine the visibility of an element when it's back is turned -// -// @include backface-visibility( [ visibility ] ) -// -// where `visibility` can be either `visible` or `hidden` -// browsers default to visible, mixin defaults to hidden -@mixin backface-visibility($visibility: hidden) { - @include experimental(backface-visibility, $visibility, - not -moz, -webkit, not -o, not -ms, not -khtml, official - ); -} - -// @doc off -// Transform Partials -------------------------------------------------------- -// These work well on their own, but they don't add to each other, they override. -// Use along with transform parameter mixins to adjust origin, perspective and style -// --------------------------------------------------------------------------- - - -// Scale --------------------------------------------------------------------- -// @doc on - -// Scale an object along the x and y axis: -// -// @include scale( [ scale-x, scale-y, perspective, 3D-only ] ) -// -// where the 'scale-' arguments are unitless multipliers of the x and y dimensions -// and perspective, which works the same as the stand-alone perspective property/mixin -// but applies to the individual element (multiplied with any parent perspective) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin scale( - $scale-x: $default-scale-x, - $scale-y: $scale-x, - $perspective: false, - $only3d: false -) { - $trans: scale($scale-x, $scale-y); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// Scale an object along the x axis -// @include scaleX( [ scale-x, perspective, 3D-only ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin scaleX( - $scale: $default-scale-x, - $perspective: false, - $only3d: false -) { - $trans: scaleX($scale); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// Scale an object along the y axis -// @include scaleY( [ scale-y, perspective, 3D-only ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin scaleY( - $scale: $default-scale-y, - $perspective: false, - $only3d: false -) { - $trans: scaleY($scale); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// Scale an object along the z axis -// @include scaleZ( [ scale-z, perspective ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin scaleZ( - $scale: $default-scale-z, - $perspective: false -) { - $trans: scaleZ($scale); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// Scale and object along all three axis -// @include scale3d( [ scale-x, scale-y, scale-z, perspective ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin scale3d( - $scale-x: $default-scale-x, - $scale-y: $default-scale-y, - $scale-z: $default-scale-z, - $perspective: false -) { - $trans: scale3d($scale-x, $scale-y, $scale-z); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// @doc off -// Rotate -------------------------------------------------------------------- -// @doc on - -// Rotate an object around the z axis (2D) -// @include rotate( [ rotation, perspective, 3D-only ] ) -// where 'rotation' is an angle set in degrees (deg) or radian (rad) units -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin rotate( - $rotate: $default-rotate, - $perspective: false, - $only3d: false -) { - $trans: rotate($rotate); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// A longcut for 'rotate' in case you forget that 'z' is implied -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin rotateZ( - $rotate: $default-rotate, - $perspective: false, - $only3d: false -) { - @include rotate($rotate, $perspective, $only3d); -} - -// Rotate an object around the x axis (3D) -// @include rotateX( [ rotation, perspective ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin rotateX( - $rotate: $default-rotate, - $perspective: false -) { - $trans: rotateX($rotate); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// Rotate an object around the y axis (3D) -// @include rotate( [ rotation, perspective ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin rotateY( - $rotate: $default-rotate, - $perspective: false -) { - $trans: rotateY($rotate); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// Rotate an object around an arbitrary axis (3D) -// @include rotate( [ vector-x, vector-y, vector-z, rotation, perspective ] ) -// where the 'vector-' arguments accept unitless numbers -// these numbers are not important on their own, but in relation to one another -// creating an axis from your transform-origin, along the axis of Xx = Yy = Zz -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin rotate3d( - $vector-x: $default-vector-x, - $vector-y: $default-vector-y, - $vector-z: $default-vector-z, - $rotate: $default-rotate, - $perspective: false -) { - $trans: rotate3d($vector-x, $vector-y, $vector-z, $rotate); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// @doc off -// Translate ----------------------------------------------------------------- -// @doc on - -// Move an object along the x or y axis (2D) -// @include translate( [ translate-x, translate-y, perspective, 3D-only ] ) -// where the 'translate-' arguments accept any distance in percentages or absolute (px, cm, in, em etc..) units -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin translate( - $translate-x: $default-translate-x, - $translate-y: $default-translate-y, - $perspective: false, - $only3d: false -) { - $trans: translate($translate-x, $translate-y); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// Move an object along the x axis (2D) -// @include translate( [ translate-x, perspective, 3D-only ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin translateX( - $trans-x: $default-translate-x, - $perspective: false, - $only3d: false -) { - $trans: translateX($trans-x); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// Move an object along the y axis (2D) -// @include translate( [ translate-y, perspective, 3D-only ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin translateY( - $trans-y: $default-translate-y, - $perspective: false, - $only3d: false -) { - $trans: translateY($trans-y); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform($trans, $only3d); -} - -// Move an object along the z axis (3D) -// @include translate( [ translate-z, perspective ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin translateZ( - $trans-z: $default-translate-z, - $perspective: false -) { - $trans: translateZ($trans-z); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// Move an object along the x, y and z axis (3D) -// @include translate( [ translate-x, translate-y, translate-z, perspective ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin translate3d( - $translate-x: $default-translate-x, - $translate-y: $default-translate-y, - $translate-z: $default-translate-z, - $perspective: false -) { - $trans: translate3d($translate-x, $translate-y, $translate-z); - @if $perspective { $trans: perspective($perspective) $trans; } - @include transform3d($trans); -} - -// @doc off -// Skew ---------------------------------------------------------------------- -// @doc on - -// Skew an element: -// -// @include skew( [ skew-x, skew-y, 3D-only ] ) -// -// where the 'skew-' arguments accept css angles in degrees (deg) or radian (rad) units -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin skew( - $skew-x: $default-skew-x, - $skew-y: $default-skew-y, - $only3d: false -) { - $trans: skew($skew-x, $skew-y); - @include transform($trans, $only3d); -} - -// Skew an element along the x axiz -// -// @include skew( [ skew-x, 3D-only ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin skewX( - $skew-x: $default-skew-x, - $only3d: false -) { - $trans: skewX($skew-x); - @include transform($trans, $only3d); -} - -// Skew an element along the y axis -// -// @include skew( [ skew-y, 3D-only ] ) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin skewY( - $skew-y: $default-skew-y, - $only3d: false -) { - $trans: skewY($skew-y); - @include transform($trans, $only3d); -} - - -// Full transform mixins -// For settings any combination of transforms as arguments -// These are complex and not highly recommended for daily use -// They are mainly here for backwards-compatability purposes -// -// * they include origin adjustments -// * scale takes a multiplier (unitless), rotate and skew take degrees (deg) -// -// **Note** This mixin cannot be combined with other transform mixins. -@mixin create-transform( - $perspective: false, - $scale-x: false, - $scale-y: false, - $scale-z: false, - $rotate-x: false, - $rotate-y: false, - $rotate-z: false, - $rotate3d: false, - $trans-x: false, - $trans-y: false, - $trans-z: false, - $skew-x: false, - $skew-y: false, - $origin-x: false, - $origin-y: false, - $origin-z: false, - $only3d: false -) { - $trans: unquote(""); - - // perspective - @if $perspective { $trans: perspective($perspective) ; } - - // scale - @if $scale-x and $scale-y { - @if $scale-z { $trans: $trans scale3d($scale-x, $scale-y, $scale-z); } - @else { $trans: $trans scale($scale-x, $scale-y); } - } @else { - @if $scale-x { $trans: $trans scaleX($scale-x); } - @if $scale-y { $trans: $trans scaleY($scale-y); } - @if $scale-z { $trans: $trans scaleZ($scale-z); } - } - - // rotate - @if $rotate-x { $trans: $trans rotateX($rotate-x); } - @if $rotate-y { $trans: $trans rotateY($rotate-y); } - @if $rotate-z { $trans: $trans rotateZ($rotate-z); } - @if $rotate3d { $trans: $trans rotate3d($rotate3d); } - - // translate - @if $trans-x and $trans-y { - @if $trans-z { $trans: $trans translate3d($trans-x, $trans-y, $trans-z); } - @else { $trans: $trans translate($trans-x, $trans-y); } - } @else { - @if $trans-x { $trans: $trans translateX($trans-x); } - @if $trans-y { $trans: $trans translateY($trans-y); } - @if $trans-z { $trans: $trans translateZ($trans-z); } - } - - // skew - @if $skew-x and $skew-y { $trans: $trans skew($skew-x, $skew-y); } - @else { - @if $skew-x { $trans: $trans skewX($skew-x); } - @if $skew-y { $trans: $trans skewY($skew-y); } - } - - // apply it! - @include transform($trans, $only3d); - @include transform-origin($origin-x, $origin-y, $origin-z, $only3d); -} - - -// A simplified set of options -// backwards-compatible with the previous version of the 'transform' mixin -@mixin simple-transform( - $scale: false, - $rotate: false, - $trans-x: false, - $trans-y: false, - $skew-x: false, - $skew-y: false, - $origin-x: false, - $origin-y: false -) { - @include create-transform( - false, - $scale, $scale, false, - false, false, $rotate, false, - $trans-x, $trans-y, false, - $skew-x, $skew-y, - $origin-x, $origin-y, false, - false - ); -} diff --git a/frameworks/compass/stylesheets/compass/css3/_transform.scss b/frameworks/compass/stylesheets/compass/css3/_transform.scss index 9d566e45..8056562e 100644 --- a/frameworks/compass/stylesheets/compass/css3/_transform.scss +++ b/frameworks/compass/stylesheets/compass/css3/_transform.scss @@ -1,85 +1,584 @@ @import "shared"; -// CSS Transform and Transform-Origin +// @doc off +// Note ---------------------------------------------------------------------- +// Safari is the only browser that currently supports 3D transforms. +// Because of that it can be important to control whether a given 2D transform +// uses the full range of experimental browser prefixes, or only the 3D list. +// To make that easy, all 2D transforms include an browser-targeting toggle ($only3d) +// to switch between the two support lists. The toggle defaults to 'false' (2D), +// and also accepts 'true' (3D). Currently the lists are as follows: +// 2D: Mozilla, Webkit, Opera, Official +// 3D: Webkit, Official **(Only Safari Supports 3D perspective)** -// Apply a transform sent as a complete string. +// Available Transforms ------------------------------------------------------ +// - Scale (2d and 3d) +// - Rotate (2d and 3d) +// - Translate (2d and 3d) +// - Skew (2d only) -@mixin apply-transform($transform) { - @include experimental(transform, $transform, - -moz, -webkit, -o, not -ms, not -khtml, official - ); -} +// Transform Parameters ------------------------------------------------------ +// - Transform Origin (2d and 3d) +// - Perspective (3d) +// - Perspective Origin (3d) +// - Transform Style (3d) +// - Backface Visibility (3d) -// Apply a transform-origin sent as a complete string. +// Mixins -------------------------------------------------------------------- +// transform-origin +// - shortcuts: transform-origin2d, transform-origin3d +// - helpers: apply-origin +// transform +// - shortcuts: transform2d, transform3d +// - helpers: simple-transform, create-transform +// perspective +// - helpers: perspective-origin +// transform-style +// backface-visibility +// scale +// - shortcuts: scaleX, scaleY, scaleZ, scale3d +// rotate +// - shortcuts: rotateX, rotateY, rotate3d +// translate +// - shortcuts: translateX, translateY, translateZ, translate3d +// skew +// - shortcuts: skewX, skewY -@mixin apply-origin($origin) { - @include experimental(transform-origin, $origin, - -moz, -webkit, -o, not -ms, not -khtml, official - ); -} +// Defaults ------------------------------------------------------------------ +// @doc on -// transform-origin requires x and y coordinates +// Transform Origin +$default-origin-x : 50% !default; +$default-origin-y : 50% !default; +$default-origin-z : 50% !default; + +// Scale +$default-scale-x : 1.25 !default; +$default-scale-y : $default-scale-x !default; +$default-scale-z : $default-scale-x !default; + +// Rotate +$default-rotate : 45deg !default; + +// Rotate3d +$default-vector-x : 1 !default; +$default-vector-y : 1 !default; +$default-vector-z : 1 !default; + +// Translate +$default-translate-x : 1em !default; +$default-translate-y : $default-translate-x !default; +$default-translate-z : $default-translate-x !default; + +// Skew +$default-skew-x : 5deg !default; +$default-skew-y : 5deg !default; + + +// **Transform-origin** +// Transform-origin sent as a complete string // -// * only applies the coordinates if they are there so that it can be called by scale, rotate and skew safely - -@mixin transform-origin($originx: 50%, $originy: 50%) { - @if $originx or $originy { - @if $originy { - @include apply-origin($originx or 50% $originy); - } @else { - @include apply-origin($originx); - } +// @include apply-origin( origin [, 3D-only ] ) +// +// where 'origin' is a space separated list containing 1-3 (x/y/z) coordinates +// in percentages, absolute (px, cm, in, em etc..) or relative +// (left, top, right, bottom, center) units +// +// @param only3d Set this to true to only apply this +// mixin where browsers have 3D support. +@mixin apply-origin($origin, $only3d) { + $only3d: $only3d or -compass-list-size(-compass-list($origin)) > 2; + @if $only3d { + @include experimental(transform-origin, $origin, + not -moz, -webkit, not -o, not -ms, not -khtml, official + ); + } @else { + @include experimental(transform-origin, $origin, + -moz, -webkit, -o, not -ms, not -khtml, official + ); } -} +} -// A full transform mixin with everything you could want +// Transform-origin sent as individual arguments: // -// * including origin adjustments if you want them -// * scale, rotate and skew require units of degrees(deg) -// * scale takes a multiplier, rotate and skew take degrees - -@mixin transform( - $scale: 1, - $rotate: 0deg, - $transx: 0, - $transy: 0, - $skewx: 0deg, - $skewy: 0deg, - $originx: false, - $originy: false +// @include transform-origin( [ origin-x, origin-y, origin-z, 3D-only ] ) +// +// where the 3 'origin-' arguments represent x/y/z coordinates. +// +// **NOTE:** setting z coordinates triggers 3D support list, leave false for 2D support +@mixin transform-origin( + $origin-x: $default-origin-x, + $origin-y: $default-origin-y, + $origin-z: false, + $only3d: if($origin-z) ) { - $transform : scale($scale) rotate($rotate) translate($transx, $transy) skew($skewx, $skewy); - @include apply-transform($transform); - @include transform-origin($originx, $originy); + $origin: unquote(''); + @if $origin-x or $origin-y or $origin-z { + @if $origin-x { $origin: $origin-x; } @else { $origin: 50%; } + @if $origin-y { $origin: $origin $origin-y; } @else { @if $origin-z { $origin: $origin 50%; }} + @if $origin-z { $origin: $origin $origin-z; } + @include apply-origin($origin, $only3d); + } } -// Transform Partials + +// Transform sent as a complete string: // +// @include transform( transforms [, 3D-only ] ) +// +// where 'transforms' is a space separated list of all the transforms to be applied +@mixin transform( + $transform, + $only3d: false +) { + @if $only3d { + @include experimental(transform, $transform, + not -moz, -webkit, not -o, not -ms, not -khtml, official + ); + } @else { + @include experimental(transform, $transform, + -moz, -webkit, -o, not -ms, not -khtml, official + ); + } +} + +// Shortcut to target all browsers with 2D transform support +@mixin transform2d($trans) { + @include transform($trans, false); +} + +// Shortcut to target only browsers with 3D transform support +@mixin transform3d($trans) { + @include transform($trans, true); +} + +// @doc off +// 3D Parameters ------------------------------------------------------------- +// @doc on + +// Set the perspective of 3D transforms on the children of an element: +// +// @include perspective( perspective ) +// +// where 'perspective' is a uniless number representing the depth of the z-axis +// the higher the perspective, the more exagerated the foreshortening. +// values from 500 to 1000 are more-or-less "normal" - a good starting-point. +@mixin perspective($p) { + @include experimental(perspective, $p, + not -moz, -webkit, not -o, not -ms, not -khtml, official + ); +} + +// Set the origin position for the perspective +// +// @include perspective-origin(origin-x [origin-y]) +// +// where the two arguments represent x/y coordinates +@mixin perspective-origin($origin: 50%) { + @include experimental(perspective-origin, $origin, + not -moz, -webkit, not -o, not -ms, not -khtml, official + ); +} + +// Determine whether a 3D objects children also live in the given 3D space +// +// @include transform-style( [ style ] ) +// +// where `style` can be either `flat` or `preserves-3d` +// browsers default to `flat`, mixin defaults to `preserves-3d` +@mixin transform-style($style: preserves-3d) { + @include experimental(perspective-origin, $style, + not -moz, -webkit, not -o, not -ms, not -khtml, official + ); +} + +// Determine the visibility of an element when it's back is turned +// +// @include backface-visibility( [ visibility ] ) +// +// where `visibility` can be either `visible` or `hidden` +// browsers default to visible, mixin defaults to hidden +@mixin backface-visibility($visibility: hidden) { + @include experimental(backface-visibility, $visibility, + not -moz, -webkit, not -o, not -ms, not -khtml, official + ); +} + +// @doc off +// Transform Partials -------------------------------------------------------- // These work well on their own, but they don't add to each other, they override. -// Use them with extra origin args, or along side +transform-origin +// Use along with transform parameter mixins to adjust origin, perspective and style +// --------------------------------------------------------------------------- -// Adjust only the scale, with optional origin coordinates -@mixin scale($scale: 1.25, $originx: false, $originy: false) { - @include apply-transform(scale($scale)); - @include transform-origin($originx, $originy); +// Scale --------------------------------------------------------------------- +// @doc on + +// Scale an object along the x and y axis: +// +// @include scale( [ scale-x, scale-y, perspective, 3D-only ] ) +// +// where the 'scale-' arguments are unitless multipliers of the x and y dimensions +// and perspective, which works the same as the stand-alone perspective property/mixin +// but applies to the individual element (multiplied with any parent perspective) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin scale( + $scale-x: $default-scale-x, + $scale-y: $scale-x, + $perspective: false, + $only3d: false +) { + $trans: scale($scale-x, $scale-y); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); } -// Adjust only the rotation, with optional origin coordinates - -@mixin rotate($rotate: 45deg, $originx: false, $originy: false) { - @include apply-transform(rotate($rotate)); - @include transform-origin($originx, $originy); +// Scale an object along the x axis +// @include scaleX( [ scale-x, perspective, 3D-only ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin scaleX( + $scale: $default-scale-x, + $perspective: false, + $only3d: false +) { + $trans: scaleX($scale); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); } -// Adjust only the translation - -@mixin translate($transx: 0, $transy: 0) { - @include apply-transform(translate($transx, $transy)); +// Scale an object along the y axis +// @include scaleY( [ scale-y, perspective, 3D-only ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin scaleY( + $scale: $default-scale-y, + $perspective: false, + $only3d: false +) { + $trans: scaleY($scale); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); } -// Adjust only the skew, with optional origin coordinates -@mixin skew($skewx: 0deg, $skewy: 0deg, $originx: false, $originy: false) { - @include apply-transform(skew($skewx, $skewy)); - @include transform-origin($originx, $originy); +// Scale an object along the z axis +// @include scaleZ( [ scale-z, perspective ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin scaleZ( + $scale: $default-scale-z, + $perspective: false +) { + $trans: scaleZ($scale); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// Scale and object along all three axis +// @include scale3d( [ scale-x, scale-y, scale-z, perspective ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin scale3d( + $scale-x: $default-scale-x, + $scale-y: $default-scale-y, + $scale-z: $default-scale-z, + $perspective: false +) { + $trans: scale3d($scale-x, $scale-y, $scale-z); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// @doc off +// Rotate -------------------------------------------------------------------- +// @doc on + +// Rotate an object around the z axis (2D) +// @include rotate( [ rotation, perspective, 3D-only ] ) +// where 'rotation' is an angle set in degrees (deg) or radian (rad) units +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin rotate( + $rotate: $default-rotate, + $perspective: false, + $only3d: false +) { + $trans: rotate($rotate); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); +} + +// A longcut for 'rotate' in case you forget that 'z' is implied +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin rotateZ( + $rotate: $default-rotate, + $perspective: false, + $only3d: false +) { + @include rotate($rotate, $perspective, $only3d); +} + +// Rotate an object around the x axis (3D) +// @include rotateX( [ rotation, perspective ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin rotateX( + $rotate: $default-rotate, + $perspective: false +) { + $trans: rotateX($rotate); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// Rotate an object around the y axis (3D) +// @include rotate( [ rotation, perspective ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin rotateY( + $rotate: $default-rotate, + $perspective: false +) { + $trans: rotateY($rotate); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// Rotate an object around an arbitrary axis (3D) +// @include rotate( [ vector-x, vector-y, vector-z, rotation, perspective ] ) +// where the 'vector-' arguments accept unitless numbers +// these numbers are not important on their own, but in relation to one another +// creating an axis from your transform-origin, along the axis of Xx = Yy = Zz +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin rotate3d( + $vector-x: $default-vector-x, + $vector-y: $default-vector-y, + $vector-z: $default-vector-z, + $rotate: $default-rotate, + $perspective: false +) { + $trans: rotate3d($vector-x, $vector-y, $vector-z, $rotate); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// @doc off +// Translate ----------------------------------------------------------------- +// @doc on + +// Move an object along the x or y axis (2D) +// @include translate( [ translate-x, translate-y, perspective, 3D-only ] ) +// where the 'translate-' arguments accept any distance in percentages or absolute (px, cm, in, em etc..) units +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin translate( + $translate-x: $default-translate-x, + $translate-y: $default-translate-y, + $perspective: false, + $only3d: false +) { + $trans: translate($translate-x, $translate-y); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); +} + +// Move an object along the x axis (2D) +// @include translate( [ translate-x, perspective, 3D-only ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin translateX( + $trans-x: $default-translate-x, + $perspective: false, + $only3d: false +) { + $trans: translateX($trans-x); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); +} + +// Move an object along the y axis (2D) +// @include translate( [ translate-y, perspective, 3D-only ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin translateY( + $trans-y: $default-translate-y, + $perspective: false, + $only3d: false +) { + $trans: translateY($trans-y); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform($trans, $only3d); +} + +// Move an object along the z axis (3D) +// @include translate( [ translate-z, perspective ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin translateZ( + $trans-z: $default-translate-z, + $perspective: false +) { + $trans: translateZ($trans-z); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// Move an object along the x, y and z axis (3D) +// @include translate( [ translate-x, translate-y, translate-z, perspective ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin translate3d( + $translate-x: $default-translate-x, + $translate-y: $default-translate-y, + $translate-z: $default-translate-z, + $perspective: false +) { + $trans: translate3d($translate-x, $translate-y, $translate-z); + @if $perspective { $trans: perspective($perspective) $trans; } + @include transform3d($trans); +} + +// @doc off +// Skew ---------------------------------------------------------------------- +// @doc on + +// Skew an element: +// +// @include skew( [ skew-x, skew-y, 3D-only ] ) +// +// where the 'skew-' arguments accept css angles in degrees (deg) or radian (rad) units +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin skew( + $skew-x: $default-skew-x, + $skew-y: $default-skew-y, + $only3d: false +) { + $trans: skew($skew-x, $skew-y); + @include transform($trans, $only3d); +} + +// Skew an element along the x axiz +// +// @include skew( [ skew-x, 3D-only ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin skewX( + $skew-x: $default-skew-x, + $only3d: false +) { + $trans: skewX($skew-x); + @include transform($trans, $only3d); +} + +// Skew an element along the y axis +// +// @include skew( [ skew-y, 3D-only ] ) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin skewY( + $skew-y: $default-skew-y, + $only3d: false +) { + $trans: skewY($skew-y); + @include transform($trans, $only3d); +} + + +// Full transform mixins +// For settings any combination of transforms as arguments +// These are complex and not highly recommended for daily use +// They are mainly here for backwards-compatability purposes +// +// * they include origin adjustments +// * scale takes a multiplier (unitless), rotate and skew take degrees (deg) +// +// **Note** This mixin cannot be combined with other transform mixins. +@mixin create-transform( + $perspective: false, + $scale-x: false, + $scale-y: false, + $scale-z: false, + $rotate-x: false, + $rotate-y: false, + $rotate-z: false, + $rotate3d: false, + $trans-x: false, + $trans-y: false, + $trans-z: false, + $skew-x: false, + $skew-y: false, + $origin-x: false, + $origin-y: false, + $origin-z: false, + $only3d: false +) { + $trans: unquote(""); + + // perspective + @if $perspective { $trans: perspective($perspective) ; } + + // scale + @if $scale-x and $scale-y { + @if $scale-z { $trans: $trans scale3d($scale-x, $scale-y, $scale-z); } + @else { $trans: $trans scale($scale-x, $scale-y); } + } @else { + @if $scale-x { $trans: $trans scaleX($scale-x); } + @if $scale-y { $trans: $trans scaleY($scale-y); } + @if $scale-z { $trans: $trans scaleZ($scale-z); } + } + + // rotate + @if $rotate-x { $trans: $trans rotateX($rotate-x); } + @if $rotate-y { $trans: $trans rotateY($rotate-y); } + @if $rotate-z { $trans: $trans rotateZ($rotate-z); } + @if $rotate3d { $trans: $trans rotate3d($rotate3d); } + + // translate + @if $trans-x and $trans-y { + @if $trans-z { $trans: $trans translate3d($trans-x, $trans-y, $trans-z); } + @else { $trans: $trans translate($trans-x, $trans-y); } + } @else { + @if $trans-x { $trans: $trans translateX($trans-x); } + @if $trans-y { $trans: $trans translateY($trans-y); } + @if $trans-z { $trans: $trans translateZ($trans-z); } + } + + // skew + @if $skew-x and $skew-y { $trans: $trans skew($skew-x, $skew-y); } + @else { + @if $skew-x { $trans: $trans skewX($skew-x); } + @if $skew-y { $trans: $trans skewY($skew-y); } + } + + // apply it! + @include transform($trans, $only3d); + @include transform-origin($origin-x, $origin-y, $origin-z, $only3d); +} + + +// A simplified set of options +// backwards-compatible with the previous version of the 'transform' mixin +@mixin simple-transform( + $scale: false, + $rotate: false, + $trans-x: false, + $trans-y: false, + $skew-x: false, + $skew-y: false, + $origin-x: false, + $origin-y: false +) { + @include create-transform( + false, + $scale, $scale, false, + false, false, $rotate, false, + $trans-x, $trans-y, false, + $skew-x, $skew-y, + $origin-x, $origin-y, false, + false + ); } diff --git a/frameworks/compass/stylesheets/compass/css3/_version-1.scss b/frameworks/compass/stylesheets/compass/css3/_version-1.scss deleted file mode 100644 index 273f9d49..00000000 --- a/frameworks/compass/stylesheets/compass/css3/_version-1.scss +++ /dev/null @@ -1,16 +0,0 @@ -@import "border-radius"; -@import "inline-block"; -@import "opacity"; -@import "box-shadow"; -@import "text-shadow"; -@import "columns"; -@import "box-sizing"; -@import "box"; -@import "images"; -@import "gradient"; -@import "background-clip"; -@import "background-origin"; -@import "background-size"; -@import "font-face"; -@import "transform"; -@import "transition"; diff --git a/frameworks/compass/stylesheets/compass/css3/_version-2.scss b/frameworks/compass/stylesheets/compass/css3/_version-2.scss deleted file mode 100644 index ae111133..00000000 --- a/frameworks/compass/stylesheets/compass/css3/_version-2.scss +++ /dev/null @@ -1,15 +0,0 @@ -@import "border-radius"; -@import "inline-block"; -@import "opacity"; -@import "box-shadow-v2"; -@import "text-shadow-v2"; -@import "columns"; -@import "box-sizing"; -@import "box"; -@import "images"; -@import "background-clip"; -@import "background-origin"; -@import "background-size"; -@import "font-face"; -@import "transform-v2"; -@import "transition"; diff --git a/lib/compass/sass_extensions/functions/gradient_support.rb b/lib/compass/sass_extensions/functions/gradient_support.rb index 53b067e9..f1388111 100644 --- a/lib/compass/sass_extensions/functions/gradient_support.rb +++ b/lib/compass/sass_extensions/functions/gradient_support.rb @@ -270,7 +270,6 @@ module Compass::SassExtensions::Functions::GradientSupport a.options = options if a.is_a?(Sass::Script::List) Sass::Script::List.new(a.value.map do |v| - v.options = options v.respond_to?(:to_#{prefix}) ? v.to_#{prefix} : v end, a.separator) else diff --git a/test/fixtures/stylesheets/compass/css/gradients.css b/test/fixtures/stylesheets/compass/css/gradients.css index 0927886e..58ee72f3 100644 --- a/test/fixtures/stylesheets/compass/css/gradients.css +++ b/test/fixtures/stylesheets/compass/css/gradients.css @@ -46,7 +46,7 @@ list-style-image: url('/images/4x6.png?busted=true'); } .shorthand-list-image-plain { - list-style-image: outside url('/images/4x6.png?busted=true'); } + list-style-image: outside url("/images/4x6.png?busted=true"); } .direct-list-image-with-gradient { list-style-image: -moz-radial-gradient(#00ff00, #ff0000 10px); diff --git a/test/fixtures/stylesheets/compass/css/text_shadow.css b/test/fixtures/stylesheets/compass/css/text_shadow.css new file mode 100644 index 00000000..bb07037e --- /dev/null +++ b/test/fixtures/stylesheets/compass/css/text_shadow.css @@ -0,0 +1,14 @@ +.legacy-text-shadow { + text-shadow: #777777 5px 5px 10px; } + +.single-text-shadow { + text-shadow: #aaaaaa 0px 0px 1px; } + +.default-text-shadow { + text-shadow: #aaaaaa 0px 0px 1px; } + +.multiple-text-shadows-with-default { + text-shadow: #aaaaaa 0px 0px 1px, 2px 2px 5px #222222; } + +.multiple-text-shadows { + text-shadow: 4px 4px 10px #444444, 2px 2px 5px #222222; } diff --git a/test/fixtures/stylesheets/compass/sass/box.sass b/test/fixtures/stylesheets/compass/sass/box.sass index 879a3b5d..62c77216 100644 --- a/test/fixtures/stylesheets/compass/sass/box.sass +++ b/test/fixtures/stylesheets/compass/sass/box.sass @@ -1,4 +1,4 @@ -@import compass/css3 +@import compass/css3/box .hbox +display-box diff --git a/test/fixtures/stylesheets/compass/sass/box_shadow.scss b/test/fixtures/stylesheets/compass/sass/box_shadow.scss index 0253f4d0..a2428160 100644 --- a/test/fixtures/stylesheets/compass/sass/box_shadow.scss +++ b/test/fixtures/stylesheets/compass/sass/box_shadow.scss @@ -1,4 +1,4 @@ -@import "compass/css3/box-shadow-v2"; +@import "compass/css3/box-shadow"; .box-shadow { @include box-shadow(default, 2px 2px 5px #222);} .single-box-shadow { @include single-box-shadow;} diff --git a/test/fixtures/stylesheets/compass/sass/gradients.sass b/test/fixtures/stylesheets/compass/sass/gradients.sass index 9f70d8da..4369b300 100644 --- a/test/fixtures/stylesheets/compass/sass/gradients.sass +++ b/test/fixtures/stylesheets/compass/sass/gradients.sass @@ -1,4 +1,4 @@ -@import compass/css3 +@import compass/css3/images, compass/css3/gradient $experimental-support-for-svg: true .bg-simple-image diff --git a/test/fixtures/stylesheets/compass/sass/pie.scss b/test/fixtures/stylesheets/compass/sass/pie.scss index b8f6484d..ed89d025 100644 --- a/test/fixtures/stylesheets/compass/sass/pie.scss +++ b/test/fixtures/stylesheets/compass/sass/pie.scss @@ -1,5 +1,5 @@ -@import "compass/css3/pie"; @import "compass/css3"; +@import "compass/css3/pie"; // There are two approaches to creating PIE elements diff --git a/test/fixtures/stylesheets/compass/sass/text_shadow.scss b/test/fixtures/stylesheets/compass/sass/text_shadow.scss new file mode 100644 index 00000000..63129328 --- /dev/null +++ b/test/fixtures/stylesheets/compass/sass/text_shadow.scss @@ -0,0 +1,7 @@ +@import "compass/css3/text-shadow"; + +.legacy-text-shadow { @include text-shadow(#777, 5px, 5px, 10px); } +.single-text-shadow { @include single-text-shadow;} +.default-text-shadow { @include text-shadow;} +.multiple-text-shadows-with-default { @include multiple-text-shadows(default, 2px 2px 5px #222);} +.multiple-text-shadows { @include multiple-text-shadows(4px 4px 10px #444, 2px 2px 5px #222);} diff --git a/test/fixtures/stylesheets/compass/sass/transform.scss b/test/fixtures/stylesheets/compass/sass/transform.scss index 0fe47c82..9accbefc 100644 --- a/test/fixtures/stylesheets/compass/sass/transform.scss +++ b/test/fixtures/stylesheets/compass/sass/transform.scss @@ -1,4 +1,4 @@ -@import "compass/css3/transform-v2"; +@import "compass/css3/transform"; .apply-origin-2d { @include apply-origin(2px 5%, false); } .apply-origin-3d { @include apply-origin(2px 5% 2in, true); }