@lokascript/core 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/behaviors/index.js +1151 -0
- package/dist/behaviors/index.js.map +1 -0
- package/dist/behaviors/index.mjs +1141 -0
- package/dist/behaviors/index.mjs.map +1 -0
- package/dist/commands/index.js +9080 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/index.mjs +8922 -0
- package/dist/commands/index.mjs.map +1 -0
- package/dist/expressions/index.js +6484 -0
- package/dist/expressions/index.js.map +1 -0
- package/dist/expressions/index.mjs +6466 -0
- package/dist/expressions/index.mjs.map +1 -0
- package/dist/metadata.js +378 -0
- package/dist/metadata.js.map +1 -0
- package/dist/metadata.mjs +368 -0
- package/dist/metadata.mjs.map +1 -0
- package/dist/parser/full-parser.js +6408 -0
- package/dist/parser/full-parser.js.map +1 -0
- package/dist/parser/full-parser.mjs +6405 -0
- package/dist/parser/full-parser.mjs.map +1 -0
- package/dist/parser/regex-parser.js +412 -0
- package/dist/parser/regex-parser.js.map +1 -0
- package/dist/parser/regex-parser.mjs +409 -0
- package/dist/parser/regex-parser.mjs.map +1 -0
- package/dist/reference/index.js +602 -0
- package/dist/reference/index.js.map +1 -0
- package/dist/reference/index.mjs +593 -0
- package/dist/reference/index.mjs.map +1 -0
- package/dist/registry/browser-types.js +81 -0
- package/dist/registry/browser-types.js.map +1 -0
- package/dist/registry/browser-types.mjs +76 -0
- package/dist/registry/browser-types.mjs.map +1 -0
- package/dist/registry/environment.js +36 -0
- package/dist/registry/environment.js.map +1 -0
- package/dist/registry/environment.mjs +30 -0
- package/dist/registry/environment.mjs.map +1 -0
- package/dist/registry/index.js +7111 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/index.mjs +7087 -0
- package/dist/registry/index.mjs.map +1 -0
- package/dist/registry/universal-types.js +91 -0
- package/dist/registry/universal-types.js.map +1 -0
- package/dist/registry/universal-types.mjs +86 -0
- package/dist/registry/universal-types.mjs.map +1 -0
- package/package.json +2 -2
- package/src/expressions/properties/impl/index.test.ts +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/morphlex/dist/morphlex.js","../../../src/lib/morph-adapter.ts","../../../src/lib/view-transitions.ts","../../../src/utils/element-check.ts","../../../src/validation/partial-validator.ts","../../../src/lib/swap-executor.ts","../../../src/commands/helpers/event-helpers.ts","../../../src/behaviors/history-swap.ts","../../../src/commands/helpers/url-validation.ts","../../../src/behaviors/boosted.ts","../../../src/behaviors/index.ts"],"sourcesContent":["// src/morphlex.ts\nvar SUPPORTS_MOVE_BEFORE = \"moveBefore\" in Element.prototype;\nvar ELEMENT_NODE_TYPE = 1;\nvar TEXT_NODE_TYPE = 3;\nvar IS_PARENT_NODE_TYPE = [\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0\n];\nvar Operation = {\n EqualNode: 0,\n SameElement: 1,\n SameNode: 2\n};\nvar candidateNodes = new Set;\nvar candidateElements = new Set;\nvar unmatchedNodes = new Set;\nvar unmatchedElements = new Set;\nvar whitespaceNodes = new Set;\nfunction morphDocument(from, to, options) {\n if (typeof to === \"string\")\n to = parseDocument(to);\n morph(from.documentElement, to.documentElement, options);\n}\nfunction morph(from, to, options = {}) {\n if (typeof to === \"string\")\n to = parseFragment(to).childNodes;\n if (!options.preserveChanges && isParentNode(from))\n flagDirtyInputs(from);\n new Morph(options).morph(from, to);\n}\nfunction morphInner(from, to, options = {}) {\n if (typeof to === \"string\") {\n const fragment = parseFragment(to);\n if (fragment.firstChild && fragment.childNodes.length === 1 && fragment.firstChild.nodeType === ELEMENT_NODE_TYPE) {\n to = fragment.firstChild;\n } else {\n throw new Error(\"[Morphlex] The string was not a valid HTML element.\");\n }\n }\n if (from.nodeType === ELEMENT_NODE_TYPE && to.nodeType === ELEMENT_NODE_TYPE && from.localName === to.localName) {\n if (isParentNode(from))\n flagDirtyInputs(from);\n new Morph(options).visitChildNodes(from, to);\n } else {\n throw new Error(\"[Morphlex] You can only do an inner morph with matching elements.\");\n }\n}\nfunction flagDirtyInputs(node) {\n for (const input of node.querySelectorAll(\"input\")) {\n if (input.name && input.value !== input.defaultValue || input.checked !== input.defaultChecked) {\n input.setAttribute(\"morphlex-dirty\", \"\");\n }\n }\n for (const element of node.querySelectorAll(\"option\")) {\n if (element.value && element.selected !== element.defaultSelected) {\n element.setAttribute(\"morphlex-dirty\", \"\");\n }\n }\n for (const element of node.querySelectorAll(\"textarea\")) {\n if (element.value !== element.defaultValue) {\n element.setAttribute(\"morphlex-dirty\", \"\");\n }\n }\n}\nfunction parseFragment(string) {\n const template = document.createElement(\"template\");\n template.innerHTML = string.trim();\n return template.content;\n}\nfunction parseDocument(string) {\n const parser = new DOMParser;\n return parser.parseFromString(string.trim(), \"text/html\");\n}\nfunction moveBefore(parent, node, insertionPoint) {\n if (node === insertionPoint)\n return;\n if (node.parentNode === parent) {\n if (node.nextSibling === insertionPoint)\n return;\n if (SUPPORTS_MOVE_BEFORE) {\n parent.moveBefore(node, insertionPoint);\n return;\n }\n }\n parent.insertBefore(node, insertionPoint);\n}\n\nclass Morph {\n #idArrayMap = new WeakMap;\n #idSetMap = new WeakMap;\n #options;\n constructor(options = {}) {\n this.#options = options;\n }\n morph(from, to) {\n if (isParentNode(from)) {\n this.#mapIdSets(from);\n }\n if (to instanceof NodeList) {\n this.#mapIdArraysForEach(to);\n this.#morphOneToMany(from, to);\n } else if (isParentNode(to)) {\n this.#mapIdArrays(to);\n this.#morphOneToOne(from, to);\n }\n }\n #morphOneToMany(from, to) {\n const length = to.length;\n if (length === 0) {\n this.#removeNode(from);\n } else if (length === 1) {\n this.#morphOneToOne(from, to[0]);\n } else if (length > 1) {\n const newNodes = [...to];\n this.#morphOneToOne(from, newNodes.shift());\n const insertionPoint = from.nextSibling;\n const parent = from.parentNode || document;\n for (let i = 0;i < newNodes.length; i++) {\n const newNode = newNodes[i];\n if (this.#options.beforeNodeAdded?.(parent, newNode, insertionPoint) ?? true) {\n parent.insertBefore(newNode, insertionPoint);\n this.#options.afterNodeAdded?.(newNode);\n }\n }\n }\n }\n #morphOneToOne(from, to) {\n if (from === to)\n return;\n if (from.isEqualNode(to))\n return;\n if (from.nodeType === ELEMENT_NODE_TYPE && to.nodeType === ELEMENT_NODE_TYPE) {\n if (from.localName === to.localName) {\n this.#morphMatchingElements(from, to);\n } else {\n this.#morphNonMatchingElements(from, to);\n }\n } else {\n this.#morphOtherNode(from, to);\n }\n }\n #morphMatchingElements(from, to) {\n if (!(this.#options.beforeNodeVisited?.(from, to) ?? true))\n return;\n if (from.hasAttributes() || to.hasAttributes()) {\n this.#visitAttributes(from, to);\n }\n if (from.localName === \"textarea\" && to.localName === \"textarea\") {\n this.#visitTextArea(from, to);\n } else if (from.hasChildNodes() || to.hasChildNodes()) {\n this.visitChildNodes(from, to);\n }\n this.#options.afterNodeVisited?.(from, to);\n }\n #morphNonMatchingElements(from, to) {\n if (!(this.#options.beforeNodeVisited?.(from, to) ?? true))\n return;\n this.#replaceNode(from, to);\n this.#options.afterNodeVisited?.(from, to);\n }\n #morphOtherNode(from, to) {\n if (!(this.#options.beforeNodeVisited?.(from, to) ?? true))\n return;\n if (from.nodeType === to.nodeType && from.nodeValue !== null && to.nodeValue !== null) {\n from.nodeValue = to.nodeValue;\n } else {\n this.#replaceNode(from, to);\n }\n this.#options.afterNodeVisited?.(from, to);\n }\n #visitAttributes(from, to) {\n if (from.hasAttribute(\"morphlex-dirty\")) {\n from.removeAttribute(\"morphlex-dirty\");\n }\n for (const { name, value } of to.attributes) {\n if (name === \"value\") {\n if (isInputElement(from) && from.value !== value) {\n if (!this.#options.preserveChanges || from.value === from.defaultValue) {\n from.value = value;\n }\n }\n }\n if (name === \"selected\") {\n if (isOptionElement(from) && !from.selected) {\n if (!this.#options.preserveChanges || from.selected === from.defaultSelected) {\n from.selected = true;\n }\n }\n }\n if (name === \"checked\") {\n if (isInputElement(from) && !from.checked) {\n if (!this.#options.preserveChanges || from.checked === from.defaultChecked) {\n from.checked = true;\n }\n }\n }\n const oldValue = from.getAttribute(name);\n if (oldValue !== value && (this.#options.beforeAttributeUpdated?.(from, name, value) ?? true)) {\n from.setAttribute(name, value);\n this.#options.afterAttributeUpdated?.(from, name, oldValue);\n }\n }\n for (const { name, value } of from.attributes) {\n if (!to.hasAttribute(name)) {\n if (name === \"selected\") {\n if (isOptionElement(from) && from.selected) {\n if (!this.#options.preserveChanges || from.selected === from.defaultSelected) {\n from.selected = false;\n }\n }\n }\n if (name === \"checked\") {\n if (isInputElement(from) && from.checked) {\n if (!this.#options.preserveChanges || from.checked === from.defaultChecked) {\n from.checked = false;\n }\n }\n }\n if (this.#options.beforeAttributeUpdated?.(from, name, null) ?? true) {\n from.removeAttribute(name);\n this.#options.afterAttributeUpdated?.(from, name, value);\n }\n }\n }\n }\n #visitTextArea(from, to) {\n const newTextContent = to.textContent || \"\";\n const isModified = from.value !== from.defaultValue;\n if (from.textContent !== newTextContent) {\n from.textContent = newTextContent;\n }\n if (this.#options.preserveChanges && isModified)\n return;\n from.value = from.defaultValue;\n }\n visitChildNodes(from, to) {\n if (!(this.#options.beforeChildrenVisited?.(from) ?? true))\n return;\n const parent = from;\n const fromChildNodes = [...from.childNodes];\n const toChildNodes = [...to.childNodes];\n candidateNodes.clear();\n candidateElements.clear();\n unmatchedNodes.clear();\n unmatchedElements.clear();\n whitespaceNodes.clear();\n const seq = [];\n const matches = [];\n const op = [];\n const nodeTypeMap = [];\n const candidateNodeTypeMap = [];\n const localNameMap = [];\n const candidateLocalNameMap = [];\n for (let i = 0;i < fromChildNodes.length; i++) {\n const candidate = fromChildNodes[i];\n const nodeType = candidate.nodeType;\n candidateNodeTypeMap[i] = nodeType;\n if (nodeType === ELEMENT_NODE_TYPE) {\n candidateLocalNameMap[i] = candidate.localName;\n candidateElements.add(i);\n } else if (nodeType === TEXT_NODE_TYPE && candidate.textContent?.trim() === \"\") {\n whitespaceNodes.add(i);\n } else {\n candidateNodes.add(i);\n }\n }\n for (let i = 0;i < toChildNodes.length; i++) {\n const node = toChildNodes[i];\n const nodeType = node.nodeType;\n nodeTypeMap[i] = nodeType;\n if (nodeType === ELEMENT_NODE_TYPE) {\n localNameMap[i] = node.localName;\n unmatchedElements.add(i);\n } else if (nodeType === TEXT_NODE_TYPE && node.textContent?.trim() === \"\") {\n continue;\n } else {\n unmatchedNodes.add(i);\n }\n }\n for (const unmatchedIndex of unmatchedElements) {\n const localName = localNameMap[unmatchedIndex];\n const element = toChildNodes[unmatchedIndex];\n for (const candidateIndex of candidateElements) {\n if (localName !== candidateLocalNameMap[candidateIndex])\n continue;\n const candidate = fromChildNodes[candidateIndex];\n if (candidate.isEqualNode(element)) {\n matches[unmatchedIndex] = candidateIndex;\n op[unmatchedIndex] = Operation.EqualNode;\n seq[candidateIndex] = unmatchedIndex;\n candidateElements.delete(candidateIndex);\n unmatchedElements.delete(unmatchedIndex);\n break;\n }\n }\n }\n for (const unmatchedIndex of unmatchedElements) {\n const element = toChildNodes[unmatchedIndex];\n const id = element.id;\n const idArray = this.#idArrayMap.get(element);\n if (id === \"\" && !idArray)\n continue;\n candidateLoop:\n for (const candidateIndex of candidateElements) {\n const candidate = fromChildNodes[candidateIndex];\n if (localNameMap[unmatchedIndex] === candidateLocalNameMap[candidateIndex]) {\n if (id !== \"\" && id === candidate.id) {\n matches[unmatchedIndex] = candidateIndex;\n op[unmatchedIndex] = Operation.SameElement;\n seq[candidateIndex] = unmatchedIndex;\n candidateElements.delete(candidateIndex);\n unmatchedElements.delete(unmatchedIndex);\n break candidateLoop;\n }\n if (idArray) {\n const candidateIdSet = this.#idSetMap.get(candidate);\n if (candidateIdSet) {\n for (let i = 0;i < idArray.length; i++) {\n const arrayId = idArray[i];\n if (candidateIdSet.has(arrayId)) {\n matches[unmatchedIndex] = candidateIndex;\n op[unmatchedIndex] = Operation.SameElement;\n seq[candidateIndex] = unmatchedIndex;\n candidateElements.delete(candidateIndex);\n unmatchedElements.delete(unmatchedIndex);\n break candidateLoop;\n }\n }\n }\n }\n }\n }\n }\n for (const unmatchedIndex of unmatchedElements) {\n const element = toChildNodes[unmatchedIndex];\n const name = element.getAttribute(\"name\");\n const href = element.getAttribute(\"href\");\n const src = element.getAttribute(\"src\");\n for (const candidateIndex of candidateElements) {\n const candidate = fromChildNodes[candidateIndex];\n if (localNameMap[unmatchedIndex] === candidateLocalNameMap[candidateIndex] && (name && name === candidate.getAttribute(\"name\") || href && href === candidate.getAttribute(\"href\") || src && src === candidate.getAttribute(\"src\"))) {\n matches[unmatchedIndex] = candidateIndex;\n seq[candidateIndex] = unmatchedIndex;\n op[unmatchedIndex] = Operation.SameElement;\n candidateElements.delete(candidateIndex);\n unmatchedElements.delete(unmatchedIndex);\n break;\n }\n }\n }\n for (const unmatchedIndex of unmatchedElements) {\n const element = toChildNodes[unmatchedIndex];\n const localName = localNameMap[unmatchedIndex];\n for (const candidateIndex of candidateElements) {\n const candidate = fromChildNodes[candidateIndex];\n const candidateLocalName = candidateLocalNameMap[candidateIndex];\n if (localName === candidateLocalName) {\n if (localName === \"input\" && candidate.type !== element.type) {\n continue;\n }\n matches[unmatchedIndex] = candidateIndex;\n seq[candidateIndex] = unmatchedIndex;\n op[unmatchedIndex] = Operation.SameElement;\n candidateElements.delete(candidateIndex);\n unmatchedElements.delete(unmatchedIndex);\n break;\n }\n }\n }\n for (const unmatchedIndex of unmatchedNodes) {\n const node = toChildNodes[unmatchedIndex];\n for (const candidateIndex of candidateNodes) {\n const candidate = fromChildNodes[candidateIndex];\n if (candidate.isEqualNode(node)) {\n matches[unmatchedIndex] = candidateIndex;\n op[unmatchedIndex] = Operation.EqualNode;\n seq[candidateIndex] = unmatchedIndex;\n candidateNodes.delete(candidateIndex);\n unmatchedNodes.delete(unmatchedIndex);\n break;\n }\n }\n }\n for (const unmatchedIndex of unmatchedNodes) {\n const nodeType = nodeTypeMap[unmatchedIndex];\n for (const candidateIndex of candidateNodes) {\n if (nodeType === candidateNodeTypeMap[candidateIndex]) {\n matches[unmatchedIndex] = candidateIndex;\n op[unmatchedIndex] = Operation.SameNode;\n seq[candidateIndex] = unmatchedIndex;\n candidateNodes.delete(candidateIndex);\n unmatchedNodes.delete(unmatchedIndex);\n break;\n }\n }\n }\n for (const i of candidateNodes)\n this.#removeNode(fromChildNodes[i]);\n for (const i of whitespaceNodes)\n this.#removeNode(fromChildNodes[i]);\n for (const i of candidateElements)\n this.#removeNode(fromChildNodes[i]);\n const lisIndices = longestIncreasingSubsequence(matches);\n const shouldNotMove = new Array(fromChildNodes.length);\n for (let i = 0;i < lisIndices.length; i++) {\n shouldNotMove[matches[lisIndices[i]]] = true;\n }\n let insertionPoint = parent.firstChild;\n for (let i = 0;i < toChildNodes.length; i++) {\n const node = toChildNodes[i];\n const matchInd = matches[i];\n if (matchInd !== undefined) {\n const match = fromChildNodes[matchInd];\n const operation = op[i];\n if (!shouldNotMove[matchInd]) {\n moveBefore(parent, match, insertionPoint);\n }\n if (operation === Operation.EqualNode) {} else if (operation === Operation.SameElement) {\n this.#morphMatchingElements(match, node);\n } else {\n this.#morphOneToOne(match, node);\n }\n insertionPoint = match.nextSibling;\n } else {\n if (this.#options.beforeNodeAdded?.(parent, node, insertionPoint) ?? true) {\n parent.insertBefore(node, insertionPoint);\n this.#options.afterNodeAdded?.(node);\n insertionPoint = node.nextSibling;\n }\n }\n }\n this.#options.afterChildrenVisited?.(from);\n }\n #replaceNode(node, newNode) {\n const parent = node.parentNode || document;\n const insertionPoint = node;\n if ((this.#options.beforeNodeRemoved?.(node) ?? true) && (this.#options.beforeNodeAdded?.(parent, newNode, insertionPoint) ?? true)) {\n parent.insertBefore(newNode, insertionPoint);\n this.#options.afterNodeAdded?.(newNode);\n node.remove();\n this.#options.afterNodeRemoved?.(node);\n }\n }\n #removeNode(node) {\n if (this.#options.beforeNodeRemoved?.(node) ?? true) {\n node.remove();\n this.#options.afterNodeRemoved?.(node);\n }\n }\n #mapIdArraysForEach(nodeList) {\n for (const childNode of nodeList) {\n if (isParentNode(childNode)) {\n this.#mapIdArrays(childNode);\n }\n }\n }\n #mapIdArrays(node) {\n const idArrayMap = this.#idArrayMap;\n for (const element of node.querySelectorAll(\"[id]\")) {\n const id = element.id;\n if (id === \"\")\n continue;\n let currentElement = element;\n while (currentElement) {\n const idArray = idArrayMap.get(currentElement);\n if (idArray) {\n idArray.push(id);\n } else {\n idArrayMap.set(currentElement, [id]);\n }\n if (currentElement === node)\n break;\n currentElement = currentElement.parentElement;\n }\n }\n }\n #mapIdSets(node) {\n const idSetMap = this.#idSetMap;\n for (const element of node.querySelectorAll(\"[id]\")) {\n const id = element.id;\n if (id === \"\")\n continue;\n let currentElement = element;\n while (currentElement) {\n const idSet = idSetMap.get(currentElement);\n if (idSet) {\n idSet.add(id);\n } else {\n idSetMap.set(currentElement, new Set([id]));\n }\n if (currentElement === node)\n break;\n currentElement = currentElement.parentElement;\n }\n }\n }\n}\nfunction isInputElement(element) {\n return element.localName === \"input\";\n}\nfunction isOptionElement(element) {\n return element.localName === \"option\";\n}\nfunction isParentNode(node) {\n return !!IS_PARENT_NODE_TYPE[node.nodeType];\n}\nfunction longestIncreasingSubsequence(sequence) {\n const n = sequence.length;\n if (n === 0)\n return [];\n const smallestEnding = [];\n const indices = [];\n const prev = new Array(n);\n for (let i = 0;i < n; i++) {\n const val = sequence[i];\n if (val === undefined)\n continue;\n let left = 0;\n let right = smallestEnding.length;\n while (left < right) {\n const mid = Math.floor((left + right) / 2);\n if (smallestEnding[mid] < val)\n left = mid + 1;\n else\n right = mid;\n }\n prev[i] = left > 0 ? indices[left - 1] : -1;\n if (left === smallestEnding.length) {\n smallestEnding.push(val);\n indices.push(i);\n } else {\n smallestEnding[left] = val;\n indices[left] = i;\n }\n }\n const result = [];\n if (indices.length === 0)\n return result;\n let curr = indices[indices.length - 1];\n while (curr !== undefined && curr !== -1) {\n result.unshift(curr);\n curr = prev[curr];\n }\n return result;\n}\nexport {\n morphInner,\n morphDocument,\n morph\n};\n\n//# debugId=744BF12CDB5DA17964756E2164756E21\n",null,null,null,null,null,null,null,null,null,null],"names":["morphlexMorphFn","morphlexMorphInnerFn"],"mappings":"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","x_google_ignoreList":[0]}
|