Update besar apk finance

This commit is contained in:
Wian Drs
2026-09-11 16:03:00 +07:00
parent d42483b350
commit 4ef15c22ae
897 changed files with 98056 additions and 15979 deletions
+318 -114
View File
@@ -1,6 +1,7 @@
# PHP CSS Parser
[![Build Status](https://github.com/sabberworm/PHP-CSS-Parser/workflows/CI/badge.svg?branch=master)](https://github.com/sabberworm/PHP-CSS-Parser/actions/)
[![Build Status](https://github.com/MyIntervals/PHP-CSS-Parser/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MyIntervals/PHP-CSS-Parser/actions/)
[![Coverage Status](https://coveralls.io/repos/github/MyIntervals/PHP-CSS-Parser/badge.svg?branch=main)](https://coveralls.io/github/MyIntervals/PHP-CSS-Parser?branch=main)
A Parser for CSS Files written in PHP. Allows extraction of CSS files into a data structure, manipulation of said structure and output as (optimized) CSS.
@@ -158,7 +159,7 @@ foreach($cssDocument->getAllRuleSets() as $oRuleSet) {
// Note that the added dash will make this remove all rules starting with
// `font-` (like `font-size`, `font-weight`, etc.) as well as a potential
// `font` rule.
$oRuleSet->removeRule('font-');
$oRuleSet->removeRule('font-');
$oRuleSet->removeRule('cursor');
}
```
@@ -220,44 +221,44 @@ html, body {
```php
class Sabberworm\CSS\CSSList\Document#4 (2) {
protected $aContents =>
protected $contents =>
array(4) {
[0] =>
class Sabberworm\CSS\Property\Charset#6 (2) {
private $sCharset =>
private $charset =>
class Sabberworm\CSS\Value\CSSString#5 (2) {
private $sString =>
private $string =>
string(5) "utf-8"
protected $iLineNo =>
protected $lineNumber =>
int(1)
}
protected $iLineNo =>
protected $lineNumber =>
int(1)
}
[1] =>
class Sabberworm\CSS\RuleSet\AtRuleSet#7 (4) {
private $sType =>
private $type =>
string(9) "font-face"
private $sArgs =>
private $arguments =>
string(0) ""
private $aRules =>
private $rules =>
array(2) {
'font-family' =>
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#8 (4) {
private $sRule =>
private $rule =>
string(11) "font-family"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\CSSString#9 (2) {
private $sString =>
private $string =>
string(10) "CrassRoots"
protected $iLineNo =>
protected $lineNumber =>
int(4)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(4)
}
}
@@ -265,76 +266,76 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#10 (4) {
private $sRule =>
private $rule =>
string(3) "src"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\URL#11 (2) {
private $oURL =>
private $url =>
class Sabberworm\CSS\Value\CSSString#12 (2) {
private $sString =>
private $string =>
string(15) "../media/cr.ttf"
protected $iLineNo =>
protected $lineNumber =>
int(5)
}
protected $iLineNo =>
protected $lineNumber =>
int(5)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(5)
}
}
}
protected $iLineNo =>
protected $lineNumber =>
int(3)
}
[2] =>
class Sabberworm\CSS\RuleSet\DeclarationBlock#13 (3) {
private $aSelectors =>
private $selectors =>
array(2) {
[0] =>
class Sabberworm\CSS\Property\Selector#14 (2) {
private $sSelector =>
private $selector =>
string(4) "html"
private $iSpecificity =>
private $specificity =>
NULL
}
[1] =>
class Sabberworm\CSS\Property\Selector#15 (2) {
private $sSelector =>
private $selector =>
string(4) "body"
private $iSpecificity =>
private $specificity =>
NULL
}
}
private $aRules =>
private $rules =>
array(1) {
'font-size' =>
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#16 (4) {
private $sRule =>
private $rule =>
string(9) "font-size"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\Size#17 (4) {
private $fSize =>
private $size =>
double(1.6)
private $sUnit =>
private $unit =>
string(2) "em"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(9)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(9)
}
}
}
protected $iLineNo =>
protected $lineNumber =>
int(8)
}
[3] =>
@@ -343,96 +344,96 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
string(9) "keyframes"
private $animationName =>
string(6) "mymove"
protected $aContents =>
protected $contents =>
array(2) {
[0] =>
class Sabberworm\CSS\RuleSet\DeclarationBlock#19 (3) {
private $aSelectors =>
private $selectors =>
array(1) {
[0] =>
class Sabberworm\CSS\Property\Selector#20 (2) {
private $sSelector =>
private $selector =>
string(4) "from"
private $iSpecificity =>
private $specificity =>
NULL
}
}
private $aRules =>
private $rules =>
array(1) {
'top' =>
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#21 (4) {
private $sRule =>
private $rule =>
string(3) "top"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\Size#22 (4) {
private $fSize =>
private $size =>
double(0)
private $sUnit =>
private $unit =>
string(2) "px"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(13)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(13)
}
}
}
protected $iLineNo =>
protected $lineNumber =>
int(13)
}
[1] =>
class Sabberworm\CSS\RuleSet\DeclarationBlock#23 (3) {
private $aSelectors =>
private $selectors =>
array(1) {
[0] =>
class Sabberworm\CSS\Property\Selector#24 (2) {
private $sSelector =>
private $selector =>
string(2) "to"
private $iSpecificity =>
private $specificity =>
NULL
}
}
private $aRules =>
private $rules =>
array(1) {
'top' =>
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#25 (4) {
private $sRule =>
private $rule =>
string(3) "top"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\Size#26 (4) {
private $fSize =>
private $size =>
double(200)
private $sUnit =>
private $unit =>
string(2) "px"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(14)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(14)
}
}
}
protected $iLineNo =>
protected $lineNumber =>
int(14)
}
}
protected $iLineNo =>
protected $lineNumber =>
int(12)
}
}
protected $iLineNo =>
protected $lineNumber =>
int(1)
}
@@ -466,85 +467,85 @@ html, body {font-size: 1.6em;}
```php
class Sabberworm\CSS\CSSList\Document#4 (2) {
protected $aContents =>
protected $contents =>
array(1) {
[0] =>
class Sabberworm\CSS\RuleSet\DeclarationBlock#5 (3) {
private $aSelectors =>
private $selectors =>
array(1) {
[0] =>
class Sabberworm\CSS\Property\Selector#6 (2) {
private $sSelector =>
private $selector =>
string(7) "#header"
private $iSpecificity =>
private $specificity =>
NULL
}
}
private $aRules =>
private $rules =>
array(3) {
'margin' =>
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#7 (4) {
private $sRule =>
private $rule =>
string(6) "margin"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\RuleValueList#12 (3) {
protected $aComponents =>
protected $components =>
array(4) {
[0] =>
class Sabberworm\CSS\Value\Size#8 (4) {
private $fSize =>
private $size =>
double(10)
private $sUnit =>
private $unit =>
string(2) "px"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(2)
}
[1] =>
class Sabberworm\CSS\Value\Size#9 (4) {
private $fSize =>
private $size =>
double(2)
private $sUnit =>
private $unit =>
string(2) "em"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(2)
}
[2] =>
class Sabberworm\CSS\Value\Size#10 (4) {
private $fSize =>
private $size =>
double(1)
private $sUnit =>
private $unit =>
string(2) "cm"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(2)
}
[3] =>
class Sabberworm\CSS\Value\Size#11 (4) {
private $fSize =>
private $size =>
double(2)
private $sUnit =>
private $unit =>
string(1) "%"
private $bIsColorComponent =>
private $isColorComponent =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(2)
}
}
protected $sSeparator =>
protected $separator =>
string(1) " "
protected $iLineNo =>
protected $lineNumber =>
int(2)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(2)
}
}
@@ -552,11 +553,11 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#13 (4) {
private $sRule =>
private $rule =>
string(11) "font-family"
private $mValue =>
private $value =>
class Sabberworm\CSS\Value\RuleValueList#15 (3) {
protected $aComponents =>
protected $components =>
array(4) {
[0] =>
string(7) "Verdana"
@@ -564,9 +565,9 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
string(9) "Helvetica"
[2] =>
class Sabberworm\CSS\Value\CSSString#14 (2) {
private $sString =>
private $string =>
string(9) "Gill Sans"
protected $iLineNo =>
protected $lineNumber =>
int(3)
}
[3] =>
@@ -574,12 +575,12 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
}
protected $sSeparator =>
string(1) ","
protected $iLineNo =>
protected $lineNumber =>
int(3)
}
private $bIsImportant =>
private $isImportant =>
bool(false)
protected $iLineNo =>
protected $lineNumber =>
int(3)
}
}
@@ -587,22 +588,22 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
array(1) {
[0] =>
class Sabberworm\CSS\Rule\Rule#16 (4) {
private $sRule =>
private $rule =>
string(5) "color"
private $mValue =>
private $value =>
string(3) "red"
private $bIsImportant =>
private $isImportant =>
bool(true)
protected $iLineNo =>
protected $lineNumber =>
int(4)
}
}
}
protected $iLineNo =>
protected $lineNumber =>
int(1)
}
}
protected $iLineNo =>
protected $lineNumber =>
int(1)
}
@@ -615,6 +616,207 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
#header {margin: 10px 2em 1cm 2%;font-family: Verdana,Helvetica,"Gill Sans",sans-serif;color: red !important;}
```
## Class diagram
```mermaid
classDiagram
direction LR
class Anchor {
}
class AtRule {
<<interface>>
}
class AtRuleBlockList {
}
class AtRuleSet {
}
class CSSBlockList {
<<abstract>>
}
class CSSElement {
<<interface>>
}
class CSSFunction {
}
class CSSList {
<<abstract>>
}
class CSSListItem {
<<interface>>
}
class CSSNamespace {
}
class CSSString {
}
class CalcFunction {
}
class CalcRuleValueList {
}
class Charset {
}
class Color {
}
class Comment {
}
class Commentable {
<<interface>>
}
class DeclarationBlock {
}
class Document {
}
class Import {
}
class KeyFrame {
}
class KeyframeSelector {
}
class LineName {
}
class OutputException {
}
class OutputFormat {
}
class OutputFormatter {
}
class Parser {
}
class ParserState {
}
class Positionable {
<<interface>>
}
class PrimitiveValue {
<<abstract>>
}
class Renderable {
<<interface>>
}
class Rule {
}
class RuleContainer {
<<interface>>
}
class RuleSet {
}
class RuleValueList {
}
class Selector {
}
class Settings {
}
class Size {
}
class SourceException {
}
class SpecificityCalculator {
}
class URL {
}
class UnexpectedEOFException {
}
class UnexpectedTokenException {
}
class Value {
<<abstract>>
}
class ValueList {
<<abstract>>
}
Anchor ..> ParserState: dependency
CSSListItem <|-- AtRule: inheritance
AtRule <|.. AtRuleBlockList: realization
CSSBlockList <|-- AtRuleBlockList: inheritance
AtRule <|.. AtRuleSet: realization
RuleSet <|-- AtRuleSet: inheritance
CSSList <|-- CSSBlockList: inheritance
Renderable <|-- CSSElement: inheritance
ValueList <|-- CSSFunction: inheritance
CSSElement <|.. CSSList: realization
CSSListItem <|.. CSSList: realization
CSSList ..> Charset: dependency
CSSList ..> Import: dependency
Positionable <|.. CSSList: realization
Commentable <|-- CSSListItem: inheritance
Renderable <|-- CSSListItem: inheritance
AtRule <|.. CSSNamespace: realization
Positionable <|.. CSSNamespace: realization
PrimitiveValue <|-- CSSString: inheritance
CSSFunction <|-- CalcFunction: inheritance
RuleValueList <|-- CalcRuleValueList: inheritance
AtRule <|.. Charset: realization
Charset ..> CSSString: dependency
Positionable <|.. Charset: realization
CSSFunction <|-- Color: inheritance
Positionable <|.. Comment: realization
Renderable <|.. Comment: realization
CSSElement <|.. DeclarationBlock: realization
CSSListItem <|.. DeclarationBlock: realization
Positionable <|.. DeclarationBlock: realization
RuleContainer <|.. DeclarationBlock: realization
DeclarationBlock ..> RuleSet : dependency
DeclarationBlock ..> Selector: dependency
CSSBlockList <|-- Document: inheritance
AtRule <|.. Import: realization
Positionable <|.. Import: realization
AtRule <|.. KeyFrame: realization
CSSList <|-- KeyFrame: inheritance
Selector <|-- KeyframeSelector: inheritance
ValueList <|-- LineName: inheritance
SourceException <|-- OutputException: inheritance
OutputFormat ..> OutputFormatter: dependency
OutputFormatter ..> OutputFormat: dependency
Parser ..> ParserState: dependency
ParserState ..> Settings: dependency
Value <|-- PrimitiveValue: inheritance
CSSElement <|.. Rule: realization
Commentable <|.. Rule: realization
Positionable <|.. Rule: realization
Rule ..> RuleValueList: dependency
CSSElement <|.. RuleSet: realization
CSSListItem <|.. RuleSet: realization
Positionable <|.. RuleSet: realization
RuleSet ..> Rule: dependency
RuleContainer <|.. RuleSet: realization
ValueList <|-- RuleValueList: inheritance
Renderable <|.. Selector: realization
PrimitiveValue <|-- Size: inheritance
Exception <|-- SourceException: inheritance
Positionable <|.. SourceException: realization
URL ..> CSSString: dependency
PrimitiveValue <|-- URL: inheritance
UnexpectedTokenException <|-- UnexpectedEOFException: inheritance
SourceException <|-- UnexpectedTokenException: inheritance
CSSElement <|.. Value: realization
Positionable <|.. Value: realization
Value <|-- ValueList: inheritance
CSSList ..> CSSList: dependency
CSSList ..> Comment: dependency
CSSList ..> RuleSet: dependency
CSSNamespace ..> Comment: dependency
Charset ..> Comment: dependency
Import ..> Comment: dependency
OutputFormat ..> OutputFormat: dependency
Rule ..> Comment: dependency
RuleSet ..> Comment: dependency
ValueList ..> Value: dependency
```
## API and deprecation policy
Please have a look at our
[API and deprecation policy](docs/API-and-deprecation-policy.md).
## Contributing
Contributions in the form of bug reports, feature requests, or pull requests are
more than welcome. :pray: Please have a look at our
[contribution guidelines](CONTRIBUTING.md) to learn more about how to
contribute to PHP-CSS-Parser.
## Contributors/Thanks to
* [oliverklee](https://github.com/oliverklee) for lots of refactorings, code modernizations and CI integrations
@@ -628,10 +830,12 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
* [docteurklein](https://github.com/docteurklein) for output formatting and `CSSList->remove()` inspiration.
* [nicolopignatelli](https://github.com/nicolopignatelli) for PSR-0 compatibility.
* [diegoembarcadero](https://github.com/diegoembarcadero) for keyframe at-rule parsing.
* [goetas](https://github.com/goetas) for @namespace at-rule support.
* [goetas](https://github.com/goetas) for `@namespace` at-rule support.
* [ziegenberg](https://github.com/ziegenberg) for general housekeeping and cleanup.
* [View full list](https://github.com/sabberworm/PHP-CSS-Parser/contributors)
## Misc
* Legacy Support: The latest pre-PSR-0 version of this project can be checked with the `0.9.0` tag.
* Running Tests: To run all unit tests for this project, run `composer install` to install phpunit and use `./vendor/bin/phpunit`.
### Legacy Support
The latest pre-PSR-0 version of this project can be checked with the `0.9.0` tag.