CSS-Prepare
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/CSS/Prepare/Property/Expansions.pm view on Meta::CPAN
package CSS::Prepare::Property::Expansions;
use Modern::Perl;
use CSS::Prepare::Property::Values;
use Exporter;
our @ISA = qw( Exporter );
our @EXPORT = qw(
expand_trbl_shorthand
collapse_trbl_shorthand
expand_clip
shorten_colour_value
shorten_length_value
shorten_url_value
validate_any_order_shorthand
get_corner_values
expand_corner_values
collapse_corner_values
);
sub expand_trbl_shorthand {
my $pattern = shift;
my $value = shift;
my @values = split( m{\s+}, $value );
my %values;
given ( $#values ) {
when ( 0 ) {
# top/bottom/left/right shorthand
foreach my $subproperty qw( top bottom left right ) {
my $key = sprintf $pattern, $subproperty;
$values{ $key } = shorten_length_value( $values[0] );
}
}
when ( 1 ) {
# top/bottom and left/right shorthand
foreach my $subproperty qw ( top bottom ) {
my $key = sprintf $pattern, $subproperty;
$values{ $key } = shorten_length_value( $values[0] );
}
foreach my $subproperty qw ( left right ) {
my $key = sprintf $pattern, $subproperty;
$values{ $key } = shorten_length_value( $values[1] );
}
}
when ( 2 ) {
# top, left/right and bottom shorthand
my $key = sprintf $pattern, 'top';
$values{ $key } = shorten_length_value( $values[0] );
foreach my $subproperty qw ( left right ) {
$key = sprintf $pattern, $subproperty;
$values{ $key } = shorten_length_value( $values[1] );
}
$key = sprintf $pattern, 'bottom';
$values{ $key } = shorten_length_value( $values[2] );
}
when ( 3 ) {
# top, right, bottom and left shorthand
my $key = sprintf $pattern, 'top';
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.424 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )