{"version":3,"file":"js/6889-55d7e8c7c782b39c764f.js","mappings":"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","sources":["webpack://artfully-walls/./node_modules/extend/index.js","webpack://artfully-walls/./node_modules/inline-style-parser/index.js","webpack://artfully-walls/./node_modules/bail/index.js","webpack://artfully-walls/./node_modules/decode-named-character-reference/index.dom.js","webpack://artfully-walls/./node_modules/devlop/lib/default.js","webpack://artfully-walls/./node_modules/estree-util-is-identifier-name/lib/index.js","webpack://artfully-walls/./node_modules/hast-util-whitespace/lib/index.js","webpack://artfully-walls/./node_modules/hast-util-to-jsx-runtime/lib/index.js","webpack://artfully-walls/./node_modules/comma-separated-tokens/index.js","webpack://artfully-walls/./node_modules/html-url-attributes/lib/index.js"],"sourcesContent":["'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","export function deprecate(fn) {\n return fn\n}\n\nexport function equal() {}\n\nexport function ok() {}\n\nexport function unreachable() {}\n","/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Identifier, Literal, MemberExpression} from 'estree'\n * @import {Jsx, JsxDev, Options, Props} from 'hast-util-to-jsx-runtime'\n * @import {Element, Nodes, Parents, Root, Text} from 'hast'\n * @import {MdxFlowExpressionHast, MdxTextExpressionHast} from 'mdast-util-mdx-expression'\n * @import {MdxJsxFlowElementHast, MdxJsxTextElementHast} from 'mdast-util-mdx-jsx'\n * @import {MdxjsEsmHast} from 'mdast-util-mdxjs-esm'\n * @import {Position} from 'unist'\n * @import {Child, Create, Field, State, Style} from './types.js'\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {ok as assert} from 'devlop'\nimport {name as isIdentifierName} from 'estree-util-is-identifier-name'\nimport {whitespace} from 'hast-util-whitespace'\nimport {find, hastToReact, html, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {pointStart} from 'unist-util-position'\nimport {VFileMessage} from 'vfile-message'\n\n// To do: next major: `Object.hasOwn`.\nconst own = {}.hasOwnProperty\n\n/** @type {Map} */\nconst emptyMap = new Map()\n\nconst cap = /[A-Z]/g\nconst dashSomething = /-([a-z])/g\n\n// `react-dom` triggers a warning for *any* white space in tables.\n// To follow GFM, `mdast-util-to-hast` injects line endings between elements.\n// Other tools might do so too, but they don’t do here, so we remove all of\n// that.\n\n// See: .\n// See: .\n// See: .\n// See: .\n// See: .\n// See: .\nconst tableElements = new Set(['table', 'tbody', 'thead', 'tfoot', 'tr'])\n\nconst tableCellElement = new Set(['td', 'th'])\n\nconst docs = 'https://github.com/syntax-tree/hast-util-to-jsx-runtime'\n\n/**\n * Transform a hast tree to preact, react, solid, svelte, vue, etc.,\n * with an automatic JSX runtime.\n *\n * @param {Nodes} tree\n * Tree to transform.\n * @param {Options} options\n * Configuration (required).\n * @returns {JSX.Element}\n * JSX element.\n */\n\nexport function toJsxRuntime(tree, options) {\n if (!options || options.Fragment === undefined) {\n throw new TypeError('Expected `Fragment` in options')\n }\n\n const filePath = options.filePath || undefined\n /** @type {Create} */\n let create\n\n if (options.development) {\n if (typeof options.jsxDEV !== 'function') {\n throw new TypeError(\n 'Expected `jsxDEV` in options when `development: true`'\n )\n }\n\n create = developmentCreate(filePath, options.jsxDEV)\n } else {\n if (typeof options.jsx !== 'function') {\n throw new TypeError('Expected `jsx` in production options')\n }\n\n if (typeof options.jsxs !== 'function') {\n throw new TypeError('Expected `jsxs` in production options')\n }\n\n create = productionCreate(filePath, options.jsx, options.jsxs)\n }\n\n /** @type {State} */\n const state = {\n Fragment: options.Fragment,\n ancestors: [],\n components: options.components || {},\n create,\n elementAttributeNameCase: options.elementAttributeNameCase || 'react',\n evaluater: options.createEvaluater ? options.createEvaluater() : undefined,\n filePath,\n ignoreInvalidStyle: options.ignoreInvalidStyle || false,\n passKeys: options.passKeys !== false,\n passNode: options.passNode || false,\n schema: options.space === 'svg' ? svg : html,\n stylePropertyNameCase: options.stylePropertyNameCase || 'dom',\n tableCellAlignToStyle: options.tableCellAlignToStyle !== false\n }\n\n const result = one(state, tree, undefined)\n\n // JSX element.\n if (result && typeof result !== 'string') {\n return result\n }\n\n // Text node or something that turned into nothing.\n return state.create(\n tree,\n state.Fragment,\n {children: result || undefined},\n undefined\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around.\n * @param {Nodes} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction one(state, node, key) {\n if (node.type === 'element') {\n return element(state, node, key)\n }\n\n if (node.type === 'mdxFlowExpression' || node.type === 'mdxTextExpression') {\n return mdxExpression(state, node)\n }\n\n if (node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement') {\n return mdxJsxElement(state, node, key)\n }\n\n if (node.type === 'mdxjsEsm') {\n return mdxEsm(state, node)\n }\n\n if (node.type === 'root') {\n return root(state, node, key)\n }\n\n if (node.type === 'text') {\n return text(state, node)\n }\n}\n\n/**\n * Handle element.\n *\n * @param {State} state\n * Info passed around.\n * @param {Element} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction element(state, node, key) {\n const parentSchema = state.schema\n let schema = parentSchema\n\n if (node.tagName.toLowerCase() === 'svg' && parentSchema.space === 'html') {\n schema = svg\n state.schema = schema\n }\n\n state.ancestors.push(node)\n\n const type = findComponentFromName(state, node.tagName, false)\n const props = createElementProps(state, node)\n let children = createChildren(state, node)\n\n if (tableElements.has(node.tagName)) {\n children = children.filter(function (child) {\n return typeof child === 'string' ? !whitespace(child) : true\n })\n }\n\n addNode(state, props, type, node)\n addChildren(props, children)\n\n // Restore.\n state.ancestors.pop()\n state.schema = parentSchema\n\n return state.create(node, type, props, key)\n}\n\n/**\n * Handle MDX expression.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxFlowExpressionHast | MdxTextExpressionHast} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxExpression(state, node) {\n if (node.data && node.data.estree && state.evaluater) {\n const program = node.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n\n // Assume result is a child.\n return /** @type {Child | undefined} */ (\n state.evaluater.evaluateExpression(expression.expression)\n )\n }\n\n crashEstree(state, node.position)\n}\n\n/**\n * Handle MDX ESM.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxjsEsmHast} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxEsm(state, node) {\n if (node.data && node.data.estree && state.evaluater) {\n // Assume result is a child.\n return /** @type {Child | undefined} */ (\n state.evaluater.evaluateProgram(node.data.estree)\n )\n }\n\n crashEstree(state, node.position)\n}\n\n/**\n * Handle MDX JSX.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxJsxElement(state, node, key) {\n const parentSchema = state.schema\n let schema = parentSchema\n\n if (node.name === 'svg' && parentSchema.space === 'html') {\n schema = svg\n state.schema = schema\n }\n\n state.ancestors.push(node)\n\n const type =\n node.name === null\n ? state.Fragment\n : findComponentFromName(state, node.name, true)\n const props = createJsxElementProps(state, node)\n const children = createChildren(state, node)\n\n addNode(state, props, type, node)\n addChildren(props, children)\n\n // Restore.\n state.ancestors.pop()\n state.schema = parentSchema\n\n return state.create(node, type, props, key)\n}\n\n/**\n * Handle root.\n *\n * @param {State} state\n * Info passed around.\n * @param {Root} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction root(state, node, key) {\n /** @type {Props} */\n const props = {}\n\n addChildren(props, createChildren(state, node))\n\n return state.create(node, state.Fragment, props, key)\n}\n\n/**\n * Handle text.\n *\n * @param {State} _\n * Info passed around.\n * @param {Text} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction text(_, node) {\n return node.value\n}\n\n/**\n * Add `node` to props.\n *\n * @param {State} state\n * Info passed around.\n * @param {Props} props\n * Props.\n * @param {unknown} type\n * Type.\n * @param {Element | MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Node.\n * @returns {undefined}\n * Nothing.\n */\nfunction addNode(state, props, type, node) {\n // If this is swapped out for a component:\n if (typeof type !== 'string' && type !== state.Fragment && state.passNode) {\n props.node = node\n }\n}\n\n/**\n * Add children to props.\n *\n * @param {Props} props\n * Props.\n * @param {Array} children\n * Children.\n * @returns {undefined}\n * Nothing.\n */\nfunction addChildren(props, children) {\n if (children.length > 0) {\n const value = children.length > 1 ? children : children[0]\n\n if (value) {\n props.children = value\n }\n }\n}\n\n/**\n * @param {string | undefined} _\n * Path to file.\n * @param {Jsx} jsx\n * Dynamic.\n * @param {Jsx} jsxs\n * Static.\n * @returns {Create}\n * Create a production element.\n */\nfunction productionCreate(_, jsx, jsxs) {\n return create\n /** @type {Create} */\n function create(_, type, props, key) {\n // Only an array when there are 2 or more children.\n const isStaticChildren = Array.isArray(props.children)\n const fn = isStaticChildren ? jsxs : jsx\n return key ? fn(type, props, key) : fn(type, props)\n }\n}\n\n/**\n * @param {string | undefined} filePath\n * Path to file.\n * @param {JsxDev} jsxDEV\n * Development.\n * @returns {Create}\n * Create a development element.\n */\nfunction developmentCreate(filePath, jsxDEV) {\n return create\n /** @type {Create} */\n function create(node, type, props, key) {\n // Only an array when there are 2 or more children.\n const isStaticChildren = Array.isArray(props.children)\n const point = pointStart(node)\n return jsxDEV(\n type,\n props,\n key,\n isStaticChildren,\n {\n columnNumber: point ? point.column - 1 : undefined,\n fileName: filePath,\n lineNumber: point ? point.line : undefined\n },\n undefined\n )\n }\n}\n\n/**\n * Create props from an element.\n *\n * @param {State} state\n * Info passed around.\n * @param {Element} node\n * Current element.\n * @returns {Props}\n * Props.\n */\nfunction createElementProps(state, node) {\n /** @type {Props} */\n const props = {}\n /** @type {string | undefined} */\n let alignValue\n /** @type {string} */\n let prop\n\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(state, prop, node.properties[prop])\n\n if (result) {\n const [key, value] = result\n\n if (\n state.tableCellAlignToStyle &&\n key === 'align' &&\n typeof value === 'string' &&\n tableCellElement.has(node.tagName)\n ) {\n alignValue = value\n } else {\n props[key] = value\n }\n }\n }\n }\n\n if (alignValue) {\n // Assume style is an object.\n const style = /** @type {Style} */ (props.style || (props.style = {}))\n style[state.stylePropertyNameCase === 'css' ? 'text-align' : 'textAlign'] =\n alignValue\n }\n\n return props\n}\n\n/**\n * Create props from a JSX element.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Current JSX element.\n * @returns {Props}\n * Props.\n */\nfunction createJsxElementProps(state, node) {\n /** @type {Props} */\n const props = {}\n\n for (const attribute of node.attributes) {\n if (attribute.type === 'mdxJsxExpressionAttribute') {\n if (attribute.data && attribute.data.estree && state.evaluater) {\n const program = attribute.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n const objectExpression = expression.expression\n assert(objectExpression.type === 'ObjectExpression')\n const property = objectExpression.properties[0]\n assert(property.type === 'SpreadElement')\n\n Object.assign(\n props,\n state.evaluater.evaluateExpression(property.argument)\n )\n } else {\n crashEstree(state, node.position)\n }\n } else {\n // For JSX, the author is responsible of passing in the correct values.\n const name = attribute.name\n /** @type {unknown} */\n let value\n\n if (attribute.value && typeof attribute.value === 'object') {\n if (\n attribute.value.data &&\n attribute.value.data.estree &&\n state.evaluater\n ) {\n const program = attribute.value.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n value = state.evaluater.evaluateExpression(expression.expression)\n } else {\n crashEstree(state, node.position)\n }\n } else {\n value = attribute.value === null ? true : attribute.value\n }\n\n // Assume a prop.\n props[name] = /** @type {Props[keyof Props]} */ (value)\n }\n }\n\n return props\n}\n\n/**\n * Create children.\n *\n * @param {State} state\n * Info passed around.\n * @param {Parents} node\n * Current element.\n * @returns {Array}\n * Children.\n */\nfunction createChildren(state, node) {\n /** @type {Array} */\n const children = []\n let index = -1\n /** @type {Map} */\n // Note: test this when Solid doesn’t want to merge my upcoming PR.\n /* c8 ignore next */\n const countsByName = state.passKeys ? new Map() : emptyMap\n\n while (++index < node.children.length) {\n const child = node.children[index]\n /** @type {string | undefined} */\n let key\n\n if (state.passKeys) {\n const name =\n child.type === 'element'\n ? child.tagName\n : child.type === 'mdxJsxFlowElement' ||\n child.type === 'mdxJsxTextElement'\n ? child.name\n : undefined\n\n if (name) {\n const count = countsByName.get(name) || 0\n key = name + '-' + count\n countsByName.set(name, count + 1)\n }\n }\n\n const result = one(state, child, key)\n if (result !== undefined) children.push(result)\n }\n\n return children\n}\n\n/**\n * Handle a property.\n *\n * @param {State} state\n * Info passed around.\n * @param {string} prop\n * Key.\n * @param {Array | boolean | number | string | null | undefined} value\n * hast property value.\n * @returns {Field | undefined}\n * Field for runtime, optional.\n */\nfunction createProperty(state, prop, value) {\n const info = find(state.schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === null ||\n value === undefined ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // React only accepts `style` as object.\n if (info.property === 'style') {\n let styleObject =\n typeof value === 'object' ? value : parseStyle(state, String(value))\n\n if (state.stylePropertyNameCase === 'css') {\n styleObject = transformStylesToCssCasing(styleObject)\n }\n\n return ['style', styleObject]\n }\n\n return [\n state.elementAttributeNameCase === 'react' && info.space\n ? hastToReact[info.property] || info.property\n : info.attribute,\n value\n ]\n}\n\n/**\n * Parse a CSS declaration to an object.\n *\n * @param {State} state\n * Info passed around.\n * @param {string} value\n * CSS declarations.\n * @returns {Style}\n * Properties.\n * @throws\n * Throws `VFileMessage` when CSS cannot be parsed.\n */\nfunction parseStyle(state, value) {\n /** @type {Style} */\n const result = {}\n\n try {\n styleToObject(value, replacer)\n } catch (error) {\n if (!state.ignoreInvalidStyle) {\n const cause = /** @type {Error} */ (error)\n const message = new VFileMessage('Cannot parse `style` attribute', {\n ancestors: state.ancestors,\n cause,\n ruleId: 'style',\n source: 'hast-util-to-jsx-runtime'\n })\n message.file = state.filePath || undefined\n message.url = docs + '#cannot-parse-style-attribute'\n\n throw message\n }\n }\n\n return result\n\n /**\n * Add a CSS property (normal, so with dashes) to `result` as a DOM CSS\n * property.\n *\n * @param {string} name\n * Key.\n * @param {string} value\n * Value\n * @returns {undefined}\n * Nothing.\n */\n function replacer(name, value) {\n let key = name\n\n if (key.slice(0, 2) !== '--') {\n if (key.slice(0, 4) === '-ms-') key = 'ms-' + key.slice(4)\n key = key.replace(dashSomething, toCamel)\n }\n\n result[key] = value\n }\n}\n\n/**\n * Create a JSX name from a string.\n *\n * @param {State} state\n * To do.\n * @param {string} name\n * Name.\n * @param {boolean} allowExpression\n * Allow member expressions and identifiers.\n * @returns {unknown}\n * To do.\n */\nfunction findComponentFromName(state, name, allowExpression) {\n /** @type {Identifier | Literal | MemberExpression} */\n let result\n\n if (!allowExpression) {\n result = {type: 'Literal', value: name}\n } else if (name.includes('.')) {\n const identifiers = name.split('.')\n let index = -1\n /** @type {Identifier | Literal | MemberExpression | undefined} */\n let node\n\n while (++index < identifiers.length) {\n /** @type {Identifier | Literal} */\n const prop = isIdentifierName(identifiers[index])\n ? {type: 'Identifier', name: identifiers[index]}\n : {type: 'Literal', value: identifiers[index]}\n node = node\n ? {\n type: 'MemberExpression',\n object: node,\n property: prop,\n computed: Boolean(index && prop.type === 'Literal'),\n optional: false\n }\n : prop\n }\n\n assert(node, 'always a result')\n result = node\n } else {\n result =\n isIdentifierName(name) && !/^[a-z]/.test(name)\n ? {type: 'Identifier', name}\n : {type: 'Literal', value: name}\n }\n\n // Only literals can be passed in `components` currently.\n // No identifiers / member expressions.\n if (result.type === 'Literal') {\n const name = /** @type {keyof JSX.IntrinsicElements} */ (result.value)\n\n return own.call(state.components, name) ? state.components[name] : name\n }\n\n // Assume component.\n if (state.evaluater) {\n return state.evaluater.evaluateExpression(result)\n }\n\n crashEstree(state)\n}\n\n/**\n * @param {State} state\n * @param {Position | undefined} [place]\n * @returns {never}\n */\nfunction crashEstree(state, place) {\n const message = new VFileMessage(\n 'Cannot handle MDX estrees without `createEvaluater`',\n {\n ancestors: state.ancestors,\n place,\n ruleId: 'mdx-estree',\n source: 'hast-util-to-jsx-runtime'\n }\n )\n message.file = state.filePath || undefined\n message.url = docs + '#cannot-handle-mdx-estrees-without-createevaluater'\n\n throw message\n}\n\n/**\n * Transform a DOM casing style object to a CSS casing style object.\n *\n * @param {Style} domCasing\n * @returns {Style}\n */\nfunction transformStylesToCssCasing(domCasing) {\n /** @type {Style} */\n const cssCasing = {}\n /** @type {string} */\n let from\n\n for (from in domCasing) {\n if (own.call(domCasing, from)) {\n cssCasing[transformStyleToCssCasing(from)] = domCasing[from]\n }\n }\n\n return cssCasing\n}\n\n/**\n * Transform a DOM casing style field to a CSS casing style field.\n *\n * @param {string} from\n * @returns {string}\n */\nfunction transformStyleToCssCasing(from) {\n let to = from.replace(cap, toDash)\n // Handle `ms-xxx` -> `-ms-xxx`.\n if (to.slice(0, 3) === 'ms-') to = '-' + to\n return to\n}\n\n/**\n * Make `$1` capitalized.\n *\n * @param {string} _\n * Whatever.\n * @param {string} $1\n * Single ASCII alphabetical.\n * @returns {string}\n * Capitalized `$1`.\n */\nfunction toCamel(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * Make `$0` dash cased.\n *\n * @param {string} $0\n * Capitalized ASCII leter.\n * @returns {string}\n * Dash and lower letter.\n */\nfunction toDash($0) {\n return '-' + $0.toLowerCase()\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * HTML URL properties.\n *\n * Each key is a property name and each value is a list of tag names it applies\n * to or `null` if it applies to all elements.\n *\n * @type {Record | null>}\n */\nexport const urlAttributes = {\n action: ['form'],\n cite: ['blockquote', 'del', 'ins', 'q'],\n data: ['object'],\n formAction: ['button', 'input'],\n href: ['a', 'area', 'base', 'link'],\n icon: ['menuitem'],\n itemId: null,\n manifest: ['html'],\n ping: ['a', 'area'],\n poster: ['video'],\n src: [\n 'audio',\n 'embed',\n 'iframe',\n 'img',\n 'input',\n 'script',\n 'source',\n 'track',\n 'video'\n ]\n}\n"],"names":["hasOwn","Object","prototype","hasOwnProperty","toStr","toString","defineProperty","gOPD","getOwnPropertyDescriptor","isArray","arr","Array","call","isPlainObject","obj","key","hasOwnConstructor","hasIsPrototypeOf","constructor","setProperty","target","options","name","enumerable","configurable","value","newValue","writable","getProperty","module","exports","extend","src","copy","copyIsArray","clone","arguments","i","length","deep","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","str","replace","style","TypeError","lineno","column","updatePosition","lines","match","lastIndexOf","position","start","line","node","Position","whitespace","this","end","source","content","errorsList","error","msg","err","Error","reason","filename","silent","push","re","m","exec","slice","comments","rules","c","comment","pos","charAt","type","declaration","prop","val","ret","property","decl","decls","declarations","bail","element","document","createElement","decodeNamedCharacterReference","characterReference","innerHTML","char","textContent","charCodeAt","ok","unreachable","nameRe","nameReJsx","emptyOptions","jsx","test","empty","own","emptyMap","Map","cap","dashSomething","tableElements","Set","tableCellElement","docs","toJsxRuntime","tree","undefined","Fragment","filePath","create","development","jsxDEV","props","isStaticChildren","children","point","columnNumber","fileName","lineNumber","developmentCreate","jsxs","_","fn","productionCreate","state","ancestors","components","elementAttributeNameCase","evaluater","createEvaluater","ignoreInvalidStyle","passKeys","passNode","schema","space","stylePropertyNameCase","tableCellAlignToStyle","result","one","parentSchema","tagName","toLowerCase","findComponentFromName","alignValue","properties","createProperty","has","createElementProps","createChildren","filter","child","thing","addNode","addChildren","pop","data","estree","expression","body","evaluateExpression","crashEstree","mdxExpression","attribute","attributes","objectExpression","assign","argument","createJsxElementProps","mdxJsxElement","evaluateProgram","mdxEsm","root","index","countsByName","count","get","set","info","find","Number","isNaN","commaSeparated","values","settings","join","padRight","padLeft","styleObject","replacer","cause","message","ruleId","file","url","toCamel","parseStyle","String","domCasing","cssCasing","from","transformStyleToCssCasing","transformStylesToCssCasing","allowExpression","includes","identifiers","split","object","computed","Boolean","optional","place","to","toDash","$1","toUpperCase","$0","urlAttributes","action","cite","formAction","href","icon","itemId","manifest","ping","poster"],"sourceRoot":""}