File "Interactive.php"
Full Path: /home/spiraleeea/www/spirale/plugins-dist/safehtml/lib/xemlock/htmlpurifier-html5/library/HTMLPurifier/HTMLModule/HTML5/Interactive.php
File size: 1.52 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* HTML5 Interactive elements module
* https://html.spec.whatwg.org/dev/interactive-elements.html
*/
class HTMLPurifier_HTMLModule_HTML5_Interactive extends HTMLPurifier_HTMLModule
{
/**
* @type string
*/
public $name = 'HTML5_Interactive';
/**
* @param HTMLPurifier_Config $config
*/
public function setup($config)
{
// https://html.spec.whatwg.org/dev/interactive-elements.html#the-details-element
// Content model: One summary element followed by flow content.
$this->addElement('details', 'Flow', new HTMLPurifier_ChildDef_HTML5_Details(), 'Common', array(
'open' => 'Bool#open',
));
// https://html.spec.whatwg.org/dev/interactive-elements.html#the-summary-element
// Content model: Phrasing content, optionally intermixed with heading content.
// This is where WHATWG spec differs from the W3C spec, because the latter allows
// either phrasing content, or a single heading element, see:
// https://www.w3.org/TR/html51/interactive-elements.html#the-summary-element
$this->addElement('summary', false, 'Optional: #PCDATA | Inline | Heading', 'Common');
// https://html.spec.whatwg.org/dev/interactive-elements.html#the-dialog-element
// Content model: Flow content.
$dialog = $this->addElement('dialog', 'Flow', 'Flow', 'Common', array(
'open' => 'Bool#open',
));
$dialog->attr_transform_pre[] = new HTMLPurifier_AttrTransform_HTML5_Dialog();
}
}