Last active
September 26, 2019 15:34
-
-
Save earth3300/b6f7f79f198e1f955089e58698e70110 to your computer and use it in GitHub Desktop.
CSS data saved as an array in a PHP file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* EC01 CSS Data | |
* | |
* Standardized, (relatively) complete data set of HTML element types, | |
* elements, and a select list of attributes. | |
* | |
* @link https://gist.github.com/earth3300/b6f7f79f198e1f955089e58698e70110 | |
* | |
* File: data.css.php | |
* Created: 2019-09-07 | |
* Updated: 2019-09-26 | |
* Time: 08:25 EDT | |
* ID: ENG-ON-001 | |
*/ | |
namespace Earth3300\EC01; | |
/** No direct access (NDA). */ | |
defined('NDA') || exit('NDA'); | |
/** | |
* The CSS Data | |
* | |
* @return array | |
*/ | |
class CssData | |
{ | |
/** | |
* Options | |
* | |
* @var array | |
*/ | |
public $opts = []; | |
/** | |
* HTML Element Types | |
* | |
* A list of the HTML Element Types | |
* | |
* @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element | |
* | |
* @return array | |
*/ | |
public function getTypes() | |
{ | |
$items = [ | |
[ 'name' => 'sectioning', 'use' => 1, ], | |
[ 'name' => 'content', 'use' => 1, ], | |
[ 'name' => 'structural', 'use' => 1, ], | |
[ 'name' => 'semantics', 'use' => 1, ], | |
[ 'name' => 'media', 'use' => 1, ], | |
[ 'name' => 'embedded', 'use' => 1, ], | |
[ 'name' => 'script', 'use' => 1, ], | |
[ 'name' => 'edits', 'use' => 1, ], | |
[ 'name' => 'table', 'use' => 1, ], | |
[ 'name' => 'forms', 'use' => 1, ], | |
[ 'name' => 'interactive', 'use' => 1, ], | |
[ 'name' => 'components', 'use' => 1, ], | |
]; | |
return $items; | |
} | |
/** | |
* HTML Elements | |
* | |
* A list of the HTML Elements (approx. 120). | |
* | |
* @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element | |
* | |
* @return array | |
*/ | |
public function getElements() | |
{ | |
$items = [ | |
[ 'name' => 'html', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'body', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'main', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'header', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'nav', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'nav:first-of-type', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'article', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'section', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'aside', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'footer', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'footer:last-of-type', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'hgroup', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'h1', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'h2', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'h3', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'h4', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'h5', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => 'h6', 'use' => 1, 'type' => 'sectioning', ], | |
[ 'name' => '.cover', 'use' => 1, 'type' => 'structural', ], | |
[ 'name' => '.sheets', 'use' => 1, 'type' => 'structural', ], | |
[ 'name' => '.sheets .sheet', 'use' => 1, 'type' => 'structural', ], | |
[ 'name' => '.gallery', 'use' => 1, 'type' => 'structural', ], | |
[ 'name' => 'p', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'a', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'a:focus', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'a:hover', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'a:active', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'a:visited', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'address', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'blockquote', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'cite', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'code', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'data', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'dfn', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'dd', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'dt', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'dl', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'div', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'figure', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'figcaption', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'hr', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'ul', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'ol', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'li', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'pre', 'use' => 1, 'type' => 'content', ], | |
[ 'name' => 'abbr', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'bdi', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'bdo', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'b', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'em', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'i', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'br', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'kbd', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'mark', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'q', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'rb', 'use' => 0, 'type' => 'semantics', 'desc' => 'ruby', ], | |
[ 'name' => 'rp', 'use' => 0, 'type' => 'semantics', 'desc' => 'ruby', ], | |
[ 'name' => 'rt', 'use' => 0, 'type' => 'semantics', 'desc' => 'ruby', ], | |
[ 'name' => 'rtc', 'use' => 0, 'type' => 'semantics', 'desc' => 'ruby', ], | |
[ 'name' => 'ruby', 'use' => 0, 'type' => 'semantics', 'desc' => 'ruby', ], | |
[ 'name' => 's', 'use' => 1, 'type' => 'semantics', 'desc' => 'strikethrough', ], | |
[ 'name' => 'small', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'span', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'strong', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'sub', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'sup', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'time', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'tt', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'u', 'use' => 1, 'type' => 'semantics', 'desc' => 'unarticulated', ], | |
[ 'name' => 'var', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'wbr', 'use' => 1, 'type' => 'semantics', ], | |
[ 'name' => 'area', 'use' => 1, 'type' => 'media' ], | |
[ 'name' => 'audio', 'use' => 1, 'type' => 'media' ], | |
[ 'name' => 'img', 'use' => 1, 'type' => 'media' ], | |
[ 'name' => 'map', 'use' => 1, 'type' => 'media' ], | |
[ 'name' => 'track', 'use' => 1, 'type' => 'media' ], | |
[ 'name' => 'video', 'use' => 1, 'type' => 'media' ], | |
[ 'name' => 'embed', 'use' => 1, 'type' => 'embedded' ], | |
[ 'name' => 'iframe', 'use' => 1, 'type' => 'embedded' ], | |
[ 'name' => 'param', 'use' => 1, 'type' => 'embedded' ], | |
[ 'name' => 'picture', 'use' => 1, 'type' => 'embedded' ], | |
[ 'name' => 'source', 'use' => 1, 'type' => 'embedded' ], | |
[ 'name' => 'canvas', 'use' => 1, 'type' => 'script' ], | |
[ 'name' => 'script', 'use' => 0, 'type' => 'script' ], | |
[ 'name' => 'noscript', 'use' => 0, 'type' => 'script' ], | |
[ 'name' => 'del', 'use' => 1, 'type' => 'edits' ], | |
[ 'name' => 'ins', 'use' => 1, 'type' => 'edits' ], | |
[ 'name' => 'caption', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'col', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'colgroup', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'table', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'tbody', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'th', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'tr', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'td', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'thead', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'tfoot', 'use' => 1, 'type' => 'table' ], | |
[ 'name' => 'button', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'datalist', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'fieldset', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'form', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'input', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'label', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'legend', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'meter', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'optgroup', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'option', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'output', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'progress', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'select', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'textarea', 'use' => 1, 'type' => 'forms' ], | |
[ 'name' => 'details', 'use' => 1, 'type' => 'interactive' ], | |
[ 'name' => 'dialogue', 'use' => 1, 'type' => 'interactive' ], | |
[ 'name' => 'menu', 'use' => 1, 'type' => 'interactive' ], | |
[ 'name' => 'menuitem', 'use' => 1, 'type' => 'interactive' ], | |
[ 'name' => 'summary', 'use' => 1, 'type' => 'interactive' ], | |
[ 'name' => 'slot', 'use' => 1, 'type' => 'components' ], | |
[ 'name' => 'template', 'use' => 1, 'type' => 'components' ], | |
[ 'name' => 'html.dark', 'use' => 1, 'type' => 'color' ], | |
]; | |
return $items; | |
} | |
/** | |
* Get Attributes | |
* | |
* There are approximately 20 attributes for each element that can be set. | |
*/ | |
public function getAttributes() | |
{ | |
$items = [ | |
[ 'name' => 'use', 'default' => '1', 'use' => 1, ], | |
[ 'name' => 'type', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'position', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'float', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'width', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'height', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'max-width', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'min-width', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'max-height', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'min-height', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'margin', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'margin-bottom', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'padding', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'font', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'font-size', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'font-family', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'text-decoration', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'line-height', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'box-sizing', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'border', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'box-shadow', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'display', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'overflow', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'z-index', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'opacity', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'color', 'default' => '', 'use' => 1, ], | |
[ 'name' => 'background-color', 'default' => '', 'use' => 1, ], | |
]; | |
return $items; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment