The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mo::utils::CSS - Mo CSS utilities.

SYNOPSIS

 use Mo::utils::CSS qw(check_array_css_color check_css_border check_css_class check_css_color check_css_unit);

 check_array_css_color($self, $key);
 check_css_border($self, $key);
 check_css_class($self, $key);
 check_css_color($self, $key);
 check_css_unit($self, $key);

DESCRIPTION

Mo utilities for checking of CSS style things.

SUBROUTINES

check_array_css_color

 check_array_css_color($self, $key);

Since version 0.03.

Check parameter defined by $key which is reference to array. Check if all values are CSS colors.

Put error if check isn't ok.

Returns undef.

check_css_border

 check_css_border($self, $key);

Since version 0.07.

Check parameter defined by $key if it's CSS border. Value could be undefined.

Put error if check isn't ok.

Returns undef.

check_css_class

 check_css_class($self, $key);

Since version 0.02.

Check parameter defined by $key if it's CSS class name. Value could be undefined.

Put error if check isn't ok.

Returns undef.

check_css_color

 check_css_color($self, $key);

Since version 0.03.

Check parameter defined by $key if it's CSS color. Value could be undefined.

Put error if check isn't ok.

Returns undef.

check_css_unit

 check_css_unit($self, $key);

Since version 0.01. Described functionality since version 0.07.

Check parameter defined by $key if it's CSS unit. Value could be undefined.

Put error if check isn't ok.

Returns undef.

ERRORS

 check_array_css_color():
         Parameter '%s' has bad color name.
                 Value: %s
         Parameter '%s' has bad rgb color (bad hex number).
                 Value: %s
         Parameter '%s' has bad rgb color (bad length).
                 Value: %s
         Parameter '%s' must be a array.
                 Value: %s
                 Reference: %s

 check_css_border()
         Parameter '%s' contain bad unit.
                 Unit: %s
                 Value: %s
         Parameter '%s' doesn't contain unit name.
                 Value: %s
         Parameter '%s' doesn't contain unit number.
                 Value: %s
         Parameter '%s' has bad rgb color (bad hex number).
                 Value: %s
         Parameter '%s' has bad rgb color (bad length).
                 Value: %s
         Parameter '%s' has bad color name.
                 Value: %s
         Parameter '%s' hasn't border style.
                 Value: %s
         Parameter '%s' must be a array.
                 Value: %s
                 Reference: %s

 check_css_class():
         Parameter '%s' has bad CSS class name.
                 Value: %s
         Parameter '%s' has bad CSS class name (number on begin).
                 Value: %s

 check_css_color():
         Parameter '%s' has bad color name.
                 Value: %s
         Parameter '%s' has bad rgb color (bad hex number).
                 Value: %s
         Parameter '%s' has bad rgb color (bad length).
                 Value: %s

 check_css_unit():
         Parameter '%s' contain bad unit.
                 Unit: %s
                 Value: %s
         Parameter '%s' doesn't contain unit name.
                 Value: %s
         Parameter '%s' doesn't contain unit number.
                 Value: %s

EXAMPLE1

 use strict;
 use warnings;

 use Mo::utils::CSS qw(check_array_css_color);

 my $self = {
         'key' => [
                 'red',
                 '#F00', '#FF0000', '#FF000000',
                 'rgb(255,0,0)', 'rgba(255,0,0,0.3)',
                 'hsl(120, 100%, 50%)', 'hsla(120, 100%, 50%, 0.3)',
         ],
 };
 check_array_css_color($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE2

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::CSS qw(check_array_css_color);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => ['xxx'],
 };
 check_array_css_color($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [...utils.pm:?] Parameter 'key' has bad color name.

EXAMPLE3

 use strict;
 use warnings;

 use Mo::utils::CSS qw(check_css_border);

 my $self = {
         'key' => '1px solid red',
 };
 check_css_border($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE4

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::CSS qw(check_css_border);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => 'bad',
 };
 check_css_border($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [...utils.pm:?] Parameter 'key' has bad border style.

EXAMPLE5

 use strict;
 use warnings;

 use Mo::utils::CSS qw(check_css_class);

 my $self = {
         'key' => 'foo-bar',
 };
 check_css_class($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE6

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::CSS qw(check_css_class);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => '1xxx',
 };
 check_css_class($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [...utils.pm:?] Parameter 'key' has bad CSS class name (number of begin).

EXAMPLE7

 use strict;
 use warnings;

 use Mo::utils::CSS qw(check_css_color);

 my $self = {
         'key' => '#F00',
 };
 check_css_color($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE8

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::CSS qw(check_css_color);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => 'xxx',
 };
 check_css_color($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [...utils.pm:?] Parameter 'key' has bad color name.

EXAMPLE9

 use strict;
 use warnings;

 use Mo::utils::CSS qw(check_css_unit);

 my $self = {
         'key' => '123px',
 };
 check_css_unit($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE10

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::CSS qw(check_css_unit);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => '12',
 };
 check_css_unit($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [...utils.pm:?] Parameter 'key' doesn't contain unit name.

DEPENDENCIES

Error::Pure, Exporter, Graphics::ColorNames::CSS, List::Util, Mo::utils, Readonly.

SEE ALSO

Mo

Micro Objects. Mo is less.

Mo::utils

Mo utilities.

Mo::utils::Language

Mo language utilities.

Wikibase::Datatype::Utils

Wikibase datatype utilities.

REPOSITORY

https://github.com/michal-josef-spacek/Mo-utils-CSS

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2023-2024 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.08