0byt3m1n1
Path:
/
home
/
k
/
a
/
s
/
kassiope
/
www
/
vendor
/
css-crush
/
css-crush
/
plugins
/
[
Home
]
File: ease.php
<?php /** * Expanded easing keywords for transitions * * @see docs/plugins/ease.md */ namespace CssCrush; \csscrush_plugin('ease', function ($process) { $process->on('rule_prealias', 'CssCrush\ease'); }); function ease(Rule $rule) { static $find, $replace, $easing_properties; if (! $find) { $easings = [ 'ease-in-out-back' => 'cubic-bezier(.680,-0.550,.265,1.550)', 'ease-in-out-circ' => 'cubic-bezier(.785,.135,.150,.860)', 'ease-in-out-expo' => 'cubic-bezier(1,0,0,1)', 'ease-in-out-sine' => 'cubic-bezier(.445,.050,.550,.950)', 'ease-in-out-quint' => 'cubic-bezier(.860,0,.070,1)', 'ease-in-out-quart' => 'cubic-bezier(.770,0,.175,1)', 'ease-in-out-cubic' => 'cubic-bezier(.645,.045,.355,1)', 'ease-in-out-quad' => 'cubic-bezier(.455,.030,.515,.955)', 'ease-out-back' => 'cubic-bezier(.175,.885,.320,1.275)', 'ease-out-circ' => 'cubic-bezier(.075,.820,.165,1)', 'ease-out-expo' => 'cubic-bezier(.190,1,.220,1)', 'ease-out-sine' => 'cubic-bezier(.390,.575,.565,1)', 'ease-out-quint' => 'cubic-bezier(.230,1,.320,1)', 'ease-out-quart' => 'cubic-bezier(.165,.840,.440,1)', 'ease-out-cubic' => 'cubic-bezier(.215,.610,.355,1)', 'ease-out-quad' => 'cubic-bezier(.250,.460,.450,.940)', 'ease-in-back' => 'cubic-bezier(.600,-0.280,.735,.045)', 'ease-in-circ' => 'cubic-bezier(.600,.040,.980,.335)', 'ease-in-expo' => 'cubic-bezier(.950,.050,.795,.035)', 'ease-in-sine' => 'cubic-bezier(.470,0,.745,.715)', 'ease-in-quint' => 'cubic-bezier(.755,.050,.855,.060)', 'ease-in-quart' => 'cubic-bezier(.895,.030,.685,.220)', 'ease-in-cubic' => 'cubic-bezier(.550,.055,.675,.190)', 'ease-in-quad' => 'cubic-bezier(.550,.085,.680,.530)', ]; $easing_properties = [ 'transition' => true, 'transition-timing-function' => true, ]; foreach ($easings as $property => $value) { $patt = Regex::make("~{{ LB }}$property{{ RB }}~i"); $find[] = $patt; $replace[] = $value; } } if (! array_intersect_key($rule->declarations->canonicalProperties, $easing_properties)) { return; } foreach ($rule->declarations->filter(['skip' => false]) as $declaration) { if (isset($easing_properties[$declaration->canonicalProperty])) { $declaration->value = preg_replace($find, $replace, $declaration->value); } } }