CSS-Prepare
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/CSS/Prepare/Property/BorderRadius.pm view on Meta::CPAN
package CSS::Prepare::Property::BorderRadius;
use Modern::Perl;
use CSS::Prepare::Property::Expansions;
use CSS::Prepare::Property::Values;
my $get_border_radius_values = qr{
(?'h1' $individual_border_radius_value )
(?: \s+ (?'h2' $individual_border_radius_value ) )?
(?: \s+ (?'h3' $individual_border_radius_value ) )?
(?: \s+ (?'h4' $individual_border_radius_value ) )?
(?:
\s* / \s*
(?'v1' $individual_border_radius_value )
(?: \s+ (?'v2' $individual_border_radius_value ) )?
(?: \s+ (?'v3' $individual_border_radius_value ) )?
(?: \s+ (?'v4' $individual_border_radius_value ) )?
)?
}x;
sub parse {
my $self = shift;
my $has_hack = shift;
my $location = shift;
my %declaration = @_;
my $property = $declaration{'property'};
my $value = $declaration{'value'};
my %canonical;
my @errors;
foreach my $corner ( @standard_corners ) {
my $check = "border-${corner}-radius";
if ( $check eq $property ) {
if ( $value =~ m{^ $border_radius_corner_value $}x ) {
$canonical{ $check } = $value;
}
else {
push @errors, {
error => "invalid ${check} property: '${value}'"
};
}
}
}
if ( 'border-radius' eq $property ) {
if ( $value =~ m{^ $get_border_radius_values $}x ) {
my %match = %+;
my @matches;
map { push @matches, $match{$_} if defined $match{$_} }
qw( h1 h2 h3 h4 );
my @horizontal = expand_corner_values( @matches );
undef @matches;
map { push @matches, $match{$_} if defined $match{$_} }
qw( v1 v2 v3 v4 );
my @vertical = expand_corner_values( @matches );
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.053 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )