Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 149x 149x 149x 149x 149x 149x 149x 149x 149x 149x 149x 149x 149x 6x 6x 149x 143x 143x 203x 203x 203x 203x 203x 203x 197x 203x 6x 6x 6x 6x 6x 197x 203x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 203x 143x 149x 149x 149x | /** @import { Attribute, SvelteElement, Text } from '#compiler' */ /** @import { Context } from '../types' */ import { namespace_mathml, namespace_svg } from '../../../../constants.js'; import { is_text_attribute } from '../../../utils/ast.js'; import { check_element } from './shared/a11y.js'; import { validate_element } from './shared/element.js'; /** * @param {SvelteElement} node * @param {Context} context */ export function SvelteElement(node, context) { validate_element(node, context); check_element(node, context.state); context.state.analysis.elements.push(node); const xmlns = /** @type {Attribute & { value: [Text] } | undefined} */ ( node.attributes.find( (a) => a.type === 'Attribute' && a.name === 'xmlns' && is_text_attribute(a) ) ); if (xmlns) { node.metadata.svg = xmlns.value[0].data === namespace_svg; node.metadata.mathml = xmlns.value[0].data === namespace_mathml; } else { let i = context.path.length; while (i--) { const ancestor = context.path[i]; if ( ancestor.type === 'Component' || ancestor.type === 'SvelteComponent' || ancestor.type === 'SvelteFragment' || ancestor.type === 'SnippetBlock' ) { // Inside a slot or a snippet -> this resets the namespace, so assume the component namespace node.metadata.svg = context.state.options.namespace === 'svg'; node.metadata.mathml = context.state.options.namespace === 'mathml'; break; } if (ancestor.type === 'SvelteElement' || ancestor.type === 'RegularElement') { node.metadata.svg = ancestor.type === 'RegularElement' && ancestor.name === 'foreignObject' ? false : ancestor.metadata.svg; node.metadata.mathml = ancestor.type === 'RegularElement' && ancestor.name === 'foreignObject' ? false : ancestor.metadata.mathml; break; } } } context.next({ ...context.state, parent_element: null }); } |